Skip to content

RunnerConfig.prepare_env() does not respect the ansible config #1390

@braindevices

Description

@braindevices

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions