aboutsummaryrefslogtreecommitdiffstats
path: root/puppet/services/openvswitch-upgrade.yaml
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2017-04-06 10:35:52 +0000
committerGerrit Code Review <review@openstack.org>2017-04-06 10:35:52 +0000
commit4fb4cc780db09d516f185b3bb0f354e226818495 (patch)
treeea052fdf3b4bcad6beb5f7100d992059f9ef22b9 /puppet/services/openvswitch-upgrade.yaml
parent4ddfe417754de3fb123303ede207dd25418428ad (diff)
parentd2d319ec0ead06b860f8464b001048fb4f723788 (diff)
Merge "Add manual ovs upgrade script for workaround ovs upgrade issue"
Diffstat (limited to 'puppet/services/openvswitch-upgrade.yaml')
-rw-r--r--puppet/services/openvswitch-upgrade.yaml50
1 files changed, 50 insertions, 0 deletions
diff --git a/puppet/services/openvswitch-upgrade.yaml b/puppet/services/openvswitch-upgrade.yaml
new file mode 100644
index 00000000..fea1ba96
--- /dev/null
+++ b/puppet/services/openvswitch-upgrade.yaml
@@ -0,0 +1,50 @@
+heat_template_version: ocata
+
+description: >
+ Openvswitch package special handling for upgrade.
+
+outputs:
+ role_data:
+ description: Upgrade task for special handling of Openvswitch (OVS) upgrade.
+ value:
+ service_name: openvswitch_upgrade
+ upgrade_tasks:
+ - name: Check openvswitch version.
+ tags: step2
+ register: ovs_version
+ ignore_errors: true
+ shell: rpm -qa | awk -F- '/^openvswitch-2/{print $2 "-" $3}'
+ - name: Check openvswitch packaging.
+ tags: step2
+ shell: rpm -q --scripts openvswitch | awk '/postuninstall/,/*/' | grep -q "systemctl.*try-restart"
+ register: ovs_packaging_issue
+ ignore_errors: true
+ - block:
+ - name: "Ensure empty directory: emptying."
+ file:
+ state: absent
+ path: /root/OVS_UPGRADE
+ - name: "Ensure empty directory: creating."
+ file:
+ state: directory
+ path: /root/OVS_UPGRADE
+ owner: root
+ group: root
+ mode: 0750
+ - name: Download OVS packages.
+ command: yumdownloader --destdir /root/OVS_UPGRADE --resolve openvswitch
+ - name: Get rpm list for manual upgrade of OVS.
+ shell: ls -1 /root/OVS_UPGRADE/*.rpm
+ register: ovs_list_of_rpms
+ - name: Manual upgrade of OVS
+ shell: |
+ rpm -U --test {{item}} 2>&1 | grep "already installed" || \
+ rpm -U --replacepkgs --notriggerun --nopostun {{item}};
+ args:
+ chdir: /root/OVS_UPGRADE
+ with_items:
+ - "{{ovs_list_of_rpms.stdout_lines}}"
+ tags: step2
+ when: "'2.5.0-14' in '{{ovs_version.stdout}}'
+ or
+ ovs_packaging_issue|succeeded"