summaryrefslogtreecommitdiffstats
path: root/deployment/playbooks/roles/prerequisites/tasks/main.yaml
blob: a26867960d0439d809615b75db74229eeef95ebb (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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
---
- name: Gather facts
  openshift_facts:
    role: common

- block:
  - name: Clear yum cache
    command: "yum clean all"
    ignore_errors: true

  - name: Install the required rpms
    package:
      name: "{{ item }}"
      state: latest
    with_items: "{{ openshift_required_packages }}"

  - name: Start NetworkManager and network
    service:
      name: "{{ item }}"
      state: restarted
      enabled: true
    with_items:
    - NetworkManager
    - network

  - name: Determine if firewalld is installed
    rpm_q:
      name: "firewalld"
      state: present
    register: firewalld_installed
    failed_when: false

  - name: Stop firewalld
    service:
      name: firewalld
      state: stopped
      enabled: false
    when:
    - "{{ firewalld_installed.installed_versions | default([]) | length > 0 }}"

  - name: Start iptables
    service:
      name: iptables
      state: started
      enabled: true

  - name: Start docker
    service:
      name: docker
      state: started
      enabled: true

  when: not (openshift.common.is_atomic | default(openshift_is_atomic)) | bool

# Fail as early as possible if Atomic and old version of Docker
- block:
  - name: Determine Atomic Host Docker Version
    shell: 'CURLY="{"; docker version --format "$CURLY{json .Server.Version}}"'
    register: l_atomic_docker_version

  - assert:
      msg: Installation on Atomic Host requires Docker 1.12 or later. Attempting to patch.
      that:
      - l_atomic_docker_version.stdout | replace('"', '') | version_compare('1.12','>=')

  rescue:
  - name: Patching Atomic instances
    shell: atomic host upgrade
    register: patched

  - name: Reboot when patched
    shell: sleep 5 && shutdown -r now "Reboot due to Atomic Patching"
    async: 1
    poll: 0
    ignore_errors: true
    when: patched.changed

  - name: Wait for hosts to be back
    pause:
      seconds: 60
    delegate_to: 127.0.0.1
    when: patched.changed

  when: (openshift.common.is_atomic | default(openshift_is_atomic)) | bool