AWX 19.4.0 how data is copied between receptor workers

Hello ,

I have installed the latest version of AWX and I see that when launching a job a work is detected on receptor nodes (here my execution node is tools_receptor_1).

After launching the job template from the UI

On control plane when launching the command receptorctl work list I am getting the following output

docker exec -it tools_awx_1 receptorctl work list

{‘lsTyGQyh’: {‘Detail’: ‘Running: PID 255’,
‘ExtraData’: {‘Expiration’: ‘0001-01-01T00:00:00Z’,
‘LocalCancelled’: False,
‘LocalReleased’: False,
‘RemoteNode’: ‘receptor-1’,
‘RemoteParams’: {‘params’: '–private-data-dir=/tmp/awx_43_8xmv19jd
‘–delete’},
‘RemoteStarted’: True,
‘RemoteUnitID’: ‘SOWTu5xR’,
‘RemoteWorkType’: ‘ansible-runner’,
‘SignWork’: True,
‘TLSClient’: ‘’},
‘State’: 1,
‘StateName’: ‘Running’,
‘StdoutSize’: 0,
‘WorkType’: ‘remote’}}

docker exec -it tools_receptor_1 receptorctl work list

{‘SOWTu5xR’: {‘Detail’: ‘Running: PID 255’,
‘ExtraData’: {‘Params’: 'worker ’
'–private-data-dir=/tmp/awx_43_8xmv19jd
‘–delete’,
‘Pid’: 249},
‘State’: 1,
‘StateName’: ‘Running’,
‘StdoutSize’: 0,
‘WorkType’: ‘ansible-runner’}}

I can see that the directory /tmp/awx_43_8xmv19jd was created on both the control plane (tools_awx_1) and the worker (tools_receptor_1).

So my question is how the directory content is copied between the two nodes ?
Do receptor copy the directory content before submitting the work ?

Many thanks.
RH

Hi RH,

Interesting to see that Receptor is used by AWX for job distribution …

I have not dived into the subject but could it be that the temp dir is actually a shared volume between the containers? That would allow the data transfer …

HTH,

Vincent

I believe this is setting up what will eventually be the ansible automation mesh they talked about at ansiblefest

Oh interesting indeed. I need to watch those sessions. Is it the talk titled “Automation at Large: Managing Ansible Tower on a Massive Scale” that you were referring to?

Vincent

I don’t know the exact talk but it was something about a banana stand and separating the control and execution planes (and a replacement for isolated nodes)

Ok thank you for the pointer, I will look into the talks for that then !

Vincent