Skip to content

Commit 2fa72a7

Browse files
author
Jonathan Rosser
committed
Add molecule tests for download-artifacts
1 parent 85022b4 commit 2fa72a7

File tree

4 files changed

+128
-0
lines changed

4 files changed

+128
-0
lines changed
+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Copyright (c) 2023 VEXXHOST, Inc.
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License"); you may
4+
# not use this file except in compliance with the License. You may obtain
5+
# a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11+
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12+
# License for the specific language governing permissions and limitations
13+
# under the License.
14+
15+
- name: Converge
16+
hosts: all
17+
become: true
18+
tasks:
19+
- import_playbook: vexxhost.containers.download_artifacts
20+
vars:
21+
target: localhost
+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Copyright (c) 2023 VEXXHOST, Inc.
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License"); you may
4+
# not use this file except in compliance with the License. You may obtain
5+
# a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11+
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12+
# License for the specific language governing permissions and limitations
13+
# under the License.
14+
15+
dependency:
16+
name: galaxy
17+
driver:
18+
name: docker
19+
platforms:
20+
- name: instance
21+
image: geerlingguy/docker-${MOLECULE_DISTRO:-ubuntu2004}-ansible:latest
22+
command: ${MOLECULE_DOCKER_COMMAND:-""}
23+
privileged: true
24+
cgroupns_mode: host
25+
pre_build_image: true
26+
environment:
27+
container: docker
28+
security_opts:
29+
- apparmor=unconfined
30+
volumes:
31+
- /sys/fs/cgroup:/sys/fs/cgroup:rw
32+
- /lib/modules:/lib/modules:ro
33+
provisioner:
34+
name: ansible
35+
config_options:
36+
connection:
37+
pipelining: true
38+
verifier:
39+
name: ansible
+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Copyright (c) 2023 VEXXHOST, Inc.
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License"); you may
4+
# not use this file except in compliance with the License. You may obtain
5+
# a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11+
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12+
# License for the specific language governing permissions and limitations
13+
# under the License.
14+
15+
- name: Prepare
16+
hosts: all
17+
become: true
18+
pre_tasks:
19+
- name: Wait for systemd to complete initialization
20+
ansible.builtin.command: systemctl is-system-running
21+
register: systemctl_status
22+
until: >
23+
'running' in systemctl_status.stdout or
24+
'degraded' in systemctl_status.stdout
25+
retries: 30
26+
delay: 5
27+
changed_when: false
28+
failed_when: systemctl_status.rc > 1
29+
tasks:
30+
- name: Run APT update
31+
ansible.builtin.apt:
32+
update_cache: yes
33+
when: ansible_facts['pkg_mgr'] == "apt"
+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Copyright (c) 2023 VEXXHOST, Inc.
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License"); you may
4+
# not use this file except in compliance with the License. You may obtain
5+
# a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11+
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12+
# License for the specific language governing permissions and limitations
13+
# under the License.
14+
15+
- name: Verify
16+
hosts: all
17+
become: true
18+
pre_tasks:
19+
- name: Populate package facts
20+
ansible.builtin.package_facts:
21+
22+
- name: Populate service facts
23+
ansible.builtin.service_facts:
24+
25+
tasks:
26+
- name: Assert that the NGINX package is not installed
27+
ansible.builtin.assert:
28+
that:
29+
- '"nginx" not in ansible_facts.packages'
30+
31+
- name: Assert that the NGINX service is still up
32+
ansible.builtin.assert:
33+
that:
34+
- ansible_facts.services["nginx.service"].state == "running"
35+
- ansible_facts.services["nginx.service"].status == "enabled"

0 commit comments

Comments
 (0)