From 1789cd3a32e4a2927d31596f8d117d2fa972cc9d Mon Sep 17 00:00:00 2001 From: Eric Veiras Galisson Date: Thu, 25 Apr 2019 13:23:34 +0200 Subject: [PATCH] WIP --- .travis.yml | 25 +++---- FORMULA | 4 +- kitchen.yml | 211 ++++++++++++++-------------------------------------- 3 files changed, 68 insertions(+), 172 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0c36b50..b0b0917 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,27 +12,22 @@ services: - docker before_install: - - gem install bundler - bundle install # Make sure the instances listed below match up with # the `platforms` defined in `kitchen.yml` env: matrix: - - INSTANCE: v2019-2-py3-debian-9 - - INSTANCE: v2019-2-py3-ubuntu-1804 - - INSTANCE: v2019-2-py2-centos-7 - - INSTANCE: v2019-2-py2-fedora-29 - - - INSTANCE: v2018-3-py2-debian-8 - - INSTANCE: v2018-3-py2-ubuntu-1604 - - INSTANCE: v2018-3-py2-bootstrap-centos-6 - - INSTANCE: v2018-3-py2-forced-version-fedora-28 - - INSTANCE: v2018-3-py2-opensuse-423 - - - INSTANCE: v2017-7-py2-debian-8 - - INSTANCE: v2017-7-py2-ubuntu-1604 - - INSTANCE: v2017-7-py2-bootstrap-centos-6 + - INSTANCE: default-debian-9-2019-2-py3 + - INSTANCE: default-ubuntu-1804-2019-2-py3 + - INSTANCE: default-centos-7-2019-2-py2 + - INSTANCE: default-fedora-29-2019-2-py2 + - INSTANCE: default-opensuse-423-2018-3-py2 + - INSTANCE: default-debian-8-2018-3-py2 + - INSTANCE: default-ubuntu-1604-2018-3-py2 + - INSTANCE: default-fedora-28-2018-3-py2 + - INSTANCE: default-debian-8-2017-7-py2 + - INSTANCE: default-ubuntu-1604-2017-7-py2 script: - bundle exec kitchen verify ${INSTANCE} diff --git a/FORMULA b/FORMULA index 31f0d43..98d785a 100644 --- a/FORMULA +++ b/FORMULA @@ -1,6 +1,6 @@ name: nginx -os: Debian, Ubuntu, Raspbian, RedHat, Fedora, CentOS, Suse, openSUSE, Gentoo, Funtoo, Arch, Manjaro, Alpine, FreeBSD, OpenBSD, Solaris, SmartOS, Windows, MacOS -os_family: Debian, RedHat, Suse, Gentoo, Arch, Alpine, FreeBSD, OpenBSD, Solaris, Windows, MacOS +os: Debian, Ubuntu, RedHat, Fedora, CentOS, Suse, openSUSE +os_family: Debian, RedHat, Suse version: 1.0.0rc release: 1 minimum_version: 2017.3 diff --git a/kitchen.yml b/kitchen.yml index 258383f..aed3636 100644 --- a/kitchen.yml +++ b/kitchen.yml @@ -1,37 +1,69 @@ +# -*- coding: utf-8 -*- +# vim: ft=yaml --- +# For help on this file's format, see https://kitchen.ci/ driver: name: docker use_sudo: false privileged: true - provision_command: mkdir -p /run/sshd run_command: /lib/systemd/systemd +# Make sure the platforms listed below match up with +# the `env.matrix` instances defined in `.travis.yml` platforms: - # Latest distros - - name: debian-9 - - name: ubuntu-18.04 - - name: centos-7 - - name: fedora-29 - - name: opensuse-42.3 + ## SALT 2019.2 + - name: debian-9-2019-2-py3 driver: - run_command: /usr/lib/systemd/systemd - provision_command: - - systemctl enable sshd.service + image: netmanagers/salt-2019.2-py3:debian-9 + - name: ubuntu-1804-2019-2-py3 + driver: + image: netmanagers/salt-2019.2-py3:ubuntu-1804 + - name: centos-7-2019-2-py2 + driver: + image: netmanagers/salt-2019.2-py2:centos-7 + - name: fedora-29-2019-2-py2 + driver: + image: netmanagers/salt-2019.2-py2:fedora-29 + + ## SALT 2018.3 + - name: opensuse-423-2018-3-py2 + driver: + image: netmanagers/salt-2018.3-py2:opensuse-423 + run_command: /usr/lib/systemd/systemd + - name: debian-8-2018-3-py2 + driver: + image: netmanagers/salt-2018.3-py2:debian-8 + - name: ubuntu-1604-2018-3-py2 + driver: + image: netmanagers/salt-2018.3-py2:ubuntu-1604 + - name: fedora-28-2018-3-py2 + driver: + image: netmanagers/salt-2018.3-py2:fedora-28 - # Previous distros - - name: debian-8 - - name: ubuntu-16.04 - - name: fedora-28 # centos-6 guest fails on Debian hosts due to vsyscall issues, see # https://hub.docker.com/_/centos, "A note about vsyscall" - - name: centos-6 + # Disabled for `template-formula` because not `systemd` based + # - name: centos-6-2018-3 + # driver: + # image: netmanagers/salt-2018.3-py2:centos-6 + # run_command: /sbin/init + + ##S SALT 2017.7 + - name: debian-8-2017-7-py2 driver: - run_command: /sbin/init + image: netmanagers/salt-2017.7-py2:debian-8 + - name: ubuntu-1604-2017-7-py2 + driver: + image: netmanagers/salt-2017.7-py2:ubuntu-1604 + # - name: centos-6-2017-7 + # driver: + # image: netmanagers/salt-2017.7-py2:centos-6 + # run_command: /sbin/init provisioner: name: salt_solo log_level: info - salt_version: latest + salt_install: none require_chef: false formula: nginx salt_copy_filter: @@ -39,8 +71,8 @@ provisioner: - .git state_top: base: - '*': - - nginx.ng + '*': + - nginx.ng pillars: top.sls: base: @@ -50,145 +82,14 @@ provisioner: nginx.sls: test/salt/default/pillar/nginx.sls verifier: + # https://www.inspec.io/ name: inspec sudo: true + # cli, documentation, html, progress, json, json-min, json-rspec, junit reporter: - cli + inspec_tests: + - path: test/integration/default suites: - # Latest distros, latest salt, python3 - # These distros have py3 packages available in salt's repo - - name: v2019-2-py3 - includes: - - debian-9 - - ubuntu-18.04 - provisioner: - salt_bootstrap_options: -X -x python3 -d git %s - salt_version: '2019.2' - pillars: - salt.sls: - salt: - release: '2019.2' - py_ver: 'py3' - - verifier: - inspec_tests: - #- path: test/integration/2019-2 - - path: test/integration/default - - # Latest distros, latest salt, python2 - # Fedora ships updated py2 versions in their own repos - - name: v2019-2-py2 - includes: - - centos-7 - - fedora-29 - provisioner: - salt_version: '2019.2' - pillars: - salt.sls: - salt: - release: '2019.2' - py_ver: 'py2' - - verifier: - inspec_tests: - #- path: test/integration/2019-2 - - path: test/integration/default - - # Previous distros, previous salt, python2 - - name: v2018-3-py2 - includes: - - debian-8 - - ubuntu-16.04 - - opensuse-42.3 - provisioner: - # We require an old version of salt in the provisioner or, - # the salt formula fails to downgrade to the desired version to test - salt_version: '2018.3' - pillars: - salt.sls: - salt: - release: '2018.3' - py_ver: 'py2' - verifier: - inspec_tests: - #- path: test/integration/2018-3 - - path: test/integration/default - - # centos-6 ships with python2.6, so it requires extra bootstrapping parameters - # to install python2.7 - - name: v2018-3-py2-bootstrap - includes: - - centos-6 - provisioner: - salt_bootstrap_options: -X -d stable %s - salt_version: '2018.3' - pillars: - salt.sls: - salt: - release: '2018.3' - py_ver: 'py2' - verifier: - inspec_tests: - #- path: test/integration/2018-3 - - path: test/integration/default - - # To tests fedora 28 & salt v2018.2, we need to force the package version - # otherwise the image, which includes the 'updates' repo, will install 2019.2 - - name: v2018-3-py2-forced-version - includes: - - fedora-28 - provisioner: - # We require an old version of salt in the provisioner or, - # the salt formula fails to downgrade to the desired version to test - salt_version: '2018.3' - pillars: - salt.sls: - salt: - release: '2018.3' - py_ver: 'py2' - version: '2018.3.0-1.fc28' - - verifier: - inspec_tests: - #- path: test/integration/2018-3 - - path: test/integration/default - - # Previous distros, oldest salt, python2 - - name: v2017-7-py2 - includes: - - debian-8 - - ubuntu-16.04 - provisioner: - # We require an old version of salt in the provisioner or, - # the salt formula fails to downgrade to the desired version to test - salt_version: '2017.7' - pillars: - salt.sls: - salt: - release: '2017.7' - py_ver: 'py2' - verifier: - inspec_tests: - #- path: test/integration/2017-7 - - path: test/integration/default - - # centos-6 ships with python2.6, so it requires extra bootstrapping parameters - # to install python2.7 - - name: v2017-7-py2-bootstrap - includes: - - centos-6 - provisioner: - # As centos-6 ships with python2.6, we use the bootstrapper to install python2.7 - salt_bootstrap_options: -X -d stable %s - salt_version: '2017.7' - pillars: - salt.sls: - salt: - release: '2017.7' - py_ver: 'py2' - verifier: - inspec_tests: - #- path: test/integration/2017-7 - - path: test/integration/default - + - name: default