add missing components when updating deployment using another template
Closed this issue · 2 comments
Overview
At the moment when I want to change the template I get error messages about missing instance configuration
Possible Implementation
Now the template to be used knows about the resources that will be needed.
Can we please add this feature that the missing part will be merged into the provideded template?
Testing
Context
I did following steps to change a deployment:
> ecctl init
> ecctl deployment list
> ecctl deployment template list --region gcp-europe-west1
> ecctl deployment show ....
check used template of deployment:
> ecctl deployment show ... --generate-update-payload | jq -r '.resources.elasticsearch[].plan.deployment_template.id'
generate payload for updating the deployment
> ecctl deployment show ... --generate-update-payload > test.json
> vi test.json
---> changed template gcp-io-optimized to gcp-hot-warm
> ecctl deployment update ... -f test.json --track
--> results in error message
cluster.invalid_instance_config: For template [Hot-Warm Architecture] the plan definition should contain instance configuration [gcp.data.highio.1,gcp.data.highstorage.1]. Only [gcp.data.highio.1] was supplied (resources.elasticsearch[0])
Your Environment
My test cloud.elastic.co tested
Hi Andre, like the error states, there's only a single topology element in your plan definition, where it should be two.
We're pretty close to releasing the terraform provider for Elastic Cloud, which should be a nicer interface to create and modify deployments instead of having to handle JSON transformations on your own.
Since the terraform provider has been released, I'm closing this.