|
2 | 2 | - hosts: all |
3 | 3 | remote_user: root |
4 | 4 | tasks: |
5 | | - - name: Make sure we have all required packages |
| 5 | + - name: Make sure we have all required packages on Fedora |
| 6 | + dnf: |
| 7 | + name: "{{ item }}" |
| 8 | + state: latest |
| 9 | + with_items: |
| 10 | + - wget |
| 11 | + - git |
| 12 | + - make |
| 13 | + - gcc |
| 14 | + - tar |
| 15 | + - libseccomp-devel |
| 16 | + - golang |
| 17 | + - glib2-devel |
| 18 | + - glibc-static |
| 19 | + - container-selinux |
| 20 | + - btrfs-progs-devel |
| 21 | + - device-mapper-devel |
| 22 | + - glibc-devel |
| 23 | + - gpgme-devel |
| 24 | + - libassuan-devel |
| 25 | + - libgpg-error-devel |
| 26 | + - pkgconfig |
| 27 | + - skopeo-containers |
| 28 | + when: ansible_distribution == 'Fedora' |
| 29 | + - name: Make sure we have all required packages on RHEL/CentOS |
| 30 | + when: (ansible_distribution == 'RedHat' or ansible_distribution == 'CentOS') |
6 | 31 | yum: |
7 | 32 | name: "{{ item }}" |
8 | 33 | state: latest |
|
27 | 52 | - json-glib-devel |
28 | 53 | - skopeo-containers |
29 | 54 | - docker |
| 55 | + - name: Make sure we have all required packages on Ubuntu |
| 56 | + package: |
| 57 | + name: "{{ item }}" |
| 58 | + state: latest |
| 59 | + with_items: |
| 60 | + - apt-transport-https |
| 61 | + - build-essential |
| 62 | + - curl |
| 63 | + - gawk |
| 64 | + - iptables |
| 65 | + - pkg-config |
| 66 | + - libaio-dev |
| 67 | + - libcap-dev |
| 68 | + - libprotobuf-dev |
| 69 | + - libseccomp2 |
| 70 | + - libseccomp-dev |
| 71 | + - protobuf-compiler |
| 72 | + - python-minimal |
| 73 | + - libglib2.0-dev |
| 74 | + - libjson-glib-dev |
| 75 | + - libapparmor-dev |
| 76 | + - btrfs-tools |
| 77 | + - libdevmapper1.02.1 |
| 78 | + - libdevmapper-dev |
| 79 | + - libgpgme11-dev |
| 80 | + - aptitude |
| 81 | + when: ansible_distribution == 'Ubuntu' |
30 | 82 | - name: Make directories |
31 | 83 | file: |
32 | 84 | path: "{{ item }}" |
|
36 | 88 | - /etc/systemd/system/kubelet.service.d/ |
37 | 89 | - /var/lib/etcd |
38 | 90 | - /etc/cni/net.d |
39 | | - - name: install Golang upstream in CentOS |
| 91 | + - /etc/containers |
| 92 | + - name: install Golang upstream |
40 | 93 | shell: | |
41 | 94 | curl -fsSL "https://golang.org/dl/go1.8.3.linux-amd64.tar.gz" \ |
42 | 95 | | tar -xzC /usr/local |
43 | | - - name: Set custom Golang path for CentOS |
| 96 | + - name: Set custom Golang path in RHEL/CentOS/Fedora |
44 | 97 | lineinfile: |
45 | 98 | dest: /root/.bashrc |
46 | 99 | line: 'export PATH=/usr/local/go/bin:$PATH' |
47 | 100 | insertafter: 'EOF' |
48 | 101 | regexp: 'export PATH=\/usr\/local\/go\/bin:\$PATH' |
49 | 102 | state: present |
50 | | - - name: update all |
| 103 | + when: (ansible_distribution == 'Fedora' or ansible_distribution == 'RedHat' or ansible_distribution == 'CentOS') |
| 104 | + - name: link golang in Ubuntu |
| 105 | + file: src=/usr/local/go/bin/go dest=/usr/bin/go state=link |
| 106 | + when: ansible_distribution == 'Ubuntu' |
| 107 | + - name: Update all in Ubuntu |
| 108 | + apt: |
| 109 | + upgrade: yes |
| 110 | + update_cache: yes |
| 111 | + cache_valid_time: 86400 #One day |
| 112 | + when: ansible_distribution == 'Ubuntu' |
| 113 | + - name: update all in RHEL/CentOS |
51 | 114 | yum: name=* state=latest |
| 115 | + when: ansible_distribution == 'RedHat' or ansible_distribution == 'CentOS' |
| 116 | + - name: Update all packages on Fedora |
| 117 | + dnf: |
| 118 | + name: '*' |
| 119 | + state: latest |
| 120 | + when: ansible_distribution == 'Fedora' |
52 | 121 | - name: clone runc |
53 | 122 | git: |
54 | 123 | repo: https://github.com/opencontainers/runc |
|
83 | 152 | make install.systemd && \ |
84 | 153 | make install.config |
85 | 154 | when: clone_crio.changed |
| 155 | + - name: install policy.json in Ubuntu |
| 156 | + shell: | |
| 157 | + cd /root/src/github.com/kubernetes-incubator/cri-o && \ |
| 158 | + cp test/policy.json /etc/containers/policy.json |
86 | 159 | - name: build CNI stuff |
87 | 160 | shell: | |
88 | 161 | cd /root/src/github.com/containernetworking/plugins && \ |
|
96 | 169 | replace: 'systemd' |
97 | 170 | name: /etc/crio/crio.conf |
98 | 171 | backup: yes |
| 172 | + when: (ansible_distribution == 'Fedora' or ansible_distribution == 'RedHat' or ansible_distribution == 'CentOS') |
99 | 173 | - name: run with overlay2 |
100 | 174 | replace: |
101 | 175 | regexp: 'storage_driver = ""' |
|
109 | 183 | insertafter: 'storage_option = \[' |
110 | 184 | regexp: 'overlay2\.override_kernel_check=1' |
111 | 185 | state: present |
| 186 | + when: (ansible_distribution == 'RedHat' or ansible_distribution == 'CentOS') |
112 | 187 | - name: enable and start CRI-O |
113 | 188 | systemd: |
114 | 189 | name: crio |
|
140 | 215 | dest: /etc/selinux/config |
141 | 216 | line: 'SELINUX=permissive' |
142 | 217 | regexp: '^SELINUX=' |
| 218 | + when: (ansible_distribution == 'Fedora' or ansible_distribution == 'RedHat' or ansible_distribution == 'CentOS') |
0 commit comments