Add repository connectivity checks to verify playbook - #34
Merged
kvelarde-itential merged 4 commits intoAug 20, 2026
Merged
Conversation
kvelarde-itential
requested review from
Amunagala-itential,
Madias2222,
Nick-Andreano and
steven-schattenberg-itential
August 14, 2026 16:16
steven-schattenberg-itential
requested changes
Aug 14, 2026
steven-schattenberg-itential
approved these changes
Aug 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ported itential.deployer's pre-flight verification improvements to itential.iag5's existing verify system, plus fixed two iag5-specific issues found along the way.
Made verify.yml continue past a single component's failure instead of aborting the whole run.
Root cause: Ansible aborts the entire ansible-playbook run — not just the current play — the moment a play ends with 100% of its hosts failed, even for later, unrelated plays. playbooks/verify.yml runs servers/runners/clients as three separate plays, and verify-os.yml/verify-specs.yml hard-failed with no ignore_errors, so one bad server host could have prevented the runner and client plays from ever running.
Added connectivity + proxy checks (new capability — iag5 had neither before).
Fixed hardware-spec selection for the all-in-one topology.
iag5_servers hosts were always checked against gateway_server_hw_specs (the lower minimums), even in a single-node all-in-one inventory where there's no separate iag5_runners group and the server is also doing runner work locally. gateway_server/tasks/verify.yml now detects this the same way certify-tls.yml already does ('iag5_runners' in groups and groups['iag5_runners'] | length > 0) and checks the server against gateway_runner_hw_specs instead when no dedicated runner group exists. The component name in reports becomes "Server (acting as Runner)" in that case, so it's clear which spec set applied.
Docs: docs/verify.md (new Connectivity/Proxy check-reference sections, new "Non-Fatal Design" section, updated "How node type is determined" with the topology table, updated architecture diagram/overview table), CLAUDE.md (verify_common and gateway_server sections rewritten), README.md (added a "run verify" pointer next to the existing repository table).
Note on the verify-tls-files.yml diff size: it looks much larger than the actual change because every existing task got re-indented one level (to nest inside the new block:) — git's line diff can't recognize a pure indentation shift as a non-change. Diffing with whitespace ignored shows the real change is just the block/rescue wrapper plus two new bookend tasks; every one of the original checks is byte-identical (module, args, register, when, delegate_to, become).
Verified throughout: ansible-lint/--syntax-check clean on every touched/new file (only pre-existing-style var-naming warnings), plus multiple synthetic Ansible playbook runs confirming the continue-past-failure behavior, the block/rescue mechanism, the connectivity checks, and both hardware-spec topology branches (all-in-one vs. distributed) behave as intended.