From 0df4fe4cfbb9521d08a56b004bf706b5cedfd905 Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Sat, 30 May 2020 23:09:42 +0100 Subject: [PATCH] ci(kitchen+travis): use latest pre-salted images * Automated using https://github.com/myii/ssf-formula/pull/207 * Use `bionic` for Travis (also no longer need to use `pip3`) * Add `without-ipv6` suite, to avoid errors with `ip6tables` such as: ``` [ERROR ] stdout: ERROR: initcaps [Errno 2] ip6tables v1.8.4 (legacy): can't initialize ip6tables table `filter': Table does not exist (do you need to insmod?) Perhaps ip6tables or your kernel needs to be upgraded. ``` --- .travis.yml | 69 ++++++++++++----------- kitchen.yml | 155 +++++++++++++++++++++++++++++----------------------- 2 files changed, 122 insertions(+), 102 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2dcf0d8..0ed3ed5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,7 +4,7 @@ ## Machine config os: 'linux' arch: 'amd64' -dist: 'trusty' +dist: 'bionic' version: '~> 1.0' ## Language and cache config @@ -38,16 +38,13 @@ jobs: name: 'Lint: salt-lint, yamllint, shellcheck & commitlint' before_install: 'skip' script: - # Need to use `pip3` due to using `trusty` on Travis - # [Py2/InsecurePlatformWarning] Tornado requires an up-to-date SSL module. - - sudo apt-get install python3-pip python3-setuptools python3-wheel -y # Install and run `salt-lint` - - pip3 install --user salt-lint + - pip install --user salt-lint - git ls-files -- '*.sls' '*.jinja' '*.j2' '*.tmpl' '*.tst' | xargs salt-lint # Install and run `yamllint` # Need at least `v1.17.0` for the `yaml-files` setting - - pip3 install --user yamllint>=1.17.0 + - pip install --user yamllint>=1.17.0 - yamllint -s . # Run `shellcheck` (already pre-installed in Travis) - shellcheck --version @@ -72,35 +69,37 @@ 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-master-py3 - - env: INSTANCE=default-ubuntu-1804-master-py3 - # - env: INSTANCE=default-centos-8-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-debian-10-master-py3 + - env: INSTANCE=without-ipv6-ubuntu-2004-master-py3 + # - env: INSTANCE=without-ipv6-ubuntu-1804-master-py3 + - env: INSTANCE=default-centos-8-master-py3 + - env: INSTANCE=without-ipv6-fedora-32-master-py3 + # - env: INSTANCE=without-ipv6-fedora-31-master-py3 + # - env: INSTANCE=without-ipv6-opensuse-leap-152-master-py3 + # - env: INSTANCE=without-ipv6-amazonlinux-2-master-py3 + # - env: INSTANCE=without-ipv6-debian-10-3000-3-py3 + # - env: INSTANCE=without-ipv6-debian-9-3000-3-py3 + # - env: INSTANCE=without-ipv6-ubuntu-1804-3000-3-py3 + # - env: INSTANCE=without-ipv6-centos-8-3000-3-py3 + # - env: INSTANCE=without-ipv6-centos-7-3000-3-py3 + # - env: INSTANCE=without-ipv6-fedora-31-3000-3-py3 + - env: INSTANCE=without-ipv6-opensuse-leap-152-3000-3-py3 + - env: INSTANCE=without-ipv6-amazonlinux-2-3000-3-py3 + # - env: INSTANCE=without-ipv6-ubuntu-1804-3000-3-py2 + # - env: INSTANCE=without-ipv6-ubuntu-1604-3000-3-py2 + # - env: INSTANCE=without-ipv6-arch-base-latest-3000-3-py2 + # - env: INSTANCE=without-ipv6-debian-10-2019-2-py3 + # - env: INSTANCE=without-ipv6-debian-9-2019-2-py3 + # - env: INSTANCE=without-ipv6-ubuntu-1804-2019-2-py3 + # - env: INSTANCE=without-ipv6-ubuntu-1604-2019-2-py3 + # - env: INSTANCE=without-ipv6-centos-8-2019-2-py3 + # - env: INSTANCE=without-ipv6-centos-7-2019-2-py3 + # - env: INSTANCE=without-ipv6-fedora-31-2019-2-py3 + # - env: INSTANCE=without-ipv6-opensuse-leap-152-2019-2-py3 + # - env: INSTANCE=without-ipv6-amazonlinux-2-2019-2-py3 + # - env: INSTANCE=without-ipv6-centos-6-2019-2-py2 + # - env: INSTANCE=without-ipv6-amazonlinux-1-2019-2-py2 + - env: INSTANCE=without-ipv6-arch-base-latest-2019-2-py2 ## Define the release stage that runs `semantic-release` - stage: 'release' diff --git a/kitchen.yml b/kitchen.yml index fcbff0c..4b7a9a3 100644 --- a/kitchen.yml +++ b/kitchen.yml @@ -15,20 +15,26 @@ platforms: - name: debian-10-master-py3 driver: image: netmanagers/salt-master-py3:debian-10 + - name: ubuntu-2004-master-py3 + driver: + image: netmanagers/salt-master-py3:ubuntu-20.04 - name: ubuntu-1804-master-py3 driver: image: netmanagers/salt-master-py3:ubuntu-18.04 - name: centos-8-master-py3 driver: image: netmanagers/salt-master-py3:centos-8 + - name: fedora-32-master-py3 + driver: + image: netmanagers/salt-master-py3:fedora-32 - name: fedora-31-master-py3 driver: image: netmanagers/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: netmanagers/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 @@ -36,100 +42,91 @@ platforms: driver: image: netmanagers/salt-master-py3:amazonlinux-2 - ## SALT `2019.2` - - name: debian-10-2019-2-py3 + ## SALT `3000.3` + - name: debian-10-3000-3-py3 driver: - image: netmanagers/salt-2019.2-py3:debian-10 - - name: debian-9-2019-2-py3 + image: netmanagers/salt-3000.3-py3:debian-10 + - name: debian-9-3000-3-py3 driver: - image: netmanagers/salt-2019.2-py3:debian-9 - - name: ubuntu-1804-2019-2-py3 + image: netmanagers/salt-3000.3-py3:debian-9 + - name: ubuntu-1804-3000-3-py3 driver: - image: netmanagers/salt-2019.2-py3:ubuntu-18.04 - - name: centos-8-2019-2-py3 + image: netmanagers/salt-3000.3-py3:ubuntu-18.04 + - name: centos-8-3000-3-py3 driver: - image: netmanagers/salt-2019.2-py3:centos-8 - - name: fedora-31-2019-2-py3 + image: netmanagers/salt-3000.3-py3:centos-8 + - name: centos-7-3000-3-py3 driver: - image: netmanagers/salt-2019.2-py3:fedora-31 - - name: opensuse-leap-151-2019-2-py3 + image: netmanagers/salt-3000.3-py3:centos-7 + - name: fedora-31-3000-3-py3 + driver: + image: netmanagers/salt-3000.3-py3:fedora-31 + - name: opensuse-leap-152-3000-3-py3 driver: - image: netmanagers/salt-2019.2-py3:opensuse-leap-15.1 + image: netmanagers/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: centos-7-2019-2-py2 + - name: amazonlinux-2-3000-3-py3 driver: - image: netmanagers/salt-2019.2-py2:centos-7 - - name: amazonlinux-2-2019-2-py3 + image: netmanagers/salt-3000.3-py3:amazonlinux-2 + - name: ubuntu-1804-3000-3-py2 driver: - image: netmanagers/salt-2019.2-py3:amazonlinux-2 - - name: arch-base-latest-2019-2-py2 + image: netmanagers/salt-3000.3-py2:ubuntu-18.04 + - name: ubuntu-1604-3000-3-py2 driver: - image: netmanagers/salt-2019.2-py2:arch-base-latest + image: netmanagers/salt-3000.3-py2:ubuntu-16.04 + - name: arch-base-latest-3000-3-py2 + driver: + image: netmanagers/salt-3000.3-py2:arch-base-latest run_command: /usr/lib/systemd/systemd - ## SALT `2018.3` - - name: fedora-30-2018-3-py3 - driver: - image: netmanagers/salt-2018.3-py3:fedora-30 - - 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: opensuse-leap-151-2018-3-py2 + ## SALT `2019.2` + - name: debian-10-2019-2-py3 driver: - image: netmanagers/salt-2018.3-py2: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-1-2018-3-py2 + image: netmanagers/salt-2019.2-py3:debian-10 + - name: debian-9-2019-2-py3 driver: - image: netmanagers/salt-2018.3-py2:amazonlinux-1 - run_command: /sbin/init - - name: arch-base-latest-2018-3-py2 + image: netmanagers/salt-2019.2-py3:debian-9 + - name: ubuntu-1804-2019-2-py3 driver: - image: netmanagers/salt-2018.3-py2:arch-base-latest - run_command: /usr/lib/systemd/systemd - - ## SALT `2017.7` - - name: debian-8-2017-7-py2 + image: netmanagers/salt-2019.2-py3:ubuntu-18.04 + - name: ubuntu-1604-2019-2-py3 driver: - image: netmanagers/salt-2017.7-py2:debian-8 - - name: ubuntu-1604-2017-7-py2 + image: netmanagers/salt-2019.2-py3:ubuntu-16.04 + - name: centos-8-2019-2-py3 driver: - image: netmanagers/salt-2017.7-py2:ubuntu-16.04 - - name: centos-6-2017-7-py2 + image: netmanagers/salt-2019.2-py3:centos-8 + - name: centos-7-2019-2-py3 driver: - image: netmanagers/salt-2017.7-py2:centos-6 - run_command: /sbin/init - - name: fedora-30-2017-7-py2 + image: netmanagers/salt-2019.2-py3:centos-7 + - name: fedora-31-2019-2-py3 driver: - image: netmanagers/salt-2017.7-py2:fedora-30 - - name: opensuse-leap-151-2017-7-py2 + image: netmanagers/salt-2019.2-py3:fedora-31 + - name: opensuse-leap-152-2019-2-py3 driver: - image: netmanagers/salt-2017.7-py2:opensuse-leap-15.1 + image: netmanagers/salt-2019.2-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-2019-2-py3 + driver: + image: netmanagers/salt-2019.2-py3:amazonlinux-2 + - name: centos-6-2019-2-py2 + driver: + image: netmanagers/salt-2019.2-py2:centos-6 + run_command: /sbin/init + - name: amazonlinux-1-2019-2-py2 driver: - image: netmanagers/salt-2017.7-py2:amazonlinux-1 + image: netmanagers/salt-2019.2-py2:amazonlinux-1 run_command: /sbin/init - - name: arch-base-latest-2017-7-py2 + - name: arch-base-latest-2019-2-py2 driver: - image: netmanagers/salt-2017.7-py2:arch-base-latest + image: netmanagers/salt-2019.2-py2:arch-base-latest run_command: /usr/lib/systemd/systemd provisioner: @@ -152,6 +149,28 @@ verifier: suites: - name: default + includes: + - debian-10-master-py3 + - centos-8-master-py3 + provisioner: + state_top: + base: + '*': + - ufw + pillars: + top.sls: + base: + '*': + - ufw + pillars_from_files: + ufw.sls: test/salt/pillar/default.sls + verifier: + inspec_tests: + - path: test/integration/default + - name: without-ipv6 + excludes: + - debian-10-master-py3 + - centos-8-master-py3 provisioner: state_top: base: @@ -162,8 +181,10 @@ suites: base: '*': - ufw + - without-ipv6 pillars_from_files: ufw.sls: test/salt/pillar/default.sls + without-ipv6.sls: test/salt/pillar/without-ipv6.sls verifier: inspec_tests: - path: test/integration/default