###################################################### Red Hat OpenStack Platform 10 Package Update Process ###################################################### ## OpenStack nodes - Director 1 - Controller 1 - Compute 2 ## Network Info - Director external 1, provisiong 1 - Controller external 1, provisiong 1 - Compute external 1, provisiong 1 ## Installed Package - 20170228 image version ## Update Package - 20170830 image version ## Related Document - Upgrading Red Hat OpenStack Platform :: https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/10/html-single/upgrading_red_hat_openstack_platform/ - Back up and Restore the Director Undercloud :: https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/10/html-single/back_up_and_restore_the_director_undercloud/ ## Needed Repository Info - Red Hat Enterprise Linux 7 Server (RPMs) rhel-7-server-rpms - Red Hat Enterprise Linux 7 Server - Extras (RPMs) rhel-7-server-extras-rpms - Red Hat Enterprise Linux 7 Server - RH Common (RPMs) rhel-7-server-rh-common-rpms - Red Hat Satellite Tools for RHEL 7 Server RPMs x86_64 rhel-7-server-satellite-tools-6.2-rpms - Red Hat Enterprise Linux High Availability (for RHEL 7 Server) (RPMs) rhel-ha-for-rhel-7-server-rpms - Red Hat OpenStack Platform 10 for RHEL 7 (RPMs) rhel-7-server-openstack-10-rpms ## Package Update Process - Update Director packages - Update Overcloud images on the Director node - Update Overcloud packages using Director node ## Pre Task before update package - Undercloud node backup before update - Update test in testbed before update in real. ## undercloud backup items - undercloud node's all MariaDB databases - undercloud node's MariaDB Config files - /var/lib/glance/images directory's glance image data - /srv/node directory's siwft data - /home/stack directory's all data - undercloud SSL pem files o /etc/pki/ca-trust/source/anchors/ca.crt.pem o /etc/pki/instack-certs/undercloud.pem ## undercloud backup commands # mysqldump --opt --all-databases > /root/undercloud-all-databases.sql # tar --xattrs -czf undercloud-backup-`date +%F`.tar.gz /root/undercloud-all-databases.sql \ /etc/my.cnf.d/server.cnf /var/lib/glance/images /srv/node /home/stack \ /etc/pki/instack-certs/undercloud.pem /etc/pki/ca-trust/source/anchors/ca.crt.pem ## Update Director packages 1. Login stack user # su - stack 2. Stop OpenStack services $ sudo systemctl stop 'openstack-*' 'neutron-*' httpd 3. Update python-tripleoclient $ sudo yum update python-tripleoclient 4. Update undercloud environment $ openstack undercloud upgrade 5. Reboot wehn update kernal(rhel7.2 to 7.3) or openvswitch(version 2.4 to 2.5) $ sudo reboot 6. Check status of all services $ sudo systemctl list-units "openstack*" "neutron*" "openvswitch*" 7. Verify overcloud nodes $ source stackrc $ openstack server list $ openstack baremetal node list $ openstack stack list ## Update Overcloud images 1. Check overcloud images $ sudo grep "rhosp-director-images" /var/log/yum.log 2. Delete images directory $ rm -rf ~/images/* 3. Extract the archives $ cd ~/images $ for i in /usr/share/rhosp-director-images/overcloud-full-latest-10.0.tar /usr/share/rhosp-director-images/ironic-python-agent-latest-10.0.tar; do tar -xvf $i; done 4. Upload images to Glance $ openstack overcloud image upload --update-existing --image-path /home/stack/images/ $ openstack baremetal configure boot 5. Virify uploaded images $ openstack image list $ ls -l /httpboot ## Update Overcloud packages 1. Update current plan $ openstack overcloud deploy --update-plan-only \ --templates \ -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \ -e /home/stack/templates/network-environment.yaml \ -e /home/stack/templates/storage-environment.yaml \ -e /home/stack/templates/rhel-registration/environment-rhel-registration.yaml \ [-e |...] 2. Packages update $ openstack overcloud update stack -i overcloud 3. Reboot when update kernal(rhel7.2 to 7.3) or openvswitch(version 2.4 to 2.5) Reboot order :: controller > compute 3.1 Reboot Controller $ sudo reboot $ sudo pcs status $ sudo systemctl list-units "openstak*" "neutron*" "openvswitch*" 3.2 Before reboot Compute $ nova list | grep "compute" $ source ~/overcloudrc $ openstack compute service list $ openstack compute service set [hostname] nova-compute --disable $ openstack server list --host [hostname] --all-projects $ openstack server migrate [instance-id] --live [target-host] --wait $ nova live-migration [instance-id] $ openstack server list --host [hostname] --all-projects 3.3 Reboot Compute $ sudo reboot $ source ~/overcloudrc $ openstack compute service set [hostname] nova-compute --enable