You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, if I update an ansiblerun, the only way to tell whether the change was synced is by watching logs.
There's a synced condition, but if, say, the old run was successfully synced, and the new one was successfully synced too, the condition doesn't change.
One could enforce a change, for example, by deleting all ansiblerun conditions right after their update. But even then, when the Synced condition gets set, there's no way of knowing whether it's the result of the updated run or if there was simply an old long-running playbook, from before, the update, that only now finished running.
How could Crossplane help solve your problem?
It would be nice if update syncs were detectable. The minimal implementation would be to for provider-ansible to set a timestamp annotation on ansibleruns before it starts running the playbook/role (e.g. lastTriggeredAt). Then the end user can do the following:
apply the update
set ansiblerun status to null
keep checking the ansiblerun for Synced status
if it's Synced, then check the lastTriggeredAt: if it's after the update then we're done, if before then go to step 2
A nicer approach could involve setting Synced condition to false when a change is detected and before the run resulting from that change completes, so that the the end user doesn't need to clear ansiblerun status to track the update.
The text was updated successfully, but these errors were encountered:
What problem are you facing?
Currently, if I update an ansiblerun, the only way to tell whether the change was synced is by watching logs.
There's a synced condition, but if, say, the old run was successfully synced, and the new one was successfully synced too, the condition doesn't change.
One could enforce a change, for example, by deleting all ansiblerun conditions right after their update. But even then, when the Synced condition gets set, there's no way of knowing whether it's the result of the updated run or if there was simply an old long-running playbook, from before, the update, that only now finished running.
How could Crossplane help solve your problem?
It would be nice if update syncs were detectable. The minimal implementation would be to for provider-ansible to set a timestamp annotation on ansibleruns before it starts running the playbook/role (e.g.
lastTriggeredAt
). Then the end user can do the following:lastTriggeredAt
: if it's after the update then we're done, if before then go to step 2A nicer approach could involve setting Synced condition to false when a change is detected and before the run resulting from that change completes, so that the the end user doesn't need to clear ansiblerun status to track the update.
The text was updated successfully, but these errors were encountered: