diff --git a/deployment/pacemaker/pacemaker-baremetal-puppet.yaml b/deployment/pacemaker/pacemaker-baremetal-puppet.yaml index 3dd1db327a..c813edff82 100644 --- a/deployment/pacemaker/pacemaker-baremetal-puppet.yaml +++ b/deployment/pacemaker/pacemaker-baremetal-puppet.yaml @@ -189,6 +189,25 @@ outputs: state: present when: {get_param: EnableInstanceHA} upgrade_tasks: + # Since Wallaby, Redis is not deployed by defaut anymore + - name: pre-check to ensure redis is removed if the service is disabled + when: + - step|int == 0 + - '"redis" not in enabled_services|list' + tags: + - never + - system_upgrade + - system_upgrade_prepare + become: true + # prior to OS upgrade, don't assume the cluster is running, + # probe the CIB file directly instead + shell: | + export CIB_file=/var/lib/pacemaker/cib/cib.xml + if crm_resource -r redis-bundle -q &>/dev/null; then + echo "Redis resource present in pacemaker but disabled by default in TripleO" >&2 + echo "Delete the resource in pacemaker or enable the redis service before upgrading" >&2 + exit 1 + fi - name: upgrade step 0 when: step|int == 0 block: diff --git a/environments/docker-ha.yaml b/environments/docker-ha.yaml index 63280ebd1d..9b641c2bf2 100644 --- a/environments/docker-ha.yaml +++ b/environments/docker-ha.yaml @@ -17,7 +17,6 @@ resource_registry: OS::TripleO::Services::MySQL: ../deployment/database/mysql-pacemaker-puppet.yaml OS::TripleO::Services::OsloMessagingRpc: ../deployment/rabbitmq/rabbitmq-messaging-rpc-pacemaker-puppet.yaml OS::TripleO::Services::OsloMessagingNotify: ../deployment/rabbitmq/rabbitmq-messaging-notify-shared-puppet.yaml - OS::TripleO::Services::Redis: ../deployment/database/redis-pacemaker-puppet.yaml OS::TripleO::Services::OVNDBs: ../deployment/ovn/ovn-dbs-pacemaker-puppet.yaml parameter_defaults: diff --git a/environments/ha-redis.yaml b/environments/ha-redis.yaml new file mode 100644 index 0000000000..9490789486 --- /dev/null +++ b/environments/ha-redis.yaml @@ -0,0 +1,6 @@ +# Environment file to deploy the Redis in a pacemaker cluster. +# As Redis is no longer deployed by default, this file is only +# necessary if you upgrade an existing overcloud or if you implicitely +# rely on Redis +resource_registry: + OS::TripleO::Services::Redis: ../deployment/database/redis-pacemaker-puppet.yaml diff --git a/releasenotes/notes/redis_disabled_by_default-9992b2bae9b149cd.yaml b/releasenotes/notes/redis_disabled_by_default-9992b2bae9b149cd.yaml new file mode 100644 index 0000000000..f19888511a --- /dev/null +++ b/releasenotes/notes/redis_disabled_by_default-9992b2bae9b149cd.yaml @@ -0,0 +1,7 @@ +--- +upgrade: + - | + Redis is now disabled by default in new deployments, so existing + deployments have to delete the redis resource in pacemaker prior to + upgrade, or include the new environment file ha-redis.yaml if they + still implicitely depend on redis.