fea1ba960291c5518bdf12e3f2f022a7033f1c55
[apex-tripleo-heat-templates.git] / puppet / services / openvswitch-upgrade.yaml
1 heat_template_version: ocata
2
3 description: >
4   Openvswitch package special handling for upgrade.
5
6 outputs:
7   role_data:
8     description: Upgrade task for special handling of Openvswitch (OVS) upgrade.
9     value:
10       service_name: openvswitch_upgrade
11       upgrade_tasks:
12         - name: Check openvswitch version.
13           tags: step2
14           register: ovs_version
15           ignore_errors: true
16           shell: rpm -qa | awk -F- '/^openvswitch-2/{print $2 "-" $3}'
17         - name: Check openvswitch packaging.
18           tags: step2
19           shell: rpm -q --scripts openvswitch | awk '/postuninstall/,/*/' | grep -q "systemctl.*try-restart"
20           register: ovs_packaging_issue
21           ignore_errors: true
22         - block:
23             - name: "Ensure empty directory: emptying."
24               file:
25                 state: absent
26                 path: /root/OVS_UPGRADE
27             - name: "Ensure empty directory: creating."
28               file:
29                 state: directory
30                 path: /root/OVS_UPGRADE
31                 owner: root
32                 group: root
33                 mode: 0750
34             - name: Download OVS packages.
35               command: yumdownloader --destdir /root/OVS_UPGRADE --resolve openvswitch
36             - name: Get rpm list for manual upgrade of OVS.
37               shell: ls -1 /root/OVS_UPGRADE/*.rpm
38               register: ovs_list_of_rpms
39             - name: Manual upgrade of OVS
40               shell: |
41                 rpm -U --test {{item}} 2>&1 | grep "already installed" || \
42                 rpm -U --replacepkgs --notriggerun --nopostun {{item}};
43               args:
44                 chdir: /root/OVS_UPGRADE
45               with_items:
46                 - "{{ovs_list_of_rpms.stdout_lines}}"
47           tags: step2
48           when: "'2.5.0-14' in '{{ovs_version.stdout}}'
49                 or
50                 ovs_packaging_issue|succeeded"