added ci pipeline

This commit is contained in:
Bertrand Lanson 2023-04-15 18:14:37 +02:00
parent 95467d081d
commit 950a646cc5
6 changed files with 175 additions and 67 deletions

82
.gitlab-ci.yml Normal file
View File

@ -0,0 +1,82 @@
---
stages:
- verify
- test-default
- test-with-custom-config
image:
name: registry.ednz.fr/forge/ansible-runner
variables:
ANSIBLE_HOST_KEY_CHECKING: 'false'
ANSIBLE_FORCE_COLOR: 'true'
ANSIBLE_PYTHON_INTERPRETER: /usr/bin/python3
DOCKER_AUTH_CONFIG: $CI_DOCKER_AUTH_CONFIG
.stage-test-default:
stage: test-default
.stage-test-with-custom-config:
stage: test-with-custom-config
.variables-ubuntu-2004:
variables:
MOLECULE_TEST_OS: "ubuntu2004"
.variables-ubuntu-2204:
variables:
MOLECULE_TEST_OS: "ubuntu2204"
.variables-debian-11:
variables:
MOLECULE_TEST_OS: "debian11"
.script-molecule-test-default:
script:
- molecule test
.script-molecule-test-with-custom-config:
script:
- molecule test -s with_custom_config
ansible-verify:
stage: verify
script:
- yamllint . -c .yamllint
- ansible-lint
ansible-test-ubuntu-2004-default:
extends:
- .stage-test-default
- .variables-ubuntu-2004
- .script-molecule-test-default
ansible-test-ubuntu-2204-default:
extends:
- .stage-test-default
- .variables-ubuntu-2204
- .script-molecule-test-default
ansible-test-debian-11-default:
extends:
- .stage-test-default
- .variables-debian-11
- .script-molecule-test-default
ansible-test-ubuntu-2004-with-custom-config:
extends:
- .stage-test-with-custom-config
- .variables-ubuntu-2004
- .script-molecule-test-with-custom-config
ansible-test-ubuntu-2204-with-custom-config:
extends:
- .stage-test-with-custom-config
- .variables-ubuntu-2204
- .script-molecule-test-with-custom-config
ansible-test-debian-11-with-custom-config:
extends:
- .stage-test-with-custom-config
- .variables-debian-11
- .script-molecule-test-with-custom-config

View File

@ -16,3 +16,12 @@ def test_netplan_storage(host):
assert etc_netplan.user == "root"
assert etc_netplan.group =="root"
assert etc_netplan.mode == 0o755
def test_netplan_config_file(host):
"""Validate netplan config file."""
etc_netplan_config = host.file("/etc/netplan/ansible-config.yaml")
assert etc_netplan_config.exists
assert etc_netplan_config.user == "root"
assert etc_netplan_config.group == "root"
assert etc_netplan_config.mode == 0o644
assert etc_netplan_config.content_string != ""

View File

@ -16,3 +16,12 @@ def test_netplan_storage(host):
assert etc_netplan.user == "root"
assert etc_netplan.group =="root"
assert etc_netplan.mode == 0o755
def test_netplan_config_file(host):
"""Validate netplan config file."""
etc_netplan_config = host.file("/tmp/ansible-config.yaml")
assert etc_netplan_config.exists
assert etc_netplan_config.user == "root"
assert etc_netplan_config.group == "root"
assert etc_netplan_config.mode == 0o644
assert etc_netplan_config.content_string != ""

View File

@ -1,6 +1,6 @@
---
# task/configure file for manage_netplan
- name: "Configuring Netplan"
- name: "Copy netplan configuration template into {{ manage_netplan_config_file }}"
ansible.builtin.template:
src: etc_netplan.yaml.j2
dest: "{{ manage_netplan_config_file }}"

View File

@ -12,3 +12,11 @@
vars:
manage_apt_packages_list: "{{ manage_netplan_networkmanager_pkg }}"
when: manage_netplan_renderer == 'NetworkManager'
- name: "Create directory /etc/netplan"
ansible.builtin.file:
path: "/etc/netplan"
state: directory
owner: "root"
group: "root"
mode: '0755'