From 42cacc253f9f0fbf1411ac19f9dc4169aef5d3f5 Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Tue, 23 Jun 2020 08:44:08 +0100 Subject: [PATCH 1/3] test(sodium): add pillar and tests for `3001` --- .../integration/v3001-py3/controls/pkgs_spec.rb | 17 +++++++++++++++++ .../v3001-py3/controls/service_spec.rb | 16 ++++++++++++++++ test/salt/pillar/v3001-py3.sls | 6 ++++++ 3 files changed, 39 insertions(+) create mode 100644 test/integration/v3001-py3/controls/pkgs_spec.rb create mode 100644 test/integration/v3001-py3/controls/service_spec.rb create mode 100644 test/salt/pillar/v3001-py3.sls diff --git a/test/integration/v3001-py3/controls/pkgs_spec.rb b/test/integration/v3001-py3/controls/pkgs_spec.rb new file mode 100644 index 0000000..91d629d --- /dev/null +++ b/test/integration/v3001-py3/controls/pkgs_spec.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +control 'salt packages' do + title 'should be installed' + + version = '3001' + + %w[ + salt-master + salt-minion + ].each do |p| + describe package(p) do + it { should be_installed } + its('version') { should match(/^#{version}/) } + end + end +end diff --git a/test/integration/v3001-py3/controls/service_spec.rb b/test/integration/v3001-py3/controls/service_spec.rb new file mode 100644 index 0000000..9d99883 --- /dev/null +++ b/test/integration/v3001-py3/controls/service_spec.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +control 'salt services' do + title 'should be running' + + %w[ + salt-master + salt-minion + ].each do |p| + describe service(p) do + it { should be_installed } + it { should be_enabled } + it { should be_running } + end + end +end diff --git a/test/salt/pillar/v3001-py3.sls b/test/salt/pillar/v3001-py3.sls new file mode 100644 index 0000000..cbeffe1 --- /dev/null +++ b/test/salt/pillar/v3001-py3.sls @@ -0,0 +1,6 @@ +# -*- coding: utf-8 -*- +# vim: ft=yaml +--- +salt: + release: '3001' + py_ver: 'py3' From 7115904da938730addbebe48dec7d2e74666cd43 Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Tue, 23 Jun 2020 09:54:53 +0100 Subject: [PATCH 2/3] chore(formula): update from `template-formula` & add `Oracle` --- FORMULA | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FORMULA b/FORMULA index 4796bd5..221ce2d 100644 --- a/FORMULA +++ b/FORMULA @@ -1,5 +1,5 @@ name: salt -os: Debian, Redhat, Suse, Arch, Gentoo, FreeBSD, Windows +os: Debian, Ubuntu, Raspbian, RedHat, Fedora, CentOS, Oracle, Amazon, Suse, openSUSE, Gentoo, Funtoo, Arch, Manjaro, FreeBSD, OpenBSD, Windows os_family: Debian, Redhat, Suse, Arch, Gentoo, FreeBSD, Windows version: 1.4.3 release: 1 From 90608799249147f8c0d9e3189b865d8999dc4e5f Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Tue, 23 Jun 2020 08:41:25 +0100 Subject: [PATCH 3/3] ci(kitchen+travis): adjust matrix to add `3001` * Semi-automated using https://github.com/myii/ssf-formula/pull/230 --- .travis.yml | 21 ++++- kitchen.yml | 106 ++++++++++++++++++++++-- test/integration/v201902-py2/inspec.yml | 1 + test/integration/v201902-py3/inspec.yml | 1 + test/integration/v3000-py2/inspec.yml | 1 + test/integration/v3000-py3/inspec.yml | 1 + test/integration/v3001-py3/README.md | 50 +++++++++++ test/integration/v3001-py3/inspec.yml | 19 +++++ 8 files changed, 188 insertions(+), 12 deletions(-) create mode 100644 test/integration/v3001-py3/README.md create mode 100644 test/integration/v3001-py3/inspec.yml diff --git a/.travis.yml b/.travis.yml index db9c125..d7622ce 100644 --- a/.travis.yml +++ b/.travis.yml @@ -58,15 +58,28 @@ 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=v3000-py3-debian-10-3000-3-py3 + - env: INSTANCE=v3001-py3-debian-10-3001-py3 + # - env: INSTANCE=v3001-py3-debian-9-3001-py3 + - env: INSTANCE=v3001-py3-ubuntu-2004-3001-py3 + # - env: INSTANCE=v3001-py3-ubuntu-1804-3001-py3 + - env: INSTANCE=v3001-py3-centos-8-3001-py3 + # - env: INSTANCE=v3001-py3-centos-7-3001-py3 + - env: INSTANCE=v3001-py3-fedora-32-3001-py3 + # - env: INSTANCE=v3001-py3-fedora-31-3001-py3 + # - env: INSTANCE=v3001-py3-opensuse-leap-152-3001-py3 + # - env: INSTANCE=v3001-py3-amazonlinux-2-3001-py3 + - env: INSTANCE=v3001-py3-oraclelinux-8-3001-py3 + # - env: INSTANCE=v3001-py3-oraclelinux-7-3001-py3 + # - env: INSTANCE=v3000-py3-debian-10-3000-3-py3 # - env: INSTANCE=v3000-py3-debian-9-3000-3-py3 # - env: INSTANCE=v3000-py3-ubuntu-1804-3000-3-py3 - - env: INSTANCE=v3000-py3-centos-8-3000-3-py3 + # - env: INSTANCE=v3000-py3-centos-8-3000-3-py3 # - env: INSTANCE=v3000-py3-centos-7-3000-3-py3 - env: INSTANCE=v3000-py3-fedora-31-3000-3-py3 - env: INSTANCE=v3000-py3-opensuse-leap-152-3000-3-py3 - - env: INSTANCE=v3000-py3-opensuse-leap-151-3000-3-py3 - env: INSTANCE=v3000-py3-amazonlinux-2-3000-3-py3 + # - env: INSTANCE=v3000-py3-oraclelinux-8-3000-3-py3 + - env: INSTANCE=v3000-py3-oraclelinux-7-3000-3-py3 - env: INSTANCE=v3000-py2-ubuntu-1804-3000-3-py2 # - env: INSTANCE=v3000-py2-ubuntu-1604-3000-3-py2 # - env: INSTANCE=v201902-py3-debian-10-2019-2-py3 @@ -75,6 +88,8 @@ jobs: - env: INSTANCE=v201902-py3-ubuntu-1604-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-152-2019-2-py3 # - env: INSTANCE=v201902-py3-amazonlinux-2-2019-2-py3 - env: INSTANCE=v201902-py2-centos-6-2019-2-py2 # - env: INSTANCE=v201902-py2-amazonlinux-1-2019-2-py2 diff --git a/kitchen.yml b/kitchen.yml index 15ee737..2590626 100644 --- a/kitchen.yml +++ b/kitchen.yml @@ -11,6 +11,49 @@ driver: # Make sure the platforms listed below match up with # the `env.matrix` instances defined in `.travis.yml` platforms: + ## SALT `3001` + - name: debian-10-3001-py3 + driver: + image: saltimages/salt-3001-py3:debian-10 + - name: debian-9-3001-py3 + driver: + image: saltimages/salt-3001-py3:debian-9 + - name: ubuntu-2004-3001-py3 + driver: + image: saltimages/salt-3001-py3:ubuntu-20.04 + - name: ubuntu-1804-3001-py3 + driver: + image: saltimages/salt-3001-py3:ubuntu-18.04 + - name: centos-8-3001-py3 + driver: + image: saltimages/salt-3001-py3:centos-8 + - name: centos-7-3001-py3 + driver: + image: saltimages/salt-3001-py3:centos-7 + - name: fedora-32-3001-py3 + driver: + image: saltimages/salt-3001-py3:fedora-32 + - name: fedora-31-3001-py3 + driver: + image: saltimages/salt-3001-py3:fedora-31 + - name: opensuse-leap-152-3001-py3 + driver: + image: saltimages/salt-3001-py3:opensuse-leap-15.2 + run_command: /usr/lib/systemd/systemd + # 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-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: saltimages/salt-3001-py3:oraclelinux-7 + ## SALT `3000.3` - name: debian-10-3000-3-py3 driver: @@ -38,17 +81,15 @@ platforms: # => SCP did not finish successfully (255): (Net::SCP::Error) transport: max_ssh_sessions: 1 - - name: opensuse-leap-151-3000-3-py3 - driver: - image: netmanagers/salt-3000.3-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: 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: saltimages/salt-3000.3-py3:oraclelinux-7 - name: ubuntu-1804-3000-3-py2 driver: image: saltimages/salt-3000.3-py2:ubuntu-18.04 @@ -75,6 +116,17 @@ platforms: - name: centos-7-2019-2-py3 driver: image: saltimages/salt-2019.2-py3:centos-7 + - name: fedora-31-2019-2-py3 + driver: + image: saltimages/salt-2019.2-py3:fedora-31 + - name: opensuse-leap-152-2019-2-py3 + driver: + image: saltimages/salt-2019.2-py3:opensuse-leap-15.2 + run_command: /usr/lib/systemd/systemd + # 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-2019-2-py3 driver: image: saltimages/salt-2019.2-py3:amazonlinux-2 @@ -106,6 +158,39 @@ verifier: - cli suites: + - name: v3001-py3 + includes: + - debian-10-3001-py3 + - debian-9-3001-py3 + - ubuntu-2004-3001-py3 + - ubuntu-1804-3001-py3 + - centos-8-3001-py3 + - centos-7-3001-py3 + - fedora-32-3001-py3 + - fedora-31-3001-py3 + - opensuse-leap-152-3001-py3 + - amazonlinux-2-3001-py3 + - oraclelinux-8-3001-py3 + - oraclelinux-7-3001-py3 + provisioner: + state_top: + base: + '*': + - salt.pkgrepo + - salt.master + - salt.minion + pillars: + top.sls: + base: + '*': + - salt + - v3001-py3 + pillars_from_files: + salt.sls: test/salt/pillar/salt.sls + v3001-py3.sls: test/salt/pillar/v3001-py3.sls + verifier: + inspec_tests: + - path: test/integration/v3001-py3 - name: v3000-py3 includes: - debian-10-3000-3-py3 @@ -115,8 +200,9 @@ suites: - centos-7-3000-3-py3 - fedora-31-3000-3-py3 - opensuse-leap-152-3000-3-py3 - - opensuse-leap-151-3000-3-py3 - amazonlinux-2-3000-3-py3 + - oraclelinux-8-3000-3-py3 + - oraclelinux-7-3000-3-py3 provisioner: state_top: base: @@ -167,6 +253,8 @@ suites: - ubuntu-1604-2019-2-py3 - centos-8-2019-2-py3 - centos-7-2019-2-py3 + - fedora-31-2019-2-py3 + - opensuse-leap-152-2019-2-py3 - amazonlinux-2-2019-2-py3 provisioner: state_top: diff --git a/test/integration/v201902-py2/inspec.yml b/test/integration/v201902-py2/inspec.yml index 688d010..843004d 100644 --- a/test/integration/v201902-py2/inspec.yml +++ b/test/integration/v201902-py2/inspec.yml @@ -15,4 +15,5 @@ supports: - platform-name: suse - platform-name: freebsd - platform-name: amazon + - platform-name: oracle - platform-name: arch diff --git a/test/integration/v201902-py3/inspec.yml b/test/integration/v201902-py3/inspec.yml index 253280f..ecee5b4 100644 --- a/test/integration/v201902-py3/inspec.yml +++ b/test/integration/v201902-py3/inspec.yml @@ -15,4 +15,5 @@ supports: - platform-name: suse - platform-name: freebsd - platform-name: amazon + - platform-name: oracle - platform-name: arch diff --git a/test/integration/v3000-py2/inspec.yml b/test/integration/v3000-py2/inspec.yml index a70fde0..beac59f 100644 --- a/test/integration/v3000-py2/inspec.yml +++ b/test/integration/v3000-py2/inspec.yml @@ -15,4 +15,5 @@ supports: - platform-name: suse - platform-name: freebsd - platform-name: amazon + - platform-name: oracle - platform-name: arch diff --git a/test/integration/v3000-py3/inspec.yml b/test/integration/v3000-py3/inspec.yml index 883400b..c26d2ff 100644 --- a/test/integration/v3000-py3/inspec.yml +++ b/test/integration/v3000-py3/inspec.yml @@ -15,4 +15,5 @@ supports: - platform-name: suse - platform-name: freebsd - platform-name: amazon + - platform-name: oracle - platform-name: arch diff --git a/test/integration/v3001-py3/README.md b/test/integration/v3001-py3/README.md new file mode 100644 index 0000000..aa1bb89 --- /dev/null +++ b/test/integration/v3001-py3/README.md @@ -0,0 +1,50 @@ +# InSpec Profile: `v3001-py3` + +This shows the implementation of the `v3001-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 v3001-py3 +Summary +------- +Location: v3001-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 v3001-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 v3001-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). diff --git a/test/integration/v3001-py3/inspec.yml b/test/integration/v3001-py3/inspec.yml new file mode 100644 index 0000000..32debc1 --- /dev/null +++ b/test/integration/v3001-py3/inspec.yml @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +# vim: ft=yaml +--- +name: v3001-py3 +title: salt formula +maintainer: SaltStack Formulas +license: Apache-2.0 +summary: Verify that Salt `v3001-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: oracle + - platform-name: arch