Unexpected SSO error with first task

Dear oVirt, In our software tests, we deploy oVirt VMs using ansible and teardown also using ansible. We noticed that each time we run nightly tests, using Jenkins user in ovirt, in one of the Jobs, first task, creating VM, fails with following error, TASK [Login to oVirt] ********************************************************** An exception occurred during task execution. To see the full traceback, use -vvv. The error was: AuthError: Error during SSO authentication invalid_grant : The provided authorization grant for the username and password has expired. fatal: [PVyrZMy0-csm-2.avinity.tv<http://pvyrzmy0-csm-2.avinity.tv/> -> localhost]: FAILED! => {"changed": false, "msg": "Error during SSO authentication invalid_grant : The provided authorization grant for the username and password has expired."} Immediately after, Token seem to be renewed and all other VMs are created without issue. The play looks like following: --- # file: provision-ovirt.yml - name: Create VM in OVirt hosts: ovirt-vms gather_facts: false vars: - state: running pre_tasks: - name: Login to oVirt delegate_to: localhost ovirt_auth: url: "{{ ovirt_engine_url }}" username: "{{ ovirt_engine_user }}" password: "{{ ovirt_engine_password }}" ca_file: "{{ ovirt_engine_cafile | default(omit) }}" insecure: "{{ ovirt_engine_insecure | default(true) }}" run_once: true tasks: - name: "Get agent keys" delegate_to: localhost command: ssh-add -L register: ssh_agent_pubkeys run_once: true changed_when: False - name: Create new VMs from template delegate_to: localhost ovirt_vm: auth: "{{ ovirt_auth }}" name: "{{ inventory_hostname_short }}" nics: - name: nic1 profile_name: tenant1 interface: virtio cloud_init_nics: - nic_name: eth0 nic_boot_protocol: dhcp nic_on_boot: true cloud_init: host_name: "{{ inventory_hostname_short }}" authorized_ssh_keys: "{{ ssh_agent_pubkeys.stdout }}" state: "{{ state }}" cluster: "{{ovirt_cluster}}" template: "{{ images_to_template[os_image] }}" instance_type: "{{ os_flavor_to_ovirt_instance_type[os_flavor] }}" - name: "Wait until the ansible user can log into the host (cloud-init needs to have finished)" command: ssh -oPasswordAuthentication=no -oStrictHostKeyChecking=no {{ansible_user}}@{{inventory_hostname}} exit register: ssh_output delegate_to: localhost until: ssh_output.rc == 0 retries: 30 delay: 5 changed_when: False post_tasks: - name: Logout from oVirt delegate_to: localhost run_once: true ovirt_auth: state: absent ovirt_auth: "{{ ovirt_auth }}" tags: - always How does token relates to user session in oVirt? We would expect that once we logout, token should be expired and upon new login just get renewed/new token to proceed. Is it a bug? Is it in the play that we are doing something incorrectly? Kindly awaiting your eply. — — — Met vriendelijke groet / Kind regards, Marko Vrgotic
participants (1)
-
Vrgotic, Marko