From cdad826ad43b91c57486f6a784bee0e7b4d58884 Mon Sep 17 00:00:00 2001 From: Damien Ciabrini Date: Wed, 9 Sep 2020 09:08:26 +0200 Subject: [PATCH] HA: option to use static pacemaker image name With [1] we added the ability to use a fixed, static prefix for the container image names that pacemaker uses to set up the HA resources. This name is just an alias to the real tripleo image that is being used in the control plane, and it allows to update the namespace part of the image during a minor update without disrupting service. Add a new Heat parameter to use a completely static container image name, to allow arbitrary name change during minor update, e.g. registryA/namespaceA/imgA:tagA to registryB/namespaceB/imgB:tagB By default, this new paramter is disabled. [1] Id369154d147cd5cf0a6f997bf806084fc7580e01 Change-Id: I124c1e4dbcc7a8ed38079411f41a8f31c8f62284 --- .../cinder-backup-pacemaker-puppet.yaml | 28 +++++++++++++------ .../cinder-volume-pacemaker-puppet.yaml | 28 +++++++++++++------ .../database/mysql-pacemaker-puppet.yaml | 28 +++++++++++++------ .../database/redis-pacemaker-puppet.yaml | 28 +++++++++++++------ .../haproxy/haproxy-pacemaker-puppet.yaml | 28 +++++++++++++------ .../manila/manila-share-pacemaker-puppet.yaml | 28 +++++++++++++------ deployment/ovn/ovn-dbs-pacemaker-puppet.yaml | 28 +++++++++++++------ ...tmq-messaging-notify-pacemaker-puppet.yaml | 28 +++++++++++++------ .../rabbitmq-messaging-pacemaker-puppet.yaml | 28 +++++++++++++------ ...bbitmq-messaging-rpc-pacemaker-puppet.yaml | 28 +++++++++++++------ 10 files changed, 190 insertions(+), 90 deletions(-) diff --git a/deployment/cinder/cinder-backup-pacemaker-puppet.yaml b/deployment/cinder/cinder-backup-pacemaker-puppet.yaml index 0120745138..811224fbd8 100644 --- a/deployment/cinder/cinder-backup-pacemaker-puppet.yaml +++ b/deployment/cinder/cinder-backup-pacemaker-puppet.yaml @@ -18,6 +18,12 @@ parameters: set to true, the service uses a floating prefix as well, e.g. 'cluster.common.tag/IMAGENAME:pcmklatest'. type: boolean + ClusterFullTag: + default: false + description: When set to true, the pacemaker service uses a fully + constant tag for its container image name, e.g. + 'cluster.common.tag/SERVICENAME:pcmklatest'. + type: boolean CinderBackupBackend: default: swift description: The short name of the Cinder Backup backend to use. @@ -81,6 +87,7 @@ parameters: conditions: docker_enabled: {equals: [{get_param: ContainerCli}, 'docker']} common_tag_enabled: {equals: [{get_param: ClusterCommonTag}, true]} + common_tag_full: {equals: [{get_param: ClusterFullTag}, true]} resources: @@ -116,15 +123,18 @@ outputs: map_merge: - get_attr: [CinderBackupBase, role_data, config_settings] - tripleo::profile::pacemaker::cinder::backup_bundle::cinder_backup_docker_image: &cinder_backup_image_pcmklatest - yaql: - data: - if: - - common_tag_enabled - - yaql: - data: {get_param: ContainerCinderBackupImage} - expression: concat("cluster.common.tag/", $.data.rightSplit(separator => "/", maxSplits => 1)[1]) - - {get_param: ContainerCinderBackupImage} - expression: concat($.data.rightSplit(separator => ":", maxSplits => 1)[0], ":pcmklatest") + if: + - common_tag_full + - "cluster.common.tag/cinder-backup:pcmklatest" + - yaql: + data: + if: + - common_tag_enabled + - yaql: + data: {get_param: ContainerCinderBackupImage} + expression: concat("cluster.common.tag/", $.data.rightSplit(separator => "/", maxSplits => 1)[1]) + - {get_param: ContainerCinderBackupImage} + expression: concat($.data.rightSplit(separator => ":", maxSplits => 1)[0], ":pcmklatest") tripleo::profile::pacemaker::cinder::backup_bundle::docker_volumes: {get_attr: [CinderCommon, cinder_backup_volumes]} tripleo::profile::pacemaker::cinder::backup_bundle::docker_environment: {get_attr: [CinderCommon, cinder_backup_environment]} tripleo::profile::pacemaker::cinder::backup_bundle::container_backend: {get_param: ContainerCli} diff --git a/deployment/cinder/cinder-volume-pacemaker-puppet.yaml b/deployment/cinder/cinder-volume-pacemaker-puppet.yaml index 277d7142b7..0280a50485 100644 --- a/deployment/cinder/cinder-volume-pacemaker-puppet.yaml +++ b/deployment/cinder/cinder-volume-pacemaker-puppet.yaml @@ -18,6 +18,12 @@ parameters: set to true, the service uses a floating prefix as well, e.g. 'cluster.common.tag/IMAGENAME:pcmklatest'. type: boolean + ClusterFullTag: + default: false + description: When set to true, the pacemaker service uses a fully + constant tag for its container image name, e.g. + 'cluster.common.tag/SERVICENAME:pcmklatest'. + type: boolean EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set @@ -69,6 +75,7 @@ parameters: conditions: docker_enabled: {equals: [{get_param: ContainerCli}, 'docker']} common_tag_enabled: {equals: [{get_param: ClusterCommonTag}, true]} + common_tag_full: {equals: [{get_param: ClusterFullTag}, true]} resources: @@ -103,15 +110,18 @@ outputs: - get_attr: [CinderBase, role_data, config_settings] - tripleo::profile::base::lvm::enable_udev: false tripleo::profile::pacemaker::cinder::volume_bundle::cinder_volume_docker_image: &cinder_volume_image_pcmklatest - yaql: - data: - if: - - common_tag_enabled - - yaql: - data: {get_param: ContainerCinderVolumeImage} - expression: concat("cluster.common.tag/", $.data.rightSplit(separator => "/", maxSplits => 1)[1]) - - {get_param: ContainerCinderVolumeImage} - expression: concat($.data.rightSplit(separator => ":", maxSplits => 1)[0], ":pcmklatest") + if: + - common_tag_full + - "cluster.common.tag/cinder-volume:pcmklatest" + - yaql: + data: + if: + - common_tag_enabled + - yaql: + data: {get_param: ContainerCinderVolumeImage} + expression: concat("cluster.common.tag/", $.data.rightSplit(separator => "/", maxSplits => 1)[1]) + - {get_param: ContainerCinderVolumeImage} + expression: concat($.data.rightSplit(separator => ":", maxSplits => 1)[0], ":pcmklatest") tripleo::profile::pacemaker::cinder::volume_bundle::docker_volumes: {get_attr: [CinderCommon, cinder_volume_volumes]} tripleo::profile::pacemaker::cinder::volume_bundle::docker_environment: {get_attr: [CinderCommon, cinder_volume_environment]} tripleo::profile::pacemaker::cinder::volume_bundle::container_backend: {get_param: ContainerCli} diff --git a/deployment/database/mysql-pacemaker-puppet.yaml b/deployment/database/mysql-pacemaker-puppet.yaml index 6172c0d36d..81e7e17028 100644 --- a/deployment/database/mysql-pacemaker-puppet.yaml +++ b/deployment/database/mysql-pacemaker-puppet.yaml @@ -18,6 +18,12 @@ parameters: set to true, the service uses a floating prefix as well, e.g. 'cluster.common.tag/IMAGENAME:pcmklatest'. type: boolean + ClusterFullTag: + default: false + description: When set to true, the pacemaker service uses a fully + constant tag for its container image name, e.g. + 'cluster.common.tag/SERVICENAME:pcmklatest'. + type: boolean EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set @@ -102,6 +108,7 @@ conditions: internal_tls_enabled: {equals: [{get_param: EnableInternalTLS}, true]} docker_enabled: {equals: [{get_param: ContainerCli}, 'docker']} common_tag_enabled: {equals: [{get_param: ClusterCommonTag}, true]} + common_tag_full: {equals: [{get_param: ClusterFullTag}, true]} outputs: role_data: @@ -142,15 +149,18 @@ outputs: tripleo::profile::pacemaker::database::mysql::ca_file: get_param: InternalTLSCAFile tripleo::profile::pacemaker::database::mysql_bundle::mysql_docker_image: &mysql_image_pcmklatest - yaql: - data: - if: - - common_tag_enabled - - yaql: - data: {get_param: ContainerMysqlImage} - expression: concat("cluster.common.tag/", $.data.rightSplit(separator => "/", maxSplits => 1)[1]) - - {get_param: ContainerMysqlImage} - expression: concat($.data.rightSplit(separator => ":", maxSplits => 1)[0], ":pcmklatest") + if: + - common_tag_full + - "cluster.common.tag/mariadb:pcmklatest" + - yaql: + data: + if: + - common_tag_enabled + - yaql: + data: {get_param: ContainerMysqlImage} + expression: concat("cluster.common.tag/", $.data.rightSplit(separator => "/", maxSplits => 1)[1]) + - {get_param: ContainerMysqlImage} + expression: concat($.data.rightSplit(separator => ":", maxSplits => 1)[0], ":pcmklatest") tripleo::profile::pacemaker::database::mysql_bundle::control_port: 3123 tripleo::profile::pacemaker::database::mysql_bundle::container_backend: {get_param: ContainerCli} tripleo::profile::pacemaker::database::mysql_bundle::bind_address: diff --git a/deployment/database/redis-pacemaker-puppet.yaml b/deployment/database/redis-pacemaker-puppet.yaml index f06451ca71..091baf85c3 100644 --- a/deployment/database/redis-pacemaker-puppet.yaml +++ b/deployment/database/redis-pacemaker-puppet.yaml @@ -18,6 +18,12 @@ parameters: set to true, the service uses a floating prefix as well, e.g. 'cluster.common.tag/IMAGENAME:pcmklatest'. type: boolean + ClusterFullTag: + default: false + description: When set to true, the pacemaker service uses a fully + constant tag for its container image name, e.g. + 'cluster.common.tag/SERVICENAME:pcmklatest'. + type: boolean EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set @@ -82,6 +88,7 @@ conditions: internal_tls_enabled: {equals: [{get_param: EnableInternalTLS}, true]} docker_enabled: {equals: [{get_param: ContainerCli}, 'docker']} common_tag_enabled: {equals: [{get_param: ClusterCommonTag}, true]} + common_tag_full: {equals: [{get_param: ClusterFullTag}, true]} is_ipv6: equals: - {get_param: [ServiceData, net_ip_version_map, {get_param: [ServiceNetMap, RedisNetwork]}]} @@ -120,15 +127,18 @@ outputs: redis::notify_service: false redis::managed_by_cluster_manager: true tripleo::profile::pacemaker::database::redis_bundle::redis_docker_image: &redis_image_pcmklatest - yaql: - data: - if: - - common_tag_enabled - - yaql: - data: {get_param: ContainerRedisImage} - expression: concat("cluster.common.tag/", $.data.rightSplit(separator => "/", maxSplits => 1)[1]) - - {get_param: ContainerRedisImage} - expression: concat($.data.rightSplit(separator => ":", maxSplits => 1)[0], ":pcmklatest") + if: + - common_tag_full + - "cluster.common.tag/redis:pcmklatest" + - yaql: + data: + if: + - common_tag_enabled + - yaql: + data: {get_param: ContainerRedisImage} + expression: concat("cluster.common.tag/", $.data.rightSplit(separator => "/", maxSplits => 1)[1]) + - {get_param: ContainerRedisImage} + expression: concat($.data.rightSplit(separator => ":", maxSplits => 1)[0], ":pcmklatest") tripleo::profile::pacemaker::database::redis_bundle::control_port: 3124 tripleo::profile::pacemaker::database::redis_bundle::container_backend: {get_param: ContainerCli} tripleo::stunnel::manage_service: false diff --git a/deployment/haproxy/haproxy-pacemaker-puppet.yaml b/deployment/haproxy/haproxy-pacemaker-puppet.yaml index ffe1d0e40a..1412b01e04 100644 --- a/deployment/haproxy/haproxy-pacemaker-puppet.yaml +++ b/deployment/haproxy/haproxy-pacemaker-puppet.yaml @@ -18,6 +18,12 @@ parameters: set to true, the service uses a floating prefix as well, e.g. 'cluster.common.tag/IMAGENAME:pcmklatest'. type: boolean + ClusterFullTag: + default: false + description: When set to true, the pacemaker service uses a fully + constant tag for its container image name, e.g. + 'cluster.common.tag/SERVICENAME:pcmklatest'. + type: boolean ServiceData: default: {} description: Dictionary packing service data @@ -119,6 +125,7 @@ conditions: internal_tls_enabled: {equals: [{get_param: EnableInternalTLS}, true]} docker_enabled: {equals: [{get_param: ContainerCli}, 'docker']} common_tag_enabled: {equals: [{get_param: ClusterCommonTag}, true]} + common_tag_full: {equals: [{get_param: ClusterFullTag}, true]} resources: @@ -185,15 +192,18 @@ outputs: # disable the use CRL file until we can restart the container when the file expires tripleo::haproxy::crl_file: null tripleo::profile::pacemaker::haproxy_bundle::haproxy_docker_image: &haproxy_image_pcmklatest - yaql: - data: - if: - - common_tag_enabled - - yaql: - data: {get_param: ContainerHAProxyImage} - expression: concat("cluster.common.tag/", $.data.rightSplit(separator => "/", maxSplits => 1)[1]) - - {get_param: ContainerHAProxyImage} - expression: concat($.data.rightSplit(separator => ":", maxSplits => 1)[0], ":pcmklatest") + if: + - common_tag_full + - "cluster.common.tag/haproxy:pcmklatest" + - yaql: + data: + if: + - common_tag_enabled + - yaql: + data: {get_param: ContainerHAProxyImage} + expression: concat("cluster.common.tag/", $.data.rightSplit(separator => "/", maxSplits => 1)[1]) + - {get_param: ContainerHAProxyImage} + expression: concat($.data.rightSplit(separator => ":", maxSplits => 1)[0], ":pcmklatest") # BEGIN DOCKER SETTINGS puppet_config: config_volume: haproxy diff --git a/deployment/manila/manila-share-pacemaker-puppet.yaml b/deployment/manila/manila-share-pacemaker-puppet.yaml index c5e5b0f878..52a4610fa7 100644 --- a/deployment/manila/manila-share-pacemaker-puppet.yaml +++ b/deployment/manila/manila-share-pacemaker-puppet.yaml @@ -18,6 +18,12 @@ parameters: set to true, the service uses a floating prefix as well, e.g. 'cluster.common.tag/IMAGENAME:pcmklatest'. type: boolean + ClusterFullTag: + default: false + description: When set to true, the pacemaker service uses a fully + constant tag for its container image name, e.g. + 'cluster.common.tag/SERVICENAME:pcmklatest'. + type: boolean EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set @@ -64,6 +70,7 @@ parameters: conditions: docker_enabled: {equals: [{get_param: ContainerCli}, 'docker']} common_tag_enabled: {equals: [{get_param: ClusterCommonTag}, true]} + common_tag_full: {equals: [{get_param: ClusterFullTag}, true]} resources: @@ -95,15 +102,18 @@ outputs: map_merge: - get_attr: [ManilaShareContainerBase, role_data, config_settings] - tripleo::profile::pacemaker::manila::share_bundle::manila_share_docker_image: &manila_share_image_pcmklatest - yaql: - data: - if: - - common_tag_enabled - - yaql: - data: {get_param: ContainerManilaShareImage} - expression: concat("cluster.common.tag/", $.data.rightSplit(separator => "/", maxSplits => 1)[1]) - - {get_param: ContainerManilaShareImage} - expression: concat($.data.rightSplit(separator => ":", maxSplits => 1)[0], ":pcmklatest") + if: + - common_tag_full + - "cluster.common.tag/manila-share:pcmklatest" + - yaql: + data: + if: + - common_tag_enabled + - yaql: + data: {get_param: ContainerManilaShareImage} + expression: concat("cluster.common.tag/", $.data.rightSplit(separator => "/", maxSplits => 1)[1]) + - {get_param: ContainerManilaShareImage} + expression: concat($.data.rightSplit(separator => ":", maxSplits => 1)[0], ":pcmklatest") tripleo::profile::pacemaker::manila::share_bundle::docker_volumes: {get_attr: [ManilaCommon, manila_share_volumes]} tripleo::profile::pacemaker::manila::share_bundle::docker_environment: {get_attr: [ManilaCommon, manila_share_environment]} tripleo::profile::pacemaker::manila::share_bundle::container_backend: {get_param: ContainerCli} diff --git a/deployment/ovn/ovn-dbs-pacemaker-puppet.yaml b/deployment/ovn/ovn-dbs-pacemaker-puppet.yaml index 87132c7012..ad673f25ad 100644 --- a/deployment/ovn/ovn-dbs-pacemaker-puppet.yaml +++ b/deployment/ovn/ovn-dbs-pacemaker-puppet.yaml @@ -18,6 +18,12 @@ parameters: set to true, the service uses a floating prefix as well, e.g. 'cluster.common.tag/IMAGENAME:pcmklatest'. type: boolean + ClusterFullTag: + default: false + description: When set to true, the pacemaker service uses a fully + constant tag for its container image name, e.g. + 'cluster.common.tag/SERVICENAME:pcmklatest'. + type: boolean EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set @@ -96,6 +102,7 @@ conditions: docker_enabled: {equals: [{get_param: ContainerCli}, 'docker']} internal_tls_enabled: {equals: [{get_param: EnableInternalTLS}, true]} common_tag_enabled: {equals: [{get_param: ClusterCommonTag}, true]} + common_tag_full: {equals: [{get_param: ClusterFullTag}, true]} use_external_load_balancer: {equals: [{get_param: EnableLoadBalancer}, false]} resources: @@ -132,15 +139,18 @@ outputs: map_merge: - get_attr: [OVNDbsBase, role_data, config_settings] - tripleo::profile::pacemaker::ovn_dbs_bundle::ovn_dbs_docker_image: &ovn_dbs_image_pcmklatest - yaql: - data: - if: - - common_tag_enabled - - yaql: - data: {get_param: ContainerOvnDbsImage} - expression: concat("cluster.common.tag/", $.data.rightSplit(separator => "/", maxSplits => 1)[1]) - - {get_param: ContainerOvnDbsImage} - expression: concat($.data.rightSplit(separator => ":", maxSplits => 1)[0], ":pcmklatest") + if: + - common_tag_full + - "cluster.common.tag/ovn-northd:pcmklatest" + - yaql: + data: + if: + - common_tag_enabled + - yaql: + data: {get_param: ContainerOvnDbsImage} + expression: concat("cluster.common.tag/", $.data.rightSplit(separator => "/", maxSplits => 1)[1]) + - {get_param: ContainerOvnDbsImage} + expression: concat($.data.rightSplit(separator => ":", maxSplits => 1)[0], ":pcmklatest") - tripleo::profile::pacemaker::ovn_dbs_bundle::nb_db_port: {get_param: OVNNorthboundServerPort} - tripleo::profile::pacemaker::ovn_dbs_bundle::sb_db_port: {get_param: OVNSouthboundServerPort} - tripleo::profile::pacemaker::ovn_dbs_bundle::container_backend: {get_param: ContainerCli} diff --git a/deployment/rabbitmq/rabbitmq-messaging-notify-pacemaker-puppet.yaml b/deployment/rabbitmq/rabbitmq-messaging-notify-pacemaker-puppet.yaml index 0a97ae9d52..8a35187af0 100644 --- a/deployment/rabbitmq/rabbitmq-messaging-notify-pacemaker-puppet.yaml +++ b/deployment/rabbitmq/rabbitmq-messaging-notify-pacemaker-puppet.yaml @@ -18,6 +18,12 @@ parameters: set to true, the service uses a floating prefix as well, e.g. 'cluster.common.tag/IMAGENAME:pcmklatest'. type: boolean + ClusterFullTag: + default: false + description: When set to true, the pacemaker service uses a fully + constant tag for its container image name, e.g. + 'cluster.common.tag/SERVICENAME:pcmklatest'. + type: boolean EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set @@ -69,6 +75,7 @@ conditions: puppet_debug_enabled: {get_param: ConfigDebug} docker_enabled: {equals: [{get_param: ContainerCli}, 'docker']} common_tag_enabled: {equals: [{get_param: ClusterCommonTag}, true]} + common_tag_full: {equals: [{get_param: ClusterFullTag}, true]} rabbit_cookie_param_set: not: equals: @@ -109,15 +116,18 @@ outputs: - {get_attr: [RabbitmqBase, role_data, config_settings]} - rabbitmq::service_manage: false tripleo::profile::pacemaker::rabbitmq_bundle::rabbitmq_docker_image: &rabbitmq_image_pcmklatest - yaql: - data: - if: - - common_tag_enabled - - yaql: - data: {get_param: ContainerRabbitmqImage} - expression: concat("cluster.common.tag/", $.data.rightSplit(separator => "/", maxSplits => 1)[1]) - - {get_param: ContainerRabbitmqImage} - expression: concat($.data.rightSplit(separator => ":", maxSplits => 1)[0], ":pcmklatest") + if: + - common_tag_full + - "cluster.common.tag/rabbitmq:pcmklatest" + - yaql: + data: + if: + - common_tag_enabled + - yaql: + data: {get_param: ContainerRabbitmqImage} + expression: concat("cluster.common.tag/", $.data.rightSplit(separator => "/", maxSplits => 1)[1]) + - {get_param: ContainerRabbitmqImage} + expression: concat($.data.rightSplit(separator => ":", maxSplits => 1)[0], ":pcmklatest") tripleo::profile::pacemaker::rabbitmq_bundle::control_port: 3122 tripleo::profile::pacemaker::rabbitmq_bundle::container_backend: {get_param: ContainerCli} service_config_settings: {get_attr: [RabbitmqBase, role_data, service_config_settings]} diff --git a/deployment/rabbitmq/rabbitmq-messaging-pacemaker-puppet.yaml b/deployment/rabbitmq/rabbitmq-messaging-pacemaker-puppet.yaml index 6cf6d5d84d..164fc78101 100644 --- a/deployment/rabbitmq/rabbitmq-messaging-pacemaker-puppet.yaml +++ b/deployment/rabbitmq/rabbitmq-messaging-pacemaker-puppet.yaml @@ -18,6 +18,12 @@ parameters: set to true, the service uses a floating prefix as well, e.g. 'cluster.common.tag/IMAGENAME:pcmklatest'. type: boolean + ClusterFullTag: + default: false + description: When set to true, the pacemaker service uses a fully + constant tag for its container image name, e.g. + 'cluster.common.tag/SERVICENAME:pcmklatest'. + type: boolean EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set @@ -69,6 +75,7 @@ conditions: puppet_debug_enabled: {get_param: ConfigDebug} docker_enabled: {equals: [{get_param: ContainerCli}, 'docker']} common_tag_enabled: {equals: [{get_param: ClusterCommonTag}, true]} + common_tag_full: {equals: [{get_param: ClusterFullTag}, true]} rabbit_cookie_param_set: not: equals: @@ -109,15 +116,18 @@ outputs: - get_attr: [RabbitMQServiceBase, role_data, config_settings] - rabbitmq::service_manage: false tripleo::profile::pacemaker::rabbitmq_bundle::rabbitmq_docker_image: &rabbitmq_image_pcmklatest - yaql: - data: - if: - - common_tag_enabled - - yaql: - data: {get_param: ContainerRabbitmqImage} - expression: concat("cluster.common.tag/", $.data.rightSplit(separator => "/", maxSplits => 1)[1]) - - {get_param: ContainerRabbitmqImage} - expression: concat($.data.rightSplit(separator => ":", maxSplits => 1)[0], ":pcmklatest") + if: + - common_tag_full + - "cluster.common.tag/rabbitmq:pcmklatest" + - yaql: + data: + if: + - common_tag_enabled + - yaql: + data: {get_param: ContainerRabbitmqImage} + expression: concat("cluster.common.tag/", $.data.rightSplit(separator => "/", maxSplits => 1)[1]) + - {get_param: ContainerRabbitmqImage} + expression: concat($.data.rightSplit(separator => ":", maxSplits => 1)[0], ":pcmklatest") tripleo::profile::pacemaker::rabbitmq_bundle::control_port: 3122 tripleo::profile::pacemaker::rabbitmq_bundle::container_backend: {get_param: ContainerCli} service_config_settings: {get_attr: [RabbitmqBase, role_data, service_config_settings]} diff --git a/deployment/rabbitmq/rabbitmq-messaging-rpc-pacemaker-puppet.yaml b/deployment/rabbitmq/rabbitmq-messaging-rpc-pacemaker-puppet.yaml index db95ad8e78..ad2c787f8b 100644 --- a/deployment/rabbitmq/rabbitmq-messaging-rpc-pacemaker-puppet.yaml +++ b/deployment/rabbitmq/rabbitmq-messaging-rpc-pacemaker-puppet.yaml @@ -18,6 +18,12 @@ parameters: set to true, the service uses a floating prefix as well, e.g. 'cluster.common.tag/IMAGENAME:pcmklatest'. type: boolean + ClusterFullTag: + default: false + description: When set to true, the pacemaker service uses a fully + constant tag for its container image name, e.g. + 'cluster.common.tag/SERVICENAME:pcmklatest'. + type: boolean EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set @@ -69,6 +75,7 @@ conditions: puppet_debug_enabled: {get_param: ConfigDebug} docker_enabled: {equals: [{get_param: ContainerCli}, 'docker']} common_tag_enabled: {equals: [{get_param: ClusterCommonTag}, true]} + common_tag_full: {equals: [{get_param: ClusterFullTag}, true]} rabbit_cookie_param_set: not: equals: @@ -109,15 +116,18 @@ outputs: - {get_attr: [RabbitmqBase, role_data, config_settings]} - rabbitmq::service_manage: false tripleo::profile::pacemaker::rabbitmq_bundle::rabbitmq_docker_image: &rabbitmq_image_pcmklatest - yaql: - data: - if: - - common_tag_enabled - - yaql: - data: {get_param: ContainerRabbitmqImage} - expression: concat("cluster.common.tag/", $.data.rightSplit(separator => "/", maxSplits => 1)[1]) - - {get_param: ContainerRabbitmqImage} - expression: concat($.data.rightSplit(separator => ":", maxSplits => 1)[0], ":pcmklatest") + if: + - common_tag_full + - "cluster.common.tag/rabbitmq:pcmklatest" + - yaql: + data: + if: + - common_tag_enabled + - yaql: + data: {get_param: ContainerRabbitmqImage} + expression: concat("cluster.common.tag/", $.data.rightSplit(separator => "/", maxSplits => 1)[1]) + - {get_param: ContainerRabbitmqImage} + expression: concat($.data.rightSplit(separator => ":", maxSplits => 1)[0], ":pcmklatest") tripleo::profile::pacemaker::rabbitmq_bundle::control_port: 3122 tripleo::profile::pacemaker::rabbitmq_bundle::container_backend: {get_param: ContainerCli} service_config_settings: {get_attr: [RabbitmqBase, role_data, service_config_settings]}