-
Notifications
You must be signed in to change notification settings - Fork 23.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
aysnc Throws jid Error When Using with_pipe Lookup Plugin #2897
Comments
A few questions... What version of Ansible are you using? If you run this without async (maybe on a small directory), do you still On Sun, May 12, 2013 at 5:00 PM, Matthew Johnson
|
Ansible 1.1 I re-tested this using the binary distribution of Tomcat 7.0.33; it is 14MB and 673 files. Without async + poll, and keeping the with_pipe lookup, the job completes as expected. Adding async + poll back to the job (using 600/30 for the smaller file sizes) causes the error. Conversely, keeping the async + poll and stripping the with_pipe lookup allows the job polling to proceed as expected. |
Ok, might be worth testing under the 1.2 development version, though Does your operation complete (i.e. the async error is spurious) or not? Also, when does it fail? (immediately, later?) On Sun, May 12, 2013 at 6:31 PM, Matthew Johnson
|
I see this when the jid error is thrown:
The s3cmd is launched successfully on the target hosts and it runs to completion; I can verify this by logging into the target hosts and checking the processes. The data also shows up in s3. The playbook aborts processing and the steps after the s3cmd are not run. Compared to this, when the lookup plugin is stripped:
I see the same behavior with devel branch. |
I'm also not sure why the with_pipe part should matter here. Assuming it's actually not related. |
We've decided to flat out disallow this, on the basis that tasks that use something like with_items or with_sequence means all of the tasks are started up at once, which can cause problems. We may revisit this in the future, but for now to accomplish the same thing you're doing above you can use the shell command and register the output into a variable for use in the task. |
Using this task definition:
Returns this error:
ERROR: unexpected error: unable to determine jid
Date is being fetched appropriately by the with_pipe lookup; the s3cmd job launches and continues to run in the background on the target hosts.
The same task, without the lookup plugin runs as expected in async mode.
This is using Ansible 1.1.
The text was updated successfully, but these errors were encountered: