mirror of
https://github.com/saltstack-formulas/template-formula.git
synced 2025-04-07 04:51:42 +00:00
test(pillar): use static test/salt/pillar/top.sls
The kitchen-salt provisionner have the `pillars_from_directories` option to recusively copy directories under target pillar root. This has 3 advantages: - simplify `kitchen.yml` - manage pillar assignment with standard salt targetting mechanism, this avoid the dedicated `gentoo` suite (it could have been done from `kitchen.yml` itself by the way) - ease the test outside kitchen by running `salt-call` directly with `--pillar-root` like: ``` salt-call --local --id test-minion.example.net \ --file-root=template-formula/ \ --pillar-root=template-formula/test/salt/pillar/ \ state.show_sls TEMPLATE ``` * pillar.example: remove settings for testing purpose. * test/salt/pillar/top.sls: limit `gentoo` pillars based on `os_family` grain. * test/salt/pillar/defaults.sls: base pillar dedicated to tests. * kitchen.yml (suites): remove the now useless `gentoo` suite. Define `pillars_from_directories` to copy them under `pillar_root`. Remove useless `pillars_from_files`. * .gitlab-ci.yml: fix gentoo suite name * .gitignore: do not ignore test pillar `top.sls`
This commit is contained in:
parent
bf9a9bd204
commit
7708e12923
5 changed files with 83 additions and 73 deletions
|
@ -197,8 +197,8 @@ default-amazonlinux-2-master-py3: {extends: '.test_instance'}
|
|||
default-oraclelinux-8-master-py3: {extends: '.test_instance'}
|
||||
default-oraclelinux-7-master-py3: {extends: '.test_instance'}
|
||||
default-arch-base-latest-master-py3: {extends: '.test_instance'}
|
||||
gentoo-gentoo-stage3-latest-master-py3: {extends: '.test_instance'}
|
||||
gentoo-gentoo-stage3-systemd-master-py3: {extends: '.test_instance'}
|
||||
default-gentoo-stage3-latest-master-py3: {extends: '.test_instance'}
|
||||
default-gentoo-stage3-systemd-master-py3: {extends: '.test_instance'}
|
||||
default-almalinux-8-master-py3: {extends: '.test_instance'}
|
||||
default-rockylinux-8-master-py3: {extends: '.test_instance'}
|
||||
# default-debian-11-3003-3-py3: {extends: '.test_instance'}
|
||||
|
@ -217,8 +217,8 @@ default-rockylinux-8-master-py3: {extends: '.test_instance'}
|
|||
# default-oraclelinux-8-3003-3-py3: {extends: '.test_instance'}
|
||||
# default-oraclelinux-7-3003-3-py3: {extends: '.test_instance'}
|
||||
# default-arch-base-latest-3003-3-py3: {extends: '.test_instance'}
|
||||
# gentoo-gentoo-stage3-latest-3003-3-py3: {extends: '.test_instance'}
|
||||
# gentoo-gentoo-stage3-systemd-3003-3-py3: {extends: '.test_instance'}
|
||||
# default-gentoo-stage3-latest-3003-3-py3: {extends: '.test_instance'}
|
||||
# default-gentoo-stage3-systemd-3003-3-py3: {extends: '.test_instance'}
|
||||
# default-almalinux-8-3003-3-py3: {extends: '.test_instance'}
|
||||
# default-debian-11-3002-7-py3: {extends: '.test_instance'}
|
||||
# default-debian-10-3002-7-py3: {extends: '.test_instance'}
|
||||
|
@ -236,8 +236,8 @@ default-rockylinux-8-master-py3: {extends: '.test_instance'}
|
|||
# default-oraclelinux-8-3002-7-py3: {extends: '.test_instance'}
|
||||
# default-oraclelinux-7-3002-7-py3: {extends: '.test_instance'}
|
||||
# default-arch-base-latest-3002-7-py3: {extends: '.test_instance'}
|
||||
# gentoo-gentoo-stage3-latest-3002-7-py3: {extends: '.test_instance'}
|
||||
# gentoo-gentoo-stage3-systemd-3002-7-py3: {extends: '.test_instance'}
|
||||
# default-gentoo-stage3-latest-3002-7-py3: {extends: '.test_instance'}
|
||||
# default-gentoo-stage3-systemd-3002-7-py3: {extends: '.test_instance'}
|
||||
# default-debian-10-3001-8-py3: {extends: '.test_instance'}
|
||||
# default-debian-9-3001-8-py3: {extends: '.test_instance'}
|
||||
# default-ubuntu-2004-3001-8-py3: {extends: '.test_instance'}
|
||||
|
@ -253,8 +253,8 @@ default-rockylinux-8-master-py3: {extends: '.test_instance'}
|
|||
# default-oraclelinux-8-3001-8-py3: {extends: '.test_instance'}
|
||||
# default-oraclelinux-7-3001-8-py3: {extends: '.test_instance'}
|
||||
# default-arch-base-latest-3001-8-py3: {extends: '.test_instance'}
|
||||
# gentoo-gentoo-stage3-latest-3001-8-py3: {extends: '.test_instance'}
|
||||
# gentoo-gentoo-stage3-systemd-3001-8-py3: {extends: '.test_instance'}
|
||||
# default-gentoo-stage3-latest-3001-8-py3: {extends: '.test_instance'}
|
||||
# default-gentoo-stage3-systemd-3001-8-py3: {extends: '.test_instance'}
|
||||
|
||||
###############################################################################
|
||||
# `release` stage: `semantic-release`
|
||||
|
|
50
kitchen.yml
50
kitchen.yml
|
@ -373,60 +373,14 @@ verifier:
|
|||
|
||||
suites:
|
||||
- name: default
|
||||
excludes:
|
||||
- gentoo-stage3-latest-master-py3
|
||||
- gentoo-stage3-systemd-master-py3
|
||||
- gentoo-stage3-latest-3003-3-py3
|
||||
- gentoo-stage3-systemd-3003-3-py3
|
||||
- gentoo-stage3-latest-3002-7-py3
|
||||
- gentoo-stage3-systemd-3002-7-py3
|
||||
- gentoo-stage3-latest-3001-8-py3
|
||||
- gentoo-stage3-systemd-3001-8-py3
|
||||
provisioner:
|
||||
state_top:
|
||||
base:
|
||||
'*':
|
||||
- TEMPLATE._mapdata
|
||||
- TEMPLATE
|
||||
pillars:
|
||||
top.sls:
|
||||
base:
|
||||
'*':
|
||||
- TEMPLATE
|
||||
- define_roles
|
||||
pillars_from_files:
|
||||
TEMPLATE.sls: pillar.example
|
||||
define_roles.sls: test/salt/pillar/define_roles.sls
|
||||
verifier:
|
||||
inspec_tests:
|
||||
- path: test/integration/default
|
||||
- name: gentoo
|
||||
includes:
|
||||
- gentoo-stage3-latest-master-py3
|
||||
- gentoo-stage3-systemd-master-py3
|
||||
- gentoo-stage3-latest-3003-3-py3
|
||||
- gentoo-stage3-systemd-3003-3-py3
|
||||
- gentoo-stage3-latest-3002-7-py3
|
||||
- gentoo-stage3-systemd-3002-7-py3
|
||||
- gentoo-stage3-latest-3001-8-py3
|
||||
- gentoo-stage3-systemd-3001-8-py3
|
||||
provisioner:
|
||||
state_top:
|
||||
base:
|
||||
'*':
|
||||
- TEMPLATE._mapdata
|
||||
- TEMPLATE
|
||||
pillars:
|
||||
top.sls:
|
||||
base:
|
||||
'*':
|
||||
- TEMPLATE
|
||||
- gentoo
|
||||
- define_roles
|
||||
pillars_from_files:
|
||||
TEMPLATE.sls: pillar.example
|
||||
gentoo.sls: test/salt/pillar/gentoo.sls
|
||||
define_roles.sls: test/salt/pillar/define_roles.sls
|
||||
pillars_from_directories:
|
||||
- test/salt/pillar
|
||||
verifier:
|
||||
inspec_tests:
|
||||
- path: test/integration/default
|
||||
|
|
|
@ -4,9 +4,6 @@
|
|||
TEMPLATE:
|
||||
lookup:
|
||||
master: template-master
|
||||
# Just for testing purposes
|
||||
winner: lookup
|
||||
added_in_lookup: lookup_value
|
||||
|
||||
# Using bash package and udev service as an example. This allows us to
|
||||
# test the template formula itself. You should set these parameters to
|
||||
|
@ -30,28 +27,18 @@ TEMPLATE:
|
|||
- osfinger
|
||||
- os
|
||||
- os_family
|
||||
|
||||
# All aspects of path/file resolution are customisable using the options below.
|
||||
# This is unnecessary in most cases; there are sensible defaults.
|
||||
# Default path: salt://< path_prefix >/< dirs.files >/< dirs.default >
|
||||
# I.e.: salt://TEMPLATE/files/default
|
||||
# I.e.: salt://TEMPLATE/files/default
|
||||
# path_prefix: template_alt
|
||||
# dirs:
|
||||
# files: files_alt
|
||||
# default: default_alt
|
||||
# The entries under `source_files` are prepended to the default source files
|
||||
# given for the state
|
||||
# source_files:
|
||||
# TEMPLATE-config-file-file-managed:
|
||||
# - 'example_alt.tmpl'
|
||||
# - 'example_alt.tmpl.jinja'
|
||||
|
||||
# For testing purposes
|
||||
source_files:
|
||||
TEMPLATE-config-file-file-managed:
|
||||
- 'example.tmpl.jinja'
|
||||
TEMPLATE-subcomponent-config-file-file-managed:
|
||||
- 'subcomponent-example.tmpl.jinja'
|
||||
|
||||
# Just for testing purposes
|
||||
winner: pillar
|
||||
added_in_pillar: pillar_value
|
||||
- 'example_alt.tmpl'
|
||||
- 'example_alt.tmpl.jinja'
|
||||
|
|
57
test/salt/pillar/defaults.sls
Normal file
57
test/salt/pillar/defaults.sls
Normal file
|
@ -0,0 +1,57 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# vim: ft=yaml
|
||||
---
|
||||
TEMPLATE:
|
||||
lookup:
|
||||
master: template-master
|
||||
# Just for testing purposes
|
||||
winner: lookup
|
||||
added_in_lookup: lookup_value
|
||||
|
||||
# Using bash package and udev service as an example. This allows us to
|
||||
# test the template formula itself. You should set these parameters to
|
||||
# examples that make sense in the contexto of the formula you're writing.
|
||||
pkg:
|
||||
name: bash
|
||||
service:
|
||||
name: systemd-journald
|
||||
config: /etc/template-formula.conf
|
||||
|
||||
tofs:
|
||||
# The files_switch key serves as a selector for alternative
|
||||
# directories under the formula files directory. See TOFS pattern
|
||||
# doc for more info.
|
||||
# Note: Any value not evaluated by `config.get` will be used literally.
|
||||
# This can be used to set custom paths, as many levels deep as required.
|
||||
files_switch:
|
||||
- any/path/can/be/used/here
|
||||
- id
|
||||
- roles
|
||||
- osfinger
|
||||
- os
|
||||
- os_family
|
||||
# All aspects of path/file resolution are customisable using the options below.
|
||||
# This is unnecessary in most cases; there are sensible defaults.
|
||||
# Default path: salt://< path_prefix >/< dirs.files >/< dirs.default >
|
||||
# I.e.: salt://TEMPLATE/files/default
|
||||
# path_prefix: template_alt
|
||||
# dirs:
|
||||
# files: files_alt
|
||||
# default: default_alt
|
||||
# The entries under `source_files` are prepended to the default source files
|
||||
# given for the state
|
||||
# source_files:
|
||||
# TEMPLATE-config-file-file-managed:
|
||||
# - 'example_alt.tmpl'
|
||||
# - 'example_alt.tmpl.jinja'
|
||||
|
||||
# For testing purposes
|
||||
source_files:
|
||||
TEMPLATE-config-file-file-managed:
|
||||
- 'example.tmpl.jinja'
|
||||
TEMPLATE-subcomponent-config-file-file-managed:
|
||||
- 'subcomponent-example.tmpl.jinja'
|
||||
|
||||
# Just for testing purposes
|
||||
winner: pillar
|
||||
added_in_pillar: pillar_value
|
12
test/salt/pillar/top.sls
Normal file
12
test/salt/pillar/top.sls
Normal file
|
@ -0,0 +1,12 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# vim: ft=yaml
|
||||
---
|
||||
base:
|
||||
'*':
|
||||
- defaults
|
||||
'os_family:Gentoo':
|
||||
- match: grain
|
||||
- gentoo
|
||||
'os:*':
|
||||
- define_roles
|
||||
...
|
Loading…
Add table
Reference in a new issue