Add CRI-O CI (#5460)
This commit is contained in:
parent
1c187e9729
commit
09bccc97ba
13 changed files with 109 additions and 10 deletions
|
@ -27,6 +27,11 @@ packet_centos7-flannel-containerd-addons-ha:
|
||||||
stage: deploy-part2
|
stage: deploy-part2
|
||||||
when: on_success
|
when: on_success
|
||||||
|
|
||||||
|
packet_ubuntu18-crio:
|
||||||
|
extends: .packet
|
||||||
|
stage: deploy-part2
|
||||||
|
when: on_success
|
||||||
|
|
||||||
# ### MANUAL JOBS
|
# ### MANUAL JOBS
|
||||||
|
|
||||||
packet_centos7-weave-upgrade-ha:
|
packet_centos7-weave-upgrade-ha:
|
||||||
|
|
|
@ -5,4 +5,4 @@ crio_seccomp_profile: "/etc/crio/seccomp.json"
|
||||||
|
|
||||||
crio_cgroup_manager: "{{ kubelet_cgroup_driver | default('cgroupfs') }}"
|
crio_cgroup_manager: "{{ kubelet_cgroup_driver | default('cgroupfs') }}"
|
||||||
|
|
||||||
crio_runc_path: "/usr/sbin/runc"
|
crio_runc_path: "/usr/sbin/runc"
|
|
@ -13,3 +13,4 @@
|
||||||
service:
|
service:
|
||||||
name: crio
|
name: crio
|
||||||
state: restarted
|
state: restarted
|
||||||
|
enabled: yes
|
||||||
|
|
31
roles/container-engine/cri-o/molecule/default/molecule.yml
Normal file
31
roles/container-engine/cri-o/molecule/default/molecule.yml
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
---
|
||||||
|
driver:
|
||||||
|
name: vagrant
|
||||||
|
provider:
|
||||||
|
name: libvirt
|
||||||
|
lint:
|
||||||
|
name: yamllint
|
||||||
|
options:
|
||||||
|
config-file: ../../../.yamllint
|
||||||
|
platforms:
|
||||||
|
- name: kubespray-crio
|
||||||
|
box: generic/ubuntu1804
|
||||||
|
cpus: 2
|
||||||
|
memory: 1024
|
||||||
|
groups:
|
||||||
|
- kube-master
|
||||||
|
provisioner:
|
||||||
|
name: ansible
|
||||||
|
env:
|
||||||
|
ANSIBLE_ROLES_PATH: ../../../../
|
||||||
|
config_options:
|
||||||
|
defaults:
|
||||||
|
callback_whitelist: profile_tasks
|
||||||
|
lint:
|
||||||
|
name: ansible-lint
|
||||||
|
options:
|
||||||
|
c: ../../../.ansible-lint
|
||||||
|
verifier:
|
||||||
|
name: testinfra
|
||||||
|
lint:
|
||||||
|
name: flake8
|
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
- name: Converge
|
||||||
|
hosts: all
|
||||||
|
become: true
|
||||||
|
roles:
|
||||||
|
- role: kubespray-defaults
|
||||||
|
- role: cri-o
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
- name: Prepare
|
||||||
|
hosts: all
|
||||||
|
gather_facts: False
|
||||||
|
roles:
|
||||||
|
- role: bootstrap-os
|
|
@ -0,0 +1,20 @@
|
||||||
|
import os
|
||||||
|
|
||||||
|
import testinfra.utils.ansible_runner
|
||||||
|
|
||||||
|
testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
|
||||||
|
os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('all')
|
||||||
|
|
||||||
|
|
||||||
|
def test_service(host):
|
||||||
|
svc = host.service("crio")
|
||||||
|
assert svc.is_running
|
||||||
|
assert svc.is_enabled
|
||||||
|
|
||||||
|
|
||||||
|
def test_run(host):
|
||||||
|
path = "unix:///var/run/crio/crio.sock"
|
||||||
|
with host.sudo():
|
||||||
|
cmd = host.command("crictl --runtime-endpoint " + path + " version")
|
||||||
|
assert cmd.rc == 0
|
||||||
|
assert "RuntimeName: cri-o" in cmd.stdout
|
|
@ -21,7 +21,15 @@
|
||||||
group: no
|
group: no
|
||||||
delegate_to: "{{ inventory_hostname }}"
|
delegate_to: "{{ inventory_hostname }}"
|
||||||
|
|
||||||
- name: Install crictl completion
|
- name: Get crictl completion
|
||||||
shell: "{{ bin_dir }}/crictl completion >/etc/bash_completion.d/crictl"
|
shell: "{{ bin_dir }}/crictl completion"
|
||||||
ignore_errors: True
|
|
||||||
when: ansible_distribution in ["CentOS","RedHat", "Ubuntu", "Debian"]
|
when: ansible_distribution in ["CentOS","RedHat", "Ubuntu", "Debian"]
|
||||||
|
changed_when: False
|
||||||
|
register: cri_completion
|
||||||
|
|
||||||
|
- name: Install crictl completion
|
||||||
|
copy:
|
||||||
|
dest: /etc/bash_completion.d/crictl
|
||||||
|
content: "{{ cri_completion.stdout }}"
|
||||||
|
become: True
|
||||||
|
when: cri_completion is defined
|
|
@ -101,6 +101,14 @@
|
||||||
- is_ostree
|
- is_ostree
|
||||||
- not need_bootstrap_crio.stat.exists
|
- not need_bootstrap_crio.stat.exists
|
||||||
|
|
||||||
|
- name: Remove example CNI configs
|
||||||
|
file:
|
||||||
|
path: "/etc/cni/net.d/{{ item }}"
|
||||||
|
state: absent
|
||||||
|
loop:
|
||||||
|
- 100-crio-bridge.conf
|
||||||
|
- 200-loopback.conf
|
||||||
|
|
||||||
- name: Install cri-o config
|
- name: Install cri-o config
|
||||||
template:
|
template:
|
||||||
src: crio.conf.j2
|
src: crio.conf.j2
|
||||||
|
@ -126,4 +134,4 @@
|
||||||
src: http-proxy.conf.j2
|
src: http-proxy.conf.j2
|
||||||
dest: /etc/systemd/system/crio.service.d/http-proxy.conf
|
dest: /etc/systemd/system/crio.service.d/http-proxy.conf
|
||||||
notify: restart crio
|
notify: restart crio
|
||||||
when: http_proxy is defined or https_proxy is defined
|
when: http_proxy is defined or https_proxy is defined
|
|
@ -281,7 +281,5 @@ network_dir = "/etc/cni/net.d/"
|
||||||
# Paths to directories where CNI plugin binaries are located.
|
# Paths to directories where CNI plugin binaries are located.
|
||||||
plugin_dirs = [
|
plugin_dirs = [
|
||||||
"/usr/libexec/cni",
|
"/usr/libexec/cni",
|
||||||
{% if ansible_os_family == "ClearLinux" or is_ostree %}
|
|
||||||
"/opt/cni/bin/",
|
"/opt/cni/bin/",
|
||||||
{% endif %}
|
|
||||||
]
|
]
|
||||||
|
|
|
@ -4,4 +4,5 @@ crio_packages:
|
||||||
- cri-tools
|
- cri-tools
|
||||||
|
|
||||||
crio_conmon: /usr/libexec/crio/conmon
|
crio_conmon: /usr/libexec/crio/conmon
|
||||||
crio_seccomp_profile: ""
|
crio_runc_path: "/usr/bin/runc"
|
||||||
|
crio_seccomp_profile: ""
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
crio_packages:
|
crio_packages:
|
||||||
- "cri-o-{{ kube_version | regex_replace('^v(?P<major>\\d+).(?P<minor>\\d+).(?P<patch>\\d+)$', '\\g<major>.\\g<minor>') }}"
|
- "cri-o-1.15"
|
||||||
|
|
||||||
crio_conmon: /usr/libexec/podman/conmon
|
crio_conmon: /usr/bin/conmon
|
||||||
crio_seccomp_profile: ""
|
crio_seccomp_profile: ""
|
||||||
crio_runc_path: /usr/lib/cri-o-runc/sbin/runc
|
crio_runc_path: /usr/lib/cri-o-runc/sbin/runc
|
||||||
|
|
14
tests/files/packet_ubuntu18-crio.yml
Normal file
14
tests/files/packet_ubuntu18-crio.yml
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
# Instance settings
|
||||||
|
cloud_image: ubuntu-1804
|
||||||
|
mode: default
|
||||||
|
|
||||||
|
# Kubespray settings
|
||||||
|
deploy_netchecker: true
|
||||||
|
dns_min_replicas: 1
|
||||||
|
container_manager: crio
|
||||||
|
|
||||||
|
# CRI-O requirements
|
||||||
|
download_container: false
|
||||||
|
etcd_deployment_type: host
|
||||||
|
kubelet_deployment_type: host
|
Loading…
Reference in a new issue