Convert docker molecule usage to podman

This change updates all uses of docker to podman and removes our docker
installation process from zuul and our local test process. Some container
based tests have been moved to "delegated" becuase they no longer make
sense to run in a container and the hacks needed to maintain the container
based testing are not worth maintaining for podman.

Change-Id: I02de94a1229bfa847f14ecf282eadbcfe6396875
Signed-off-by: Kevin Carter <kecarter@redhat.com>
This commit is contained in:
Kevin Carter 2020-04-16 17:39:50 -05:00
parent 6cab1448db
commit 74f2f81870
108 changed files with 538 additions and 1312 deletions

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -17,6 +17,8 @@ platforms:
environment: &env
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -27,6 +29,7 @@ platforms:
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
environment:
<<: *env
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -18,6 +18,7 @@ gcc-c++ [platform:rpm]
git [platform:rpm]
libffi-devel [platform:rpm]
openssl-devel [platform:rpm]
podman [platform:rpm]
python-devel [platform:rpm !platform:rhel-8 !platform:centos-8]
python3-devel [platform:rpm !platform:rhel-7 !platform:centos-7]
PyYAML [platform:rpm !platform:rhel-8 !platform:centos-8]

View File

@ -1,6 +1,5 @@
# this is required for the molecule jobs
ansi2html
docker
# https://github.com/sqlalchemy/dogpile.cache/issues/178 (openstacksdk)
dogpile.cache>=0.6.5,<0.9.1 # MIT
openstacksdk

View File

@ -51,6 +51,10 @@ case "${ID,,}" in
;;
esac
# Ensure the required ci file is presnet
sudo mkdir -p /etc/ci
sudo touch /etc/ci/mirror_info.sh
# Create a virtual env
"${PYTHON_EXEC}" -m virtualenv --system-site-packages "${HOME}/test-python"

View File

@ -1,8 +0,0 @@
#!/bin/bash
set -euxo pipefail
# Used by Zuul CI to perform extra bootstrapping
# Workaround for a potential:
# Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock
# See https://docs.docker.com/install/linux/linux-postinstall/
newgrp docker || true

View File

@ -104,7 +104,7 @@ deps =
-r {toxinidir}/molecule-requirements.txt
commands =
bash -c "ansible-playbook -i localhost, role-addition.yml -e role_name=skeleton_test"
bash -c "if (podman ps 2> /dev/null || docker ps 2> /dev/null); then \
bash -c "if podman ps 2> /dev/null; then \
cd {toxinidir}/tripleo_ansible/roles/skeleton_test; \
molecule test --all; \
else \

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -17,6 +17,8 @@ platforms:
environment: &env
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -27,6 +29,7 @@ platforms:
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
environment:
<<: *env
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -18,7 +18,7 @@
# All variables intended for modification should be placed in this file.
# Set the container command line entry-point
tripleo_container_cli: "{{ container_cli | default('docker') }}"
tripleo_container_cli: "{{ container_cli | default('podman') }}"
# Stop and start all running services before backup is ran.
tripleo_backup_and_restore_service_manager: true

View File

@ -1,37 +0,0 @@
# Molecule managed
# Copyright 2019 Red Hat, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
{% if item.registry is defined %}
FROM {{ item.registry.url }}/{{ item.image }}
{% else %}
FROM {{ item.image }}
{% endif %}
RUN if [ $(command -v apt-get) ]; then apt-get update && apt-get install -y python sudo bash ca-certificates && apt-get clean; \
elif [ $(command -v dnf) ]; then dnf makecache && dnf --assumeyes install sudo python*-devel python*-dnf bash {{ item.pkg_extras | default('') }} && dnf clean all; \
elif [ $(command -v yum) ]; then yum makecache fast && yum install -y python sudo yum-plugin-ovl python-setuptools bash {{ item.pkg_extras | default('') }} && sed -i 's/plugins=0/plugins=1/g' /etc/yum.conf && yum clean all; \
elif [ $(command -v zypper) ]; then zypper refresh && zypper install -y python sudo bash python-xml {{ item.pkg_extras | default('') }} && zypper clean -a; \
elif [ $(command -v apk) ]; then apk update && apk add --no-cache python sudo bash ca-certificates {{ item.pkg_extras | default('') }}; \
elif [ $(command -v xbps-install) ]; then xbps-install -Syu && xbps-install -y python sudo bash ca-certificates {{ item.pkg_extras | default('') }} && xbps-remove -O; fi
{% for pkg in item.easy_install | default([]) %}
# install pip for centos where there is no python-pip rpm in default repos
RUN easy_install {{ pkg }}
{% endfor %}
CMD ["sh", "-c", "while true; do sleep 10000; done"]

View File

@ -24,5 +24,3 @@
tripleo_backup_and_restore_rear_simulate: true
tripleo_backup_and_restore_service_manager: false
tripleo_backup_and_restore_hiera_config_file: "{{ ansible_user_dir }}/hiera.yaml"
vars:
ansible_python_interpreter: "{{ ansible_user_dir }}/test-python/bin/python"

View File

@ -37,6 +37,8 @@ provisioner:
env:
ANSIBLE_STDOUT_CALLBACK: yaml
ANSIBLE_ROLES_PATH: "${ANSIBLE_ROLES_PATH}:${HOME}/zuul-jobs/roles"
ANSIBLE_LIBRARY: "${ANSIBLE_LIBRARY:-/usr/share/ansible/plugins/modules}"
ANSIBLE_FILTER_PLUGINS: "${ANSIBLE_FILTER_PLUGINS:-/usr/share/ansible/plugins/filter}"
scenario:
name: default

View File

@ -20,18 +20,6 @@
become: true
gather_facts: true
pre_tasks:
- name: Check for docker cli
command: "command -v docker"
register: docker_cli
failed_when: false
changed_when: false
- name: Check for docker connection
command: "docker ps"
register: docker_ps
failed_when: false
changed_when: false
- name: set basic user fact
set_fact:
ansible_user: "{{ lookup('env', 'USER') }}"
@ -43,33 +31,22 @@
ansible_user_dir: "{{ lookup('env', 'HOME') }}"
when:
- ansible_user_dir is undefined
- name: Disable SELinux
selinux:
state: disabled
roles:
- role: test_deps
- role: ensure-docker
when:
- (docker_cli.rc != 0) or
(docker_ps.rc != 0)
test_deps_extra_packages:
- rear
- syslinux
- genisoimage
- kbd
- puppet
- hiera
post_tasks:
- name: Install docker-sdk
pip:
name: docker
virtualenv: "{{ ansible_user_dir }}/test-python"
virtualenv_site_packages: true
- name: Install deps for ReaR
package:
name: "{{ rear_packages }}"
state: present
vars:
rear_packages:
- rear
- syslinux
- genisoimage
- kbd
- puppet
- hiera
- python3-docker
- name: Create hiera config file
file:
path: "{{ ansible_user_dir }}/hiera.yaml"
@ -102,31 +79,26 @@
}
- name: pull some images
docker_image:
podman_image:
name: "{{ item }}"
source: pull
vars:
ansible_python_interpreter: "{{ ansible_user_dir }}/test-python/bin/python"
with_items:
- centos:8
- mysql
- name: Create a data container
docker_container:
podman_container:
name: "{{ item }}"
image: centos:8
detach: true
state: started
command: sleep 1d
with_items:
- docker-container1
- docker-container2
vars:
ansible_python_interpreter: "{{ ansible_user_dir }}/test-python/bin/python"
- test-container1
- test-container2
- name: Start myql container
docker_container:
podman_container:
name: mysql
image: mysql
detach: true
state: started
env:
MYSQL_ROOT_PASSWORD: password

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -17,6 +17,8 @@ platforms:
environment: &env
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -27,6 +29,7 @@ platforms:
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
environment:
<<: *env
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -17,6 +17,8 @@ platforms:
environment: &env
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -27,6 +29,7 @@ platforms:
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
environment:
<<: *env
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -33,6 +33,9 @@
name: "{{ test_deps_repo }}/{{ tripleo_package_fact }}"
state: present
- name: Create tripleo repos
command: tripleo-repos -b master current-tripleo
- name: Install tripleo packages
package:
name: "{{ test_deps_tripleo_packages }}"

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -17,6 +17,8 @@ platforms:
environment: &env
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -27,6 +29,7 @@ platforms:
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
environment:
<<: *env
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -17,6 +17,8 @@ platforms:
environment: &env
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -27,6 +29,7 @@ platforms:
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
environment:
<<: *env
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -17,6 +17,8 @@ platforms:
environment: &env
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -27,6 +29,7 @@ platforms:
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
environment:
<<: *env
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,37 +0,0 @@
# Molecule managed
# Copyright 2019 Red Hat, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
{% if item.registry is defined %}
FROM {{ item.registry.url }}/{{ item.image }}
{% else %}
FROM {{ item.image }}
{% endif %}
RUN if [ $(command -v apt-get) ]; then apt-get update && apt-get install -y python sudo bash ca-certificates && apt-get clean; \
elif [ $(command -v dnf) ]; then dnf makecache && dnf --assumeyes install sudo python*-devel python*-dnf bash {{ item.pkg_extras | default('') }} && dnf clean all; \
elif [ $(command -v yum) ]; then yum makecache fast && yum install -y python sudo yum-plugin-ovl python-setuptools bash {{ item.pkg_extras | default('') }} && sed -i 's/plugins=0/plugins=1/g' /etc/yum.conf && yum clean all; \
elif [ $(command -v zypper) ]; then zypper refresh && zypper install -y python sudo bash python-xml {{ item.pkg_extras | default('') }} && zypper clean -a; \
elif [ $(command -v apk) ]; then apk update && apk add --no-cache python sudo bash ca-certificates {{ item.pkg_extras | default('') }}; \
elif [ $(command -v xbps-install) ]; then xbps-install -Syu && xbps-install -y python sudo bash ca-certificates {{ item.pkg_extras | default('') }} && xbps-remove -O; fi
{% for pkg in item.easy_install | default([]) %}
# install pip for centos where there is no python-pip rpm in default repos
RUN easy_install {{ pkg }}
{% endfor %}
CMD ["sh", "-c", "while true; do sleep 10000; done"]

View File

@ -16,6 +16,7 @@
- name: Converge
become: true
hosts: all
roles:
- role: "tripleo_bootstrap"

View File

@ -1,66 +1,45 @@
---
driver:
name: docker
name: delegated
options:
managed: false
login_cmd_template: >-
ssh
-o UserKnownHostsFile=/dev/null
-o StrictHostKeyChecking=no
-o Compression=no
-o TCPKeepAlive=yes
-o VerifyHostKeyDNS=no
-o ForwardX11=no
-o ForwardAgent=no
{instance}
ansible_connection_options:
ansible_connection: ssh
log: true
platforms:
- name: centos7
hostname: centos7
image: centos:7
dockerfile: Dockerfile
pkg_extras: python-setuptools
easy_install:
- pip
environment: &env
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
command: /sbin/init
tmpfs:
- /run
- /tmp
capabilities:
- ALL # CENT7 requires all due to the age of the software
volumes:
- /run/udev:/run/udev:ro
- /sys/fs/cgroup:/sys/fs/cgroup:ro
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
- name: centos8
hostname: centos8
image: centos:8
dockerfile: Dockerfile
pkg_extras: python*-setuptools NetworkManager
environment:
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
command: /sbin/init
privileged: true
tmpfs:
- /run
- /tmp
capabilities:
- SYS_ADMIN
volumes:
- /run/udev:/run/udev:ro
- /sys/fs/cgroup:/sys/fs/cgroup:ro
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
- name: instance
provisioner:
name: ansible
inventory:
hosts:
all:
hosts:
instance:
ansible_host: localhost
log: true
env:
ANSIBLE_STDOUT_CALLBACK: yaml
ANSIBLE_LIBRARY: "${ANSIBLE_LIBRARY:-/usr/share/ansible/plugins/modules}"
ANSIBLE_FILTER_PLUGINS: "${ANSIBLE_FILTER_PLUGINS:-/usr/share/ansible/plugins/filter}"
scenario:
test_sequence:
- destroy
- create
- prepare
- converge
- check
- verify
- destroy
verifier:
name: testinfra

View File

@ -72,9 +72,7 @@
shell: >-
ln -f -s /usr/share/openstack-puppet/modules/* /etc/puppet/modules/
register: result
failed_when:
- result.rc != 0
- "'cannot overwrite directory' not in result.stderr"
failed_when: false
tags:
- skip_ansible_lint

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -17,6 +17,8 @@ platforms:
environment: &env
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -27,6 +29,7 @@ platforms:
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
environment:
<<: *env
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -17,6 +17,8 @@ platforms:
environment: &env
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -27,6 +29,7 @@ platforms:
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
environment:
<<: *env
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -17,6 +17,8 @@ platforms:
environment: &env
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -27,6 +29,7 @@ platforms:
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
environment:
<<: *env
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -17,6 +17,8 @@ platforms:
environment: &env
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -27,6 +29,7 @@ platforms:
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
environment:
<<: *env
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -17,6 +17,8 @@ platforms:
environment: &env
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -27,6 +29,7 @@ platforms:
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
environment:
<<: *env
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -17,6 +17,8 @@ platforms:
environment: &env
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -27,6 +29,7 @@ platforms:
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
environment:
<<: *env
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -17,6 +17,8 @@ platforms:
environment: &env
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -27,6 +29,7 @@ platforms:
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
environment:
<<: *env
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -17,6 +17,8 @@ platforms:
environment: &env
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -27,6 +29,7 @@ platforms:
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
environment:
<<: *env
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -26,7 +26,7 @@
# is no longer in use.
#
# Set the container command line entry-point
tripleo_container_cli: "{{ container_cli | default('docker') }}"
tripleo_container_cli: "{{ container_cli | default('podman') }}"
# List of containers to delete
tripleo_containers_to_rm: "{{ containers_to_rm | default([]) }}"

View File

@ -20,10 +20,7 @@
hosts: all
roles:
- role: tripleo_container_rm
tripleo_container_cli: podman
tripleo_containers_to_rm:
- docker-container1
- docker-container2
tripleo_container_cli: docker
vars:
ansible_python_interpreter: "{{ ansible_user_dir }}/test-python/bin/python"
- podman-container1
- podman-container2

View File

@ -23,10 +23,6 @@ platforms:
provisioner:
name: ansible
config_options:
defaults:
fact_caching: jsonfile
fact_caching_connection: /tmp/molecule/facts
inventory:
hosts:
all:
@ -36,10 +32,10 @@ provisioner:
log: true
env:
ANSIBLE_STDOUT_CALLBACK: yaml
ANSIBLE_ROLES_PATH: "${ANSIBLE_ROLES_PATH}:${HOME}/zuul-jobs/roles"
ANSIBLE_LIBRARY: "${ANSIBLE_LIBRARY:-/usr/share/ansible/plugins/modules}"
ANSIBLE_FILTER_PLUGINS: "${ANSIBLE_FILTER_PLUGINS:-/usr/share/ansible/plugins/filter}"
scenario:
name: default
test_sequence:
- prepare
- converge

View File

@ -19,58 +19,23 @@
hosts: all
become: true
gather_facts: true
pre_tasks:
- name: Check for docker cli
command: "command -v docker"
register: docker_cli
failed_when: false
changed_when: false
- name: Check for docker connection
command: "docker ps"
register: docker_ps
failed_when: false
changed_when: false
- name: set basic user fact
set_fact:
ansible_user: "{{ lookup('env', 'USER') }}"
when:
- ansible_user is undefined
- name: set basic home fact
set_fact:
ansible_user_dir: "{{ lookup('env', 'HOME') }}"
when:
- ansible_user_dir is undefined
vars:
required_packages:
- podman
roles:
- role: test_deps
- role: ensure-docker
when:
- (docker_cli.rc != 0) or
(docker_ps.rc != 0)
post_tasks:
- name: Install docker-sdk
pip:
name: docker
virtualenv: "{{ ansible_user_dir }}/test-python"
virtualenv_site_packages: true
- name: Install podman
become: true
package:
name: "{{ required_packages }}"
state: latest
- name: pull an image
docker_image:
name: centos:8
source: pull
vars:
ansible_python_interpreter: "{{ ansible_user_dir }}/test-python/bin/python"
- name: Pull container image
command: "podman pull centos:8"
- name: Create a data container
docker_container:
name: "{{ item }}"
image: centos:8
detach: true
command: sleep 1d
- name: Create test containers
command: "podman run -itd --systemd true --name {{ item }} fedora bash"
with_items:
- docker-container1
- docker-container2
vars:
ansible_python_interpreter: "{{ ansible_user_dir }}/test-python/bin/python"
- podman-container1
- podman-container2

View File

@ -1,33 +0,0 @@
---
# Copyright 2019 Red Hat, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
# NOTE(Cloudnull): This role is a linked role to `tripleo_container_rm`. This role and exists
# to ensure we're providing a stable interface as we transition. In a future
# release this link will be removed in favor of using the stable role,
# `tripleo_container_rm`.
- name: Converge
become: true
hosts: all
roles:
- role: tripleo_container_rm
container_cli: docker
containers_to_rm:
- docker-container1
- docker-container2
vars:
ansible_python_interpreter: "{{ ansible_user_dir }}/test-python/bin/python"

View File

@ -1,48 +0,0 @@
---
driver:
name: delegated
options:
managed: false
login_cmd_template: >-
ssh
-o UserKnownHostsFile=/dev/null
-o StrictHostKeyChecking=no
-o Compression=no
-o TCPKeepAlive=yes
-o VerifyHostKeyDNS=no
-o ForwardX11=no
-o ForwardAgent=no
{instance}
ansible_connection_options:
ansible_connection: ssh
log: true
platforms:
- name: instance
provisioner:
name: ansible
config_options:
defaults:
fact_caching: jsonfile
fact_caching_connection: /tmp/molecule/facts
inventory:
hosts:
all:
hosts:
instance:
ansible_host: localhost
log: true
env:
ANSIBLE_STDOUT_CALLBACK: yaml
ANSIBLE_ROLES_PATH: "${ANSIBLE_ROLES_PATH}:${HOME}/zuul-jobs/roles"
scenario:
test_sequence:
- prepare
- converge
- check
verifier:
name: testinfra

View File

@ -32,6 +32,8 @@ provisioner:
log: true
env:
ANSIBLE_STDOUT_CALLBACK: yaml
ANSIBLE_LIBRARY: "${ANSIBLE_LIBRARY:-/usr/share/ansible/plugins/modules}"
ANSIBLE_FILTER_PLUGINS: "${ANSIBLE_FILTER_PLUGINS:-/usr/share/ansible/plugins/filter}"
scenario:
test_sequence:

View File

@ -32,6 +32,8 @@ provisioner:
log: true
env:
ANSIBLE_STDOUT_CALLBACK: yaml
ANSIBLE_LIBRARY: "${ANSIBLE_LIBRARY:-/usr/share/ansible/plugins/modules}"
ANSIBLE_FILTER_PLUGINS: "${ANSIBLE_FILTER_PLUGINS:-/usr/share/ansible/plugins/filter}"
scenario:
test_sequence:

View File

@ -1,26 +0,0 @@
---
# Copyright 2019 Red Hat, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
- name: Converge
become: true
hosts: all
roles:
- role: tripleo_container_rm
tripleo_container_cli: podman
tripleo_containers_to_rm:
- podman-container1
- podman-container2

View File

@ -1,43 +0,0 @@
---
driver:
name: delegated
options:
managed: false
login_cmd_template: >-
ssh
-o UserKnownHostsFile=/dev/null
-o StrictHostKeyChecking=no
-o Compression=no
-o TCPKeepAlive=yes
-o VerifyHostKeyDNS=no
-o ForwardX11=no
-o ForwardAgent=no
{instance}
ansible_connection_options:
ansible_connection: ssh
log: true
platforms:
- name: instance
provisioner:
name: ansible
inventory:
hosts:
all:
hosts:
instance:
ansible_host: localhost
log: true
env:
ANSIBLE_STDOUT_CALLBACK: yaml
scenario:
test_sequence:
- prepare
- converge
- check
verifier:
name: testinfra

View File

@ -1,41 +0,0 @@
---
# Copyright 2019 Red Hat, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
- name: Prepare
hosts: all
become: true
gather_facts: true
vars:
required_packages:
- podman
roles:
- role: test_deps
post_tasks:
- name: Install podman
become: true
package:
name: "{{ required_packages }}"
state: latest
- name: Pull container image
command: "podman pull centos:8"
- name: Create test containers
command: "podman run -itd --systemd true --name {{ item }} fedora bash"
with_items:
- podman-container1
- podman-container2

View File

@ -1,37 +0,0 @@
# Molecule managed
# Copyright 2019 Red Hat, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
{% if item.registry is defined %}
FROM {{ item.registry.url }}/{{ item.image }}
{% else %}
FROM {{ item.image }}
{% endif %}
RUN if [ $(command -v apt-get) ]; then apt-get update && apt-get install -y python sudo bash ca-certificates && apt-get clean; \
elif [ $(command -v dnf) ]; then dnf makecache && dnf --assumeyes install sudo python*-devel python*-dnf bash {{ item.pkg_extras | default('') }} && dnf clean all; \
elif [ $(command -v yum) ]; then yum makecache fast && yum install -y python sudo yum-plugin-ovl python-setuptools bash {{ item.pkg_extras | default('') }} && sed -i 's/plugins=0/plugins=1/g' /etc/yum.conf && yum clean all; \
elif [ $(command -v zypper) ]; then zypper refresh && zypper install -y python sudo bash python-xml {{ item.pkg_extras | default('') }} && zypper clean -a; \
elif [ $(command -v apk) ]; then apk update && apk add --no-cache python sudo bash ca-certificates {{ item.pkg_extras | default('') }}; \
elif [ $(command -v xbps-install) ]; then xbps-install -Syu && xbps-install -y python sudo bash ca-certificates {{ item.pkg_extras | default('') }} && xbps-remove -O; fi
{% for pkg in item.easy_install | default([]) %}
# install pip for centos where there is no python-pip rpm in default repos
RUN easy_install {{ pkg }}
{% endfor %}
CMD ["sh", "-c", "while true; do sleep 10000; done"]

View File

@ -21,7 +21,5 @@
roles:
- role: tripleo_container_stop
tripleo_containers_to_stop:
- docker-container1
- docker-container2
vars:
ansible_python_interpreter: "{{ ansible_user_dir }}/test-python/bin/python"
- podman-container1
- podman-container2

View File

@ -37,6 +37,8 @@ provisioner:
env:
ANSIBLE_STDOUT_CALLBACK: yaml
ANSIBLE_ROLES_PATH: "${ANSIBLE_ROLES_PATH}:${HOME}/zuul-jobs/roles"
ANSIBLE_LIBRARY: "${ANSIBLE_LIBRARY:-/usr/share/ansible/plugins/modules}"
ANSIBLE_FILTER_PLUGINS: "${ANSIBLE_FILTER_PLUGINS:-/usr/share/ansible/plugins/filter}"
scenario:
test_sequence:

View File

@ -19,58 +19,23 @@
hosts: all
become: true
gather_facts: true
pre_tasks:
- name: Check for docker cli
command: "command -v docker"
register: docker_cli
failed_when: false
changed_when: false
- name: Check for docker connection
command: "docker ps"
register: docker_ps
failed_when: false
changed_when: false
- name: set basic user fact
set_fact:
ansible_user: "{{ lookup('env', 'USER') }}"
when:
- ansible_user is undefined
- name: set basic home fact
set_fact:
ansible_user_dir: "{{ lookup('env', 'HOME') }}"
when:
- ansible_user_dir is undefined
vars:
required_packages:
- podman
roles:
- role: test_deps
- role: ensure-docker
when:
- (docker_cli.rc != 0) or
(docker_ps.rc != 0)
post_tasks:
- name: Install docker-sdk
pip:
name: docker
virtualenv: "{{ ansible_user_dir }}/test-python"
virtualenv_site_packages: true
- name: Install podman
become: true
package:
name: "{{ required_packages }}"
state: latest
- name: pull an image
docker_image:
name: centos:8
source: pull
vars:
ansible_python_interpreter: "{{ ansible_user_dir }}/test-python/bin/python"
- name: Pull container image
command: "podman pull centos:8"
- name: Create a data container
docker_container:
name: "{{ item }}"
image: centos:8
detach: true
command: sleep 1d
- name: Create test containers
command: "podman run -itd --systemd true --name {{ item }} fedora bash"
with_items:
- docker-container1
- docker-container2
vars:
ansible_python_interpreter: "{{ ansible_user_dir }}/test-python/bin/python"
- podman-container1
- podman-container2

View File

@ -1,37 +0,0 @@
# Molecule managed
# Copyright 2019 Red Hat, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
{% if item.registry is defined %}
FROM {{ item.registry.url }}/{{ item.image }}
{% else %}
FROM {{ item.image }}
{% endif %}
RUN if [ $(command -v apt-get) ]; then apt-get update && apt-get install -y python sudo bash ca-certificates && apt-get clean; \
elif [ $(command -v dnf) ]; then dnf makecache && dnf --assumeyes install sudo python*-devel python*-dnf bash {{ item.pkg_extras | default('') }} && dnf clean all; \
elif [ $(command -v yum) ]; then yum makecache fast && yum install -y python sudo yum-plugin-ovl python-setuptools bash {{ item.pkg_extras | default('') }} && sed -i 's/plugins=0/plugins=1/g' /etc/yum.conf && yum clean all; \
elif [ $(command -v zypper) ]; then zypper refresh && zypper install -y python sudo bash python-xml {{ item.pkg_extras | default('') }} && zypper clean -a; \
elif [ $(command -v apk) ]; then apk update && apk add --no-cache python sudo bash ca-certificates {{ item.pkg_extras | default('') }}; \
elif [ $(command -v xbps-install) ]; then xbps-install -Syu && xbps-install -y python sudo bash ca-certificates {{ item.pkg_extras | default('') }} && xbps-remove -O; fi
{% for pkg in item.easy_install | default([]) %}
# install pip for centos where there is no python-pip rpm in default repos
RUN easy_install {{ pkg }}
{% endfor %}
CMD ["sh", "-c", "while true; do sleep 10000; done"]

View File

@ -1,27 +0,0 @@
---
# Copyright 2019 Red Hat, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
- name: Converge
become: true
hosts: all
roles:
- role: tripleo_container_stop
tripleo_containers_to_stop:
- podman-container1
- podman-container2
vars:
ansible_python_interpreter: "{{ ansible_user_dir }}/test-python/bin/python"

View File

@ -1,48 +0,0 @@
---
driver:
name: delegated
options:
managed: false
login_cmd_template: >-
ssh
-o UserKnownHostsFile=/dev/null
-o StrictHostKeyChecking=no
-o Compression=no
-o TCPKeepAlive=yes
-o VerifyHostKeyDNS=no
-o ForwardX11=no
-o ForwardAgent=no
{instance}
ansible_connection_options:
ansible_connection: ssh
log: true
platforms:
- name: instance
provisioner:
name: ansible
config_options:
defaults:
fact_caching: jsonfile
fact_caching_connection: /tmp/molecule/facts
inventory:
hosts:
all:
hosts:
instance:
ansible_host: localhost
log: true
env:
ANSIBLE_STDOUT_CALLBACK: yaml
ANSIBLE_ROLES_PATH: "${ANSIBLE_ROLES_PATH}:${HOME}/zuul-jobs/roles"
scenario:
test_sequence:
- prepare
- converge
- check
verifier:
name: testinfra

View File

@ -1,41 +0,0 @@
---
# Copyright 2019 Red Hat, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
- name: Prepare
hosts: all
become: true
gather_facts: true
vars:
required_packages:
- podman
roles:
- role: test_deps
post_tasks:
- name: Install podman
become: true
package:
name: "{{ required_packages }}"
state: latest
- name: Pull container image
command: "podman pull centos:8"
- name: Create test containers
command: "podman run -itd --systemd true --name {{ item }} fedora bash"
with_items:
- podman-container1
- podman-container2

View File

@ -28,7 +28,7 @@
# is no longer in use.
#
# Set the container command line entry-point
tripleo_container_cli: "{{ container_cli | default('docker') }}"
tripleo_container_cli: "{{ container_cli | default('podman') }}"
# Enable or disable pulling images.
tripleo_container_pull_image: "{{ pull_image | default(true) }}"

View File

@ -16,16 +16,15 @@
- name: Converge
become: true
hosts: all
become: true
roles:
- role: "tripleo_container_tag"
tripleo_container_image: centos:8
tripleo_container_image_latest: test-latest
tripleo_container_cli: docker
tripleo_container_pull_image: true
tripleo_container_cli: podman
- role: "tripleo_container_tag"
tripleo_container_image: centos:8
tripleo_container_image_latest: test-latest-2
tripleo_container_cli: docker
tripleo_container_cli: podman
tripleo_container_pull_image: false

View File

@ -23,10 +23,6 @@ platforms:
provisioner:
name: ansible
config_options:
defaults:
fact_caching: jsonfile
fact_caching_connection: /tmp/molecule/facts
inventory:
hosts:
all:
@ -36,7 +32,8 @@ provisioner:
log: true
env:
ANSIBLE_STDOUT_CALLBACK: yaml
ANSIBLE_ROLES_PATH: "${ANSIBLE_ROLES_PATH}:${HOME}/zuul-jobs/roles"
ANSIBLE_LIBRARY: "${ANSIBLE_LIBRARY:-/usr/share/ansible/plugins/modules}"
ANSIBLE_FILTER_PLUGINS: "${ANSIBLE_FILTER_PLUGINS:-/usr/share/ansible/plugins/filter}"
scenario:
test_sequence:

View File

@ -19,53 +19,14 @@
hosts: all
become: true
gather_facts: true
pre_tasks:
- name: Check for docker cli
command: "command -v docker"
register: docker_cli
failed_when: false
changed_when: false
- name: Check for docker connection
command: "docker ps"
register: docker_ps
failed_when: false
changed_when: false
- name: set basic user fact
set_fact:
ansible_user: "{{ lookup('env', 'USER') }}"
when:
- ansible_user is undefined
- name: set basic home fact
set_fact:
ansible_user_dir: "{{ lookup('env', 'HOME') }}"
when:
- ansible_user_dir is undefined
vars:
required_packages:
- podman
roles:
- role: test_deps
- role: ensure-docker
when:
- (docker_cli.rc != 0) or
(docker_ps.rc != 0)
post_tasks:
- name: Install docker-sdk
pip:
name: docker
virtualenv: "{{ ansible_user_dir }}/test-python"
virtualenv_site_packages: true
- name: pull an image
docker_image:
name: centos:8
source: pull
vars:
ansible_python_interpreter: "{{ ansible_user_dir }}/test-python/bin/python"
- name: Create a data container
docker_container:
name: test-container
image: centos:8
vars:
ansible_python_interpreter: "{{ ansible_user_dir }}/test-python/bin/python"
- name: Install podman
become: true
package:
name: "{{ required_packages }}"
state: latest

View File

@ -32,6 +32,8 @@ provisioner:
log: true
env:
ANSIBLE_STDOUT_CALLBACK: yaml
ANSIBLE_LIBRARY: "${ANSIBLE_LIBRARY:-/usr/share/ansible/plugins/modules}"
ANSIBLE_FILTER_PLUGINS: "${ANSIBLE_FILTER_PLUGINS:-/usr/share/ansible/plugins/filter}"
scenario:
test_sequence:

View File

@ -1,30 +0,0 @@
---
# Copyright 2019 Red Hat, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
- name: Converge
hosts: all
become: true
roles:
- role: "tripleo_container_tag"
tripleo_container_image: centos:8
tripleo_container_image_latest: test-latest
tripleo_container_cli: podman
- role: "tripleo_container_tag"
tripleo_container_image: centos:8
tripleo_container_image_latest: test-latest-2
tripleo_container_cli: podman
tripleo_container_pull_image: false

View File

@ -1,43 +0,0 @@
---
driver:
name: delegated
options:
managed: false
login_cmd_template: >-
ssh
-o UserKnownHostsFile=/dev/null
-o StrictHostKeyChecking=no
-o Compression=no
-o TCPKeepAlive=yes
-o VerifyHostKeyDNS=no
-o ForwardX11=no
-o ForwardAgent=no
{instance}
ansible_connection_options:
ansible_connection: ssh
log: true
platforms:
- name: instance
provisioner:
name: ansible
inventory:
hosts:
all:
hosts:
instance:
ansible_host: localhost
log: true
env:
ANSIBLE_STDOUT_CALLBACK: yaml
scenario:
test_sequence:
- prepare
- converge
- check
verifier:
name: testinfra

View File

@ -1,32 +0,0 @@
---
# Copyright 2019 Red Hat, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
- name: Prepare
hosts: all
become: true
gather_facts: true
vars:
required_packages:
- podman
roles:
- role: test_deps
post_tasks:
- name: Install podman
become: true
package:
name: "{{ required_packages }}"
state: latest

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -17,6 +17,8 @@ platforms:
environment: &env
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -27,6 +29,7 @@ platforms:
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
environment:
<<: *env
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -17,6 +17,8 @@ platforms:
environment: &env
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -27,6 +29,7 @@ platforms:
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
environment:
<<: *env
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -17,6 +17,8 @@ platforms:
environment: &env
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -27,6 +29,7 @@ platforms:
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
environment:
<<: *env
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -17,6 +17,8 @@ platforms:
environment: &env
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -27,6 +29,7 @@ platforms:
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
environment:
<<: *env
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -17,6 +17,8 @@ platforms:
environment: &env
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -27,6 +29,7 @@ platforms:
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
environment:
<<: *env
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -17,6 +17,8 @@ platforms:
environment: &env
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -27,6 +29,7 @@ platforms:
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
environment:
<<: *env
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -16,15 +16,13 @@ platforms:
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
command: /sbin/init
tmpfs:
- /run
- /tmp
capabilities:
- ALL # CENT7 requires all due to the age of the software
- ALL
volumes:
- /run/udev:/run/udev:ro
- /sys/fs/cgroup:/sys/fs/cgroup:ro
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
privileged: true
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -35,16 +33,12 @@ platforms:
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
command: /sbin/init
privileged: true
tmpfs:
- /run
- /tmp
capabilities:
- SYS_ADMIN
- ALL
volumes:
- /run/udev:/run/udev:ro
- /sys/fs/cgroup:/sys/fs/cgroup:ro
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
privileged: true
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -16,15 +16,13 @@ platforms:
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
command: /sbin/init
tmpfs:
- /run
- /tmp
capabilities:
- ALL # CENT7 requires all due to the age of the software
- ALL
volumes:
- /run/udev:/run/udev:ro
- /sys/fs/cgroup:/sys/fs/cgroup:ro
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
privileged: true
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -35,16 +33,12 @@ platforms:
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
command: /sbin/init
privileged: true
tmpfs:
- /run
- /tmp
capabilities:
- SYS_ADMIN
- ALL
volumes:
- /run/udev:/run/udev:ro
- /sys/fs/cgroup:/sys/fs/cgroup:ro
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
privileged: true
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -17,6 +17,7 @@
- name: Converge
hosts: all
become: true
tasks:
- name: Create openstack directory
file:

View File

@ -1,38 +1,51 @@
---
driver:
name: docker
name: delegated
options:
managed: false
login_cmd_template: >-
ssh
-o UserKnownHostsFile=/dev/null
-o StrictHostKeyChecking=no
-o Compression=no
-o TCPKeepAlive=yes
-o VerifyHostKeyDNS=no
-o ForwardX11=no
-o ForwardAgent=no
{instance}
ansible_connection_options:
ansible_connection: ssh
log: true
platforms:
- name: centos7
hostname: centos7
image: centos:7
dockerfile: Dockerfile
network_mode: host
volumes:
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
easy_install:
- pip
environment: &env
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
- name: instance
provisioner:
name: ansible
config_options:
defaults:
fact_caching: jsonfile
fact_caching_connection: /tmp/molecule/facts
inventory:
hosts:
all:
hosts:
instance:
ansible_host: localhost
log: true
env:
ANSIBLE_STDOUT_CALLBACK: yaml
ANSIBLE_ROLES_PATH: "${ANSIBLE_ROLES_PATH}:${HOME}/zuul-jobs/roles"
ANSIBLE_LIBRARY: "${ANSIBLE_LIBRARY:-/usr/share/ansible/plugins/modules}"
ANSIBLE_FILTER_PLUGINS: "${ANSIBLE_FILTER_PLUGINS:-/usr/share/ansible/plugins/filter}"
scenario:
name: default
test_sequence:
- destroy
- create
- prepare
- converge
- check
- verify
- destroy
verifier:
name: testinfra

View File

@ -14,30 +14,33 @@
# License for the specific language governing permissions and limitations
# under the License.
- hosts: localhost
connection: local
tasks:
- name: Build keystone container
shell: docker build -t keystone-img -f Dockerfile.keystone .
- name: Run keystone container
shell: docker run -d -p 5000:5000 --name keystone-docker keystone-img
- name: Prepare
hosts: all
tasks:
hosts: localhost
become: true
connection: local
pre_tasks:
- name: Disable SELinux
selinux:
state: disabled
tasks:
- include_role:
name: test_deps
vars:
test_deps_setup_tripleo: true
- name: Instal pre packages
package:
name:
- python-setuptools
- python-openstacksdk
- python-openstackclient
- python-keystoneclient
test_deps_extra_packages:
- python3-openstacksdk
- python3-openstackclient
- python3-keystoneclient
- ansible
- name: Build keystone container
shell: "podman build -t keystone-img -f {{ playbook_dir }}/Dockerfile.keystone ."
become: false
- name: Run keystone container
shell: |-
podman rm --force keystone-podman || true
podman run -d -p 5000:5000 --name keystone-podman keystone-img
sleep 30
become: false

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -17,6 +17,8 @@ platforms:
environment: &env
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -27,6 +29,7 @@ platforms:
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
environment:
<<: *env
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -16,17 +16,16 @@ platforms:
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
command: /sbin/init
privileged: true
tmpfs:
- /run
- /tmp
capabilities:
- ALL # CENT7 requires all due to the age of the software
- ALL
volumes:
- /run/udev:/run/udev:ro
- /sys/fs/cgroup:/sys/fs/cgroup:ro
- /lib/modules:/lib/modules
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
privileged: true
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -37,17 +36,15 @@ platforms:
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
command: /sbin/init
privileged: true
tmpfs:
- /run
- /tmp
capabilities:
- SYS_ADMIN
- ALL
volumes:
- /run/udev:/run/udev:ro
- /sys/fs/cgroup:/sys/fs/cgroup:ro
- /lib/modules:/lib/modules
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
privileged: true
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -16,16 +16,13 @@ platforms:
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
command: /sbin/init
privileged: true
tmpfs:
- /run
- /tmp
capabilities:
- ALL # CENT7 requires all due to the age of the software
- ALL
volumes:
- /run/udev:/run/udev:ro
- /sys/fs/cgroup:/sys/fs/cgroup:ro
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
privileged: true
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -36,16 +33,12 @@ platforms:
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
command: /sbin/init
privileged: true
tmpfs:
- /run
- /tmp
capabilities:
- SYS_ADMIN
- ALL
volumes:
- /run/udev:/run/udev:ro
- /sys/fs/cgroup:/sys/fs/cgroup:ro
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
privileged: true
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -16,15 +16,15 @@ platforms:
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
command: /sbin/init
tmpfs:
- /run
- /tmp
capabilities:
- ALL
volumes:
- /dev:/dev
- /lib/modules:/lib/modules
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
privileged: true
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -35,16 +35,14 @@ platforms:
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
command: /sbin/init
privileged: true
tmpfs:
- /run
- /tmp
capabilities:
- ALL
volumes:
- /dev:/dev
- /lib/modules:/lib/modules
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
privileged: true
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -16,15 +16,15 @@ platforms:
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
command: /sbin/init
tmpfs:
- /run
- /tmp
capabilities:
- ALL
volumes:
- /dev:/dev
- /lib/modules:/lib/modules
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
privileged: true
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -35,16 +35,14 @@ platforms:
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
command: /sbin/init
privileged: true
tmpfs:
- /run
- /tmp
capabilities:
- ALL
volumes:
- /dev:/dev
- /lib/modules:/lib/modules
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
privileged: true
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -16,15 +16,15 @@ platforms:
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
command: /sbin/init
tmpfs:
- /run
- /tmp
capabilities:
- ALL
volumes:
- /dev:/dev
- /lib/modules:/lib/modules
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
privileged: true
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -35,16 +35,14 @@ platforms:
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
command: /sbin/init
privileged: true
tmpfs:
- /run
- /tmp
capabilities:
- ALL
volumes:
- /dev:/dev
- /lib/modules:/lib/modules
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
privileged: true
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -20,15 +20,16 @@ platforms:
/bin/mkdir -p /var/run/dbus &&
/usr/bin/dbus-uuidgen > /var/lib/dbus/machine-id &&
/usr/bin/dbus-daemon --config-file=/usr/share/dbus-1/system.conf
tmpfs:
- /run
- /tmp
capabilities:
- ALL
volumes:
- /dev:/dev
- /lib/modules:/lib/modules
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
privileged: true
ulimits: &ulimit
- host
# TODO(cloudnull): when RDO has centos8 repos this test node should be re-enabled.
#
@ -45,7 +46,7 @@ platforms:
# /bin/mkdir -p /var/run/dbus &&
# /usr/bin/dbus-uuidgen > /var/lib/dbus/machine-id &&
# /usr/bin/dbus-daemon --config-file=/usr/share/dbus-1/system.conf
# privileged: true
#
# tmpfs:
# - /run
# - /tmp
@ -54,6 +55,8 @@ platforms:
# volumes:
# - /dev:/dev
# - /lib/modules:/lib/modules
# privileged: true
# ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -16,15 +16,15 @@ platforms:
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
command: /sbin/init
tmpfs:
- /run
- /tmp
capabilities:
- ALL
volumes:
- /dev:/dev
- /lib/modules:/lib/modules
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
privileged: true
ulimits: &ulimit
- host
# TODO(cloudnull): when RDO has centos8 repos this test node should be re-enabled.
#
@ -37,7 +37,7 @@ platforms:
# http_proxy: "{{ lookup('env', 'http_proxy') }}"
# https_proxy: "{{ lookup('env', 'https_proxy') }}"
# command: /sbin/init
# privileged: true
#
# tmpfs:
# - /run
# - /tmp
@ -46,6 +46,8 @@ platforms:
# volumes:
# - /dev:/dev
# - /lib/modules:/lib/modules
# privileged: true
# ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -17,6 +17,8 @@ platforms:
environment: &env
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -27,6 +29,7 @@ platforms:
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
environment:
<<: *env
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -19,4 +19,4 @@
path: "{{ tripleo_persist_storage_root_dir }}"
state: absent
delegate_to: localhost
become: "{{ tripleo_persist_storage_root_become | bool }}"
become: true

View File

@ -37,6 +37,8 @@ provisioner:
env:
ANSIBLE_STDOUT_CALLBACK: yaml
ANSIBLE_ROLES_PATH: "${ANSIBLE_ROLES_PATH}:${HOME}/zuul-jobs/roles"
ANSIBLE_LIBRARY: "${ANSIBLE_LIBRARY:-/usr/share/ansible/plugins/modules}"
ANSIBLE_FILTER_PLUGINS: "${ANSIBLE_FILTER_PLUGINS:-/usr/share/ansible/plugins/filter}"
scenario:
test_sequence:

View File

@ -20,18 +20,6 @@
become: true
gather_facts: true
pre_tasks:
- name: Check for docker cli
command: "command -v docker"
register: docker_cli
failed_when: false
changed_when: false
- name: Check for docker connection
command: "docker ps"
register: docker_ps
failed_when: false
changed_when: false
- name: set basic user fact
set_fact:
ansible_user: "{{ lookup('env', 'USER') }}"
@ -45,32 +33,17 @@
- ansible_user_dir is undefined
roles:
- role: test_deps
- role: ensure-docker
when:
- (docker_cli.rc != 0) or
(docker_ps.rc != 0)
post_tasks:
- name: Install docker-sdk
pip:
name: docker
virtualenv: "{{ ansible_user_dir }}/test-python"
virtualenv_site_packages: true
- name: pull an image
docker_image:
podman_image:
name: centos:8
source: pull
vars:
ansible_python_interpreter: "{{ ansible_user_dir }}/test-python/bin/python"
- name: Create a data container
docker_container:
podman_container:
name: "{{ item }}"
image: centos:8
detach: true
command: sleep 1d
with_items:
- docker-container1
- docker-container2
vars:
ansible_python_interpreter: "{{ ansible_user_dir }}/test-python/bin/python"
- test-container1
- test-container2

View File

@ -37,6 +37,8 @@ provisioner:
env:
ANSIBLE_STDOUT_CALLBACK: yaml
ANSIBLE_ROLES_PATH: "${ANSIBLE_ROLES_PATH}:${HOME}/zuul-jobs/roles"
ANSIBLE_LIBRARY: "${ANSIBLE_LIBRARY:-/usr/share/ansible/plugins/modules}"
ANSIBLE_FILTER_PLUGINS: "${ANSIBLE_FILTER_PLUGINS:-/usr/share/ansible/plugins/filter}"
scenario:
test_sequence:

View File

@ -37,6 +37,8 @@ provisioner:
env:
ANSIBLE_STDOUT_CALLBACK: yaml
ANSIBLE_ROLES_PATH: "${ANSIBLE_ROLES_PATH}:${HOME}/zuul-jobs/roles"
ANSIBLE_LIBRARY: "${ANSIBLE_LIBRARY:-/usr/share/ansible/plugins/modules}"
ANSIBLE_FILTER_PLUGINS: "${ANSIBLE_FILTER_PLUGINS:-/usr/share/ansible/plugins/filter}"
scenario:
test_sequence:

View File

@ -17,7 +17,6 @@
- name: Prepare
hosts: all
become: true
gather_facts: true
pre_tasks:
- name: set basic user fact
@ -34,29 +33,32 @@
roles:
- role: test_deps
- role: ensure-docker
tasks:
- name: Create a docker registry
become: true
- name: Create registry
shell: |-
docker pull ubuntu:16.04
docker tag ubuntu:16.04 localhost:5000/my-ubuntu
mkdir auth
docker run --entrypoint htpasswd registry:2 -Bbn testuser testpassword > auth/htpasswd
docker container stop registry
docker run -d -p 5000:5000 --restart=always \
podman container rm --force registry || true
podman pull ubuntu:16.04
podman tag ubuntu:16.04 localhost:5000/my-ubuntu
mkdir -p {{ ansible_user_dir }}/auth
podman run --entrypoint htpasswd registry:2 -Bbn testuser testpassword > {{ ansible_user_dir }}/auth/htpasswd
podman run -d -p 5000:5000 --restart=always \
--name registry \
-v "$(pwd)"/auth:/auth \
-v "{{ ansible_user_dir }}/auth:/auth" \
-e "REGISTRY_AUTH=htpasswd" \
-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
registry:2
args:
creates: /root/auth/htpasswd
executable: /bin/bash
- name: Run install
include_role:
name: tripleo_podman
tasks_from: tripleo_podman_install.yml
vars_from: "redhat.yml"
- name: Disable SELinux
become: true
selinux:
state: disabled

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -16,15 +16,13 @@ platforms:
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
command: /sbin/init
tmpfs:
- /run
- /tmp
capabilities:
- ALL # CENT7 requires all due to the age of the software
- ALL
volumes:
- /run/udev:/run/udev:ro
- /sys/fs/cgroup:/sys/fs/cgroup:ro
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
privileged: true
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -35,16 +33,12 @@ platforms:
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
command: /sbin/init
privileged: true
tmpfs:
- /run
- /tmp
capabilities:
- SYS_ADMIN
- ALL
volumes:
- /run/udev:/run/udev:ro
- /sys/fs/cgroup:/sys/fs/cgroup:ro
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
privileged: true
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -16,15 +16,13 @@ platforms:
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
command: /sbin/init
tmpfs:
- /run
- /tmp
capabilities:
- ALL # CENT7 requires all due to the age of the software
- ALL
volumes:
- /run/udev:/run/udev:ro
- /sys/fs/cgroup:/sys/fs/cgroup:ro
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
privileged: true
ulimits: &ulimit
- host
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -17,6 +17,8 @@ platforms:
environment: &env
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -27,6 +29,7 @@ platforms:
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
environment:
<<: *env
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -17,6 +17,8 @@ platforms:
environment: &env
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -27,6 +29,7 @@ platforms:
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
environment:
<<: *env
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -17,6 +17,8 @@ platforms:
environment: &env
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -27,6 +29,7 @@ platforms:
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
environment:
<<: *env
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -17,6 +17,8 @@ platforms:
environment: &env
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -27,6 +29,7 @@ platforms:
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
environment:
<<: *env
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -17,6 +17,8 @@ platforms:
environment: &env
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -27,6 +29,7 @@ platforms:
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
environment:
<<: *env
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -16,15 +16,13 @@ platforms:
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
command: /sbin/init
tmpfs:
- /run
- /tmp
capabilities:
- ALL # CENT7 requires all due to the age of the software
- ALL
volumes:
- /run/udev:/run/udev:ro
- /sys/fs/cgroup:/sys/fs/cgroup:ro
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
privileged: true
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -35,16 +33,12 @@ platforms:
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
command: /sbin/init
privileged: true
tmpfs:
- /run
- /tmp
capabilities:
- SYS_ADMIN
- ALL
volumes:
- /run/udev:/run/udev:ro
- /sys/fs/cgroup:/sys/fs/cgroup:ro
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
privileged: true
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -16,15 +16,13 @@ platforms:
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
command: /sbin/init
tmpfs:
- /run
- /tmp
capabilities:
- ALL # CENT7 requires all due to the age of the software
- ALL
volumes:
- /run/udev:/run/udev:ro
- /sys/fs/cgroup:/sys/fs/cgroup:ro
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
privileged: true
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -35,16 +33,12 @@ platforms:
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
command: /sbin/init
privileged: true
tmpfs:
- /run
- /tmp
capabilities:
- SYS_ADMIN
- ALL
volumes:
- /run/udev:/run/udev:ro
- /sys/fs/cgroup:/sys/fs/cgroup:ro
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
privileged: true
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -18,10 +18,13 @@ platforms:
# needed for systemd stuff
command: /sbin/init
capabilities:
- SYS_ADMIN
- ALL
volumes:
- /sys/fs/cgroup:/sys/fs/cgroup:ro
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
privileged: true
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -33,10 +36,12 @@ platforms:
# needed for systemd stuff
command: /sbin/init
capabilities:
- SYS_ADMIN
- ALL
volumes:
- /sys/fs/cgroup:/sys/fs/cgroup:ro
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
privileged: true
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -16,15 +16,13 @@ platforms:
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
command: /sbin/init
tmpfs:
- /run
- /tmp
capabilities:
- ALL # CENT7 requires all due to the age of the software
- ALL
volumes:
- /run/udev:/run/udev:ro
- /sys/fs/cgroup:/sys/fs/cgroup:ro
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
privileged: true
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -35,16 +33,12 @@ platforms:
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
command: /sbin/init
privileged: true
tmpfs:
- /run
- /tmp
capabilities:
- SYS_ADMIN
- ALL
volumes:
- /run/udev:/run/udev:ro
- /sys/fs/cgroup:/sys/fs/cgroup:ro
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
privileged: true
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -16,15 +16,13 @@ platforms:
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
command: /sbin/init
tmpfs:
- /run
- /tmp
capabilities:
- ALL # CENT7 requires all due to the age of the software
- ALL
volumes:
- /run/udev:/run/udev:ro
- /sys/fs/cgroup:/sys/fs/cgroup:ro
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
privileged: true
ulimits: &ulimit
- host
- name: overcloud-controller-1
hostname: overcloud-controller-1
@ -36,15 +34,12 @@ platforms:
environment:
<<: *env
command: /sbin/init
tmpfs:
- /run
- /tmp
capabilities:
- ALL # CENT7 requires all due to the age of the software
- ALL
volumes:
- /run/udev:/run/udev:ro
- /sys/fs/cgroup:/sys/fs/cgroup:ro
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
privileged: true
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -17,6 +17,8 @@ platforms:
environment: &env
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -27,6 +29,7 @@ platforms:
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
environment:
<<: *env
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,6 +1,6 @@
---
driver:
name: docker
name: podman
log: true
@ -17,6 +17,8 @@ platforms:
environment: &env
http_proxy: "{{ lookup('env', 'http_proxy') }}"
https_proxy: "{{ lookup('env', 'https_proxy') }}"
ulimits: &ulimit
- host
- name: centos8
hostname: centos8
@ -27,6 +29,7 @@ platforms:
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
environment:
<<: *env
ulimits: *ulimit
provisioner:
name: ansible

View File

@ -1,36 +0,0 @@
# Molecule managed
# Copyright 2019 Red Hat, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
{% if item.registry is defined %}
FROM {{ item.registry.url }}/{{ item.image }}
{% else %}
FROM {{ item.image }}
{% endif %}
RUN if [ $(command -v apt-get) ]; then apt-get update && apt-get install -y python sudo bash ca-certificates && apt-get clean; \
elif [ $(command -v dnf) ]; then dnf makecache && dnf --assumeyes install sudo python*-devel python*-dnf bash {{ item.pkg_extras | default('') }} && dnf clean all; \
elif [ $(command -v yum) ]; then yum makecache fast && yum install -y python sudo yum-plugin-ovl python-setuptools bash {{ item.pkg_extras | default('') }} && sed -i 's/plugins=0/plugins=1/g' /etc/yum.conf && yum clean all; \
elif [ $(command -v zypper) ]; then zypper refresh && zypper install -y python sudo bash python-xml {{ item.pkg_extras | default('') }} && zypper clean -a; \
elif [ $(command -v apk) ]; then apk update && apk add --no-cache python sudo bash ca-certificates {{ item.pkg_extras | default('') }}; \
elif [ $(command -v xbps-install) ]; then xbps-install -Syu && xbps-install -y python sudo bash ca-certificates {{ item.pkg_extras | default('') }} && xbps-remove -O; fi
{% for pkg in item.easy_install | default([]) %}
# install pip for centos where there is no python-pip rpm in default repos
RUN easy_install {{ pkg }}
{% endfor %}
CMD ["sh", "-c", "while true; do sleep 10000; done"]

Some files were not shown because too many files have changed in this diff Show More