elastic / ecctl

Apache License 2.0
58 stars 53 forks source link

deployments.missing_topology_elements: Deployment plan definition with template [Observability] missing topology elements: [frozen,ml]. Only [coordinating,hot_content,warm,cold,master] was supplied. (resources.elasticsearch[0]) #596

Closed TomonoriSoejima closed 1 year ago

TomonoriSoejima commented 1 year ago

I am opening this issue on behalf of a user. ecctl version: 1.6

They ran ecctl deployment update $CLUSTER_ID -f ./update.json --track to upgrade from 7.15.2 to 7.17.7

Then this error showed up and upgrade failed.

api error: 1 error occurred:
* deployments.missing_topology_elements: Deployment plan definition with template [Observability] missing topology elements: [frozen,ml]. Only [coordinating,hot_content,warm,cold,master] was supplied. (resources.elasticsearch[0])

My initial suspicion was this part in update.json. In ESS aws-observability is no longer available when you create a deployment in Elastic Cloud.

          "deployment_template": {
            "id": "aws-observability"
          },

But I managed to make such a deployment from admin console using advanced edit mode and here is how update.json looks like, but I could not reproduce the same.

The customer was able to upgrade from Cloud UI and that might potentially mean that inside ecctl it is not properly handling something which Cloud U can handle.

The error is from Elastic Cloud for your reference.

update.json ``` { "name": "aws2", "prune_orphans": false, "resources": { "apm": null, "appsearch": null, "elasticsearch": [ { "display_name": "aws2", "plan": { "autoscaling_enabled": false, "cluster_topology": [ { "elasticsearch": { "system_settings": { "auto_create_index": true, "destructive_requires_name": false, "enable_close_index": true, "monitoring_collection_interval": -1, "monitoring_history_duration": "3d", "reindex_whitelist": [], "scripting": { "inline": { "enabled": true }, "stored": { "enabled": true } } } }, "id": "coordinating", "instance_configuration_id": "aws.coordinating.m5d", "node_roles": [ "ingest", "remote_cluster_client" ], "size": { "resource": "memory", "value": 4096 }, "topology_element_control": { "min": { "resource": "memory", "value": 0 } }, "zone_count": 2 }, { "autoscaling_max": { "resource": "memory", "value": 118784 }, "elasticsearch": { "node_attributes": { "data": "hot" }, "system_settings": { "auto_create_index": true, "destructive_requires_name": false, "enable_close_index": true, "monitoring_collection_interval": -1, "monitoring_history_duration": "3d", "reindex_whitelist": [], "scripting": { "inline": { "enabled": true }, "stored": { "enabled": true } } } }, "id": "hot_content", "instance_configuration_id": "aws.data.highio.i3", "node_roles": [ "data_hot", "data_content", "remote_cluster_client", "transform" ], "size": { "resource": "memory", "value": 8192 }, "topology_element_control": { "min": { "resource": "memory", "value": 1024 } }, "zone_count": 2 }, { "autoscaling_max": { "resource": "memory", "value": 118784 }, "elasticsearch": { "node_attributes": { "data": "warm" }, "system_settings": { "auto_create_index": true, "destructive_requires_name": false, "enable_close_index": true, "monitoring_collection_interval": -1, "monitoring_history_duration": "3d", "reindex_whitelist": [], "scripting": { "inline": { "enabled": true }, "stored": { "enabled": true } } } }, "id": "warm", "instance_configuration_id": "aws.data.highstorage.d2", "node_roles": [ "data_warm", "remote_cluster_client" ], "size": { "resource": "memory", "value": 15360 }, "topology_element_control": { "min": { "resource": "memory", "value": 0 } }, "zone_count": 1 }, { "autoscaling_max": { "resource": "memory", "value": 59392 }, "elasticsearch": { "node_attributes": { "data": "cold" }, "system_settings": { "auto_create_index": true, "destructive_requires_name": false, "enable_close_index": true, "monitoring_collection_interval": -1, "monitoring_history_duration": "3d", "reindex_whitelist": [], "scripting": { "inline": { "enabled": true }, "stored": { "enabled": true } } } }, "id": "cold", "instance_configuration_id": "aws.data.highstorage.d2", "node_roles": [ "data_cold", "remote_cluster_client" ], "size": { "resource": "memory", "value": 2048 }, "topology_element_control": { "min": { "resource": "memory", "value": 0 } }, "zone_count": 1 }, { "elasticsearch": { "system_settings": { "auto_create_index": true, "destructive_requires_name": false, "enable_close_index": true, "monitoring_collection_interval": -1, "monitoring_history_duration": "3d", "reindex_whitelist": [], "scripting": { "inline": { "enabled": true }, "stored": { "enabled": true } } } }, "id": "master", "instance_configuration_id": "aws.master.r5d", "node_roles": [ "master", "remote_cluster_client" ], "size": { "resource": "memory", "value": 4096 }, "topology_element_control": { "min": { "resource": "memory", "value": 0 } }, "zone_count": 3 } ], "deployment_template": { "id": "aws-observability" }, "elasticsearch": { "system_settings": { "enable_close_index": true, "reindex_whitelist": null }, "version": "7.17.2" }, "tiebreaker_topology": { "memory_per_node": 1024 }, "transient": { "strategy": { "autodetect": {} } } }, "ref_id": "main-elasticsearch", "region": "ap-northeast-1", "settings": { "curation": { "specs": [] }, "dedicated_masters_threshold": 6, "snapshot": { "enabled": true, "repository": { "static": { "repository_type": "s3-resource", "settings": { "aws_account": "operations-3-ap-northeast-1", "bucket_name": "d194b3c1f4ca4d5b9ac11888205d88bf", "client_name": "elastic-internal-2cbdad", "region": "ap-northeast-1" } } }, "retention": {}, "slm": true, "suspended": [] }, "traffic_filter": { "rulesets": [ "fec9312daadc4714bd1309e9a5261556" ] }, "trust": { "accounts": [ { "account_id": "2434140000", "trust_all": false, "trust_allowlist": null } ], "external": null } } } ], "enterprise_search": null, "kibana": [ { "display_name": "aws2", "elasticsearch_cluster_ref_id": "main-elasticsearch", "plan": { "cluster_topology": [ { "instance_configuration_id": "aws.kibana.c5d", "kibana": { "system_settings": {} }, "size": { "resource": "memory", "value": 1024 }, "zone_count": 1 } ], "kibana": { "version": "7.17.2" }, "transient": { "strategy": { "autodetect": {} } } }, "ref_id": "main-kibana", "region": "ap-northeast-1", "settings": {} } ] } } ```
gigerdo commented 1 year ago

This problem has been fixed with ecctl version 1.9.0.