Commit Graph

37 Commits

Author SHA1 Message Date
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