mirror of
https://github.com/saltstack-formulas/template-formula.git
synced 2025-04-10 23:01:43 +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-8-master-py3: {extends: '.test_instance'}
|
||||||
default-oraclelinux-7-master-py3: {extends: '.test_instance'}
|
default-oraclelinux-7-master-py3: {extends: '.test_instance'}
|
||||||
default-arch-base-latest-master-py3: {extends: '.test_instance'}
|
default-arch-base-latest-master-py3: {extends: '.test_instance'}
|
||||||
gentoo-gentoo-stage3-latest-master-py3: {extends: '.test_instance'}
|
default-gentoo-stage3-latest-master-py3: {extends: '.test_instance'}
|
||||||
gentoo-gentoo-stage3-systemd-master-py3: {extends: '.test_instance'}
|
default-gentoo-stage3-systemd-master-py3: {extends: '.test_instance'}
|
||||||
default-almalinux-8-master-py3: {extends: '.test_instance'}
|
default-almalinux-8-master-py3: {extends: '.test_instance'}
|
||||||
default-rockylinux-8-master-py3: {extends: '.test_instance'}
|
default-rockylinux-8-master-py3: {extends: '.test_instance'}
|
||||||
# default-debian-11-3003-3-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-8-3003-3-py3: {extends: '.test_instance'}
|
||||||
# default-oraclelinux-7-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'}
|
# default-arch-base-latest-3003-3-py3: {extends: '.test_instance'}
|
||||||
# gentoo-gentoo-stage3-latest-3003-3-py3: {extends: '.test_instance'}
|
# default-gentoo-stage3-latest-3003-3-py3: {extends: '.test_instance'}
|
||||||
# gentoo-gentoo-stage3-systemd-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-almalinux-8-3003-3-py3: {extends: '.test_instance'}
|
||||||
# default-debian-11-3002-7-py3: {extends: '.test_instance'}
|
# default-debian-11-3002-7-py3: {extends: '.test_instance'}
|
||||||
# default-debian-10-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-8-3002-7-py3: {extends: '.test_instance'}
|
||||||
# default-oraclelinux-7-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'}
|
# default-arch-base-latest-3002-7-py3: {extends: '.test_instance'}
|
||||||
# gentoo-gentoo-stage3-latest-3002-7-py3: {extends: '.test_instance'}
|
# default-gentoo-stage3-latest-3002-7-py3: {extends: '.test_instance'}
|
||||||
# gentoo-gentoo-stage3-systemd-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-10-3001-8-py3: {extends: '.test_instance'}
|
||||||
# default-debian-9-3001-8-py3: {extends: '.test_instance'}
|
# default-debian-9-3001-8-py3: {extends: '.test_instance'}
|
||||||
# default-ubuntu-2004-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-8-3001-8-py3: {extends: '.test_instance'}
|
||||||
# default-oraclelinux-7-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'}
|
# default-arch-base-latest-3001-8-py3: {extends: '.test_instance'}
|
||||||
# gentoo-gentoo-stage3-latest-3001-8-py3: {extends: '.test_instance'}
|
# default-gentoo-stage3-latest-3001-8-py3: {extends: '.test_instance'}
|
||||||
# gentoo-gentoo-stage3-systemd-3001-8-py3: {extends: '.test_instance'}
|
# default-gentoo-stage3-systemd-3001-8-py3: {extends: '.test_instance'}
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# `release` stage: `semantic-release`
|
# `release` stage: `semantic-release`
|
||||||
|
|
50
kitchen.yml
50
kitchen.yml
|
@ -373,60 +373,14 @@ verifier:
|
||||||
|
|
||||||
suites:
|
suites:
|
||||||
- name: default
|
- 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:
|
provisioner:
|
||||||
state_top:
|
state_top:
|
||||||
base:
|
base:
|
||||||
'*':
|
'*':
|
||||||
- TEMPLATE._mapdata
|
- TEMPLATE._mapdata
|
||||||
- TEMPLATE
|
- TEMPLATE
|
||||||
pillars:
|
pillars_from_directories:
|
||||||
top.sls:
|
- test/salt/pillar
|
||||||
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
|
|
||||||
verifier:
|
verifier:
|
||||||
inspec_tests:
|
inspec_tests:
|
||||||
- path: test/integration/default
|
- path: test/integration/default
|
||||||
|
|
|
@ -4,9 +4,6 @@
|
||||||
TEMPLATE:
|
TEMPLATE:
|
||||||
lookup:
|
lookup:
|
||||||
master: template-master
|
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
|
# Using bash package and udev service as an example. This allows us to
|
||||||
# test the template formula itself. You should set these parameters to
|
# test the template formula itself. You should set these parameters to
|
||||||
|
@ -30,28 +27,18 @@ TEMPLATE:
|
||||||
- osfinger
|
- osfinger
|
||||||
- os
|
- os
|
||||||
- os_family
|
- os_family
|
||||||
|
|
||||||
# All aspects of path/file resolution are customisable using the options below.
|
# All aspects of path/file resolution are customisable using the options below.
|
||||||
# This is unnecessary in most cases; there are sensible defaults.
|
# This is unnecessary in most cases; there are sensible defaults.
|
||||||
# Default path: salt://< path_prefix >/< dirs.files >/< dirs.default >
|
# 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
|
# path_prefix: template_alt
|
||||||
# dirs:
|
# dirs:
|
||||||
# files: files_alt
|
# files: files_alt
|
||||||
# default: default_alt
|
# default: default_alt
|
||||||
# The entries under `source_files` are prepended to the default source files
|
# The entries under `source_files` are prepended to the default source files
|
||||||
# given for the state
|
# given for the state
|
||||||
# source_files:
|
|
||||||
# TEMPLATE-config-file-file-managed:
|
|
||||||
# - 'example_alt.tmpl'
|
|
||||||
# - 'example_alt.tmpl.jinja'
|
|
||||||
|
|
||||||
# For testing purposes
|
|
||||||
source_files:
|
source_files:
|
||||||
TEMPLATE-config-file-file-managed:
|
TEMPLATE-config-file-file-managed:
|
||||||
- 'example.tmpl.jinja'
|
- 'example_alt.tmpl'
|
||||||
TEMPLATE-subcomponent-config-file-file-managed:
|
- 'example_alt.tmpl.jinja'
|
||||||
- 'subcomponent-example.tmpl.jinja'
|
|
||||||
|
|
||||||
# Just for testing purposes
|
|
||||||
winner: pillar
|
|
||||||
added_in_pillar: pillar_value
|
|
||||||
|
|
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