ci(kitchen+travis): adjust matrix to add `3000.2` & remove `2018.3`tags/v1.4.1
## Define the rest of the matrix based on Kitchen testing | ## Define the rest of the matrix based on Kitchen testing | ||||
# Make sure the instances listed below match up with | # Make sure the instances listed below match up with | ||||
# the `platforms` defined in `kitchen.yml` | # the `platforms` defined in `kitchen.yml` | ||||
- env: INSTANCE=v3000-py3-debian-10-3000-1-py3 | |||||
- env: INSTANCE=v3000-py3-ubuntu-1804-3000-1-py3 | |||||
- env: INSTANCE=v3000-py3-centos-8-3000-1-py3 | |||||
- env: INSTANCE=v3000-py3-fedora-31-3000-1-py3 | |||||
# - env: INSTANCE=v3000-py3-opensuse-leap-151-3000-1-py3 | |||||
- env: INSTANCE=v3000-py3-amazonlinux-2-3000-1-py3 | |||||
# - env: INSTANCE=v3000-py2-arch-base-latest-3000-1-py2 | |||||
- env: INSTANCE=v3000-py3-debian-10-3000-2-py3 | |||||
# - env: INSTANCE=v3000-py3-debian-9-3000-2-py3 | |||||
# - env: INSTANCE=v3000-py3-ubuntu-1804-3000-2-py3 | |||||
- env: INSTANCE=v3000-py3-centos-8-3000-2-py3 | |||||
# - env: INSTANCE=v3000-py3-centos-7-3000-2-py3 | |||||
- env: INSTANCE=v3000-py3-fedora-31-3000-2-py3 | |||||
# - env: INSTANCE=v3000-py3-opensuse-leap-151-3000-2-py3 | |||||
- env: INSTANCE=v3000-py3-amazonlinux-2-3000-2-py3 | |||||
- env: INSTANCE=v3000-py2-ubuntu-1804-3000-2-py2 | |||||
# - env: INSTANCE=v3000-py2-ubuntu-1604-3000-2-py2 | |||||
# - env: INSTANCE=v201902-py3-debian-10-2019-2-py3 | # - env: INSTANCE=v201902-py3-debian-10-2019-2-py3 | ||||
- env: INSTANCE=v201902-py3-debian-9-2019-2-py3 | - env: INSTANCE=v201902-py3-debian-9-2019-2-py3 | ||||
# - env: INSTANCE=v201902-py3-ubuntu-1804-2019-2-py3 | # - env: INSTANCE=v201902-py3-ubuntu-1804-2019-2-py3 | ||||
- env: INSTANCE=v201902-py3-ubuntu-1604-2019-2-py3 | |||||
# - env: INSTANCE=v201902-py3-centos-8-2019-2-py3 | # - env: INSTANCE=v201902-py3-centos-8-2019-2-py3 | ||||
- env: INSTANCE=v201902-py3-centos-7-2019-2-py3 | |||||
# - env: INSTANCE=v201902-py3-fedora-31-2019-2-py3 | |||||
- env: INSTANCE=v201902-py3-opensuse-leap-151-2019-2-py3 | - env: INSTANCE=v201902-py3-opensuse-leap-151-2019-2-py3 | ||||
# - env: INSTANCE=v201902-py3-amazonlinux-2-2019-2-py3 | # - env: INSTANCE=v201902-py3-amazonlinux-2-2019-2-py3 | ||||
- env: INSTANCE=v201902-py2-ubuntu-1804-2019-2-py2 | |||||
# - env: INSTANCE=v201902-py2-centos-7-2019-2-py2 | |||||
# - env: INSTANCE=v201902-py2-arch-base-latest-2019-2-py2 | |||||
# - env: INSTANCE=v201803-py2-debian-9-2018-3-py2 | |||||
- env: INSTANCE=v201803-py2-ubuntu-1604-2018-3-py2 | |||||
- env: INSTANCE=v201803-py2-centos-7-2018-3-py2 | |||||
# - env: INSTANCE=v201803-py2-amazonlinux-1-2018-3-py2 | |||||
# - env: INSTANCE=v201803-py2-arch-base-latest-2018-3-py2 | |||||
- env: INSTANCE=v201902-py2-centos-6-2019-2-py2 | |||||
# - env: INSTANCE=v201902-py2-amazonlinux-1-2019-2-py2 | |||||
## Define the release stage that runs `semantic-release` | ## Define the release stage that runs `semantic-release` | ||||
- stage: 'release' | - stage: 'release' |
# Make sure the platforms listed below match up with | # Make sure the platforms listed below match up with | ||||
# the `env.matrix` instances defined in `.travis.yml` | # the `env.matrix` instances defined in `.travis.yml` | ||||
platforms: | platforms: | ||||
## SALT `3000.1` | |||||
- name: debian-10-3000-1-py3 | |||||
## SALT `3000.2` | |||||
- name: debian-10-3000-2-py3 | |||||
driver: | driver: | ||||
image: netmanagers/salt-3000.1-py3:debian-10 | |||||
- name: ubuntu-1804-3000-1-py3 | |||||
image: netmanagers/salt-3000.2-py3:debian-10 | |||||
- name: debian-9-3000-2-py3 | |||||
driver: | driver: | ||||
image: netmanagers/salt-3000.1-py3:ubuntu-18.04 | |||||
- name: centos-8-3000-1-py3 | |||||
image: netmanagers/salt-3000.2-py3:debian-9 | |||||
- name: ubuntu-1804-3000-2-py3 | |||||
driver: | driver: | ||||
image: netmanagers/salt-3000.1-py3:centos-8 | |||||
- name: fedora-31-3000-1-py3 | |||||
image: netmanagers/salt-3000.2-py3:ubuntu-18.04 | |||||
- name: centos-8-3000-2-py3 | |||||
driver: | driver: | ||||
image: netmanagers/salt-3000.1-py3:fedora-31 | |||||
- name: opensuse-leap-151-3000-1-py3 | |||||
image: netmanagers/salt-3000.2-py3:centos-8 | |||||
- name: centos-7-3000-2-py3 | |||||
driver: | driver: | ||||
image: netmanagers/salt-3000.1-py3:opensuse-leap-15.1 | |||||
image: netmanagers/salt-3000.2-py3:centos-7 | |||||
- name: fedora-31-3000-2-py3 | |||||
driver: | |||||
image: netmanagers/salt-3000.2-py3:fedora-31 | |||||
- name: opensuse-leap-151-3000-2-py3 | |||||
driver: | |||||
image: netmanagers/salt-3000.2-py3:opensuse-leap-15.1 | |||||
run_command: /usr/lib/systemd/systemd | 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.1`: | ||||
# => SCP did not finish successfully (255): (Net::SCP::Error) | # => SCP did not finish successfully (255): (Net::SCP::Error) | ||||
transport: | transport: | ||||
max_ssh_sessions: 1 | max_ssh_sessions: 1 | ||||
- name: amazonlinux-2-3000-1-py3 | |||||
- name: amazonlinux-2-3000-2-py3 | |||||
driver: | driver: | ||||
image: netmanagers/salt-3000.1-py3:amazonlinux-2 | |||||
- name: arch-base-latest-3000-1-py2 | |||||
image: netmanagers/salt-3000.2-py3:amazonlinux-2 | |||||
- name: ubuntu-1804-3000-2-py2 | |||||
driver: | driver: | ||||
image: netmanagers/salt-3000.1-py2:arch-base-latest | |||||
run_command: /usr/lib/systemd/systemd | |||||
image: netmanagers/salt-3000.2-py2:ubuntu-18.04 | |||||
- name: ubuntu-1604-3000-2-py2 | |||||
driver: | |||||
image: netmanagers/salt-3000.2-py2:ubuntu-16.04 | |||||
## SALT `2019.2` | ## SALT `2019.2` | ||||
- name: debian-10-2019-2-py3 | - name: debian-10-2019-2-py3 | ||||
- name: ubuntu-1804-2019-2-py3 | - name: ubuntu-1804-2019-2-py3 | ||||
driver: | driver: | ||||
image: netmanagers/salt-2019.2-py3:ubuntu-18.04 | image: netmanagers/salt-2019.2-py3:ubuntu-18.04 | ||||
- name: ubuntu-1604-2019-2-py3 | |||||
driver: | |||||
image: netmanagers/salt-2019.2-py3:ubuntu-16.04 | |||||
- name: centos-8-2019-2-py3 | - name: centos-8-2019-2-py3 | ||||
driver: | driver: | ||||
image: netmanagers/salt-2019.2-py3:centos-8 | image: netmanagers/salt-2019.2-py3:centos-8 | ||||
- name: centos-7-2019-2-py3 | |||||
driver: | |||||
image: netmanagers/salt-2019.2-py3:centos-7 | |||||
- name: fedora-31-2019-2-py3 | - name: fedora-31-2019-2-py3 | ||||
driver: | driver: | ||||
image: netmanagers/salt-2019.2-py3:fedora-31 | image: netmanagers/salt-2019.2-py3:fedora-31 | ||||
- name: amazonlinux-2-2019-2-py3 | - name: amazonlinux-2-2019-2-py3 | ||||
driver: | driver: | ||||
image: netmanagers/salt-2019.2-py3:amazonlinux-2 | image: netmanagers/salt-2019.2-py3:amazonlinux-2 | ||||
- name: ubuntu-1804-2019-2-py2 | |||||
driver: | |||||
image: netmanagers/salt-2019.2-py2:ubuntu-18.04 | |||||
- name: centos-7-2019-2-py2 | |||||
- name: centos-6-2019-2-py2 | |||||
driver: | driver: | ||||
image: netmanagers/salt-2019.2-py2:centos-7 | |||||
- name: arch-base-latest-2019-2-py2 | |||||
driver: | |||||
image: netmanagers/salt-2019.2-py2:arch-base-latest | |||||
run_command: /usr/lib/systemd/systemd | |||||
## SALT `2018.3` | |||||
- name: debian-9-2018-3-py2 | |||||
driver: | |||||
image: netmanagers/salt-2018.3-py2:debian-9 | |||||
- name: ubuntu-1604-2018-3-py2 | |||||
driver: | |||||
image: netmanagers/salt-2018.3-py2:ubuntu-16.04 | |||||
- name: centos-7-2018-3-py2 | |||||
driver: | |||||
image: netmanagers/salt-2018.3-py2:centos-7 | |||||
- name: amazonlinux-1-2018-3-py2 | |||||
driver: | |||||
image: netmanagers/salt-2018.3-py2:amazonlinux-1 | |||||
image: netmanagers/salt-2019.2-py2:centos-6 | |||||
run_command: /sbin/init | run_command: /sbin/init | ||||
- name: arch-base-latest-2018-3-py2 | |||||
- name: amazonlinux-1-2019-2-py2 | |||||
driver: | driver: | ||||
image: netmanagers/salt-2018.3-py2:arch-base-latest | |||||
run_command: /usr/lib/systemd/systemd | |||||
image: netmanagers/salt-2019.2-py2:amazonlinux-1 | |||||
run_command: /sbin/init | |||||
provisioner: | provisioner: | ||||
name: salt_solo | name: salt_solo | ||||
suites: | suites: | ||||
- name: v3000-py3 | - name: v3000-py3 | ||||
includes: | includes: | ||||
- debian-10-3000-1-py3 | |||||
- ubuntu-1804-3000-1-py3 | |||||
- centos-8-3000-1-py3 | |||||
- fedora-31-3000-1-py3 | |||||
- opensuse-leap-151-3000-1-py3 | |||||
- amazonlinux-2-3000-1-py3 | |||||
- debian-10-3000-2-py3 | |||||
- debian-9-3000-2-py3 | |||||
- ubuntu-1804-3000-2-py3 | |||||
- centos-8-3000-2-py3 | |||||
- centos-7-3000-2-py3 | |||||
- fedora-31-3000-2-py3 | |||||
- opensuse-leap-151-3000-2-py3 | |||||
- amazonlinux-2-3000-2-py3 | |||||
provisioner: | provisioner: | ||||
state_top: | state_top: | ||||
base: | base: | ||||
- path: test/integration/v3000-py3 | - path: test/integration/v3000-py3 | ||||
- name: v3000-py2 | - name: v3000-py2 | ||||
includes: | includes: | ||||
- arch-base-latest-3000-1-py2 | |||||
- ubuntu-1804-3000-2-py2 | |||||
- ubuntu-1604-3000-2-py2 | |||||
provisioner: | provisioner: | ||||
state_top: | state_top: | ||||
base: | base: | ||||
- debian-10-2019-2-py3 | - debian-10-2019-2-py3 | ||||
- debian-9-2019-2-py3 | - debian-9-2019-2-py3 | ||||
- ubuntu-1804-2019-2-py3 | - ubuntu-1804-2019-2-py3 | ||||
- ubuntu-1604-2019-2-py3 | |||||
- centos-8-2019-2-py3 | - centos-8-2019-2-py3 | ||||
- centos-7-2019-2-py3 | |||||
- fedora-31-2019-2-py3 | |||||
- opensuse-leap-151-2019-2-py3 | - opensuse-leap-151-2019-2-py3 | ||||
- amazonlinux-2-2019-2-py3 | - amazonlinux-2-2019-2-py3 | ||||
provisioner: | provisioner: | ||||
- path: test/integration/v201902-py3 | - path: test/integration/v201902-py3 | ||||
- name: v201902-py2 | - name: v201902-py2 | ||||
includes: | includes: | ||||
- ubuntu-1804-2019-2-py2 | |||||
- centos-7-2019-2-py2 | |||||
- arch-base-latest-2019-2-py2 | |||||
- centos-6-2019-2-py2 | |||||
- amazonlinux-1-2019-2-py2 | |||||
provisioner: | provisioner: | ||||
state_top: | state_top: | ||||
base: | base: | ||||
verifier: | verifier: | ||||
inspec_tests: | inspec_tests: | ||||
- path: test/integration/v201902-py2 | - path: test/integration/v201902-py2 | ||||
- name: v201803-py2 | |||||
includes: | |||||
- debian-9-2018-3-py2 | |||||
- ubuntu-1604-2018-3-py2 | |||||
- centos-7-2018-3-py2 | |||||
- amazonlinux-1-2018-3-py2 | |||||
- arch-base-latest-2018-3-py2 | |||||
provisioner: | |||||
state_top: | |||||
base: | |||||
'*': | |||||
- salt.pkgrepo | |||||
- salt.master | |||||
- salt.minion | |||||
pillars: | |||||
top.sls: | |||||
base: | |||||
'*': | |||||
- salt | |||||
- v201803-py2 | |||||
pillars_from_files: | |||||
salt.sls: test/salt/pillar/salt.sls | |||||
v201803-py2.sls: test/salt/pillar/v201803-py2.sls | |||||
verifier: | |||||
inspec_tests: | |||||
- path: test/integration/v201803-py2 |
# InSpec Profile: `v201803-py2` | |||||
This shows the implementation of the `v201803-py2` InSpec [profile](https://github.com/inspec/inspec/blob/master/docs/profiles.md). | |||||
## Verify a profile | |||||
InSpec ships with built-in features to verify a profile structure. | |||||
```bash | |||||
$ inspec check v201803-py2 | |||||
Summary | |||||
------- | |||||
Location: v201803-py2 | |||||
Profile: profile | |||||
Controls: 4 | |||||
Timestamp: 2019-06-24T23:09:01+00:00 | |||||
Valid: true | |||||
Errors | |||||
------ | |||||
Warnings | |||||
-------- | |||||
``` | |||||
## Execute a profile | |||||
To run all **supported** controls on a local machine use `inspec exec /path/to/profile`. | |||||
```bash | |||||
$ inspec exec v201803-py2 | |||||
.. | |||||
Finished in 0.0025 seconds (files took 0.12449 seconds to load) | |||||
8 examples, 0 failures | |||||
``` | |||||
## Execute a specific control from a profile | |||||
To run one control from the profile use `inspec exec /path/to/profile --controls name`. | |||||
```bash | |||||
$ inspec exec v201803-py2 --controls package | |||||
. | |||||
Finished in 0.0025 seconds (files took 0.12449 seconds to load) | |||||
1 examples, 0 failures | |||||
``` | |||||
See an [example control here](https://github.com/inspec/inspec/blob/master/examples/profile/controls/example.rb). |
# -*- coding: utf-8 -*- | |||||
# vim: ft=yaml | |||||
--- | |||||
name: v201803-py2 | |||||
title: salt formula | |||||
maintainer: SaltStack Formulas | |||||
license: Apache-2.0 | |||||
summary: Verify that Salt `v201803-py2` is setup and configured | |||||
supports: | |||||
- platform-name: debian | |||||
- platform-name: ubuntu | |||||
- platform-name: centos | |||||
- platform-name: fedora | |||||
- platform-name: opensuse | |||||
- platform-name: suse | |||||
- platform-name: freebsd | |||||
- platform-name: amazon | |||||
- platform-name: arch |
# frozen_string_literal: true | # frozen_string_literal: true | ||||
# Prepare platform "finger" | |||||
platform_finger = "#{platform[:name]}-#{platform[:release].split('.')[0]}" | |||||
version = | version = | ||||
case platform[:family] | case platform[:family] | ||||
when 'redhat' | |||||
'2019.2.3-1.el7' | |||||
when 'debian' | when 'debian' | ||||
'2019.2.3+ds-1' | |||||
'2019.2.4+ds-1' | |||||
when 'redhat' | |||||
case platform_finger | |||||
when 'centos-7' | |||||
'2019.2.4-1.el7' | |||||
when 'centos-6' | |||||
'2019.2.4-1.el6' | |||||
when 'amazon-2' | |||||
'2019.2.4-1.amzn2' | |||||
when 'amazon-2018' | |||||
'2019.2.4-1.amzn1' | |||||
end | |||||
end | end | ||||
control 'salt packages' do | control 'salt packages' do |
# frozen_string_literal: true | # frozen_string_literal: true | ||||
# Prepare platform "finger" | |||||
platform_finger = "#{platform[:name]}-#{platform[:release].split('.')[0]}" | |||||
version = | version = | ||||
case platform[:family] | case platform[:family] | ||||
when 'debian' | |||||
'2019.2.4+ds-1' | |||||
when 'redhat' | when 'redhat' | ||||
case platform[:name] | |||||
when 'amazon' | |||||
'2019.2.3-1.amzn2' | |||||
when 'centos' | |||||
'2019.2.3-1.el8' | |||||
case platform_finger | |||||
when 'centos-8' | |||||
'2019.2.4-1.el8' | |||||
when 'centos-7' | |||||
'2019.2.4-1.el7' | |||||
when 'amazon-2' | |||||
'2019.2.4-1.amzn2' | |||||
end | end | ||||
when 'fedora' | when 'fedora' | ||||
'2019.2.1rc0-3.fc31' | |||||
# Issue in the upstream repo, should be `3000.2` | |||||
'3000.1-1.fc31' | |||||
when 'suse' | when 'suse' | ||||
# Issue in the upstream repo, should be `2019.2.4` | |||||
'2019.2.0-lp151.28.1' | '2019.2.0-lp151.28.1' | ||||
when 'debian' | |||||
'2019.2.3+ds-1' | |||||
end | end | ||||
control 'salt packages' do | control 'salt packages' do |
version = | version = | ||||
case platform[:family] | case platform[:family] | ||||
when 'redhat' | |||||
'2018.3.5-1.el7' | |||||
when 'debian' | when 'debian' | ||||
'2018.3.5+ds-1' | |||||
'3000.2+ds-1' | |||||
end | end | ||||
control 'salt packages' do | control 'salt packages' do |
# frozen_string_literal: true | # frozen_string_literal: true | ||||
# Prepare platform "finger" | |||||
platform_finger = "#{platform[:name]}-#{platform[:release].split('.')[0]}" | |||||
version = | version = | ||||
case platform[:family] | case platform[:family] | ||||
when 'debian' | |||||
'3000.2+ds-1' | |||||
when 'redhat' | when 'redhat' | ||||
case platform[:name] | |||||
when 'amazon' | |||||
'3000.1-1.amzn2' | |||||
when 'centos' | |||||
'3000.1-1.el8' | |||||
case platform_finger | |||||
when 'centos-8' | |||||
'3000.2-1.el8' | |||||
when 'centos-7' | |||||
'3000.2-1.el7' | |||||
when 'amazon-2' | |||||
'3000.2-1.amzn2' | |||||
end | end | ||||
when 'fedora' | when 'fedora' | ||||
# Issue in the upstream repo, should be `3000.2` | |||||
'3000.1-1.fc31' | '3000.1-1.fc31' | ||||
when 'suse' | when 'suse' | ||||
'3000-lp151.28.1' | |||||
when 'debian' | |||||
'3000.1+ds-1' | |||||
# Issue in the upstream repo, should be `3000.2` | |||||
'2019.2.0-lp151.28.1' | |||||
end | end | ||||
control 'salt packages' do | control 'salt packages' do |
# vim: ft=yaml | # vim: ft=yaml | ||||
--- | --- | ||||
salt: | salt: | ||||
release: '2018.3' | |||||
release: '3000' |