Skip to content

Commit

Permalink
test(map): verify map.jinja dump using _mapdata state
Browse files Browse the repository at this point in the history
* Semi-automated using myii/ssf-formula#271
  • Loading branch information
myii committed Oct 20, 2020
1 parent d043d4c commit 5f011f7
Show file tree
Hide file tree
Showing 29 changed files with 892 additions and 100 deletions.
75 changes: 50 additions & 25 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,35 +72,60 @@ jobs:
## Define the rest of the matrix based on Kitchen testing
# Make sure the instances listed below match up with
# the `platforms` defined in `kitchen.yml`
# - env: INSTANCE=default-debian-10-tiamat-py3
# - env: INSTANCE=default-debian-9-tiamat-py3
# - env: INSTANCE=default-ubuntu-2004-tiamat-py3
# - env: INSTANCE=default-ubuntu-1804-tiamat-py3
# - env: INSTANCE=default-ubuntu-1604-tiamat-py3
# - env: INSTANCE=default-centos-8-tiamat-py3
# - env: INSTANCE=default-centos-7-tiamat-py3
# - env: INSTANCE=default-amazonlinux-2-tiamat-py3
# - env: INSTANCE=default-oraclelinux-8-tiamat-py3
# - env: INSTANCE=default-oraclelinux-7-tiamat-py3
- env: INSTANCE=default-debian-10-master-py3
# - env: INSTANCE=default-debian-9-master-py3
- env: INSTANCE=default-ubuntu-2004-master-py3
# - env: INSTANCE=default-ubuntu-1804-master-py3
# - env: INSTANCE=default-ubuntu-1604-master-py3
# - env: INSTANCE=default-centos-8-master-py3
- env: INSTANCE=default-centos-7-master-py3
# - env: INSTANCE=default-fedora-32-master-py3
# - env: INSTANCE=default-fedora-31-master-py3
# - env: INSTANCE=default-opensuse-leap-151-master-py3
# - env: INSTANCE=default-amazonlinux-2-master-py3
# - env: INSTANCE=default-debian-10-2019-2-py3
# - env: INSTANCE=default-debian-9-2019-2-py3
- env: INSTANCE=default-ubuntu-1804-2019-2-py3
# - env: INSTANCE=default-centos-8-2019-2-py3
# - env: INSTANCE=default-fedora-31-2019-2-py3
# - env: INSTANCE=default-opensuse-leap-151-2019-2-py3
# - env: INSTANCE=default-centos-7-2019-2-py2
- env: INSTANCE=default-amazonlinux-2-2019-2-py3
# - env: INSTANCE=default-arch-base-latest-2019-2-py2
# - env: INSTANCE=default-fedora-30-2018-3-py3
# - env: INSTANCE=default-debian-9-2018-3-py2
# - env: INSTANCE=default-ubuntu-1604-2018-3-py2
- env: INSTANCE=default-centos-7-2018-3-py2
- env: INSTANCE=default-opensuse-leap-151-2018-3-py2
# - env: INSTANCE=default-amazonlinux-1-2018-3-py2
# - env: INSTANCE=default-arch-base-latest-2018-3-py2
# - env: INSTANCE=default-debian-8-2017-7-py2
# - env: INSTANCE=default-ubuntu-1604-2017-7-py2
- env: INSTANCE=default-centos-6-2017-7-py2
# - env: INSTANCE=default-fedora-30-2017-7-py2
# - env: INSTANCE=default-opensuse-leap-151-2017-7-py2
# - env: INSTANCE=default-amazonlinux-1-2017-7-py2
# - env: INSTANCE=default-arch-base-latest-2017-7-py2
- env: INSTANCE=default-opensuse-leap-152-master-py3
- env: INSTANCE=default-amazonlinux-2-master-py3
# - env: INSTANCE=default-oraclelinux-8-master-py3
# - env: INSTANCE=default-gentoo-stage3-latest-master-py3
# - env: INSTANCE=default-gentoo-stage3-systemd-master-py3
# - env: INSTANCE=default-debian-10-3001-py3
# - env: INSTANCE=default-debian-9-3001-py3
# - env: INSTANCE=default-ubuntu-2004-3001-py3
# - env: INSTANCE=default-ubuntu-1804-3001-py3
# - env: INSTANCE=default-ubuntu-1604-3001-py3
# - env: INSTANCE=default-centos-8-3001-py3
# - env: INSTANCE=default-centos-7-3001-py3
# - env: INSTANCE=default-fedora-32-3001-py3
# - env: INSTANCE=default-fedora-31-3001-py3
# - env: INSTANCE=default-opensuse-leap-152-3001-py3
# - env: INSTANCE=default-amazonlinux-2-3001-py3
# - env: INSTANCE=default-oraclelinux-8-3001-py3
- env: INSTANCE=default-oraclelinux-7-3001-py3
# - env: INSTANCE=default-gentoo-stage3-latest-3001-py3
# - env: INSTANCE=default-gentoo-stage3-systemd-3001-py3
# - env: INSTANCE=default-debian-10-3000-3-py3
# - env: INSTANCE=default-debian-9-3000-3-py3
# - env: INSTANCE=default-ubuntu-1804-3000-3-py3
# - env: INSTANCE=default-centos-8-3000-3-py3
# - env: INSTANCE=default-centos-7-3000-3-py3
# - env: INSTANCE=default-fedora-31-3000-3-py3
# - env: INSTANCE=default-opensuse-leap-152-3000-3-py3
# - env: INSTANCE=default-amazonlinux-2-3000-3-py3
# - env: INSTANCE=default-oraclelinux-8-3000-3-py3
# - env: INSTANCE=default-oraclelinux-7-3000-3-py3
# - env: INSTANCE=default-gentoo-stage3-latest-3000-3-py3
# - env: INSTANCE=default-gentoo-stage3-systemd-3000-3-py3
# - env: INSTANCE=default-ubuntu-1804-3000-3-py2
# - env: INSTANCE=default-ubuntu-1604-3000-3-py2
# - env: INSTANCE=default-arch-base-latest-3000-3-py2

## Define the release stage that runs `semantic-release`
- stage: 'release'
Expand Down
11 changes: 6 additions & 5 deletions kitchen.github.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@ platforms:
provisioner:
salt_install: bootstrap
salt_bootstrap_options: -pythonVersion 3
init_environment: >
C:\salt\salt-call --local state.single file.managed
C:\Users\kitchen\AppData\Local\Temp\kitchen\srv\salt\win\repo-ng\openvpn.sls
source=https://github.com/saltstack/salt-winrepo-ng/raw/master/openvpn.sls
skip_verify=True makedirs=True; exit 0
init_environment: |
C:\salt\salt-call --local state.single file.managed `
C:\Users\kitchen\AppData\Local\Temp\kitchen\srv\salt\win\repo-ng\openvpn.sls `
source=https://github.com/saltstack/salt-winrepo-ng/raw/master/openvpn.sls `
skip_verify=True makedirs=True
exit 0
14 changes: 9 additions & 5 deletions kitchen.vagrant.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,12 @@ platforms:
gui: false
linked_clone: true
provisioner:
init_environment: >
salt-call --local state.single file.managed
C:\Users\vagrant\AppData\Local\Temp\kitchen\srv\salt\win\repo-ng\openvpn.sls
source=https://github.com/saltstack/salt-winrepo-ng/raw/master/openvpn.sls
skip_verify=True makedirs=True; exit 0
init_environment: |
rm -recurse `
C:\Users\vagrant\AppData\Local\Temp\kitchen\var\cache\salt\minion\files\base `
-ErrorAction SilentlyContinue
salt-call --local state.single file.managed `
C:\Users\vagrant\AppData\Local\Temp\kitchen\srv\salt\win\repo-ng\openvpn.sls `
source=https://github.com/saltstack/salt-winrepo-ng/raw/master/openvpn.sls `
skip_verify=True makedirs=True
exit 0
199 changes: 134 additions & 65 deletions kitchen.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,125 +11,193 @@ driver:
# Make sure the platforms listed below match up with
# the `env.matrix` instances defined in `.travis.yml`
platforms:
## SALT `tiamat`
- name: debian-10-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:debian-10
- name: debian-9-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:debian-9
- name: ubuntu-2004-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:ubuntu-20.04
- name: ubuntu-1804-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:ubuntu-18.04
- name: ubuntu-1604-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:ubuntu-16.04
- name: centos-8-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:centos-8
- name: centos-7-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:centos-7
- name: amazonlinux-2-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:amazonlinux-2
- name: oraclelinux-8-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:oraclelinux-8
- name: oraclelinux-7-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:oraclelinux-7

## SALT `master`
- name: debian-10-master-py3
driver:
image: saltimages/salt-master-py3:debian-10
- name: debian-9-master-py3
driver:
image: saltimages/salt-master-py3:debian-9
- name: ubuntu-2004-master-py3
driver:
image: saltimages/salt-master-py3:ubuntu-20.04
- name: ubuntu-1804-master-py3
driver:
image: saltimages/salt-master-py3:ubuntu-18.04
- name: ubuntu-1604-master-py3
driver:
image: saltimages/salt-master-py3:ubuntu-16.04
- name: centos-8-master-py3
driver:
image: saltimages/salt-master-py3:centos-8
- name: centos-7-master-py3
driver:
image: saltimages/salt-master-py3:centos-7
- name: fedora-32-master-py3
driver:
image: saltimages/salt-master-py3:fedora-32
- name: fedora-31-master-py3
driver:
image: saltimages/salt-master-py3:fedora-31
- name: opensuse-leap-151-master-py3
- name: opensuse-leap-152-master-py3
driver:
image: netmanagers/salt-master-py3:opensuse-leap-15.1
image: saltimages/salt-master-py3:opensuse-leap-15.2
run_command: /usr/lib/systemd/systemd
# Workaround to avoid intermittent failures on `opensuse-leap-15.1`:
# Workaround to avoid intermittent failures on `opensuse-leap-15.2`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: amazonlinux-2-master-py3
driver:
image: saltimages/salt-master-py3:amazonlinux-2

## SALT `2019.2`
- name: debian-10-2019-2-py3
- name: oraclelinux-8-master-py3
driver:
image: saltimages/salt-2019.2-py3:debian-10
- name: debian-9-2019-2-py3
image: saltimages/salt-master-py3:oraclelinux-8
- name: gentoo-stage3-latest-master-py3
driver:
image: saltimages/salt-2019.2-py3:debian-9
- name: ubuntu-1804-2019-2-py3
image: saltimages/salt-master-py3:gentoo-stage3-latest
run_command: /sbin/init
- name: gentoo-stage3-systemd-master-py3
driver:
image: saltimages/salt-2019.2-py3:ubuntu-18.04
- name: centos-8-2019-2-py3
image: saltimages/salt-master-py3:gentoo-stage3-systemd

## SALT `3001`
- name: debian-10-3001-py3
driver:
image: saltimages/salt-2019.2-py3:centos-8
- name: fedora-31-2019-2-py3
image: saltimages/salt-3001-py3:debian-10
- name: debian-9-3001-py3
driver:
image: saltimages/salt-2019.2-py3:fedora-31
- name: opensuse-leap-151-2019-2-py3
image: saltimages/salt-3001-py3:debian-9
- name: ubuntu-2004-3001-py3
driver:
image: netmanagers/salt-2019.2-py3:opensuse-leap-15.1
run_command: /usr/lib/systemd/systemd
# Workaround to avoid intermittent failures on `opensuse-leap-15.1`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: centos-7-2019-2-py2
image: saltimages/salt-3001-py3:ubuntu-20.04
- name: ubuntu-1804-3001-py3
driver:
image: netmanagers/salt-2019.2-py2:centos-7
- name: amazonlinux-2-2019-2-py3
image: saltimages/salt-3001-py3:ubuntu-18.04
- name: ubuntu-1604-3001-py3
driver:
image: saltimages/salt-2019.2-py3:amazonlinux-2
- name: arch-base-latest-2019-2-py2
driver:
image: saltimages/salt-2019.2-py2:arch-base-latest
run_command: /usr/lib/systemd/systemd

## SALT `2018.3`
- name: fedora-30-2018-3-py3
image: saltimages/salt-3001-py3:ubuntu-16.04
- name: centos-8-3001-py3
driver:
image: netmanagers/salt-2018.3-py3:fedora-30
- name: debian-9-2018-3-py2
image: saltimages/salt-3001-py3:centos-8
- name: centos-7-3001-py3
driver:
image: netmanagers/salt-2018.3-py2:debian-9
- name: ubuntu-1604-2018-3-py2
image: saltimages/salt-3001-py3:centos-7
- name: fedora-32-3001-py3
driver:
image: netmanagers/salt-2018.3-py2:ubuntu-16.04
- name: centos-7-2018-3-py2
image: saltimages/salt-3001-py3:fedora-32
- name: fedora-31-3001-py3
driver:
image: netmanagers/salt-2018.3-py2:centos-7
- name: opensuse-leap-151-2018-3-py2
image: saltimages/salt-3001-py3:fedora-31
- name: opensuse-leap-152-3001-py3
driver:
image: netmanagers/salt-2018.3-py2:opensuse-leap-15.1
image: saltimages/salt-3001-py3:opensuse-leap-15.2
run_command: /usr/lib/systemd/systemd
# Workaround to avoid intermittent failures on `opensuse-leap-15.1`:
# Workaround to avoid intermittent failures on `opensuse-leap-15.2`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: amazonlinux-1-2018-3-py2
- name: amazonlinux-2-3001-py3
driver:
image: saltimages/salt-3001-py3:amazonlinux-2
- name: oraclelinux-8-3001-py3
driver:
image: saltimages/salt-3001-py3:oraclelinux-8
- name: oraclelinux-7-3001-py3
driver:
image: netmanagers/salt-2018.3-py2:amazonlinux-1
image: saltimages/salt-3001-py3:oraclelinux-7
- name: gentoo-stage3-latest-3001-py3
driver:
image: saltimages/salt-3001-py3:gentoo-stage3-latest
run_command: /sbin/init
- name: arch-base-latest-2018-3-py2
- name: gentoo-stage3-systemd-3001-py3
driver:
image: netmanagers/salt-2018.3-py2:arch-base-latest
run_command: /usr/lib/systemd/systemd
image: saltimages/salt-3001-py3:gentoo-stage3-systemd

## SALT `2017.7`
- name: debian-8-2017-7-py2
## SALT `3000.3`
- name: debian-10-3000-3-py3
driver:
image: netmanagers/salt-2017.7-py2:debian-8
- name: ubuntu-1604-2017-7-py2
image: saltimages/salt-3000.3-py3:debian-10
- name: debian-9-3000-3-py3
driver:
image: netmanagers/salt-2017.7-py2:ubuntu-16.04
- name: centos-6-2017-7-py2
image: saltimages/salt-3000.3-py3:debian-9
- name: ubuntu-1804-3000-3-py3
driver:
image: netmanagers/salt-2017.7-py2:centos-6
run_command: /sbin/init
- name: fedora-30-2017-7-py2
image: saltimages/salt-3000.3-py3:ubuntu-18.04
- name: centos-8-3000-3-py3
driver:
image: saltimages/salt-3000.3-py3:centos-8
- name: centos-7-3000-3-py3
driver:
image: saltimages/salt-3000.3-py3:centos-7
- name: fedora-31-3000-3-py3
driver:
image: netmanagers/salt-2017.7-py2:fedora-30
- name: opensuse-leap-151-2017-7-py2
image: saltimages/salt-3000.3-py3:fedora-31
- name: opensuse-leap-152-3000-3-py3
driver:
image: netmanagers/salt-2017.7-py2:opensuse-leap-15.1
image: saltimages/salt-3000.3-py3:opensuse-leap-15.2
run_command: /usr/lib/systemd/systemd
# Workaround to avoid intermittent failures on `opensuse-leap-15.1`:
# Workaround to avoid intermittent failures on `opensuse-leap-15.2`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: amazonlinux-1-2017-7-py2
- name: amazonlinux-2-3000-3-py3
driver:
image: saltimages/salt-3000.3-py3:amazonlinux-2
- name: oraclelinux-8-3000-3-py3
driver:
image: saltimages/salt-3000.3-py3:oraclelinux-8
- name: oraclelinux-7-3000-3-py3
driver:
image: netmanagers/salt-2017.7-py2:amazonlinux-1
image: saltimages/salt-3000.3-py3:oraclelinux-7
- name: gentoo-stage3-latest-3000-3-py3
driver:
image: saltimages/salt-3000.3-py3:gentoo-stage3-latest
run_command: /sbin/init
- name: arch-base-latest-2017-7-py2
- name: gentoo-stage3-systemd-3000-3-py3
driver:
image: saltimages/salt-3000.3-py3:gentoo-stage3-systemd
- name: ubuntu-1804-3000-3-py2
driver:
image: saltimages/salt-3000.3-py2:ubuntu-18.04
- name: ubuntu-1604-3000-3-py2
driver:
image: saltimages/salt-3000.3-py2:ubuntu-16.04
- name: arch-base-latest-3000-3-py2
driver:
image: netmanagers/salt-2017.7-py2:arch-base-latest
image: saltimages/salt-3000.3-py2:arch-base-latest
run_command: /usr/lib/systemd/systemd

provisioner:
Expand All @@ -156,6 +224,7 @@ suites:
state_top:
base:
'*':
- openvpn._mapdata
- openvpn.config
pillars:
top.sls:
Expand Down
13 changes: 13 additions & 0 deletions openvpn/_mapdata/_mapdata.jinja
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# yamllint disable rule:indentation rule:line-length
# {{ grains.get('osfinger', grains.os) }}
---
{#- use salt.slsutil.serialize to avoid encoding errors on some platforms #}
{{ salt['slsutil.serialize'](
'yaml',
map,
default_flow_style=False,
allow_unicode=True,
)
| regex_replace("^\s+'$", "'", multiline=True)
| trim
}}
Loading

0 comments on commit 5f011f7

Please sign in to comment.