diff options
Diffstat (limited to 'deployment/playbooks')
-rw-r--r-- | deployment/playbooks/add-node.yaml | 45 | ||||
-rw-r--r-- | deployment/playbooks/cns-node-setup.yaml | 45 | ||||
-rw-r--r-- | deployment/playbooks/crs-node-setup.yaml | 45 | ||||
-rw-r--r-- | deployment/playbooks/node-setup.yaml | 45 | ||||
-rw-r--r-- | deployment/playbooks/ocp-install.yaml | 90 | ||||
-rw-r--r-- | deployment/playbooks/roles/docker-storage-setup/tasks/main.yaml | 11 | ||||
-rw-r--r-- | deployment/playbooks/roles/instance-groups/tasks/main.yaml | 27 | ||||
-rw-r--r-- | deployment/playbooks/roles/vmware-guest-setup/tasks/main.yaml | 11 | ||||
-rw-r--r-- | deployment/playbooks/vars/main.yaml | 55 |
9 files changed, 349 insertions, 25 deletions
diff --git a/deployment/playbooks/add-node.yaml b/deployment/playbooks/add-node.yaml index 8d99a5bd..2f51bd50 100644 --- a/deployment/playbooks/add-node.yaml +++ b/deployment/playbooks/add-node.yaml @@ -29,23 +29,68 @@ become: no tasks: - set_fact: + openshift_crio_docker_gc_node_selector: + runtime: crio openshift_node_groups: - name: node-config-master labels: - 'node-role.kubernetes.io/master=true' - 'role=master' edits: [] + - name: node-config-master-crio + labels: + - 'node-role.kubernetes.io/master=true' + - 'role=master' + - 'runtime=cri-o' + edits: + - key: kubeletArguments.container-runtime + value: ["remote"] + - key: kubeletArguments.container-runtime-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.image-service-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.runtime-request-timeout + value: ["10m"] - name: node-config-compute labels: - 'node-role.kubernetes.io/compute=true' - 'node-role.kubernetes.io/infra=true' - 'role=compute' edits: [] + - name: node-config-compute-crio + labels: + - 'node-role.kubernetes.io/compute=true' + - 'node-role.kubernetes.io/infra=true' + - 'role=compute' + - 'runtime=cri-o' + edits: + - key: kubeletArguments.container-runtime + value: ["remote"] + - key: kubeletArguments.container-runtime-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.image-service-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.runtime-request-timeout + value: ["10m"] - name: node-config-storage labels: - 'node-role.kubernetes.io/storage=true' - 'role=storage' edits: [] + - name: node-config-storage-crio + labels: + - 'node-role.kubernetes.io/storage=true' + - 'role=storage' + - 'runtime=cri-o' + edits: + - key: kubeletArguments.container-runtime + value: ["remote"] + - key: kubeletArguments.container-runtime-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.image-service-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.runtime-request-timeout + value: ["10m"] - include: add-node-prerequisite.yaml when: openshift_vers in ['v3_6', 'v3_7'] diff --git a/deployment/playbooks/cns-node-setup.yaml b/deployment/playbooks/cns-node-setup.yaml index fb699625..59b33720 100644 --- a/deployment/playbooks/cns-node-setup.yaml +++ b/deployment/playbooks/cns-node-setup.yaml @@ -20,23 +20,68 @@ become: no tasks: - set_fact: + openshift_crio_docker_gc_node_selector: + runtime: crio openshift_node_groups: - name: node-config-master labels: - 'node-role.kubernetes.io/master=true' - 'role=master' edits: [] + - name: node-config-master-crio + labels: + - 'node-role.kubernetes.io/master=true' + - 'role=master' + - 'runtime=cri-o' + edits: + - key: kubeletArguments.container-runtime + value: ["remote"] + - key: kubeletArguments.container-runtime-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.image-service-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.runtime-request-timeout + value: ["10m"] - name: node-config-compute labels: - 'node-role.kubernetes.io/compute=true' - 'node-role.kubernetes.io/infra=true' - 'role=compute' edits: [] + - name: node-config-compute-crio + labels: + - 'node-role.kubernetes.io/compute=true' + - 'node-role.kubernetes.io/infra=true' + - 'role=compute' + - 'runtime=cri-o' + edits: + - key: kubeletArguments.container-runtime + value: ["remote"] + - key: kubeletArguments.container-runtime-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.image-service-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.runtime-request-timeout + value: ["10m"] - name: node-config-storage labels: - 'node-role.kubernetes.io/storage=true' - 'role=storage' edits: [] + - name: node-config-storage-crio + labels: + - 'node-role.kubernetes.io/storage=true' + - 'role=storage' + - 'runtime=cri-o' + edits: + - key: kubeletArguments.container-runtime + value: ["remote"] + - key: kubeletArguments.container-runtime-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.image-service-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.runtime-request-timeout + value: ["10m"] - include: add-node-prerequisite.yaml when: openshift_vers in ['v3_6', 'v3_7'] diff --git a/deployment/playbooks/crs-node-setup.yaml b/deployment/playbooks/crs-node-setup.yaml index 8dc9eba1..21802a5a 100644 --- a/deployment/playbooks/crs-node-setup.yaml +++ b/deployment/playbooks/crs-node-setup.yaml @@ -18,23 +18,68 @@ become: no tasks: - set_fact: + openshift_crio_docker_gc_node_selector: + runtime: crio openshift_node_groups: - name: node-config-master labels: - 'node-role.kubernetes.io/master=true' - 'role=master' edits: [] + - name: node-config-master-crio + labels: + - 'node-role.kubernetes.io/master=true' + - 'role=master' + - 'runtime=cri-o' + edits: + - key: kubeletArguments.container-runtime + value: ["remote"] + - key: kubeletArguments.container-runtime-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.image-service-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.runtime-request-timeout + value: ["10m"] - name: node-config-compute labels: - 'node-role.kubernetes.io/compute=true' - 'node-role.kubernetes.io/infra=true' - 'role=compute' edits: [] + - name: node-config-compute-crio + labels: + - 'node-role.kubernetes.io/compute=true' + - 'node-role.kubernetes.io/infra=true' + - 'role=compute' + - 'runtime=cri-o' + edits: + - key: kubeletArguments.container-runtime + value: ["remote"] + - key: kubeletArguments.container-runtime-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.image-service-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.runtime-request-timeout + value: ["10m"] - name: node-config-storage labels: - 'node-role.kubernetes.io/storage=true' - 'role=storage' edits: [] + - name: node-config-storage-crio + labels: + - 'node-role.kubernetes.io/storage=true' + - 'role=storage' + - 'runtime=cri-o' + edits: + - key: kubeletArguments.container-runtime + value: ["remote"] + - key: kubeletArguments.container-runtime-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.image-service-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.runtime-request-timeout + value: ["10m"] - hosts: crs gather_facts: no diff --git a/deployment/playbooks/node-setup.yaml b/deployment/playbooks/node-setup.yaml index f2f531d3..c8e5916e 100644 --- a/deployment/playbooks/node-setup.yaml +++ b/deployment/playbooks/node-setup.yaml @@ -27,6 +27,8 @@ load_balancer_hostname: "{{ lb_host }}" openshift_master_cluster_hostname: "{{ load_balancer_hostname }}" openshift_master_cluster_public_hostname: "{{ load_balancer_hostname }}" + openshift_crio_docker_gc_node_selector: + runtime: crio # 'openshift_node_groups' is required for OCP3.10 openshift_node_groups: - name: node-config-master @@ -34,14 +36,57 @@ - 'node-role.kubernetes.io/master=true' - 'role=master' edits: [] + - name: node-config-master-crio + labels: + - 'node-role.kubernetes.io/master=true' + - 'role=master' + - 'runtime=cri-o' + edits: + - key: kubeletArguments.container-runtime + value: ["remote"] + - key: kubeletArguments.container-runtime-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.image-service-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.runtime-request-timeout + value: ["10m"] - name: node-config-compute labels: - 'node-role.kubernetes.io/compute=true' - 'node-role.kubernetes.io/infra=true' - 'role=compute' edits: [] + - name: node-config-compute-crio + labels: + - 'node-role.kubernetes.io/compute=true' + - 'node-role.kubernetes.io/infra=true' + - 'role=compute' + - 'runtime=cri-o' + edits: + - key: kubeletArguments.container-runtime + value: ["remote"] + - key: kubeletArguments.container-runtime-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.image-service-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.runtime-request-timeout + value: ["10m"] - name: node-config-storage labels: - 'node-role.kubernetes.io/storage=true' - 'role=storage' edits: [] + - name: node-config-storage-crio + labels: + - 'node-role.kubernetes.io/storage=true' + - 'role=storage' + - 'runtime=cri-o' + edits: + - key: kubeletArguments.container-runtime + value: ["remote"] + - key: kubeletArguments.container-runtime-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.image-service-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.runtime-request-timeout + value: ["10m"] diff --git a/deployment/playbooks/ocp-install.yaml b/deployment/playbooks/ocp-install.yaml index d8a5109e..51e08721 100644 --- a/deployment/playbooks/ocp-install.yaml +++ b/deployment/playbooks/ocp-install.yaml @@ -14,6 +14,8 @@ '/usr/share/ansible/openshift-ansible/playbooks/prerequisites.yml' ) }}" vars: + openshift_crio_docker_gc_node_selector: + runtime: crio # 'openshift_node_groups' is required for OCP3.10 openshift_node_groups: - name: node-config-master @@ -21,17 +23,60 @@ - 'node-role.kubernetes.io/master=true' - 'role=master' edits: [] + - name: node-config-master-crio + labels: + - 'node-role.kubernetes.io/master=true' + - 'role=master' + - 'runtime=cri-o' + edits: + - key: kubeletArguments.container-runtime + value: ["remote"] + - key: kubeletArguments.container-runtime-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.image-service-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.runtime-request-timeout + value: ["10m"] - name: node-config-compute labels: - 'node-role.kubernetes.io/compute=true' - 'node-role.kubernetes.io/infra=true' - 'role=compute' edits: [] + - name: node-config-compute-crio + labels: + - 'node-role.kubernetes.io/compute=true' + - 'node-role.kubernetes.io/infra=true' + - 'role=compute' + - 'runtime=cri-o' + edits: + - key: kubeletArguments.container-runtime + value: ["remote"] + - key: kubeletArguments.container-runtime-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.image-service-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.runtime-request-timeout + value: ["10m"] - name: node-config-storage labels: - 'node-role.kubernetes.io/storage=true' - 'role=storage' edits: [] + - name: node-config-storage-crio + labels: + - 'node-role.kubernetes.io/storage=true' + - 'role=storage' + - 'runtime=cri-o' + edits: + - key: kubeletArguments.container-runtime + value: ["remote"] + - key: kubeletArguments.container-runtime-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.image-service-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.runtime-request-timeout + value: ["10m"] - name: call openshift includes for installer include: "{{ @@ -104,6 +149,8 @@ kind: 'AllowAllPasswordIdentityProvider' login: True challenge: True + openshift_crio_docker_gc_node_selector: + runtime: crio # 'openshift_node_groups' is required for OCP3.10 openshift_node_groups: - name: node-config-master @@ -111,17 +158,60 @@ - 'node-role.kubernetes.io/master=true' - 'role=master' edits: [] + - name: node-config-master-crio + labels: + - 'node-role.kubernetes.io/master=true' + - 'role=master' + - 'runtime=cri-o' + edits: + - key: kubeletArguments.container-runtime + value: ["remote"] + - key: kubeletArguments.container-runtime-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.image-service-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.runtime-request-timeout + value: ["10m"] - name: node-config-compute labels: - 'node-role.kubernetes.io/compute=true' - 'node-role.kubernetes.io/infra=true' - 'role=compute' edits: [] + - name: node-config-compute-crio + labels: + - 'node-role.kubernetes.io/compute=true' + - 'node-role.kubernetes.io/infra=true' + - 'role=compute' + - 'runtime=cri-o' + edits: + - key: kubeletArguments.container-runtime + value: ["remote"] + - key: kubeletArguments.container-runtime-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.image-service-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.runtime-request-timeout + value: ["10m"] - name: node-config-storage labels: - 'node-role.kubernetes.io/storage=true' - 'role=storage' edits: [] + - name: node-config-storage-crio + labels: + - 'node-role.kubernetes.io/storage=true' + - 'role=storage' + - 'runtime=cri-o' + edits: + - key: kubeletArguments.container-runtime + value: ["remote"] + - key: kubeletArguments.container-runtime-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.image-service-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.runtime-request-timeout + value: ["10m"] - hosts: allnodes gather_facts: no diff --git a/deployment/playbooks/roles/docker-storage-setup/tasks/main.yaml b/deployment/playbooks/roles/docker-storage-setup/tasks/main.yaml index d8fd457e..3736797c 100644 --- a/deployment/playbooks/roles/docker-storage-setup/tasks/main.yaml +++ b/deployment/playbooks/roles/docker-storage-setup/tasks/main.yaml @@ -3,6 +3,7 @@ file: path: /etc/sysconfig/docker-storage state: absent + when: not (openshift_use_crio | bool) - block: - name: create the docker-storage config file @@ -12,10 +13,10 @@ owner: root group: root mode: 0644 - when: - ansible_distribution_version | version_compare('7.4', '>=') - ansible_distribution == "RedHat" + - not (openshift_use_crio | bool) - block: - name: create the docker-storage-setup config file @@ -25,10 +26,14 @@ owner: root group: root mode: 0644 - when: - ansible_distribution_version | version_compare('7.4', '<') - ansible_distribution == "RedHat" + - not (openshift_use_crio | bool) - name: start docker - service: name=docker state=started enabled=true + service: + name: docker + state: started + enabled: true + when: not (openshift_use_crio | bool) diff --git a/deployment/playbooks/roles/instance-groups/tasks/main.yaml b/deployment/playbooks/roles/instance-groups/tasks/main.yaml index f8da4217..5607f4c7 100644 --- a/deployment/playbooks/roles/instance-groups/tasks/main.yaml +++ b/deployment/playbooks/roles/instance-groups/tasks/main.yaml @@ -20,7 +20,8 @@ add_host: name: "{{ hostvars[item].inventory_hostname }}" groups: allnodes, masters, etcd, nodes, cluster_hosts, master - openshift_node_group_name: "node-config-master" + openshift_node_group_name: "node-config-master{{ + (openshift_use_crio | bool) | ternary('-crio', '') }}" with_items: "{{ groups[cluster_id + '-master'] }}" when: - "openshift_vers not in ['v3_6', 'v3_7', 'v3_9', 'v3_10']" @@ -40,7 +41,8 @@ add_host: name: "{{ hostvars[item].inventory_hostname }}" groups: single_master - openshift_node_group_name: "node-config-master" + openshift_node_group_name: "node-config-master{{ + (openshift_use_crio | bool) | ternary('-crio', '') }}" with_items: "{{ groups[cluster_id + '-master'][0] }}" when: - "openshift_vers not in ['v3_6', 'v3_7', 'v3_9', 'v3_10']" @@ -60,7 +62,8 @@ add_host: name: "{{ hostvars[item].inventory_hostname }}" groups: allnodes, nodes, cluster_hosts, schedulable_nodes, compute - openshift_node_group_name: "node-config-compute" + openshift_node_group_name: "node-config-compute{{ + (openshift_use_crio | bool) | ternary('-crio', '') }}" with_items: "{{ groups[cluster_id + '-compute'] }}" when: - "openshift_vers not in ['v3_6', 'v3_7', 'v3_9', 'v3_10']" @@ -81,7 +84,8 @@ add_host: name: "{{ hostvars[item].inventory_hostname }}" groups: allnodes, new_nodes - openshift_node_group_name: "node-config-compute" + openshift_node_group_name: "node-config-compute{{ + (openshift_use_crio | bool) | ternary('-crio', '') }}" with_items: "{{ groups.tag_provision_node | default([]) }}" when: - add_node is defined @@ -104,7 +108,8 @@ add_host: name: "{{ hostvars[item].inventory_hostname }}" groups: allnodes - openshift_node_group_name: "node-config-storage" + openshift_node_group_name: "node-config-storage{{ + (openshift_use_crio | bool) | ternary('-crio', '') }}" with_items: "{{ groups[cluster_id + '-storage'] | default([]) }}" - name: Add crs instances to allnodes @@ -118,7 +123,8 @@ add_host: name: "{{ hostvars[item].inventory_hostname }}" groups: nodes, cluster_hosts, schedulable_nodes, storage - openshift_node_group_name: "node-config-storage" + openshift_node_group_name: "node-config-storage{{ + (openshift_use_crio | bool) | ternary('-crio', '') }}" with_items: "{{ groups[cluster_id + '-storage'] }}" when: - "'cns' in container_storage and add_node is defined and 'storage' in node_type" @@ -144,12 +150,3 @@ with_items: "{{ groups[cluster_id + '-crs'] }}" when: - "'crs' in container_storage and add_node is defined and 'storage' in node_type" - -- name: Add a crs node to the single crs group - add_host: - name: "{{ hostvars[item].inventory_hostname }}" - groups: single_crs - openshift_node_group_name: "node-config-storage" - with_items: "{{ groups[cluster_id + '-crs'][0] }}" - when: - - "'crs' in container_storage and add_node is defined and 'storage' in node_type" diff --git a/deployment/playbooks/roles/vmware-guest-setup/tasks/main.yaml b/deployment/playbooks/roles/vmware-guest-setup/tasks/main.yaml index 39dea695..c6c8cf27 100644 --- a/deployment/playbooks/roles/vmware-guest-setup/tasks/main.yaml +++ b/deployment/playbooks/roles/vmware-guest-setup/tasks/main.yaml @@ -27,16 +27,23 @@ - python-six - iptables - iptables-services - - docker{{ '-' + docker_version if docker_version is defined else '' }} - dnsmasq retries: 5 delay: 5 register: result until: result is succeeded + - name: Install docker + yum: name={{item}} state=installed + with_items: + - docker{{ '-' + docker_version if docker_version is defined else '' }} + retries: 5 + delay: 5 + register: result + until: result is succeeded + when: not (openshift_use_crio | bool) - name: be sure openvmtools is running and enabled service: name=vmtoolsd state=started enabled=yes - when: - not is_atomic | bool - ansible_distribution == "RedHat" diff --git a/deployment/playbooks/vars/main.yaml b/deployment/playbooks/vars/main.yaml index b646ec89..0b5a95af 100644 --- a/deployment/playbooks/vars/main.yaml +++ b/deployment/playbooks/vars/main.yaml @@ -11,6 +11,8 @@ openshift_required_repos: - rhel-7-server-extras-rpms - rhel-7-server-ose-3.{{ openshift_major_version }}-rpms - rhel-7-fast-datapath-rpms +openshift_crio_docker_gc_node_selector: + runtime: crio # 'openshift_node_groups' is required for OCP3.10 openshift_node_groups: - name: node-config-master @@ -18,14 +20,57 @@ openshift_node_groups: - 'node-role.kubernetes.io/master=true' - 'role=master' edits: [] +- name: node-config-master-crio + labels: + - 'node-role.kubernetes.io/master=true' + - 'role=master' + - 'runtime=cri-o' + edits: + - key: kubeletArguments.container-runtime + value: ["remote"] + - key: kubeletArguments.container-runtime-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.image-service-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.runtime-request-timeout + value: ["10m"] - name: node-config-compute labels: - - 'node-role.kubernetes.io/compute=true' - - 'node-role.kubernetes.io/infra=true' - - 'role=compute' + - 'node-role.kubernetes.io/compute=true' + - 'node-role.kubernetes.io/infra=true' + - 'role=compute' edits: [] +- name: node-config-compute-crio + labels: + - 'node-role.kubernetes.io/compute=true' + - 'node-role.kubernetes.io/infra=true' + - 'role=compute' + - 'runtime=cri-o' + edits: + - key: kubeletArguments.container-runtime + value: ["remote"] + - key: kubeletArguments.container-runtime-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.image-service-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.runtime-request-timeout + value: ["10m"] - name: node-config-storage labels: - - 'node-role.kubernetes.io/storage=true' - - 'role=storage' + - 'node-role.kubernetes.io/storage=true' + - 'role=storage' edits: [] +- name: node-config-storage-crio + labels: + - 'node-role.kubernetes.io/storage=true' + - 'role=storage' + - 'runtime=cri-o' + edits: + - key: kubeletArguments.container-runtime + value: ["remote"] + - key: kubeletArguments.container-runtime-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.image-service-endpoint + value: ["/var/run/crio/crio.sock"] + - key: kubeletArguments.runtime-request-timeout + value: ["10m"] |