Add ability to choose OS version in tests
This commit adds possibility to run kitchen
tests on different Openstack versions. By default
ocata release will be tested.
Also, run_tests.sh fixed to not to check pillars
which don't contain cinder dict.
Change-Id: Ie1d6b9a3f8e8e0d26852a5d010f88abdb1d75f71
Related-Prod: OSCORE-451
diff --git a/.kitchen.yml b/.kitchen.yml
index 7284f4b..4a31b11 100644
--- a/.kitchen.yml
+++ b/.kitchen.yml
@@ -15,18 +15,32 @@
grains:
noservices: True
dependencies:
+ - name: linux
+ repo: git
+ source: https://github.com/salt-formulas/salt-formula-linux
- name: keystone
repo: git
source: https://github.com/salt-formulas/salt-formula-keystone
state_top:
base:
"*":
+ - linux.system
- cinder
pillars:
top.sls:
base:
"*":
+ - linux_repo_openstack
- cinder
+ - release
+ release.sls:
+ cinder:
+ controller:
+ version: <%= ENV['OS_VERSION'] || 'ocata' %>
+ volume:
+ version: <%= ENV['OS_VERSION'] || 'ocata' %>
+ pillars-from-files:
+ linux_repo_openstack.sls: tests/pillar/repo_mcp_openstack_<%= ENV['OS_VERSION'] || 'ocata' %>.sls
verifier:
name: inspec
@@ -49,11 +63,21 @@
provisioner:
pillars-from-files:
cinder.sls: tests/pillar/control_cluster.sls
+ pillars:
+ release.sls:
+ cinder:
+ volume:
+ enabled: false
- name: control_single
provisioner:
pillars-from-files:
cinder.sls: tests/pillar/control_single.sls
+ pillars:
+ release.sls:
+ cinder:
+ volume:
+ enabled: false
- name: gpfs_single
provisioner:
@@ -89,4 +113,5 @@
provisioner:
pillars-from-files:
cinder.sls: tests/pillar/vsp_single.sls
+
# vim: ft=yaml sw=2 ts=2 sts=2 tw=125
diff --git a/.travis.yml b/.travis.yml
index 77f72c9..9570c9b 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -17,26 +17,26 @@
- bundle install
env:
- - PLATFORM=trevorj/salty-whales:trusty SUITE=ceph_single
- - PLATFORM=trevorj/salty-whales:xenial SUITE=ceph_single
- - PLATFORM=trevorj/salty-whales:trusty SUITE=control_cluster
- - PLATFORM=trevorj/salty-whales:xenial SUITE=control_cluster
- - PLATFORM=trevorj/salty-whales:trusty SUITE=control_single
- - PLATFORM=trevorj/salty-whales:xenial SUITE=control_single
- - PLATFORM=trevorj/salty-whales:trusty SUITE=gpfs_single
- - PLATFORM=trevorj/salty-whales:xenial SUITE=gpfs_single
- - PLATFORM=trevorj/salty-whales:trusty SUITE=hp3par_single
- - PLATFORM=trevorj/salty-whales:xenial SUITE=hp3par_single
- - PLATFORM=trevorj/salty-whales:trusty SUITE=lefthand_single
- - PLATFORM=trevorj/salty-whales:xenial SUITE=lefthand_single
- - PLATFORM=trevorj/salty-whales:trusty SUITE=solidfire_single
- - PLATFORM=trevorj/salty-whales:xenial SUITE=solidfire_single
- - PLATFORM=trevorj/salty-whales:trusty SUITE=storwize_single
- - PLATFORM=trevorj/salty-whales:xenial SUITE=storwize_single
- - PLATFORM=trevorj/salty-whales:trusty SUITE=volume_single
- - PLATFORM=trevorj/salty-whales:xenial SUITE=volume_single
- - PLATFORM=trevorj/salty-whales:trusty SUITE=vsp_single
- - PLATFORM=trevorj/salty-whales:xenial SUITE=vsp_single
+ - PLATFORM=trevorj/salty-whales:trusty OS_VERSION=mitaka SUITE=ceph_single
+ - PLATFORM=trevorj/salty-whales:xenial OS_VERSION=ocata SUITE=ceph_single
+ - PLATFORM=trevorj/salty-whales:trusty OS_VERSION=mitaka SUITE=control_cluster
+ - PLATFORM=trevorj/salty-whales:xenial OS_VERSION=ocata SUITE=control_cluster
+ - PLATFORM=trevorj/salty-whales:trusty OS_VERSION=mitaka SUITE=control_single
+ - PLATFORM=trevorj/salty-whales:xenial OS_VERSION=ocata SUITE=control_single
+ - PLATFORM=trevorj/salty-whales:trusty OS_VERSION=mitaka SUITE=gpfs_single
+ - PLATFORM=trevorj/salty-whales:xenial OS_VERSION=ocata SUITE=gpfs_single
+ - PLATFORM=trevorj/salty-whales:trusty OS_VERSION=mitaka SUITE=hp3par_single
+ - PLATFORM=trevorj/salty-whales:xenial OS_VERSION=ocata SUITE=hp3par_single
+ - PLATFORM=trevorj/salty-whales:trusty OS_VERSION=mitaka SUITE=lefthand_single
+ - PLATFORM=trevorj/salty-whales:xenial OS_VERSION=ocata SUITE=lefthand_single
+ - PLATFORM=trevorj/salty-whales:trusty OS_VERSION=mitaka SUITE=solidfire_single
+ - PLATFORM=trevorj/salty-whales:xenial OS_VERSION=ocata SUITE=solidfire_single
+ - PLATFORM=trevorj/salty-whales:trusty OS_VERSION=mitaka SUITE=storwize_single
+ - PLATFORM=trevorj/salty-whales:xenial OS_VERSION=ocata SUITE=storwize_single
+ - PLATFORM=trevorj/salty-whales:trusty OS_VERSION=mitaka SUITE=volume_single
+ - PLATFORM=trevorj/salty-whales:xenial OS_VERSION=ocata SUITE=volume_single
+ - PLATFORM=trevorj/salty-whales:trusty OS_VERSION=mitaka SUITE=vsp_single
+ - PLATFORM=trevorj/salty-whales:xenial OS_VERSION=ocata SUITE=vsp_single
before_script:
- set -o pipefail
diff --git a/tests/pillar/repo_mcp_openstack_mitaka.sls b/tests/pillar/repo_mcp_openstack_mitaka.sls
new file mode 100644
index 0000000..ea24305
--- /dev/null
+++ b/tests/pillar/repo_mcp_openstack_mitaka.sls
@@ -0,0 +1,44 @@
+linux:
+ system:
+ enabled: true
+ repo:
+ mirantis_openstack_repo:
+ source: "deb http://mirror.fuel-infra.org/mcp-repos/mitaka/{{ grains.get('oscodename') }} mitaka main"
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mcp-repos/mitaka/{{ grains.get('oscodename') }}/archive-mcpmitaka.key"
+ pin:
+ - pin: 'release a=mitaka'
+ priority: 1050
+ package: '*'
+ mirantis_openstack_hotfix:
+ source: "deb http://mirror.fuel-infra.org/mcp-repos/mitaka/{{ grains.get('oscodename') }} mitaka-hotfix main"
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mcp-repos/mitaka/{{ grains.get('oscodename') }}/archive-mcpmitaka.key"
+ pin:
+ - pin: 'release a=mitaka-hotfix'
+ priority: 1050
+ package: '*'
+ mirantis_openstack_security:
+ source: "deb http://mirror.fuel-infra.org/mcp-repos/mitaka/{{ grains.get('oscodename') }} mitaka-security main"
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mcp-repos/mitaka/{{ grains.get('oscodename') }}/archive-mcpmitaka.key"
+ pin:
+ - pin: 'release a=mitaka-security'
+ priority: 1050
+ package: '*'
+ mirantis_openstack_updates:
+ source: "deb http://mirror.fuel-infra.org/mcp-repos/mitaka/{{ grains.get('oscodename') }} mitaka-updates main"
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mcp-repos/mitaka/{{ grains.get('oscodename') }}/archive-mcpmitaka.key"
+ pin:
+ - pin: 'release a=mitaka-uptades'
+ priority: 1050
+ package: '*'
+ mirantis_openstack_holdback:
+ source: "deb http://mirror.fuel-infra.org/mcp-repos/mitaka/{{ grains.get('oscodename') }} mitaka-holdback main"
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mcp-repos/mitaka/{{ grains.get('oscodename') }}/archive-mcpmitaka.key"
+ pin:
+ - pin: 'release a=mitaka-holdback'
+ priority: 1050
+ package: '*'
diff --git a/tests/pillar/repo_mcp_openstack_newton.sls b/tests/pillar/repo_mcp_openstack_newton.sls
new file mode 100644
index 0000000..9504235
--- /dev/null
+++ b/tests/pillar/repo_mcp_openstack_newton.sls
@@ -0,0 +1,44 @@
+linux:
+ system:
+ enabled: true
+ repo:
+ mirantis_openstack_repo:
+ source: "deb http://mirror.fuel-infra.org/mcp-repos/newton/{{ grains.get('oscodename') }} newton main"
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mcp-repos/newton/{{ grains.get('oscodename') }}/archive-mcpnewton.key"
+ pin:
+ - pin: 'release a=newton'
+ priority: 1050
+ package: '*'
+ mirantis_openstack_hotfix:
+ source: "deb http://mirror.fuel-infra.org/mcp-repos/newton/{{ grains.get('oscodename') }} newton-hotfix main"
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mcp-repos/newton/{{ grains.get('oscodename') }}/archive-mcpnewton.key"
+ pin:
+ - pin: 'release a=newton-hotfix'
+ priority: 1050
+ package: '*'
+ mirantis_openstack_security:
+ source: "deb http://mirror.fuel-infra.org/mcp-repos/newton/{{ grains.get('oscodename') }} newton-security main"
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mcp-repos/newton/{{ grains.get('oscodename') }}/archive-mcpnewton.key"
+ pin:
+ - pin: 'release a=newton-security'
+ priority: 1050
+ package: '*'
+ mirantis_openstack_updates:
+ source: "deb http://mirror.fuel-infra.org/mcp-repos/newton/{{ grains.get('oscodename') }} newton-updates main"
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mcp-repos/newton/{{ grains.get('oscodename') }}/archive-mcpnewton.key"
+ pin:
+ - pin: 'release a=newton-uptades'
+ priority: 1050
+ package: '*'
+ mirantis_openstack_holdback:
+ source: "deb http://mirror.fuel-infra.org/mcp-repos/newton/{{ grains.get('oscodename') }} newton-holdback main"
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mcp-repos/newton/{{ grains.get('oscodename') }}/archive-mcpnewton.key"
+ pin:
+ - pin: 'release a=newton-holdback'
+ priority: 1050
+ package: '*'
diff --git a/tests/pillar/repo_mcp_openstack_ocata.sls b/tests/pillar/repo_mcp_openstack_ocata.sls
new file mode 100644
index 0000000..e601208
--- /dev/null
+++ b/tests/pillar/repo_mcp_openstack_ocata.sls
@@ -0,0 +1,44 @@
+linux:
+ system:
+ enabled: true
+ repo:
+ mirantis_openstack_repo:
+ source: "deb http://mirror.fuel-infra.org/mcp-repos/ocata/{{ grains.get('oscodename') }} ocata main"
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mcp-repos/ocata/{{ grains.get('oscodename') }}/archive-mcpocata.key"
+ pin:
+ - pin: 'release a=ocata'
+ priority: 1050
+ package: '*'
+ mirantis_openstack_hotfix:
+ source: "deb http://mirror.fuel-infra.org/mcp-repos/ocata/{{ grains.get('oscodename') }} ocata-hotfix main"
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mcp-repos/ocata/{{ grains.get('oscodename') }}/archive-mcpocata.key"
+ pin:
+ - pin: 'release a=ocata-hotfix'
+ priority: 1050
+ package: '*'
+ mirantis_openstack_security:
+ source: "deb http://mirror.fuel-infra.org/mcp-repos/ocata/{{ grains.get('oscodename') }} ocata-security main"
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mcp-repos/ocata/{{ grains.get('oscodename') }}/archive-mcpocata.key"
+ pin:
+ - pin: 'release a=ocata-security'
+ priority: 1050
+ package: '*'
+ mirantis_openstack_updates:
+ source: "deb http://mirror.fuel-infra.org/mcp-repos/ocata/{{ grains.get('oscodename') }} ocata-updates main"
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mcp-repos/ocata/{{ grains.get('oscodename') }}/archive-mcpocata.key"
+ pin:
+ - pin: 'release a=ocata-uptades'
+ priority: 1050
+ package: '*'
+ mirantis_openstack_holdback:
+ source: "deb http://mirror.fuel-infra.org/mcp-repos/ocata/{{ grains.get('oscodename') }} ocata-holdback main"
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mcp-repos/ocata/{{ grains.get('oscodename') }}/archive-mcpocata.key"
+ pin:
+ - pin: 'release a=ocata-holdback'
+ priority: 1050
+ package: '*'
diff --git a/tests/run_tests.sh b/tests/run_tests.sh
index 6710a50..688643f 100755
--- a/tests/run_tests.sh
+++ b/tests/run_tests.sh
@@ -126,6 +126,7 @@
run() {
for pillar in ${PILLARDIR}/*.sls; do
+ grep ${FORMULA_NAME}: ${pillar} &>/dev/null || continue
state_name=$(basename ${pillar%.sls})
salt_run --id=${state_name} state.show_sls ${FORMULA_NAME} || (log_err "Execution of ${FORMULA_NAME}.${state_name} failed"; exit 1)
done