diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/playbooks/post.yml | 18 | ||||
| -rw-r--r-- | tests/playbooks/pre.yml | 125 | ||||
| -rw-r--r-- | tests/playbooks/run.yml | 1 |
3 files changed, 104 insertions, 40 deletions
diff --git a/tests/playbooks/post.yml b/tests/playbooks/post.yml index a7bc9efac..ddb96fa03 100644 --- a/tests/playbooks/post.yml +++ b/tests/playbooks/post.yml @@ -12,6 +12,8 @@ set +o errexit set -o xtrace + container_engine={{ container_engine }} + # copy system log sudo cp -r /var/log system_log @@ -19,16 +21,22 @@ # the journal gives us syslog() and kernel output, so is like # a concatenation of the above. sudo journalctl --no-pager > syslog.txt - sudo journalctl --no-pager -u docker.service > docker.log + sudo journalctl --no-pager -u {{ container_engine }}.service > {{ container_engine }}.log else # assume rsyslog sudo cp /var/log/syslog syslog.txt sudo cp /var/log/kern.log kern_log.txt - sudo cp /var/log/upstart/docker.log docker.log + sudo cp /var/log/upstart/{{ container_engine }}.log {{ container_engine }}.log fi - if sudo test -d /var/lib/docker/volumes/kolla_logs/_data; then - sudo cp -r /var/lib/docker/volumes/kolla_logs/_data kolla_logs + if [ "${container_engine}" == "docker" ]; then + if sudo test -d /var/lib/docker/volumes/kolla_logs/_data; then + sudo cp -r /var/lib/docker/volumes/kolla_logs/_data kolla_logs + fi + else + if sudo test -d /var/lib/containers/storage/volumes/kolla_logs/_data; then + sudo cp -r /var/lib/containers/storage/volumes/kolla_logs/_data kolla_logs + fi fi # sudo config @@ -52,7 +60,7 @@ ps -eo user,pid,ppid,lwp,%cpu,%mem,size,rss,cmd > ps.txt # docker related information - (docker info && docker system df && docker system df -v) > docker-info.txt + ({{ container_engine }} info && {{ container_engine }} system df && {{ container_engine }} system df -v) > {{ container_engine }}-info.txt sudo cp -r /etc/kolla kolla_configs diff --git a/tests/playbooks/pre.yml b/tests/playbooks/pre.yml index 5e4b525f2..c8b2b0a58 100644 --- a/tests/playbooks/pre.yml +++ b/tests/playbooks/pre.yml @@ -110,6 +110,10 @@ - name: Install kolla command: "{{ virtualenv_path }}/bin/python -m pip install {{ zuul.project.src_dir }}" + - name: Install podman python library + command: "{{ virtualenv_path }}/bin/python -m pip install podman" + when: container_engine == "podman" + - name: Configure Docker repo for Debian/Ubuntu block: - name: Add key for Docker APT repository @@ -127,7 +131,9 @@ name: apparmor state: present - when: ansible_os_family == "Debian" + when: + - ansible_os_family == "Debian" + - container_engine == "docker" become: true - name: Configure Docker repo for CentOS @@ -146,42 +152,91 @@ lineinfile: path: /etc/yum.repos.d/docker.repo line: 'module_hotfixes=True' - when: ansible_os_family == "RedHat" + when: + - ansible_os_family == "RedHat" + - container_engine == "docker" become: true - - name: Ensure /etc/docker exists - become: true - file: - path: /etc/docker - state: directory - mode: 0755 + - name: Configure docker + block: + - name: Ensure /etc/docker exists + become: true + file: + path: /etc/docker + state: directory + mode: 0755 - - name: Configure registry-mirror in daemon.json - become: true - copy: - dest: /etc/docker/daemon.json - content: | - { - "registry-mirrors": [ - "http://{{ zuul_site_mirror_fqdn }}:8082/" - ] - } - - # NOTE(yoctozepto): We configure Docker before installing it because Debuntu starts services - # during installation. - - name: Install Docker - package: - name: docker-ce - become: true + - name: Configure registry-mirror in daemon.json + become: true + copy: + dest: /etc/docker/daemon.json + content: | + { + "registry-mirrors": [ + "http://{{ zuul_site_mirror_fqdn }}:8082/" + ] + } + + # NOTE(yoctozepto): We configure Docker before installing it because Debuntu starts services + # during installation. + - name: Install Docker + package: + name: docker-ce + become: true - - name: Ensure Docker service is started - service: - name: docker - state: started - become: true + - name: Ensure Docker service is started + service: + name: docker + state: started + become: true + + - name: Ensure Docker socket is world-writable + file: + path: /run/docker.sock + mode: 0666 + become: true + when: + - container_engine == "docker" - - name: Ensure Docker socket is world-writable - file: - path: /run/docker.sock - mode: 0666 - become: true + - name: Configure podman + block: + - name: Ensure /etc/containers exists + become: true + file: + path: /etc/containers + state: directory + mode: 0755 + + - name: Configure registries.conf + become: true + copy: + dest: /etc/containers/registries.conf + content: | + unqualified-search-registries = ['docker.io'] + + [[registry]] + prefix = "docker.io" + location = "docker.io" + + [[registry.mirror]] + prefix = "docker.io" + location = "{{ zuul_site_mirror_fqdn }}:8082" + + - name: Install Podman + package: + name: podman + become: true + + - name: Ensure Podman service is started + service: + name: podman + state: started + become: true + + - name: Ensure Podman socket is world-writable + file: + path: /run/podman/podman.sock + mode: 0666 + become: true + when: + - container_engine == "podman" diff --git a/tests/playbooks/run.yml b/tests/playbooks/run.yml index 7e0b48695..e21c19f21 100644 --- a/tests/playbooks/run.yml +++ b/tests/playbooks/run.yml @@ -10,6 +10,7 @@ logs_dir: "{{ kolla_build_logs_dir }}" quiet: true base: "{{ base_distro }}" + engine: "{{ container_engine }}" template_override: /etc/kolla/template_overrides.j2 # NOTE(yoctozepto): to avoid issues with IPv6 not enabled in the docker daemon # and since we don't need isolated networks here, use host networking |
