I have written a separate orchestration engine that will execute a series of salt commands and track their progress across a set of syndicates. What I am having trouble with is detecting the case where a salt command is being set to a minion that is not currently available. When I do this the job gets created and then just sits there forever.
I thought that perhaps I could register a reactor for - 'salt/job/*/new' and that "minions" would resolve to the list of actual minions that it was actually delivered to. Unfortunately it seems to return the name of the actual minion whether it is available or not. I am then left without being able to distinguish if the command ever reached the minion. I can check if the minion is currently available, but that is not good enough. The command have been sent and the minion disconnected since or it could be that the command was not sent and the minion returned since.
What would be the definitive way of checking to which minions a command was actually delivered?