mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Eliminate possible race condition in async_wrapper where ansible deletes the argsfile while the module
is still kicking off. Should not happen except in modules that are somewhat slow to load and probably can be fixed better than the included sleep, i.e. some IPC communication that the process has launched and is ok to exit. This works pretty well for now though.
This commit is contained in:
parent
2511992659
commit
5764ccdb0e
2 changed files with 12 additions and 6 deletions
|
@ -134,6 +134,11 @@ if pid != 0:
|
|||
# print "RETURNING SUCCESS IN PARENT"
|
||||
print json.dumps({ "started" : 1, "ansible_job_id" : jid, "results_file" : log_path })
|
||||
sys.stdout.flush()
|
||||
# we need to not return immmediately such that the launched command has an attempt
|
||||
# to initialize PRIOR to ansible trying to clean up the launch directory (and argsfile)
|
||||
# this probably could be done with some IPC later. Modules should always read
|
||||
# the argsfile at the very first start of their execution anyway
|
||||
time.sleep(1)
|
||||
sys.exit(0)
|
||||
else:
|
||||
# the kid manages the job
|
||||
|
|
13
library/yum
13
library/yum
|
@ -265,13 +265,14 @@ def remove_only(pkgspec):
|
|||
def main():
|
||||
# state=installed pkg=pkgspec
|
||||
# state=removed pkg=pkgspec
|
||||
# list=installed
|
||||
# list=updates
|
||||
# list=available
|
||||
# list=repos
|
||||
# list=pkgspec
|
||||
# update="args"?
|
||||
# state=latest pkg=pkgspec
|
||||
#
|
||||
# informational commands:
|
||||
# list=installed
|
||||
# list=updates
|
||||
# list=available
|
||||
# list=repos
|
||||
# list=pkgspec
|
||||
|
||||
if len(sys.argv) == 1:
|
||||
msg = "the yum module requires arguments (-a)"
|
||||
|
|
Loading…
Reference in a new issue