Teflo is a standalone orchestration software that controls the flow of a set of testing scenarios, allowing users to provision machines, deploy software, execute tests against them and manage generated artifacts and report results.
2021-11-03 20:59:35,547 INFO Executing playbook : .tox/teflo/interop_qe_openshift/ansible/playbooks/setup_test_driver.yml
2021-11-03 20:59:35,626 INFO 10.0.162.107
2021-11-03 20:59:35,627 ERROR Orchestration failed : 'ansible_user'
2021-11-03 20:59:35,698 ERROR Failed to run orchestration Configure OpenShift test driver
2021-11-03 20:59:35,699 ERROR Orchestration failed : Failed to perform Configure OpenShift test driver
We have a use case where we don't use ansible_params on provisioning our resources but we've specifed the ansible_user in a group_vars file and ansible_ssh_private_key_file has been specified in the ansible.cfg. So ansible is able to run but teflo fails with the above error.
Reproduce with the following scenario
Provision an asset without using ansible_params
Use the asset in an orchestrate/execute task in the hosts: key
Ansible playbook that templates the hosts key hosts: {{ hosts }}
When provision completes your master inventory file should look like
We have a use case where we don't use ansible_params on provisioning our resources but we've specifed the ansible_user in a group_vars file and ansible_ssh_private_key_file has been specified in the ansible.cfg. So ansible is able to run but teflo fails with the above error.
Reproduce with the following scenario
When provision completes your master inventory file should look like
What I believe is happening is that the ssh_retry helper function is dependent on that groups vars but since it's empty we get python keyerror. https://github.com/RedHatQE/teflo/blob/develop/teflo/helpers.py#L861
teflo should be flexible to this use case and have other methods for validating connectivity without relying on that specific group_var