From 5b8b18e7f6c3d0b59fadb155bbff6bbb25966cdb Mon Sep 17 00:00:00 2001 From: Jonas Pammer Date: Wed, 31 Aug 2022 09:57:32 +0200 Subject: [PATCH 01/10] chore: copy molecule/default -> molecule/podman --- molecule/podman/converge.yml | 8 ++++++++ molecule/podman/molecule.yml | 33 +++++++++++++++++++++++++++++++++ molecule/podman/verify.yml | 15 +++++++++++++++ 3 files changed, 56 insertions(+) create mode 100644 molecule/podman/converge.yml create mode 100644 molecule/podman/molecule.yml create mode 100644 molecule/podman/verify.yml diff --git a/molecule/podman/converge.yml b/molecule/podman/converge.yml new file mode 100644 index 0000000..1c1ff43 --- /dev/null +++ b/molecule/podman/converge.yml @@ -0,0 +1,8 @@ +--- +- name: Converge + hosts: all + become: false + gather_facts: false + + roles: + - role: ansible-role-bootstrap diff --git a/molecule/podman/molecule.yml b/molecule/podman/molecule.yml new file mode 100644 index 0000000..77992e2 --- /dev/null +++ b/molecule/podman/molecule.yml @@ -0,0 +1,33 @@ +--- +dependency: + name: galaxy + options: + role-file: requirements.yml + requirements-file: requirements.yml +lint: | + set -e + ansible-lint +driver: + name: docker +platforms: + # service-enabled Docker image by geerlingguy + - name: instance-${TOX_ENVNAME}-${MOLECULE_DISTRO:-debian10} + image: "geerlingguy/docker-${MOLECULE_DISTRO:-debian10}-ansible:latest" + command: ${MOLECULE_DOCKER_COMMAND:-""} + volumes: + - /sys/fs/cgroup:/sys/fs/cgroup:ro + privileged: true + pre_build_image: true +provisioner: + name: ansible + playbooks: + converge: ${MOLECULE_PLAYBOOK:-converge.yml} + options: + v: true + config_options: + defaults: + interpreter_python: auto_silent + callbacks_enabled: profile_tasks, timer, yaml + stdout_callback: yaml +verifier: + name: ansible diff --git a/molecule/podman/verify.yml b/molecule/podman/verify.yml new file mode 100644 index 0000000..ac42cbc --- /dev/null +++ b/molecule/podman/verify.yml @@ -0,0 +1,15 @@ +--- +- name: output some generally helpful debug information about the provisioned machine + hosts: all + become: true + gather_facts: true + + tasks: + - name: debug output machine facts + ansible.builtin.include_tasks: ../resources/debug.yml + +### Actual Role Verification Tasks: +- name: Verify + hosts: all + + tasks: From 138630eddbe38c5f38ee5cea81f583210042d5ec Mon Sep 17 00:00:00 2001 From: Jonas Pammer Date: Wed, 31 Aug 2022 18:10:40 +0200 Subject: [PATCH 02/10] ci: make molecule podman scenario use podman as driver copied how to adapt from https://github.com/robertdebock/ansible-role-bootstrap/pull/66#issue-1244141277 --- molecule/podman/molecule.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/molecule/podman/molecule.yml b/molecule/podman/molecule.yml index 77992e2..3a41f3e 100644 --- a/molecule/podman/molecule.yml +++ b/molecule/podman/molecule.yml @@ -8,15 +8,12 @@ lint: | set -e ansible-lint driver: - name: docker + name: podman platforms: # service-enabled Docker image by geerlingguy - name: instance-${TOX_ENVNAME}-${MOLECULE_DISTRO:-debian10} image: "geerlingguy/docker-${MOLECULE_DISTRO:-debian10}-ansible:latest" command: ${MOLECULE_DOCKER_COMMAND:-""} - volumes: - - /sys/fs/cgroup:/sys/fs/cgroup:ro - privileged: true pre_build_image: true provisioner: name: ansible From 92435bce8e20c67cb3dfbccc3ebb3dbe30c84301 Mon Sep 17 00:00:00 2001 From: Jonas Pammer Date: Wed, 31 Aug 2022 18:11:32 +0200 Subject: [PATCH 03/10] test: add molecule[podman] in tox dependencies --- tox.ini | 1 + 1 file changed, 1 insertion(+) diff --git a/tox.ini b/tox.ini index bcccc7a..8445c65 100644 --- a/tox.ini +++ b/tox.ini @@ -18,6 +18,7 @@ deps = 4: ansible == 4.* # core 2.11 + https://github.com/ansible-community/ansible-build-data/blob/main/4/ansible-4.build 5: ansible == 5.* # core 2.12 + https://github.com/ansible-community/ansible-build-data/blob/main/5/ansible-5.build molecule[docker] + molecule[podman] docker == 5.* ansible-lint == 5.* commands = From 63d5a3693cb0cbf0af676f7f6f4e24321cce1cc9 Mon Sep 17 00:00:00 2001 From: Jonas Pammer Date: Wed, 31 Aug 2022 18:25:48 +0200 Subject: [PATCH 04/10] fix: add executable argument to install bootstrap packages (raw) task to fix podman without this, following error appears: Error: executable file not found in /home/jonas/Dokumente/Programmieren/public/ansible-roles/all-repos/ansible-role-bootstrap/venv/bin:/home/jonas/.nvm/versions/node/v16.15.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/jonas/.local/share/JetBrains/Toolbox/scripts:/home/jonas/.local/share/JetBrains/Toolbox/scripts:/usr/local/go/bin: No such file or directory: OCI runtime attempted to invoke a command that was not found --- tasks/main.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tasks/main.yml b/tasks/main.yml index dd50aea..8013071 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -37,6 +37,8 @@ - name: Install bootstrap packages (raw). ansible.builtin.raw: "{{ bootstrap_install.raw }}" + args: + executable: /bin/sh register: bootstrap_install_packages changed_when: - (bootstrap_install.stdout_regex in bootstrap_install_packages.stdout and From 35c735a8c3a86144ccac75df3f6c7195bf1d320b Mon Sep 17 00:00:00 2001 From: Jonas Pammer Date: Wed, 31 Aug 2022 18:32:43 +0200 Subject: [PATCH 05/10] refactor: prepend 'podman' to name of docker container in molecule podman scenario --- molecule/podman/molecule.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/molecule/podman/molecule.yml b/molecule/podman/molecule.yml index 3a41f3e..e300928 100644 --- a/molecule/podman/molecule.yml +++ b/molecule/podman/molecule.yml @@ -11,7 +11,7 @@ driver: name: podman platforms: # service-enabled Docker image by geerlingguy - - name: instance-${TOX_ENVNAME}-${MOLECULE_DISTRO:-debian10} + - name: podman-instance-${TOX_ENVNAME}-${MOLECULE_DISTRO:-debian10} image: "geerlingguy/docker-${MOLECULE_DISTRO:-debian10}-ansible:latest" command: ${MOLECULE_DOCKER_COMMAND:-""} pre_build_image: true From f36aa3bc7b16ddcf5ff259c653bb17c462c0478c Mon Sep 17 00:00:00 2001 From: Jonas Pammer Date: Wed, 31 Aug 2022 18:37:53 +0200 Subject: [PATCH 06/10] docs: add podman to development machine dependencies --- DEVELOPMENT.adoc | 1 + 1 file changed, 1 insertion(+) diff --git a/DEVELOPMENT.adoc b/DEVELOPMENT.adoc index f802866..48ef495 100644 --- a/DEVELOPMENT.adoc +++ b/DEVELOPMENT.adoc @@ -3,6 +3,7 @@ * Python 3.8 or greater * Docker +* Podman [[development-dependencies]] === 📌 Development Dependencies From 414c75752ba3c7ea7fe9b59d3736df6c5b856747 Mon Sep 17 00:00:00 2001 From: JonasPammer Date: Wed, 31 Aug 2022 16:38:35 +0000 Subject: [PATCH 07/10] docs: add podman to development machine dependencies as per f36aa3bc7b16ddcf5ff259c653bb17c462c0478c --- README.adoc | 1 + README.md | 2 ++ 2 files changed, 3 insertions(+) diff --git a/README.adoc b/README.adoc index f447ba0..95610ca 100644 --- a/README.adoc +++ b/README.adoc @@ -232,6 +232,7 @@ status]] * Python 3.8 or greater * Docker +* Podman [[development-dependencies]] === 📌 Development Dependencies diff --git a/README.md b/README.md index e403e25..dd9270e 100644 --- a/README.md +++ b/README.md @@ -159,6 +159,8 @@ No tasks must come before this role. - Docker +- Podman + ## 📌 Development Dependencies Development Dependencies are defined in a [pip requirements file](https://pip.pypa.io/en/stable/user_guide/#requirements-files) named `requirements-dev.txt`. Example Installation Instructions for Linux are shown below: From 62acc9ba03d0433694074c50a9fd230699213187 Mon Sep 17 00:00:00 2001 From: Jonas Pammer Date: Sat, 3 Sep 2022 15:07:33 +0200 Subject: [PATCH 08/10] ci: add pause in podman converge playbook in an attempt to understand or fix random CI failures --- molecule/podman/converge.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/molecule/podman/converge.yml b/molecule/podman/converge.yml index 1c1ff43..4c14597 100644 --- a/molecule/podman/converge.yml +++ b/molecule/podman/converge.yml @@ -4,5 +4,10 @@ become: false gather_facts: false + pre_tasks: + - name: pause + ansible.builtin.pause: + seconds: 20 + roles: - role: ansible-role-bootstrap From e182d431d9d8994ff63fe4a7952ad74b9c7a020a Mon Sep 17 00:00:00 2001 From: Jonas Pammer Date: Sat, 3 Sep 2022 18:35:45 +0200 Subject: [PATCH 09/10] revert: revert everything except actual tasks/main.yml molecule podman ci tests are scuffed. podman installation is scuffed too. gonna stay away from podman for a while after this encounter lol --- DEVELOPMENT.adoc | 1 - README.adoc | 2 +- README.md | 2 -- molecule/podman/converge.yml | 13 ------------- molecule/podman/molecule.yml | 30 ------------------------------ molecule/podman/verify.yml | 15 --------------- tox.ini | 1 - 7 files changed, 1 insertion(+), 63 deletions(-) delete mode 100644 molecule/podman/converge.yml delete mode 100644 molecule/podman/molecule.yml delete mode 100644 molecule/podman/verify.yml diff --git a/DEVELOPMENT.adoc b/DEVELOPMENT.adoc index 48ef495..f802866 100644 --- a/DEVELOPMENT.adoc +++ b/DEVELOPMENT.adoc @@ -3,7 +3,6 @@ * Python 3.8 or greater * Docker -* Podman [[development-dependencies]] === 📌 Development Dependencies diff --git a/README.adoc b/README.adoc index 95610ca..7d0ecf5 100644 --- a/README.adoc +++ b/README.adoc @@ -232,7 +232,7 @@ status]] * Python 3.8 or greater * Docker -* Podman + [[development-dependencies]] === 📌 Development Dependencies diff --git a/README.md b/README.md index dd9270e..e403e25 100644 --- a/README.md +++ b/README.md @@ -159,8 +159,6 @@ No tasks must come before this role. - Docker -- Podman - ## 📌 Development Dependencies Development Dependencies are defined in a [pip requirements file](https://pip.pypa.io/en/stable/user_guide/#requirements-files) named `requirements-dev.txt`. Example Installation Instructions for Linux are shown below: diff --git a/molecule/podman/converge.yml b/molecule/podman/converge.yml deleted file mode 100644 index 4c14597..0000000 --- a/molecule/podman/converge.yml +++ /dev/null @@ -1,13 +0,0 @@ ---- -- name: Converge - hosts: all - become: false - gather_facts: false - - pre_tasks: - - name: pause - ansible.builtin.pause: - seconds: 20 - - roles: - - role: ansible-role-bootstrap diff --git a/molecule/podman/molecule.yml b/molecule/podman/molecule.yml deleted file mode 100644 index e300928..0000000 --- a/molecule/podman/molecule.yml +++ /dev/null @@ -1,30 +0,0 @@ ---- -dependency: - name: galaxy - options: - role-file: requirements.yml - requirements-file: requirements.yml -lint: | - set -e - ansible-lint -driver: - name: podman -platforms: - # service-enabled Docker image by geerlingguy - - name: podman-instance-${TOX_ENVNAME}-${MOLECULE_DISTRO:-debian10} - image: "geerlingguy/docker-${MOLECULE_DISTRO:-debian10}-ansible:latest" - command: ${MOLECULE_DOCKER_COMMAND:-""} - pre_build_image: true -provisioner: - name: ansible - playbooks: - converge: ${MOLECULE_PLAYBOOK:-converge.yml} - options: - v: true - config_options: - defaults: - interpreter_python: auto_silent - callbacks_enabled: profile_tasks, timer, yaml - stdout_callback: yaml -verifier: - name: ansible diff --git a/molecule/podman/verify.yml b/molecule/podman/verify.yml deleted file mode 100644 index ac42cbc..0000000 --- a/molecule/podman/verify.yml +++ /dev/null @@ -1,15 +0,0 @@ ---- -- name: output some generally helpful debug information about the provisioned machine - hosts: all - become: true - gather_facts: true - - tasks: - - name: debug output machine facts - ansible.builtin.include_tasks: ../resources/debug.yml - -### Actual Role Verification Tasks: -- name: Verify - hosts: all - - tasks: diff --git a/tox.ini b/tox.ini index 8445c65..bcccc7a 100644 --- a/tox.ini +++ b/tox.ini @@ -18,7 +18,6 @@ deps = 4: ansible == 4.* # core 2.11 + https://github.com/ansible-community/ansible-build-data/blob/main/4/ansible-4.build 5: ansible == 5.* # core 2.12 + https://github.com/ansible-community/ansible-build-data/blob/main/5/ansible-5.build molecule[docker] - molecule[podman] docker == 5.* ansible-lint == 5.* commands = From 366f9d1abab0c0161449c537be04db28c99c034a Mon Sep 17 00:00:00 2001 From: JonasPammer Date: Sat, 3 Sep 2022 16:36:44 +0000 Subject: [PATCH 10/10] revert: revert everything except actual tasks/main.yml molecule podman ci tests are scuffed. podman installation is scuffed too. gonna stay away from podman for a while after this encounter lol as per e182d431d9d8994ff63fe4a7952ad74b9c7a020a --- README.adoc | 1 - 1 file changed, 1 deletion(-) diff --git a/README.adoc b/README.adoc index 7d0ecf5..f447ba0 100644 --- a/README.adoc +++ b/README.adoc @@ -233,7 +233,6 @@ status]] * Python 3.8 or greater * Docker - [[development-dependencies]] === 📌 Development Dependencies Development Dependencies are defined in a