Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

virt: chokes on define/create #34559

Closed
coaxial opened this issue Jan 7, 2018 · 8 comments · Fixed by #41622
Closed

virt: chokes on define/create #34559

coaxial opened this issue Jan 7, 2018 · 8 comments · Fixed by #41622
Labels
affects_2.5 This issue/PR affects Ansible v2.5 bug This issue/PR relates to a bug. cloud module This issue/PR relates to a module. support:community This issue/PR relates to code supported by the Ansible community. traceback This issue/PR includes a traceback. virt Virt community (incl. QEMU, KVM, libvirt, ovirt, RHV and Proxmox)

Comments

@coaxial
Copy link

coaxial commented Jan 7, 2018

ISSUE TYPE
  • Bug Report
COMPONENT NAME

virt

ANSIBLE VERSION
ansible 2.5.0 (devel f4a2b0b103) last updated 2018/01/06 20:16:02 (GMT -400)
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/home/coaxial/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /home/coaxial/code/ansible/lib/ansible
  executable location = /home/coaxial/code/ansible/bin/ansible
  python version = 2.7.14 (default, Sep 23 2017, 22:06:14) [GCC 7.2.0]
CONFIGURATION
DEFAULT_HOST_LIST(/etc/ansible/ansible.cfg) = [u'/home/coaxial/code/ansible-inventories/inventory.ini']
DEFAULT_REMOTE_USER(/etc/ansible/ansible.cfg) = ansible
DEFAULT_ROLES_PATH(/etc/ansible/ansible.cfg) = [u'/home/coaxial/.ansible/roles']
PERSISTENT_CONNECT_TIMEOUT(/etc/ansible/ansible.cfg) = 30
OS / ENVIRONMENT

Ubuntu 17.10 targetting Ubuntu 17.10 host

SUMMARY

The virt module demands a name argument be passed, even when using create or define actions. If none is passed, it errors saying it's required. If one is passed, and the domain doesn't exist (i.e. you want to define or create it), then it errors too saying it can't find the domain . It is odd that a domain name would be required by the virt module for create or define, because virsh {create,define} only expects the path to an XML file. The XML file contains the domain name.

I should add that running virsh create mydomain.xml and virsh define mydoamin.xml on the command line on the target machine works perfectly well.

STEPS TO REPRODUCE
    - name: Create VMs
      virt:
        name: mydomain
        command:  define
        xml: "{{ lookup('file', '{{ mydomain.xml }}') }}"
        autostart: "{{ item.autostart | default('true') }}"
EXPECTED RESULTS

OK

ACTUAL RESULTS
Using module file /home/coaxial/code/ansible/lib/ansible/modules/cloud/misc/virt.py
<192.168.1.50> ESTABLISH SSH CONNECTION FOR USER: ansible
<192.168.1.50> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=ansible -o ConnectTimeout=10 -o ControlPath=/home/coaxial/.ansible/cp/3b9e9b102a 192.168.1.50 '/bin/sh -c '"'"'echo ~ && sleep 0'"'"''
<192.168.1.50> (0, '/home/ansible\n', '')
<192.168.1.50> ESTABLISH SSH CONNECTION FOR USER: ansible
<192.168.1.50> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=ansible -o ConnectTimeout=10 -o ControlPath=/home/coaxial/.ansible/cp/3b9e9b102a 192.168.1.50 '/bin/sh -c '"'"'( umask 77 && mkdir -p "` echo /home/ansible/.ansible/tmp/ansible-tmp-1515356256.59-262590954320113 `" && echo ansible-tmp-1515356256.59-262590954320113="` echo /home/ansible/.ansible/tmp/ansible-tmp-1515356256.59-262590954320113 `" ) && sleep 0'"'"''
<192.168.1.50> (0, 'ansible-tmp-1515356256.59-262590954320113=/home/ansible/.ansible/tmp/ansible-tmp-1515356256.59-262590954320113\n', '')
<192.168.1.50> PUT /tmp/tmp_AjIIY TO /home/ansible/.ansible/tmp/ansible-tmp-1515356256.59-262590954320113/virt.py
<192.168.1.50> SSH: EXEC sftp -b - -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=ansible -o ConnectTimeout=10 -o ControlPath=/home/coaxial/.ansible/cp/3b9e9b102a '[192.168.1.50]'
<192.168.1.50> (0, 'sftp> put /tmp/tmp_AjIIY /home/ansible/.ansible/tmp/ansible-tmp-1515356256.59-262590954320113/virt.py\n', '')
<192.168.1.50> ESTABLISH SSH CONNECTION FOR USER: ansible
<192.168.1.50> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=ansible -o ConnectTimeout=10 -o ControlPath=/home/coaxial/.ansible/cp/3b9e9b102a 192.168.1.50 '/bin/sh -c '"'"'chmod u+x /home/ansible/.ansible/tmp/ansible-tmp-1515356256.59-262590954320113/ /home/ansible/.ansible/tmp/ansible-tmp-1515356256.59-262590954320113/virt.py && sleep 0'"'"''
<192.168.1.50> (0, '', '')
<192.168.1.50> ESTABLISH SSH CONNECTION FOR USER: ansible
<192.168.1.50> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=ansible -o ConnectTimeout=10 -o ControlPath=/home/coaxial/.ansible/cp/3b9e9b102a -tt 192.168.1.50 '/bin/sh -c '"'"'sudo -H -S -n -u root /bin/sh -c '"'"'"'"'"'"'"'"'echo BECOME-SUCCESS-abrekzfylmrnvfhwsvjhsxllliebjixi; /usr/bin/python /home/ansible/.ansible/tmp/ansible-tmp-1515356256.59-262590954320113/virt.py; rm -rf "/home/ansible/.ansible/tmp/ansible-tmp-1515356256.59-262590954320113/" > /dev/null 2>&1'"'"'"'"'"'"'"'"' && sleep 0'"'"''
Escalation succeeded
<192.168.1.50> (0, 'libvirt: QEMU Driver error : Domain not found: no domain with matching name \'pbx\'\r\n\r\n{"msg": "Domain not found: no domain with matching name \'pbx\'", "failed": true, "exception": "Traceback (most recent call last):\\n  File \\"/tmp/ansible_P_wdlG/ansible_module_virt.py\\", line 526, in main\\n    rc, result = core(module)\\n  File \\"/tmp/ansible_P_wdlG/ansible_module_virt.py\\", line 476, in core\\n    if autostart is not None and v.autostart(guest, autostart):\\n  File \\"/tmp/ansible_P_wdlG/ansible_module_virt.py\\", line 339, in autostart\\n    if self.conn.get_autostart(vmid) != as_flag:\\n  File \\"/tmp/ansible_P_wdlG/ansible_module_virt.py\\", line 248, in get_autostart\\n    vm = self.conn.lookupByName(vmid)\\n  File \\"/usr/lib/python2.7/dist-packages/libvirt.py\\", line 4048, in lookupByName\\n    if ret is None:raise libvirtError(\'virDomainLookupByName() failed\', conn=self)\\nlibvirtError: Domain not found: no domain with matching name \'pbx\'\\n", "invocation": {"module_args": {"xml": "<domain type=\'kvm\'>\\n  <name>pbx</name>\\n  <uuid>3cca922a-37a8-4b86-ab8a-ab563dc7fc55</uuid>\\n  <memory unit=\'KiB\'>786432</memory>\\n  <currentMemory unit=\'KiB\'>262144</currentMemory>\\n  <vcpu placement=\'static\'>1</vcpu>\\n  <os>\\n    <type arch=\'x86_64\' machine=\'pc-i440fx-xenial\'>hvm</type>\\n    <boot dev=\'hd\'/>\\n  </os>\\n  <features>\\n    <acpi/>\\n    <apic/>\\n  </features>\\n  <cpu mode=\'custom\' match=\'exact\'>\\n    <model fallback=\'allow\'>core2duo</model>\\n  </cpu>\\n  <clock offset=\'utc\'>\\n    <timer name=\'rtc\' tickpolicy=\'catchup\'/>\\n    <timer name=\'pit\' tickpolicy=\'delay\'/>\\n    <timer name=\'hpet\' present=\'no\'/>\\n  </clock>\\n  <on_poweroff>destroy</on_poweroff>\\n  <on_reboot>restart</on_reboot>\\n  <on_crash>restart</on_crash>\\n  <pm>\\n    <suspend-to-mem enabled=\'no\'/>\\n    <suspend-to-disk enabled=\'no\'/>\\n  </pm>\\n  <devices>\\n    <emulator>/usr/bin/kvm-spice</emulator>\\n    <disk type=\'file\' device=\'cdrom\'>\\n      <driver name=\'qemu\' type=\'raw\'/>\\n      <target dev=\'hda\' bus=\'ide\'/>\\n      <readonly/>\\n      <address type=\'drive\' controller=\'0\' bus=\'0\' target=\'0\' unit=\'0\'/>\\n    </disk>\\n    <disk type=\'file\' device=\'disk\'>\\n      <driver name=\'qemu\' type=\'qcow2\'/>\\n      <source file=\'/media/storage/vms/pbx.qcow2\'/>\\n      <target dev=\'vda\' bus=\'virtio\'/>\\n      <address type=\'pci\' domain=\'0x0000\' bus=\'0x00\' slot=\'0x06\' function=\'0x0\'/>\\n    </disk>\\n    <controller type=\'usb\' index=\'0\' model=\'ich9-ehci1\'>\\n      <address type=\'pci\' domain=\'0x0000\' bus=\'0x00\' slot=\'0x05\' function=\'0x7\'/>\\n    </controller>\\n    <controller type=\'usb\' index=\'0\' model=\'ich9-uhci1\'>\\n      <master startport=\'0\'/>\\n      <address type=\'pci\' domain=\'0x0000\' bus=\'0x00\' slot=\'0x05\' function=\'0x0\' multifunction=\'on\'/>\\n    </controller>\\n    <controller type=\'usb\' index=\'0\' model=\'ich9-uhci2\'>\\n      <master startport=\'2\'/>\\n      <address type=\'pci\' domain=\'0x0000\' bus=\'0x00\' slot=\'0x05\' function=\'0x1\'/>\\n    </controller>\\n    <controller type=\'usb\' index=\'0\' model=\'ich9-uhci3\'>\\n      <master startport=\'4\'/>\\n      <address type=\'pci\' domain=\'0x0000\' bus=\'0x00\' slot=\'0x05\' function=\'0x2\'/>\\n    </controller>\\n    <controller type=\'pci\' index=\'0\' model=\'pci-root\'/>\\n    <controller type=\'ide\' index=\'0\'>\\n      <address type=\'pci\' domain=\'0x0000\' bus=\'0x00\' slot=\'0x01\' function=\'0x1\'/>\\n    </controller>\\n    <controller type=\'virtio-serial\' index=\'0\'>\\n      <address type=\'pci\' domain=\'0x0000\' bus=\'0x00\' slot=\'0x04\' function=\'0x0\'/>\\n    </controller>\\n    <interface type=\'bridge\'>\\n      <mac address=\'52:54:00:9c:61:6b\'/>\\n      <source bridge=\'br0\'/>\\n      <model type=\'virtio\'/>\\n      <address type=\'pci\' domain=\'0x0000\' bus=\'0x00\' slot=\'0x03\' function=\'0x0\'/>\\n    </interface>\\n    <serial type=\'pty\'>\\n      <target port=\'0\'/>\\n    </serial>\\n    <console type=\'pty\'>\\n      <target type=\'serial\' port=\'0\'/>\\n    </console>\\n    <channel type=\'spicevmc\'>\\n      <target type=\'virtio\' name=\'com.redhat.spice.0\'/>\\n      <address type=\'virtio-serial\' controller=\'0\' bus=\'0\' port=\'1\'/>\\n    </channel>\\n    <input type=\'mouse\' bus=\'ps2\'/>\\n    <input type=\'keyboard\' bus=\'ps2\'/>\\n    <graphics type=\'spice\' autoport=\'yes\'>\\n      <image compression=\'off\'/>\\n    </graphics>\\n    <video>\\n      <model type=\'qxl\' ram=\'65536\' vram=\'65536\' vgamem=\'16384\' heads=\'1\'/>\\n      <address type=\'pci\' domain=\'0x0000\' bus=\'0x00\' slot=\'0x02\' function=\'0x0\'/>\\n    </video>\\n    <memballoon model=\'virtio\'>\\n      <address type=\'pci\' domain=\'0x0000\' bus=\'0x00\' slot=\'0x07\' function=\'0x0\'/>\\n    </memballoon>\\n  </devices>\\n</domain>", "name": "pbx", "uri": "qemu:///system", "state": null, "command": "define", "autostart": true}}}\r\n', 'Shared connection to 192.168.1.50 closed.\r\n')
The full traceback is:
Traceback (most recent call last):
  File "/tmp/ansible_P_wdlG/ansible_module_virt.py", line 526, in main
    rc, result = core(module)
  File "/tmp/ansible_P_wdlG/ansible_module_virt.py", line 476, in core
    if autostart is not None and v.autostart(guest, autostart):
  File "/tmp/ansible_P_wdlG/ansible_module_virt.py", line 339, in autostart
    if self.conn.get_autostart(vmid) != as_flag:
  File "/tmp/ansible_P_wdlG/ansible_module_virt.py", line 248, in get_autostart
    vm = self.conn.lookupByName(vmid)
  File "/usr/lib/python2.7/dist-packages/libvirt.py", line 4048, in lookupByName
    if ret is None:raise libvirtError('virDomainLookupByName() failed', conn=self)
libvirtError: Domain not found: no domain with matching name 'pbx'

failed: [mainframe] (item={u'files': {u'xml': u'files/pbx.xml', u'disk': u'/media/coaxial/ebe17a65-bd74-430f-956c-5aac9b29d708/pbx.qcow2'}, u'disk_type': u'qcow2', u'name': u'pbx'}) => {
    "attempts": 1, 
    "changed": false, 
    "invocation": {
        "module_args": {
            "autostart": true, 
            "command": "define", 
            "name": "pbx", 
            "state": null, 
            "uri": "qemu:///system", 
            "xml": "<domain type='kvm'>\n  <name>pbx</name>\n  <uuid>3cca922a-37a8-4b86-ab8a-ab563dc7fc55</uuid>\n  <memory unit='KiB'>786432</memory>\n  <currentMemory unit='KiB'>262144</currentMemory>\n  <vcpu placement='static'>1</vcpu>\n  <os>\n    <type arch='x86_64' machine='pc-i440fx-xenial'>hvm</type>\n    <boot dev='hd'/>\n  </os>\n  <features>\n    <acpi/>\n    <apic/>\n  </features>\n  <cpu mode='custom' match='exact'>\n    <model fallback='allow'>core2duo</model>\n  </cpu>\n  <clock offset='utc'>\n    <timer name='rtc' tickpolicy='catchup'/>\n    <timer name='pit' tickpolicy='delay'/>\n    <timer name='hpet' present='no'/>\n  </clock>\n  <on_poweroff>destroy</on_poweroff>\n  <on_reboot>restart</on_reboot>\n  <on_crash>restart</on_crash>\n  <pm>\n    <suspend-to-mem enabled='no'/>\n    <suspend-to-disk enabled='no'/>\n  </pm>\n  <devices>\n    <emulator>/usr/bin/kvm-spice</emulator>\n    <disk type='file' device='cdrom'>\n      <driver name='qemu' type='raw'/>\n      <target dev='hda' bus='ide'/>\n      <readonly/>\n      <address type='drive' controller='0' bus='0' target='0' unit='0'/>\n    </disk>\n    <disk type='file' device='disk'>\n      <driver name='qemu' type='qcow2'/>\n      <source file='/media/storage/vms/pbx.qcow2'/>\n      <target dev='vda' bus='virtio'/>\n      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>\n    </disk>\n    <controller type='usb' index='0' model='ich9-ehci1'>\n      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x7'/>\n    </controller>\n    <controller type='usb' index='0' model='ich9-uhci1'>\n      <master startport='0'/>\n      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0' multifunction='on'/>\n    </controller>\n    <controller type='usb' index='0' model='ich9-uhci2'>\n      <master startport='2'/>\n      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x1'/>\n    </controller>\n    <controller type='usb' index='0' model='ich9-uhci3'>\n      <master startport='4'/>\n      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x2'/>\n    </controller>\n    <controller type='pci' index='0' model='pci-root'/>\n    <controller type='ide' index='0'>\n      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>\n    </controller>\n    <controller type='virtio-serial' index='0'>\n      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>\n    </controller>\n    <interface type='bridge'>\n      <mac address='52:54:00:9c:61:6b'/>\n      <source bridge='br0'/>\n      <model type='virtio'/>\n      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>\n    </interface>\n    <serial type='pty'>\n      <target port='0'/>\n    </serial>\n    <console type='pty'>\n      <target type='serial' port='0'/>\n    </console>\n    <channel type='spicevmc'>\n      <target type='virtio' name='com.redhat.spice.0'/>\n      <address type='virtio-serial' controller='0' bus='0' port='1'/>\n    </channel>\n    <input type='mouse' bus='ps2'/>\n    <input type='keyboard' bus='ps2'/>\n    <graphics type='spice' autoport='yes'>\n      <image compression='off'/>\n    </graphics>\n    <video>\n      <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1'/>\n      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>\n    </video>\n    <memballoon model='virtio'>\n      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>\n    </memballoon>\n  </devices>\n</domain>"
        }
    }, 
    "item": {
        "disk_type": "qcow2", 
        "files": {
            "disk": "/media/coaxial/ebe17a65-bd74-430f-956c-5aac9b29d708/pbx.qcow2", 
            "xml": "files/pbx.xml"
        }, 
        "name": "pbx"
    }, 
    "msg": "Domain not found: no domain with matching name 'pbx'"
}
@coaxial coaxial changed the title virt: chokes on define virt: chokes on define/create Jan 7, 2018
@ansibot
Copy link
Contributor

ansibot commented Jan 7, 2018

Files identified in the description:

If these files are inaccurate, please update the component name section of the description or use the !component bot command.

click here for bot help

@ansibot ansibot added affects_2.5 This issue/PR affects Ansible v2.5 bug_report cloud module This issue/PR relates to a module. needs_triage Needs a first human triage before being processed. support:community This issue/PR relates to code supported by the Ansible community. labels Jan 7, 2018
@Akasurde Akasurde removed the needs_triage Needs a first human triage before being processed. label Jan 8, 2018
@ansibot ansibot added bug This issue/PR relates to a bug. and removed bug_report labels Mar 1, 2018
@Akasurde
Copy link
Member

Akasurde commented Apr 2, 2018

@coaxial Thanks for reporting this issue. Could you please try without specifying autostart option ? Also, name is required parameter for define as module tries to find domain with same name before defining new domain.

needs_info

@ansibot ansibot added the needs_info This issue requires further information. Please answer any outstanding questions. label Apr 2, 2018
@pauvos
Copy link

pauvos commented May 2, 2018

I can confirm that it happens with autostart. Removing it fixed the issue for me.

@ansibot
Copy link
Contributor

ansibot commented May 10, 2018

@coaxial This issue is waiting for your response. Please respond or the issue will be closed.

click here for bot help

@coaxial
Copy link
Author

coaxial commented May 11, 2018

@Akasurde yes that works

@ansibot ansibot removed the needs_info This issue requires further information. Please answer any outstanding questions. label May 11, 2018
@Akasurde
Copy link
Member

@coaxial Could you please try this #40457 and let us know if it works for you ?
I have not tried but I think it will solve your issue.

@ansibot ansibot added the traceback This issue/PR includes a traceback. label May 29, 2018
@nesanton
Copy link
Contributor

Using autostart with define should be legit - it's logical to define a vm and make it autostartable. This PR makes autostart usable as standalone task, but does not solve define + autostart issue. Task will fail because it attempts to set autostart before defining the vm.

@nesanton
Copy link
Contributor

Tried to address this and other issues in #41622

Akasurde pushed a commit that referenced this issue Nov 22, 2018
* autostart cannot be used with command=define

autostart cannot be used with command=define. If it's used with state, it'll be silently ignored.
#41592

* guest name should not be used with xml

When both ```name``` and ```xml``` are specified, there might be a mismatch of domain names in
```name``` and inside ```xml```.

* Improved error handling and param deps for autostart-only tasks.
Standalone autostart tasks depend on ```name``` and need the domain to be present.

* Added handling of errors thrown by libvirt

* Updates to documentstion and examples

* Removed required flag from name. Added description on some option combinations.
Added a few examples.

* lint issues

* docs: note that name is optional

* Removing required from documentation of name parameter

* extra text to make clearer when name is required

* When defining a domain with xml, its name is taken directly from the xml definition.

This reverts commit 4ac14a6.
mjmayer pushed a commit to mjmayer/ansible that referenced this issue Nov 30, 2018
* autostart cannot be used with command=define

autostart cannot be used with command=define. If it's used with state, it'll be silently ignored.
ansible#41592

* guest name should not be used with xml

When both ```name``` and ```xml``` are specified, there might be a mismatch of domain names in
```name``` and inside ```xml```.

* Improved error handling and param deps for autostart-only tasks.
Standalone autostart tasks depend on ```name``` and need the domain to be present.

* Added handling of errors thrown by libvirt

* Updates to documentstion and examples

* Removed required flag from name. Added description on some option combinations.
Added a few examples.

* lint issues

* docs: note that name is optional

* Removing required from documentation of name parameter

* extra text to make clearer when name is required

* When defining a domain with xml, its name is taken directly from the xml definition.

This reverts commit 4ac14a6.
Tomorrow9 pushed a commit to Tomorrow9/ansible that referenced this issue Dec 4, 2018
* autostart cannot be used with command=define

autostart cannot be used with command=define. If it's used with state, it'll be silently ignored.
ansible#41592

* guest name should not be used with xml

When both ```name``` and ```xml``` are specified, there might be a mismatch of domain names in
```name``` and inside ```xml```.

* Improved error handling and param deps for autostart-only tasks.
Standalone autostart tasks depend on ```name``` and need the domain to be present.

* Added handling of errors thrown by libvirt

* Updates to documentstion and examples

* Removed required flag from name. Added description on some option combinations.
Added a few examples.

* lint issues

* docs: note that name is optional

* Removing required from documentation of name parameter

* extra text to make clearer when name is required

* When defining a domain with xml, its name is taken directly from the xml definition.

This reverts commit 4ac14a6.
@dagwieers dagwieers added the virt Virt community (incl. QEMU, KVM, libvirt, ovirt, RHV and Proxmox) label Feb 11, 2019
@ansible ansible locked and limited conversation to collaborators Jul 22, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
affects_2.5 This issue/PR affects Ansible v2.5 bug This issue/PR relates to a bug. cloud module This issue/PR relates to a module. support:community This issue/PR relates to code supported by the Ansible community. traceback This issue/PR includes a traceback. virt Virt community (incl. QEMU, KVM, libvirt, ovirt, RHV and Proxmox)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants