Jan, I just ran a quick test with your suggestion and it seems like it is working as intended. I need to do more testing with it but it looks like this may well be a viable solution:
--- - hosts: localhost connection: local vars: host: hostX cluster: default directory: '/backup/' ova_ext: ova vms: - ovatest - ovatest2 tasks: - name: Backup VMs include_tasks: backup-test.yml loop: "{{ vms }}" backup-test.yml: --- - name: "Export VM to OVA" ovirt_vm: auth: "{{ ovirt_auth }}" name: "{{ item }}" state: exported cluster: "{{ cluster }}" export_ova: host: "{{ host }}" filename: "{{ item }}.{{ ova_ext }}" directory: "{{ directory }}" - name: "Wait for export to finish" wait_for: path: "/backup/vm.ova" # will change to using vars here The backup folder isn't accessible from where I'm running ansible from so I will need to check it remotely but that should be easy to solve. On Thu, Jan 23, 2020 at 11:43 AM Jan Zmeskal <jzmes...@redhat.com> wrote: > Hi Jayme, > > let us know how it went. Anyway, if you ever run into hard timeout, don't > despair. It also happened to me once when working with Ansible oVirt > modules and I just created an issue on GitHub where I requested this > timeout to be changed from hard-coded value to a configurable parameter > with some reasonable default. It was implemented rather quickly. > > Jan > > On Thu, Jan 23, 2020 at 4:32 PM Jayme <jay...@gmail.com> wrote: > >> That may work since the file will be tmp until finished being written. I >> was also just looking at the ovirt event info module >> https://docs.ansible.com/ansible/latest/modules/ovirt_event_info_module.html#ovirt-event-info-module >> -- >> I was thinking that I might be able to watch the event info wait on the >> event which shows the export was successful i.e. Vm X was exported >> successfully as a Virtual Appliance to path.... >> >> There is also the event index which could be useful in terms of getting a >> starting point for the event search. >> >> I thought there would be a module or API for the running oVirt task list >> but so far I haven't been able to find any way to get info on oVirt tasks. >> >> I'll see if I can get something working with your suggestion and keep >> looking at API and ansible modules to see which make sense to use. >> >> I'm also worried that timeout issues may occur if I start waiting in some >> cases an hour or more for very large VM backups to complete before moving >> on to the next with ansible. >> >> Thanks! >> >> Jayme >> >> On Thu, Jan 23, 2020 at 10:00 AM Jan Zmeskal <jzmes...@redhat.com> wrote: >> >>> Hi Jayme, >>> >>> here's my idea. I haven't tested it but I believe it should work. >>> 1. Create a new task file (let's call it export_vm.yaml) and include two >>> tasks in there: >>> 1.1. First task uses ovirt_vm module (pretty much what you already have) >>> to export VM >>> 1.2. Second task uses wait_for >>> <https://docs.ansible.com/ansible/latest/modules/wait_for_module.html> >>> module (specifically its path parameter) to wait until the OVA file in >>> /backup exists >>> 2. Loop over those two tasks as explained here >>> <https://ericsysmin.com/2019/06/20/how-to-loop-blocks-of-code-in-ansible/> >>> . >>> >>> Hope this helps. >>> >>> Jan >>> >>> On Wed, Jan 22, 2020 at 4:15 PM Jayme <jay...@gmail.com> wrote: >>> >>>> I wrote a simple task that is using the ovirt_vm module >>>> https://docs.ansible.com/ansible/latest/modules/ovirt_vm_module.html -- >>>> it essentially loops over a list of vms and exports them to OVA. >>>> >>>> The problem I have is the task is deemed changed once it successfully >>>> submits the export task to oVirt. This means that if I gave it a list of >>>> 100 Vms I believe it would start an export task on all of them. I want to >>>> prevent this and have it only export one VM at a time. In order to do this >>>> I believe I will need to find a way for the task to wait and somehow verify >>>> that the export was completed before submitting a task for the next VM >>>> export. >>>> >>>> Any ideas? >>>> >>>> - name: Export the VM >>>> ovirt_vm: >>>> auth: "{{ ovirt_auth }}" >>>> name: "{{ item }}" >>>> state: exported >>>> cluster: default >>>> export_ova: >>>> host: Host0 >>>> filename: "{{ item }}" >>>> directory: /backup/ >>>> with_items: "{{ vms }}" >>>> >>>> _______________________________________________ >>>> Users mailing list -- users@ovirt.org >>>> To unsubscribe send an email to users-le...@ovirt.org >>>> Privacy Statement: https://www.ovirt.org/site/privacy-policy/ >>>> oVirt Code of Conduct: >>>> https://www.ovirt.org/community/about/community-guidelines/ >>>> List Archives: >>>> https://lists.ovirt.org/archives/list/users@ovirt.org/message/PXYAQ7YEBQCUWCAQCFAFXB3545LNB23X/ >>>> >>> >>> >>> -- >>> >>> Jan Zmeskal >>> >>> Quality Engineer, RHV Core System >>> >>> Red Hat <https://www.redhat.com> >>> <https://www.redhat.com> >>> >> > > -- > > Jan Zmeskal > > Quality Engineer, RHV Core System > > Red Hat <https://www.redhat.com> > <https://www.redhat.com> >
_______________________________________________ Users mailing list -- users@ovirt.org To unsubscribe send an email to users-le...@ovirt.org Privacy Statement: https://www.ovirt.org/site/privacy-policy/ oVirt Code of Conduct: https://www.ovirt.org/community/about/community-guidelines/ List Archives: https://lists.ovirt.org/archives/list/users@ovirt.org/message/XVSINZRCNGF74GLHCUGWOPENRUBDD7UK/