Commit Graph

39 Commits

Author SHA1 Message Date
776ebb9f54
Support test pillars
Allow directories to be specified in suite and test configuration
sections which will be linked to /srv/pillar on either the master or the
minion.

Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-06-08 18:04:41 +02:00
949160b003 Merge pull request 'Only restart network once' (#1) from network-restart into main
Reviewed-on: #1
2023-06-08 18:03:34 +02:00
f7aec1c867
Only restart network once
One restart of the network restart is needed to get Avahi DNS resolution
to work, however restarts on subsequent --refresh runs are wasting time.

Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-06-08 14:55:26 +02:00
ce832d038e
Update README
Add sections about installation, usage, testing and licensing.

Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-24 01:19:16 +02:00
031e2c9faf
Add TODO
Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-24 01:16:52 +02:00
4d20916a96
Consolidate test_salt
- Run test tests together with state apply test

Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-24 00:34:20 +02:00
43db99bfaa
Enable os import in test_cli
It's not clear why this was commented out, the tests depend on it.

Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-24 00:33:21 +02:00
2cb6d95ec3
Improve cleanup logic
- ensure .scullery_* files are removed more reliably
- always write new Vagrant SSH configuration, do not rely on the
  existing one being the latest

Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-24 00:32:01 +02:00
01162e78a3
Run master bootstrap after initialization
Allow bootstrap scripts to depend on an operational Salt master service.

Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-24 00:29:19 +02:00
22bdcada4a
Update test configs
- link to box metadata instead of .box
- add suite for Salt test test

Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-24 00:26:09 +02:00
d0627af8e7
Add scullery pattern to gitignore
Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-21 13:36:26 +02:00
be255b8da5
Add gitignore
Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-21 13:33:03 +02:00
cc15766671
Implement Salt test tests
Test the tests.

Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-21 13:32:04 +02:00
8506b12e36
Split stop test
Suite destructions may have leftovers from previous suites,
assert the Libvirt domain status separately after
all suite stop runs finished.

Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-21 13:28:38 +02:00
9895c56984
Improve test result logging
Handle Enum correctly.

Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-21 11:23:10 +02:00
00c9634579
Implement Salt tests
- test state application on minions
- add Salt file/pillar root bootstrap script
- add Salt state and pillar
- adjust configuration files respectively

Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-21 11:00:35 +02:00
fd3abc6aec
Rename test scripts
Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-21 10:57:51 +02:00
f2e6df7448
Implement test.ping
Wait for minions to respond to test.ping before attempting a state.apply.

Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-21 10:42:09 +02:00
3ad04b0e1a
Add license headers to test scripts
Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-21 10:41:36 +02:00
d37bd67b2e
Prevent option override
Do not override box/suite specific configuration with global
configuration.

Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-21 07:56:48 +02:00
43193ad292
Implement bootstrap tests
Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-21 07:56:22 +02:00
1788a9cdf3
Move fixtures to conftest
Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-21 06:03:49 +02:00
8bc3173bbf
Re-order stop tests
Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-21 05:42:38 +02:00
0d7a6f9428
Initial test coverage
- add sample configuration files
- add sample bootstrap script
- add tests for command line argument handling
- add tests for environment file
- add tests for starting/stopping suites

Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-21 05:13:57 +02:00
4cbda6b5a1
Correct typo in log message
Caught during testing.

Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-21 03:03:54 +02:00
4c787b5628
Repair undefined box section check
Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-21 02:38:44 +02:00
345ff9ca7e
Handle undefined __file__
Needed for running non-interactively.

Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-21 02:22:44 +02:00
7024eb6fae
Refine Vagrantfile location
Read from script directory if run from Git checkout and from /usr/share/
if run from a packaged installation.

Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-21 00:28:38 +02:00
c0af9d8a68
Repair apply targeting
In a master setup, target the minions, not the master itself.

Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-20 23:11:20 +02:00
fee235753f
Implement tests/state.apply + improve config logic
- consolidate config parsing (boxes, suites, tests)
- implement state.apply execution
- implement test execution
- minor "refresh" logic improvement

Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-20 22:58:24 +02:00
5eb8acbe01
Implement force-stop argument
By default, the running-detection is good enough, and avoids a useless
Vagrant "destroy" call with a misleading informational message if
"--stop" is used.
However if the deployment was interupted and is in an inconsistent state,
the running-detection returns false results - in such cases, "--force-stop"
can be used to issue a "destroy" call without considering the detected
status.

Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-20 18:52:21 +02:00
f110f92150
Default option handling
Merge default options from [box] and [suite] blocks into the
respective [box.*]/[suite.*] sections.

Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-20 18:51:03 +02:00
c5e404c9c6
Repair configuration check
Use membership test instead.

Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-20 18:32:05 +02:00
ce0ad136aa
Implement refresh argument
Allows for re-provisioning of VM's.

Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-20 18:01:13 +02:00
42235b9d62
Improve option handling
- move bootstrap script to configuration option
- repair typo
- handle undefined but required options gracefully

Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-20 17:51:32 +02:00
7c209509ed
Refactor environment handling
Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-20 15:02:28 +02:00
99026776a6
Add LICENSE
Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-20 14:38:44 +02:00
e09d084be2
Add README
Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-20 13:40:04 +02:00
efb24e362f
Initial commit
Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-05-20 13:39:45 +02:00