- kosmos_email: add the missing Berksfile so its declared dependencies (hostname/unbound/postfix) resolve - kosmos_garage: add local path deps for the internal cookbooks so Berkshelf stops fetching them from Supermarket - kosmos_rsk: bump rskj to 9.0.4~<codename> (current ppa:rsksmart/rskj build) and update the matching InSpec assertion; suite now passes 9/9 - document the remaining suite work in doc/test-kitchen-open-tasks.md
61 lines
3.0 KiB
Markdown
61 lines
3.0 KiB
Markdown
# Test Kitchen: open tasks
|
|
|
|
Status of the Test Kitchen integration suites after the migration to Cinc
|
|
Workstation. Suites are run with Cinc Workstation's bundled `kitchen`
|
|
(`kitchen-dokken` 2.25.0), which provisions Cinc Client via
|
|
`provisioner: product_name: cinc`.
|
|
|
|
## Suites with tests
|
|
|
|
| Cookbook | Test | Berksfile | State |
|
|
| --- | --- | --- | --- |
|
|
| `kosmos-ejabberd` | `test/integration/default` | complete (path + pinned deps) | untested |
|
|
| `kosmos_email` | `test/integration/default` | added | not green yet |
|
|
| `kosmos_garage` | `test/integration/default` | fixed (local path deps) | untested |
|
|
| `kosmos_rsk` | `test/integration/rskj` | complete | green (verified) |
|
|
|
|
## Suites without tests
|
|
|
|
`kosmos_liquor-cabinet` and `liquor_cabinet` declare
|
|
`verifier.inspec_tests: test/integration/default`, but that directory does not
|
|
exist. Either add real InSpec tests or remove the `inspec_tests` entries.
|
|
|
|
## Fixes applied during the migration
|
|
|
|
- Cinc provisioning verified: `kosmos_rsk` and `kosmos_email` both reached a
|
|
running `cinc-client 18.2.7` inside Dokken (no Chef license prompt).
|
|
- `kosmos_rsk` suite passes end to end (9/9) after the fixes below, confirming
|
|
the Cinc Workstation → `kitchen-dokken` 2.25 → `product_name: cinc` pipeline.
|
|
- `kosmos_email`: added a `Berksfile` (there was none, so declared dependencies
|
|
like `hostname` could not resolve).
|
|
- `kosmos_garage`: added local `path:` dependencies
|
|
(`kosmos_openresty`, `kosmos-base`, `openresty`, `kosmos-postfix`) so Berkshelf
|
|
no longer tries to fetch internal cookbooks from Supermarket.
|
|
- `kosmos_rsk`: bumped the `rskj` pin from `9.0.1~<codename>` to
|
|
`9.0.4~<codename>` (matching the current version in `ppa:rsksmart/rskj`), and
|
|
updated the matching assertion in `test/integration/rskj/rskj_test.rb`.
|
|
|
|
## Remaining tasks
|
|
|
|
1. **`kosmos_email` is not green yet.** Even with the Berksfile, the default
|
|
recipe pulls in a lot (`unbound`, `opendkim`, `spamassassin`, `postfix`,
|
|
`dovecot`, `tls_cert_for` from `kosmos-base`, firewall rules). It likely needs
|
|
a reduced/lifecycle setup before it converges in Dokken.
|
|
2. **`kosmos_garage`** has not been run since the Berksfile fix; it uses
|
|
Ubuntu 20.04 and needs its data bag secret.
|
|
3. **`kosmos-ejabberd`** is untested. It has the most complete Berksfile and a
|
|
`pre_converge` lifecycle that prepares PostgreSQL, so it is the most likely
|
|
suite to pass — worth doing next.
|
|
4. **Liquor suites**: add tests or drop the dangling `inspec_tests`.
|
|
5. **Benign warning**: knife-zero double-loads `knife ssh` under knife 19,
|
|
printing `already initialized constant Chef::Knife::Ssh::SUDO_PASSWORD_PROMPT`.
|
|
Harmless; would need an upstream knife-zero fix to silence.
|
|
|
|
## Notes
|
|
|
|
- Suites live in `site-cookbooks/<name>/kitchen.yml`; run them with
|
|
`kitchen test` from that directory (Cinc Workstation must be on the PATH, see
|
|
the repository `README.md`).
|
|
- Five cookbooks are git submodules (`blossom`, `deno`, `openresty`,
|
|
`postgresql`, `strfry`); their suites would need changes in their own repos.
|