Browse Source

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

ci(kitchen+travis): adjust matrix to add `3000` & remove `2017.7`
tags/v1.3.2
Imran Iqbal 4 years ago
parent
commit
676688311f
No account linked to committer's email address
11 changed files with 204 additions and 106 deletions
  1. +18
    -21
      .travis.yml
  2. +100
    -68
      kitchen.yml
  3. +0
    -4
      salt/osfamilymap.yaml
  4. +1
    -1
      test/integration/v201902-py3/controls/pkgs_spec.rb
  5. +6
    -6
      test/integration/v3000-py2/README.md
  6. +2
    -2
      test/integration/v3000-py2/inspec.yml
  7. +50
    -0
      test/integration/v3000-py3/README.md
  8. +7
    -3
      test/integration/v3000-py3/controls/pkgs_spec.rb
  9. +0
    -0
      test/integration/v3000-py3/controls/service_spec.rb
  10. +18
    -0
      test/integration/v3000-py3/inspec.yml
  11. +2
    -1
      test/salt/pillar/v3000-py3.sls

+ 18
- 21
.travis.yml View File

## 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
# The slower ones are kept as high up as possible, to run concurrently rather than
# slow down the entire run at the end (i.e. `centos-6` and `opensuse`)
# However, the groupings needed to be maintained in some semblance of order
# so this is a best-effort matrix, in the circumstances
# - env: INSTANCE=v201707-py2-debian-8-2017-7-py2
- env: INSTANCE=v201707-py2-ubuntu-1604-2017-7-py2
- env: INSTANCE=v201707-py2-centos-6-2017-7-py2
# - env: INSTANCE=v201707-py2-amazonlinux-1-2017-7-py2
# - 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=v3000-py3-debian-10-3000-py3
- env: INSTANCE=v3000-py3-ubuntu-1804-3000-py3
- env: INSTANCE=v3000-py3-centos-8-3000-py3
- env: INSTANCE=v3000-py3-fedora-31-3000-py3
# - env: INSTANCE=v3000-py3-opensuse-leap-151-3000-py3
- env: INSTANCE=v3000-py3-amazonlinux-2-3000-py3
# - env: INSTANCE=v3000-py2-arch-base-latest-3000-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'

+ 100
- 68
kitchen.yml View File

# 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`
- name: debian-8-2017-7-py2
## SALT `3000`
- name: debian-10-3000-py3
driver: driver:
image: netmanagers/salt-2017.7-py2:debian-8
- name: ubuntu-1604-2017-7-py2
image: netmanagers/salt-3000-py3:debian-10
- name: ubuntu-1804-3000-py3
driver: driver:
image: netmanagers/salt-2017.7-py2:ubuntu-16.04
- name: centos-6-2017-7-py2
image: netmanagers/salt-3000-py3:ubuntu-18.04
- name: centos-8-3000-py3
driver: driver:
image: netmanagers/salt-2017.7-py2:centos-6
run_command: /sbin/init
- name: amazonlinux-1-2017-7-py2
image: netmanagers/salt-3000-py3:centos-8
- name: fedora-31-3000-py3
driver: driver:
image: netmanagers/salt-2017.7-py2:amazonlinux-1
run_command: /sbin/init
- name: arch-base-latest-2017-7-py2
image: netmanagers/salt-3000-py3:fedora-31
- name: opensuse-leap-151-3000-py3
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

## 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
# 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: amazonlinux-2-3000-py3
driver: driver:
image: netmanagers/salt-2018.3-py2:amazonlinux-1
run_command: /sbin/init
- name: arch-base-latest-2018-3-py2
image: netmanagers/salt-3000-py3:amazonlinux-2
- name: arch-base-latest-3000-py2
driver: driver:
image: netmanagers/salt-2018.3-py2:arch-base-latest
image: netmanagers/salt-3000-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
# => 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
- 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
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

+ 0
- 4
salt/osfamilymap.yaml View File

{%- 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 %}

+ 1
- 1
test/integration/v201902-py3/controls/pkgs_spec.rb View File

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

test/integration/v201707-py2/README.md → test/integration/v3000-py2/README.md View File

# 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
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)
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)

test/integration/v201707-py2/inspec.yml → test/integration/v3000-py2/inspec.yml View File

# -*- 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

+ 50
- 0
test/integration/v3000-py3/README.md View File

# 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).

test/integration/v201707-py2/controls/pkgs_spec.rb → test/integration/v3000-py3/controls/pkgs_spec.rb View File

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

test/integration/v201707-py2/controls/service_spec.rb → test/integration/v3000-py3/controls/service_spec.rb View File


+ 18
- 0
test/integration/v3000-py3/inspec.yml View File

# -*- 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

test/salt/pillar/v201707-py2.sls → test/salt/pillar/v3000-py3.sls View File

# vim: ft=yaml # vim: ft=yaml
--- ---
salt: salt:
release: '2017.7'
release: '3000'
py_ver: 'py3'

Loading…
Cancel
Save