The migration command performs the following steps
If the status is red, migration will not proceed
- Retries: 20 times at 1-minute intervals
Migration execution - Starts only when the cluster is yellow or green - Performs an Elasticsearch upgrade
Post-migration sleep - Waits 2 minutes for stabilization
Post-migration cluster health check
Same retry logic (20 retries, 1-minute interval)
- If still failing, perform a manual health check
Accelo Elastic Migration Command Flags
For details about the command usage:
accelo admin [component] migrate [flags]
Where:
Key flags:
--host (-d) → Elasticsearch hostname (default: localhost)
--port (-p) → HTTP API port (default: 19013)
--username (-u) → Username (default: pulse)
--password (-e) → Encrypted password
--online (-o) → Pull images from ECR
--retries (-r) → Max health check retries (default: 20)
--retry-interval (-i) → Retry interval (default: 1m)
--sleep (-s) → Post-start wait time (default: 2m)
ad-elastic Migration Procedure
For details about upgrading ad-elastic:
Online Installation (ECR pull)
accelo admin ad-elastic migrate --online
For details about execution:
Verifies service status
Performs pre-check (must be yellow/green)
Pulls migrate-8.18.4 image
Replaces the old container
Starts new ES 8.18.4 container
Performs post-check
[root@odppulse431:config (ad-default)]$ accelo admin ad-elastic migrate --online
INFO: Running ad-elastic migrate command
Is the 'ad-elastic' service up and running? [y/n]: : y
INFO: sleep duration: 2m0s, max retries: 20, retry interval: 1m0s
Now, trying to logon to the AccelData registry...
Docker login succeeded ✓
INFO: Current ad-elastic version from container label: 3.8.5
INFO: Performing cluster health check before migration to ES 8.18.4...
INFO: Cluster health status: yellow
INFO: Cluster health check passed
INFO: Pulling migrate-8.18.4 image
INFO: migrate-8.18.4 pull successful
INFO: Tagging migrate-8.18.4 image to pulse version
INFO: Removing old ad-elastic container (3.8.X / ES 8.16.6)
INFO: Creating new ad-elastic container with ES 8.18.4
INFO: Waiting for Elasticsearch to start...
INFO: Performing cluster health check after migration to ES 8.18.4...
INFO: Cluster health status: yellow
INFO: completed:(ES 8.16.6) -> (ES 8.18.4)
Offline Installation (Air-gapped)
Load the image:
docker load -i ad-elastic8.tgz
Loaded image: 191579300362.dkr.ecr.us-east-1.amazonaws.com/acceldata/ad-elastic:migrate-8.18.4
Verify that the image is loaded correctly:
docker images | grep elastic
191579300362.dkr.ecr.us-east-1.amazonaws.com/acceldata/ad-elastic migrate-8.18.4 2dc0b52990de 3 months ago 1.33GB
Run the ad-elastic migration command:
accelo admin ad-elastic migrate
INFO: Running ad-elastic migrate command
Is the 'ad-elastic' service up and running? [y/n]: : y
INFO: sleep duration: 2m0s, max retries: 20, retry interval: 1m0s
INFO: Proceeding with ad-elastic images already loaded in local
INFO: Current ad-elastic version from container label: 3.8.5
INFO: Performing cluster health check before migration to ES 8.18.4...
INFO: Cluster health status: green
INFO: Cluster health check passed
INFO: migrate-8.18.4 image already present locally
INFO: Tagging migrate-8.18.4 image to pulse version
INFO: Removing old ad-elastic container (3.8.X / ES 8.16.6)
INFO: Creating new ad-elastic container with ES 8.18.4
INFO: Waiting for Elasticsearch to start...
INFO: Performing cluster health check after migration to ES 8.18.4...
INFO: Cluster health status: green
INFO: completed:(ES 8.16.6) -> (ES 8.18.4)
Verify container:
docker ps -a | grep ad-elastic_default
bbfe825691ef 753de6514420 "/bin/tini -- /usr/l…" 10 minutes ago Up 10 minutes 0.0.0.0:19013->9200/tcp, 0.0.0.0:19014->9300/tcp ad-elastic_default
ad-fs-elastic Migration Procedure
For Online Installation (pulls images from ECR)
accelo admin ad-fs-elastic migrate --online
INFO: Running ad-fs-elastic migrate command
Is the 'ad-fs-elastic' service up and running? [y/n]: : y
INFO: sleep duration: 2m0s, max retries: 20, retry interval: 1m0s
Now, trying to logon to the AccelData registry...
Docker login succeeded ✓
INFO: Current ad-fs-elastic version from container label: 3.8.5
INFO: Performing cluster health check before migration to ES 8.18.4...
INFO: Cluster health status: green
INFO: Cluster health check passed
INFO: Pulling migrate-8.18.4 image
INFO: migrate-8.18.4 pull successful
INFO: Tagging migrate-8.18.4 image to pulse version
INFO: Removing old ad-fs-elastic container (3.8.X / ES 8.16.6)
INFO: Creating new ad-fs-elastic container with ES 8.18.4
INFO: Waiting for Elasticsearch to start...
INFO: Performing cluster health check after migration to ES 8.18.4...
INFO: Cluster health status: green
INFO: completed:(ES 8.16.6) -> (ES 8.18.4)
For Offline Installation (air-gapped)
Info
If the image 191579300362.dkr.ecr.us-east-1.amazonaws.com/acceldata/ad-elastic:migrate-8.18.4 is already present locally, there is no need to load it again using docker load -i.
Download the required migration images in an air-gapped environment.
[root@odppulse431:data (ad-default)]$ docker load -i ad-elastic8.tgz
Loaded image: 191579300362.dkr.ecr.us-east-1.amazonaws.com/acceldata/ad-elastic:migrate-8.18.4
Verify that the image is loaded correctly
[root@odppulse431:data (ad-default)]$ docker images | grep elastic
191579300362.dkr.ecr.us-east-1.amazonaws.com/acceldata/ad-elastic
Run the ad-elastic migration command.
[root@odppulse431:data (ad-default)]$ accelo admin ad-fs-elastic migrate
INFO: Running ad-fs-elastic migrate command
Is the 'ad-fs-elastic' service up and running? [y/n]: : y
INFO: sleep duration: 2m0s, max retries: 20, retry interval: 1m0s
INFO: Proceeding with ad-fs-elastic images already loaded in local
INFO: Current ad-fs-elastic version from container label: 3.8.5
INFO: Performing cluster health check before migration to ES 8.18.4...
INFO: Cluster health status: green
INFO: Cluster health check passed
INFO: migrate-8.18.4 image already present locally
INFO: Tagging migrate-8.18.4 image to pulse version
INFO: Removing old ad-fs-elastic container (3.8.X / ES 8.16.6)
INFO: Creating new ad-fs-elastic container with ES 8.18.4
INFO: Waiting for Elasticsearch to start...
INFO: Performing cluster health check after migration to ES 8.18.4...
INFO: Cluster health status: green
INFO: completed:(ES 8.16.6) -> (ES 8.18.4)
Verify the container.
[root@odppulse431:data (ad-default)]$ docker ps -a | grep ad-fs-elastic_default
ggfe8we691ef 233de6ww4420 "/bin/tini -- /usr/l…" 10 minutes ago Up 10 minutes 0.0.0.0:19038->9200/tcp, 0.0.0.0:19039->9300/tcp ad-fs-elastic_default
Manual Health Check
If the migration fails due to cluster health check timeout (cluster remains red), verify the cluster health manually:
For ad-elastic (default port 19013):
accelo admin hc elastic cluster-health
[root@migration4001:acceldata (ad-default)]$ accelo admin hc elastic cluster-health
INFO: elastic cluster health
{
"active_primary_shards": 353,
"active_shards": 353,
"active_shards_percent_as_number": 98.32869080779945,
"cluster_name": "elasticsearch",
"delayed_unassigned_shards": 0,
"initializing_shards": 0,
"number_of_data_nodes": 1,
"number_of_in_flight_fetch": 0,
"number_of_nodes": 1,
"number_of_pending_tasks": 0,
"relocating_shards": 0,
"status": "yellow",
"task_max_waiting_in_queue_millis": 0,
"timed_out": false,
"unassigned_primary_shards": 0,
"unassigned_shards": 6
}
For ad-fs-elastic (default port 19038):
accelo admin hc elastic cluster-health -h <hostname> -p 19038
[root@odpkronospulse:acceldata (ad-default)]$ accelo admin hc elastic cluster-health -d localhost -p 19038
INFO: elastic cluster health
{
"active_primary_shards": 0,
"active_shards": 0,
"active_shards_percent_as_number": 100,
"cluster_name": "elasticsearch",
"delayed_unassigned_shards": 0,
"initializing_shards": 0,
"number_of_data_nodes": 1,
"number_of_in_flight_fetch": 0,
"number_of_nodes": 1,
"number_of_pending_tasks": 0,
"relocating_shards": 0,
"status": "green",
"task_max_waiting_in_queue_millis": 0,
"timed_out": false,
"unassigned_primary_shards": 0,
"unassigned_shards": 0
}