summaryrefslogtreecommitdiffstats
path: root/roles/openshift_master/tasks/upgrade/rpm_upgrade.yml
blob: 4564f33ddf8445e170c9ab976a5da40ba9ce5dc2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
---
# When we update package "a-${version}" and a requires b >= ${version} if we
# don't specify the version of b yum will choose the latest version of b
# available and the whole set of dependencies end up at the latest version.
# Since the package module, unlike the yum module, doesn't flatten a list
# of packages into one transaction we need to do that explicitly. The ansible
# core team tells us not to rely on yum module transaction flattening anyway.

# TODO: If the sdn package isn't already installed this will install it, we
# should fix that
- name: Upgrade master packages - yum
  command:
    yum install -y {{ master_pkgs | join(' ') }} \
    {{ ' --exclude *' ~ openshift_service_type ~ '*3.9*' if openshift_release | version_compare('3.9','<') else '' }}
  vars:
    master_pkgs:
      - "{{ openshift_service_type }}{{ openshift_pkg_version | default('') }}"
      - "{{ openshift_service_type }}-master{{ openshift_pkg_version | default('') }}"
      - "{{ openshift_service_type }}-node{{ openshift_pkg_version | default('') }}"
      - "{{ openshift_service_type }}-sdn-ovs{{ openshift_pkg_version | default('') }}"
      - "{{ openshift_service_type }}-clients{{ openshift_pkg_version | default('') }}"
  register: result
  until: result is succeeded
  when: ansible_pkg_mgr == 'yum'

- name: Upgrade master packages - dnf
  dnf:
    name: "{{ master_pkgs | join(',') }}"
    state: present
  vars:
    master_pkgs:
      - "{{ openshift_service_type }}{{ openshift_pkg_version }}"
      - "{{ openshift_service_type }}-master{{ openshift_pkg_version }}"
      - "{{ openshift_service_type }}-node{{ openshift_pkg_version }}"
      - "{{ openshift_service_type }}-sdn-ovs{{ openshift_pkg_version }}"
      - "{{ openshift_service_type }}-clients{{ openshift_pkg_version }}"
  register: result
  until: result is succeeded
  when: ansible_pkg_mgr == 'dnf'