Skip to content

Commit 92883e2

Browse files
feat(ng): improve ng.clean state and ci (#300)
* feat(ng): improve ng.clean state and ci * fix(clean): remove containers/compose before software
1 parent c3efd44 commit 92883e2

18 files changed

Lines changed: 378 additions & 15 deletions

File tree

.github/workflows/kitchen.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838
# - package-debian-10-master-py3
3939
# - repo-debian-10-master-py3
4040
# - clean-debian-10-master-py3
41-
- debian-10-master-py3
41+
- dockeronly-debian-10-master-py3
4242
# - archive-debian-9-master-py3
4343
# - package-debian-9-master-py3
4444
# - repo-debian-9-master-py3
@@ -53,7 +53,7 @@ jobs:
5353
# - package-ubuntu-1804-master-py3
5454
# - repo-ubuntu-1804-master-py3
5555
# - clean-ubuntu-1804-master-py3
56-
- ubuntu-1804-master-py3
56+
- composeclean-ubuntu-1804-master-py3
5757
# - archive-centos-8-master-py3
5858
# - package-centos-8-master-py3
5959
# - repo-centos-8-master-py3
@@ -73,17 +73,17 @@ jobs:
7373
# - package-fedora-33-master-py3
7474
# - repo-fedora-33-master-py3
7575
# - clean-fedora-33-master-py3
76-
- fedora-33-master-py3
76+
- dockeronly-fedora-33-master-py3
7777
# - archive-opensuse-leap-153-master-py3
7878
# - package-opensuse-leap-153-master-py3
7979
# - repo-opensuse-leap-153-master-py3
8080
# - clean-opensuse-leap-153-master-py3
81-
- opensuse-leap-153-master-py3
81+
# opensuse-leap-153-master-py3
8282
# - archive-opensuse-leap-152-master-py3
8383
# - package-opensuse-leap-152-master-py3
8484
# - repo-opensuse-leap-152-master-py3
8585
# - clean-opensuse-leap-152-master-py3
86-
- opensuse-leap-152-master-py3
86+
# opensuse-leap-152-master-py3
8787
# - archive-opensuse-tmbl-latest-master-py3
8888
# - package-opensuse-tmbl-latest-master-py3
8989
# - repo-opensuse-tmbl-latest-master-py3

docker/clean.sls

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22
# vim: ft=sls
33

44
include:
5-
# .containers.clean
5+
- .containers.clean
66
- .compose.clean
77
- .software.clean

docker/compose/clean.sls

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,26 @@
11
# -*- coding: utf-8 -*-
22
# vim: ft=sls
3+
{%- set tplroot = tpldir.split('/')[0] %}
4+
{%- from tplroot ~ "/map.jinja" import data as d with context %}
35
6+
{%- set sls_docker_software_clean = tplroot ~ '.software.clean' %}
7+
{%- set sls_compose_software_clean = tplroot ~ '.compose.software.clean' %}
48
include:
5-
- .software.clean
9+
- {{ sls_compose_software_clean }}
10+
11+
{%- for name, container in d.compose.ng.items() %}
12+
13+
docker-compose-ng-{{ container.container_name|d(name) }}-{{ loop.index }}-stopped:
14+
docker_container.stopped:
15+
- name: {{ container.container_name|d(name) }}
16+
- onlyif: docker container inspect {{ container.container_name|d(name) }}
17+
- require_in:
18+
- sls: {{ sls_compose_software_clean }}
19+
20+
docker-compose-ng-{{ container.image }}-{{ loop.index }}-absent:
21+
docker_image.absent:
22+
- name: {{ container.image }}
23+
- require_in:
24+
- sls: {{ sls_compose_software_clean }}
25+
26+
{% endfor %}

docker/compose/software/binary/clean.sls

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,14 @@ docker-compose-archive-absent:
1414
file.absent:
1515
- names:
1616
- {{ d.dir.tmp }}/docker-compose
17+
{%- if 'path' in d.pkg.compose %}
1718
- {{ d.pkg.compose.path }}
19+
{%- endif %}
1820
{%- if d.linux.altpriority|int == 0 or grains.os_family in ('Arch', 'MacOS') %}
1921
{%- if 'commands' in d.pkg.compose %}
2022
{%- for cmd in d.pkg.compose.commands|unique %}
2123
- /usr/local/bin/{{ cmd }}
2224
{%- endfor %}
2325
{%- endif %}
2426
{%- endif %}
25-
2627
{%- endif %}

docker/osfamilymap.yaml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ RedHat:
5252
pkg:
5353
deps:
5454
- python3-pip
55-
# python3-docker
5655
- iptables
5756
- git
5857
- tar
@@ -67,8 +66,8 @@ RedHat:
6766
Suse:
6867
pkg:
6968
deps:
70-
- python3-pip
71-
- python3-docker
69+
- python38-pip
70+
- python38-docker
7271
- tar
7372
- gzip
7473
docker:

docker/osfingermap.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ CentOS Linux-7:
3131
- selinux-policy-minimum
3232
- yum-plugin-versionlock
3333
- python3-pip
34+
- python36-docker
3435
- iptables
3536
- git
3637
- tar

docker/osmap.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ AlmaLinux:
1717
pkg:
1818
deps:
1919
- python3-dnf-plugin-versionlock
20+
- python3-docker
2021
docker:
2122
repo:
2223
baseurl: 'https://download.docker.com/linux/centos/{{ grains.get('osmajorrelease', '') }}/$basearch/stable'
@@ -27,6 +28,7 @@ Rocky:
2728
pkg:
2829
deps:
2930
- python3-dnf-plugin-versionlock
31+
- python3-docker
3032
docker:
3133
repo:
3234
baseurl: 'https://download.docker.com/linux/centos/{{ grains.get('osmajorrelease', '') }}/$basearch/stable'
@@ -68,3 +70,4 @@ Fedora:
6870
deps:
6971
- selinux-policy-minimum
7072
- python3-dnf-plugin-versionlock
73+
- python3-docker

docker/software/archive/install.sls

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
1111
docker-software-docker-archive-install:
1212
{%- if 'deps' in d.pkg and d.pkg.deps %}
13-
{%- if grains.os|lower in ('centos', 'redhat') %}
13+
{%- if grains.os|lower in ('redhat', 'centos') %}
1414
# python-docker package is not available or too old on CentOS, RedHat
1515
# https://github.com/saltstack/salt/issues/58920
1616
pip.installed:

docker/software/package/clean.sls

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@ include:
1515
{%- if grains.kernel|lower in ('linux', 'darwin') %}
1616
docker-software-package-clean-pkg:
1717
pkg.removed:
18-
- name: {{ d.pkg.docker.name }}
18+
- names:
19+
- {{ d.pkg.docker.name }}
20+
- python3-docker
1921
- reload_modules: {{ d.misc.reload|default(true, true) }}
2022
{%- if enable_repo %}
2123
- require:

kitchen.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -730,6 +730,7 @@ suites:
730730
base:
731731
'*':
732732
- docker._mapdata
733+
- docker
733734
- docker.clean
734735
pillars:
735736
top.sls:
@@ -741,3 +742,38 @@ suites:
741742
verifier:
742743
inspec_tests:
743744
- path: test/integration/clean
745+
- name: composeclean
746+
provisioner:
747+
state_top:
748+
base:
749+
'*':
750+
- docker._mapdata
751+
- docker
752+
- docker.compose.clean
753+
pillars:
754+
top.sls:
755+
base:
756+
'*':
757+
- docker
758+
pillars_from_files:
759+
docker.sls: test/salt/pillar/dockeronly.sls
760+
verifier:
761+
inspec_tests:
762+
- path: test/integration/dockeronly
763+
- name: dockeronly
764+
provisioner:
765+
state_top:
766+
base:
767+
'*':
768+
- docker._mapdata
769+
- docker
770+
pillars:
771+
top.sls:
772+
base:
773+
'*':
774+
- docker
775+
pillars_from_files:
776+
docker.sls: test/salt/pillar/dockeronly.sls
777+
verifier:
778+
inspec_tests:
779+
- path: test/integration/dockeronly

0 commit comments

Comments
 (0)