aerospike_migrations – Check or wait for migrations between nodes
New in version 2.8.
Synopsis
- This can be used to check for migrations in a cluster. This makes it easy to do a rolling upgrade/update on Aerospike nodes.
- If waiting for migrations is not desired, simply just poll until port 3000 if available or asinfo -v status returns ok
Parameters
Parameter | Choices/Defaults | Comments |
---|---|---|
connect_timeout
integer
|
Default:
1000
|
How long to try to connect before giving up (milliseconds)
|
consecutive_good_checks
integer
|
Default:
3
|
How many times should the cluster report "no migrations" consecutively before returning OK back to ansible?
|
fail_on_cluster_change
boolean
|
|
Fail if the cluster key changes if something else is changing the cluster, we may want to fail
|
host
string
|
Default:
"localhost"
|
Which host do we use as seed for info connection
|
local_only
boolean /
required
|
|
Do you wish to only check for migrations on the local node before returning, or do you want all nodes in the cluster to finish before returning?
|
migrate_rx_key
string
|
Default:
"migrate_rx_partitions_remaining"
|
The metric key used to determine if we have rx migrations remaining. Changeable due to backwards compatibility.
|
migrate_tx_key
string
|
Default:
"migrate_tx_partitions_remaining"
|
The metric key used to determine if we have tx migrations remaining. Changeable due to backwards compatibility.
|
min_cluster_size
integer
|
Default:
1
|
Check will return bad until cluster size is met or until tries is exhausted
|
port
integer
|
Default:
3000
|
Which port to connect to Aerospike on (service port)
|
sleep_between_checks
integer
|
Default:
60
|
How long to sleep between each check (seconds).
|
target_cluster_size
integer
|
When all aerospike builds in the cluster are greater than version 4.3, then the
cluster-stable info command will be used. Inside this command, you can optionally specify what the target cluster size is - but it is not necessary. You can still rely on min_cluster_size if you don't want to use this option.
If this option is specified on a cluster that has at least 1 host <4.3 then it will be ignored until the min version reaches 4.3.
|
|
tries_limit
integer
|
Default:
300
|
How many times do we poll before giving up and failing?
|
Examples
# check for migrations on local node - name: wait for migrations on local node before proceeding aerospike_migrations: host: "localhost" connect_timeout: 2000 consecutive_good_checks: 5 sleep_between_checks: 15 tries_limit: 600 local_only: False # example playbook: --- - name: upgrade aerospike hosts: all become: true serial: 1 tasks: - name: Install dependencies apt: name: - python - python-pip - python-setuptools state: latest - name: setup aerospike pip: name: aerospike # check for migrations every (sleep_between_checks) # If at least (consecutive_good_checks) checks come back OK in a row, then return OK. # Will exit if any exception, which can be caused by bad nodes, # nodes not returning data, or other reasons. # Maximum runtime before giving up in this case will be: # Tries Limit * Sleep Between Checks * delay * retries - name: wait for aerospike migrations aerospike_migrations: local_only: True sleep_between_checks: 1 tries_limit: 5 consecutive_good_checks: 3 fail_on_cluster_change: true min_cluster_size: 3 target_cluster_size: 4 register: migrations_check until: migrations_check is succeeded changed_when: false delay: 60 retries: 120 - name: another thing shell: | echo foo - name: reboot reboot:
Status
- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]
Authors
- Albert Autin (@Alb0t)
Hint
If you notice any issues in this documentation, you can edit this document to improve it.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/aerospike_migrations_module.html