Nova RPC unpinning
authorJiri Stransky <jistr@redhat.com>
Wed, 24 Feb 2016 16:29:50 +0000 (17:29 +0100)
committerJiri Stransky <jistr@redhat.com>
Wed, 24 Feb 2016 16:29:50 +0000 (17:29 +0100)
During upgrades, we only run Puppet on the whole deployment to converge
the state, after the upgrade workflow itself has been fully
completed. That is an opportunity to utilize Puppet to make sure Nova
Compute RPC doesn't remain pinned to the older version.

Change-Id: I6ebc813a80dfd9dfbbb213c38724487e044507b8

environments/major-upgrade-pacemaker-converge.yaml [new file with mode: 0644]
puppet/compute.yaml
puppet/controller.yaml

diff --git a/environments/major-upgrade-pacemaker-converge.yaml b/environments/major-upgrade-pacemaker-converge.yaml
new file mode 100644 (file)
index 0000000..f023cb3
--- /dev/null
@@ -0,0 +1,2 @@
+parameter_defaults:
+  UpgradeLevelNovaCompute: ''
index 7586ebd..b0b9c02 100644 (file)
@@ -267,6 +267,10 @@ parameters:
     description: The user password for SNMPd with readonly rights running on all Overcloud nodes
     type: string
     hidden: true
+  UpgradeLevelNovaCompute:
+    type: string
+    description: Nova Compute upgrade level
+    default: ''
   EnablePackageInstall:
     default: 'false'
     description: Set to true to enable package installation via Puppet
@@ -465,6 +469,7 @@ resources:
                 nova::rabbit_password: {get_input: rabbit_password}
                 nova::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
                 nova::rabbit_port: {get_input: rabbit_client_port}
+                nova::upgrade_level_compute: {get_input: upgrade_level_nova_compute}
                 nova_compute_driver: {get_input: nova_compute_driver}
                 nova::compute::libvirt::libvirt_virt_type: {get_input: nova_compute_libvirt_type}
                 nova::compute::neutron::libvirt_vif_driver: {get_input: nova_compute_libvirt_vif_driver}
@@ -549,6 +554,7 @@ resources:
         nova_vnc_proxyclient_address: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaVncProxyNetwork]}]}
         nova_ovs_bridge: {get_param: NovaOVSBridge}
         nova_security_group_api: {get_param: NovaSecurityGroupAPI}
+        upgrade_level_nova_compute: {get_param: UpgradeLevelNovaCompute}
         ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
         ceilometer_password: {get_param: CeilometerPassword}
         ceilometer_compute_agent: {get_param: CeilometerComputeAgent}
index 3600310..bb04530 100644 (file)
@@ -644,6 +644,10 @@ parameters:
     default: 'UTC'
     description: The timezone to be set on controller nodes.
     type: string
+  UpgradeLevelNovaCompute:
+    type: string
+    description: Nova Compute upgrade level
+    default: ''
   VirtualIP: # DEPRECATED: use per service settings instead
     type: string
     default: ''  # Has to be here because of the ignored empty value bug
@@ -1122,6 +1126,7 @@ resources:
               - '@'
               - {get_param: MysqlVirtualIP}
               - '/nova_api'
+        upgrade_level_nova_compute: {get_param: UpgradeLevelNovaCompute}
         instance_name_template: {get_param: InstanceNameTemplate}
         fencing_config: {get_param: FencingConfig}
         pcsd_password: {get_param: PcsdPassword}
@@ -1477,6 +1482,7 @@ resources:
                 nova::rabbit_password: {get_input: rabbit_password}
                 nova::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
                 nova::rabbit_port: {get_input: rabbit_client_port}
+                nova::upgrade_level_compute: {get_input: upgrade_level_nova_compute}
                 nova::debug: {get_input: debug}
                 nova::api::auth_uri: {get_input: keystone_auth_uri}
                 nova::api::identity_uri: {get_input: keystone_identity_uri}