Repository navigation
Fix the route-origin, bootstrap and content dry runs on ansible-core 2.19 - #28
Merged
Merged
Conversation
The TLS secret task's condition could evaluate to a string under --check, which ansible-core 2.19 refuses, so the dry run stopped before reaching the manifests. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
These conditions have the same problem as route-origin's: under --check they could evaluate to a string, which ansible-core 2.19 refuses. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
No issue for this one. Found while dry-running the rollout of #27.
Why
ansible-playbook routing.yml --tags origin --check --difffails on ansible-core 2.19.4 at the TLS secret task, before it reaches the Envoy manifests:Under
--check,not ansible_check_modeis false, so the condition evaluates to the string inorigin_ns.stdout, and ansible-core 2.19 requires a boolean. A real run takes the left side (true), so this only breaks dry runs.The bootstrap and content roles use the same condition, so their dry runs should fail the same way. I saw the failure on route-origin only.
Change
The conditions now give a boolean in both modes. What they mean doesn't change: run for real, and under
--checkonly if the namespace exists (for the WSS certificate, the namespace and cert-manager's CRD).roles/route_origin/tasks/main.yml: 1 condition.roles/bootstrap/tasks/instance.yml: 2 conditions.roles/content/tasks/main.yml: 3 conditions.roles/content/tasks/pin_api.yml: 1 condition.Checked
I ran both forms of the new condition on ansible-core 2.19.4 in a small local playbook:
--check--syntax-checkpasses onrouting.yml,bootstrap.ymlandcontent.yml.roles/and the playbooks for other conditions that end in a bare.stdout, and found no more. Thenot argocd_installed.stdoutforms already give a boolean.Not checked: a full
--checkof any of the three playbooks against a box from this branch.After merging
Nothing to deploy: the conditions don't change what a real run does.
🤖 Generated with Claude Code