2
0

Merge pull request #461 from saltstack-formulas/ci/add-3000-remove-2017.7

ci(kitchen+travis): adjust matrix to add `3000` & remove `2017.7`
This commit is contained in:
Imran Iqbal 2020-03-21 13:08:19 +00:00 committed by GitHub
commit 676688311f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 204 additions and 106 deletions

View File

@ -58,30 +58,27 @@ jobs:
## 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`
# The ordering used below has been selected based on the time required in Travis - env: INSTANCE=v3000-py3-debian-10-3000-py3
# The slower ones are kept as high up as possible, to run concurrently rather than - env: INSTANCE=v3000-py3-ubuntu-1804-3000-py3
# slow down the entire run at the end (i.e. `centos-6` and `opensuse`) - env: INSTANCE=v3000-py3-centos-8-3000-py3
# However, the groupings needed to be maintained in some semblance of order - env: INSTANCE=v3000-py3-fedora-31-3000-py3
# so this is a best-effort matrix, in the circumstances # - env: INSTANCE=v3000-py3-opensuse-leap-151-3000-py3
# - env: INSTANCE=v201707-py2-debian-8-2017-7-py2 - env: INSTANCE=v3000-py3-amazonlinux-2-3000-py3
- env: INSTANCE=v201707-py2-ubuntu-1604-2017-7-py2 # - env: INSTANCE=v3000-py2-arch-base-latest-3000-py2
- env: INSTANCE=v201707-py2-centos-6-2017-7-py2 # - env: INSTANCE=v201902-py3-debian-10-2019-2-py3
# - env: INSTANCE=v201707-py2-amazonlinux-1-2017-7-py2 - env: INSTANCE=v201902-py3-debian-9-2019-2-py3
# - env: INSTANCE=v201707-py2-arch-base-latest-2017-7-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-ubuntu-1804-2019-2-py2
# - env: INSTANCE=v201902-py2-centos-7-2019-2-py2
- env: INSTANCE=v201902-py3-amazonlinux-2-2019-2-py3
# - env: INSTANCE=v201902-py2-arch-base-latest-2019-2-py2
- env: INSTANCE=v201902-py3-debian-10-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-centos-8-2019-2-py3 # - env: INSTANCE=v201902-py3-centos-8-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-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
## Define the release stage that runs `semantic-release` ## Define the release stage that runs `semantic-release`
- stage: 'release' - stage: 'release'

View File

@ -11,59 +11,36 @@ driver:
# 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 `2017.7` ## SALT `3000`
- name: debian-8-2017-7-py2 - name: debian-10-3000-py3
driver: driver:
image: netmanagers/salt-2017.7-py2:debian-8 image: netmanagers/salt-3000-py3:debian-10
- name: ubuntu-1604-2017-7-py2 - name: ubuntu-1804-3000-py3
driver: driver:
image: netmanagers/salt-2017.7-py2:ubuntu-16.04 image: netmanagers/salt-3000-py3:ubuntu-18.04
- name: centos-6-2017-7-py2 - name: centos-8-3000-py3
driver: driver:
image: netmanagers/salt-2017.7-py2:centos-6 image: netmanagers/salt-3000-py3:centos-8
run_command: /sbin/init - name: fedora-31-3000-py3
- name: amazonlinux-1-2017-7-py2
driver: driver:
image: netmanagers/salt-2017.7-py2:amazonlinux-1 image: netmanagers/salt-3000-py3:fedora-31
run_command: /sbin/init - name: opensuse-leap-151-3000-py3
- name: arch-base-latest-2017-7-py2
driver: driver:
image: netmanagers/salt-2017.7-py2:arch-base-latest image: netmanagers/salt-3000-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`:
## SALT `2018.3` # => SCP did not finish successfully (255): (Net::SCP::Error)
- name: debian-9-2018-3-py2 transport:
max_ssh_sessions: 1
- name: amazonlinux-2-3000-py3
driver: driver:
image: netmanagers/salt-2018.3-py2:debian-9 image: netmanagers/salt-3000-py3:amazonlinux-2
- name: ubuntu-1604-2018-3-py2 - name: arch-base-latest-3000-py2
driver: driver:
image: netmanagers/salt-2018.3-py2:ubuntu-16.04 image: netmanagers/salt-3000-py2:arch-base-latest
- 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
run_command: /sbin/init
- name: arch-base-latest-2018-3-py2
driver:
image: netmanagers/salt-2018.3-py2:arch-base-latest
run_command: /usr/lib/systemd/systemd run_command: /usr/lib/systemd/systemd
## SALT `2019.2` ## SALT `2019.2`
- name: ubuntu-1804-2019-2-py2
driver:
image: netmanagers/salt-2019.2-py2:ubuntu-18.04
- name: centos-7-2019-2-py2
driver:
image: netmanagers/salt-2019.2-py2:centos-7
- name: amazonlinux-2-2019-2-py3
driver:
image: netmanagers/salt-2019.2-py3:amazonlinux-2
- name: arch-base-latest-2019-2-py2
driver:
image: netmanagers/salt-2019.2-py2:arch-base-latest
run_command: /usr/lib/systemd/systemd
- name: debian-10-2019-2-py3 - name: debian-10-2019-2-py3
driver: driver:
image: netmanagers/salt-2019.2-py3:debian-10 image: netmanagers/salt-2019.2-py3:debian-10
@ -87,6 +64,38 @@ platforms:
# => 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-2019-2-py3
driver:
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
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
run_command: /sbin/init
- name: arch-base-latest-2018-3-py2
driver:
image: netmanagers/salt-2018.3-py2:arch-base-latest
run_command: /usr/lib/systemd/systemd
provisioner: provisioner:
name: salt_solo name: salt_solo
@ -107,6 +116,55 @@ verifier:
- cli - cli
suites: suites:
- name: v3000-py3
includes:
- debian-10-3000-py3
- ubuntu-1804-3000-py3
- centos-8-3000-py3
- fedora-31-3000-py3
- opensuse-leap-151-3000-py3
- amazonlinux-2-3000-py3
provisioner:
state_top:
base:
'*':
- salt.pkgrepo
- salt.master
- salt.minion
pillars:
top.sls:
base:
'*':
- salt
- v3000-py3
pillars_from_files:
salt.sls: test/salt/pillar/salt.sls
v3000-py3.sls: test/salt/pillar/v3000-py3.sls
verifier:
inspec_tests:
- path: test/integration/v3000-py3
- name: v3000-py2
includes:
- arch-base-latest-3000-py2
provisioner:
state_top:
base:
'*':
- salt.pkgrepo
- salt.master
- salt.minion
pillars:
top.sls:
base:
'*':
- salt
- v3000-py2
pillars_from_files:
salt.sls: test/salt/pillar/salt.sls
v3000-py2.sls: test/salt/pillar/v3000-py2.sls
verifier:
inspec_tests:
- path: test/integration/v3000-py2
- name: v201902-py3 - name: v201902-py3
includes: includes:
- debian-10-2019-2-py3 - debian-10-2019-2-py3
@ -184,29 +242,3 @@ suites:
verifier: verifier:
inspec_tests: inspec_tests:
- path: test/integration/v201803-py2 - path: test/integration/v201803-py2
- name: v201707-py2
includes:
- debian-8-2017-7-py2
- ubuntu-1604-2017-7-py2
- centos-6-2017-7-py2
- amazonlinux-1-2017-7-py2
- arch-base-latest-2017-7-py2
provisioner:
state_top:
base:
'*':
- salt.pkgrepo
- salt.master
- salt.minion
pillars:
top.sls:
base:
'*':
- salt
- v201707-py2
pillars_from_files:
salt.sls: test/salt/pillar/salt.sls
v201707-py2.sls: test/salt/pillar/v201707-py2.sls
verifier:
inspec_tests:
- path: test/integration/v201707-py2

View File

@ -5,10 +5,6 @@
{%- set py_ver_repr = salt['pillar.get']('salt:py_ver', '') %} {%- set py_ver_repr = salt['pillar.get']('salt:py_ver', '') %}
{%- set osrelease = salt['grains.get']('osrelease') %} {%- set osrelease = salt['grains.get']('osrelease') %}
{#- Workaround for OpenSuse Leap 15.1 until the repo is available #}
{%- if [grains.os_family, osrelease] == ['Suse', '15.1'] %}
{%- set osrelease = '15.0' %}
{%- endif %}
{%- set salt_release = salt['pillar.get']('salt:release', 'latest') %} {%- set salt_release = salt['pillar.get']('salt:release', 'latest') %}
{%- if salt_release.split('.')|length >= 3 %} {%- if salt_release.split('.')|length >= 3 %}
{%- set salt_release = 'archive/' ~ salt_release %} {%- set salt_release = 'archive/' ~ salt_release %}

View File

@ -12,7 +12,7 @@ version =
when 'fedora' when 'fedora'
'2019.2.1rc0-3.fc31' '2019.2.1rc0-3.fc31'
when 'suse' when 'suse'
'2019.2.0-lp151.5.12.1' '2019.2.0-lp151.28.1'
when 'debian' when 'debian'
'2019.2.3+ds-1' '2019.2.3+ds-1'
end end

View File

@ -1,16 +1,16 @@
# InSpec Profile: `v201707-py2` # InSpec Profile: `v3000-py2`
This shows the implementation of the `v201707-py2` InSpec [profile](https://github.com/inspec/inspec/blob/master/docs/profiles.md). This shows the implementation of the `v3000-py2` InSpec [profile](https://github.com/inspec/inspec/blob/master/docs/profiles.md).
## Verify a profile ## Verify a profile
InSpec ships with built-in features to verify a profile structure. InSpec ships with built-in features to verify a profile structure.
```bash ```bash
$ inspec check v201707-py2 $ inspec check v3000-py2
Summary Summary
------- -------
Location: v201707-py2 Location: v3000-py2
Profile: profile Profile: profile
Controls: 4 Controls: 4
Timestamp: 2019-06-24T23:09:01+00:00 Timestamp: 2019-06-24T23:09:01+00:00
@ -28,7 +28,7 @@ Warnings
To run all **supported** controls on a local machine use `inspec exec /path/to/profile`. To run all **supported** controls on a local machine use `inspec exec /path/to/profile`.
```bash ```bash
$ inspec exec v201707-py2 $ inspec exec v3000-py2
.. ..
Finished in 0.0025 seconds (files took 0.12449 seconds to load) Finished in 0.0025 seconds (files took 0.12449 seconds to load)
@ -40,7 +40,7 @@ Finished in 0.0025 seconds (files took 0.12449 seconds to load)
To run one control from the profile use `inspec exec /path/to/profile --controls name`. To run one control from the profile use `inspec exec /path/to/profile --controls name`.
```bash ```bash
$ inspec exec v201707-py2 --controls package $ inspec exec v3000-py2 --controls package
. .
Finished in 0.0025 seconds (files took 0.12449 seconds to load) Finished in 0.0025 seconds (files took 0.12449 seconds to load)

View File

@ -1,11 +1,11 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# vim: ft=yaml # vim: ft=yaml
--- ---
name: v201707-py2 name: v3000-py2
title: salt formula title: salt formula
maintainer: SaltStack Formulas maintainer: SaltStack Formulas
license: Apache-2.0 license: Apache-2.0
summary: Verify that Salt `v201707-py2` is setup and configured summary: Verify that Salt `v3000-py2` is setup and configured
supports: supports:
- platform-name: debian - platform-name: debian
- platform-name: ubuntu - platform-name: ubuntu

View File

@ -0,0 +1,50 @@
# InSpec Profile: `v3000-py3`
This shows the implementation of the `v3000-py3` 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 v3000-py3
Summary
-------
Location: v3000-py3
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 v3000-py3
..
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 v3000-py3 --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).

View File

@ -5,12 +5,16 @@ version =
when 'redhat' when 'redhat'
case platform[:name] case platform[:name]
when 'amazon' when 'amazon'
'2017.7.8-1.el7' '3000-1.amzn2'
when 'centos' when 'centos'
'2017.7.8-1.el6' '3000-1.el8'
end end
when 'fedora'
'3000-5.fc31'
when 'suse'
'3000-lp151.28.1'
when 'debian' when 'debian'
'2017.7.8+ds-1' '3000+ds-1'
end end
control 'salt packages' do control 'salt packages' do

View File

@ -0,0 +1,18 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
name: v3000-py3
title: salt formula
maintainer: SaltStack Formulas
license: Apache-2.0
summary: Verify that Salt `v3000-py3` 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

View File

@ -2,4 +2,5 @@
# vim: ft=yaml # vim: ft=yaml
--- ---
salt: salt:
release: '2017.7' release: '3000'
py_ver: 'py3'