Upgrade nova-api/scheduler/conductor packages at step3 not step2.
authorSofer Athlan-Guyot <sathlang@redhat.com>
Fri, 24 Feb 2017 16:01:35 +0000 (17:01 +0100)
committerSofer Athlan-Guyot <sathlang@redhat.com>
Fri, 24 Feb 2017 16:25:28 +0000 (17:25 +0100)
The nova-api, nova-scheduler nova-conductor packages are updated during
step2.  The package upgrade trigger a restart of the service which fails
and is constantly retried by systemd:

    Feb 24 12:34:24 centos-7-2-node-rax-iad-7463943-440549 systemd[1]: Failed to start OpenStack Nova Scheduler Server.
    Feb 24 12:34:24 centos-7-2-node-rax-iad-7463943-440549 systemd[1]: Unit openstack-nova-scheduler.service entered failed state.
    Feb 24 12:34:24 centos-7-2-node-rax-iad-7463943-440549 systemd[1]: openstack-nova-scheduler.service failed.
    Feb 24 12:34:24 centos-7-2-node-rax-iad-7463943-440549 systemd[1]: openstack-nova-scheduler.service holdoff time over, scheduling restart.

We eventually reach timeout.  We use
https://github.com/openstack/tripleo-heat-templates/blob/master/puppet/services/tripleo-packages.yaml#L44-L46
to upgrade existing packages.

Add a note to the README.rst to make people aware of the general upgrade
done at step3 and limit its usage to new package for individual service.

Change-Id: I13b51bcfe0c98034944613f7e1c3f0168cd4de76
Closes-Bug: #1667728

puppet/services/README.rst
puppet/services/nova-api.yaml
puppet/services/nova-conductor.yaml
puppet/services/nova-scheduler.yaml

index e5c1153..223c3ed 100644 (file)
@@ -104,7 +104,9 @@ step, "step2" for the second, etc.
 
    2) Stop all control-plane services, ready for upgrade
 
-   3) Perform a package update, (either specific packages or the whole system)
+   3) Perform a package update and install new packages: A general
+      upgrade is done, and only new package should go into service
+      ansible tasks.
 
    4) Start services needed for migration tasks (e.g DB)
 
index 0adefec..f27b53f 100644 (file)
@@ -197,9 +197,6 @@ outputs:
         - name: Stop and disable nova_api service (pre-upgrade not under httpd)
           tags: step2
           service: name=openstack-nova-api state=stopped enabled=no
-        - name: update nova api
-          tags: step2
-          yum: name=openstack-nova-api state=latest
         - name: Create puppet manifest to set transport_url in nova.conf
           tags: step5
           when: is_bootstrap_node
index 7b08653..a19d0f8 100644 (file)
@@ -69,13 +69,10 @@ outputs:
         - name: Stop nova_conductor service
           tags: step2
           service: name=openstack-nova-conductor state=stopped
-        - name: update nova conductor
-          tags: step2
-          yum: name=openstack-nova-conductor state=latest
         # If not already set by puppet (e.g a pre-ocata version), set the
         # upgrade_level for compute to "auto"
         - name: Set compute upgrade level to auto
-          tags: step3
+          tags: step2
           ini_file:
             str_replace:
               template: "dest=/etc/nova/nova.conf section=upgrade_levels option=compute value=LEVEL"
index 0e0b9d1..e08bf18 100644 (file)
@@ -67,6 +67,3 @@ outputs:
         - name: Stop nova_scheduler service
           tags: step2
           service: name=openstack-nova-scheduler state=stopped
-        - name: update nova scheduler
-          tags: step2
-          yum: name=openstack-nova-scheduler state=latest