[N->O] Fix wrong database connection for cell0 during upgrade.
authorSofer Athlan-Guyot <sathlang@redhat.com>
Thu, 23 Mar 2017 11:10:48 +0000 (12:10 +0100)
committerSofer Athlan-Guyot <sathlang@redhat.com>
Thu, 23 Mar 2017 16:58:03 +0000 (17:58 +0100)
During upgrade the cell0 database has the connection pointing to

   mysql+pymysql://nova:c2cdagE8PyAbnpers3AD88Hge@10.0.0.19/nova_cell0?bind_address=10.0.0.20

where 10.0.0.20 was the ip of the bootstrap node.  This makes the
nova-api fails on 2/3 node at the end of the
major-upgrade-composable-steps.yaml step.

We do have the right value in the hiera database so make sure we use
it for cell0 creation and not the nova.conf file which hasn't been
updated yet.

Change-Id: I09775206cb8fc5e15934f7e4475506a7fe17271e
Closes-Bug: #1675359

puppet/services/nova-api.yaml
puppet/services/nova-base.yaml

index b0ba0cd..6d31cf4 100644 (file)
@@ -227,7 +227,7 @@ outputs:
         - name: Setup cell_v2 (map cell0)
           tags: step5
           when: is_bootstrap_node
-          command: nova-manage cell_v2 map_cell0
+          shell: nova-manage cell_v2 map_cell0 --database_connection=$(hiera nova::cell0_database_connection)
         - name: Setup cell_v2 (create default cell)
           tags: step5
           when: is_bootstrap_node
index ceacb0b..42de40f 100644 (file)
@@ -151,6 +151,16 @@ outputs:
                 - {get_param: [EndpointMap, MysqlInternal, host]}
                 - '/nova'
                 - '?read_default_file=/etc/my.cnf.d/tripleo.cnf&read_default_group=tripleo'
+          nova::cell0_database_connection:
+            list_join:
+              - ''
+              - - {get_param: [EndpointMap, MysqlInternal, protocol]}
+                - '://nova:'
+                - {get_param: NovaPassword}
+                - '@'
+                - {get_param: [EndpointMap, MysqlInternal, host]}
+                - '/nova_cell0'
+                - '?read_default_file=/etc/my.cnf.d/tripleo.cnf&read_default_group=tripleo'
           nova::api_database_connection:
             list_join:
               - ''