ansible-runner icon indicating copy to clipboard operation
ansible-runner copied to clipboard

RunnerConfig.prepare_env() does not respect the ansible config

Open braindevices opened this issue 6 months ago • 1 comments

I was very confused became apparently our code just wrap around whatever stdout callback class In theory it should be able to respect whatever stdout callback the user set as default. But in reality, i cannot get it to respect my ansible.cfg We even have get_ansible_config to facilitate this feature.

After reading the code I figured out we actually override the callback via the env variable.

But we only respect the ANSIBLE_STDOUT_CALLBACK from the environment in the prepare_env(), which causes this bug.

I think we should respect the full ansible config stack instead of just the envvar, there are several way to do this:

  • most simple, we call get_ansible_config() in the prepare_env() and get the actual stdout_callback value and use it as the ORIGINAL_STDOUT_CALLBACK
  • more correct way may need somehow dynamically interfacing with the base callback instead of statical inheritance. Then the awx_callback can be an independent ansible callback model. The original callback can be set as a plugin option.

braindevices avatar Aug 15 '24 18:08 braindevices