Regarding my issues posted Monday and yesterday, i...
# puppet
a
Regarding my issues posted Monday and yesterday, is there a way to skip file-sync calls on all environments when puppet-code deploy is called via a plan? It doesn't appear to trigger when the task I use is called directly.
s
File sync completing to deliver the update to all Puppet Server instances is the ultimate goal of a code deployment. So, it's not really designed to be skippable.
a
Agreed, though I’d expect to get the same error/timeout when calling the task explicitly. After further delving it just looks like plans create a JRubyPool lock that tasks don't.
s
Ah, yes. That would be a problem. File sync includes Orchestrator, since it consumes deployed content. Plans run inside of a JRuby instance. So, you've got a plan waiting for the deployment to finish and the deployment waiting for the plan to finish.
Task is probably the best middle ground here. If the goal is to avoid having other folks need to fill in something -- why not just hardcode the FQDN of the Primary? It's not really something that changes often.
Ah, but I suppose the Orchestrator API demands a target list for the task. So, it's not something you can pre-fill from the task its self.
a
That last comment is the kicker. And as you elude, there doesn’t seem like a way around it.
s
I suppose one thing you could do is call the deploy API with
wait: false
. That should return when the deployment is queued without waiting for file sync to complete.
a
Then I'd have to come up with some way of getting the result. Just pivoted to a little overkill gitlab pipeline.