1. 22 9月, 2015 2 次提交
  2. 08 9月, 2015 1 次提交
  3. 02 9月, 2015 1 次提交
    • J
      qemu: add udp interface support · 5c668a78
      Jonathan Toppins 提交于
      Adds a new interface type using UDP sockets, this seems only applicable
      to QEMU but have edited tree-wide to support the new interface type.
      
      The interface type required the addition of a "localaddr" (local
      address), this then maps into the following xml and qemu call.
      
      <interface type='udp'>
        <mac address='52:54:00:5c:67:56'/>
        <source address='127.0.0.1' port='11112'>
          <local address='127.0.0.1' port='22222'/>
        </source>
        <model type='virtio'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
      </interface>
      
      QEMU call:
      	-net socket,udp=127.0.0.1:11112,localaddr=127.0.0.1:22222
      
      Notice the xml "local" entry becomes the "localaddr" for the qemu call.
      
      reference:
      http://lists.gnu.org/archive/html/qemu-devel/2011-11/msg00629.htmlSigned-off-by: NJonathan Toppins <jtoppins@cumulusnetworks.com>
      Signed-off-by: NJán Tomko <jtomko@redhat.com>
      5c668a78
  4. 13 8月, 2015 1 次提交
    • M
      qemu: Keep numad hint after daemon restart · 8ce86722
      Martin Kletzander 提交于
      The numad hint stored in priv->autoNodeset is information that gets lost
      during daemon restart.  And because we would like to use that
      information in the future, we also need to save it in the status XML.
      For the sake of tests, we need to initialize nnumaCell_max to some
      value, so that the restoration doesn't fail in our test suite.  There is
      no need to fill in the actual numa cell data since the recalculating
      function virCapabilitiesGetCpusForNodemask() will not fail, it will just
      skip filling the data in the bitmap which we don't use in tests anyway.
      Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
      8ce86722
  5. 10 8月, 2015 5 次提交
    • M
      conf: Add ioeventfd option for controllers · 35eecdde
      Martin Kletzander 提交于
      This will be used with a virtio-scsi controller later on.
      Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
      35eecdde
    • L
      conf: new pcie-controller model "pcie-switch-downstream-port" · 76379a6e
      Laine Stump 提交于
      This controller can be connected only to a port on a
      pcie-switch-upstream-port. It provides a single hotpluggable port that
      will accept any PCI or PCIe device, as well as any device requiring a
      pcie-*-port (the only current example of such a device is the
      pcie-switch-upstream-port).
      76379a6e
    • L
      conf: new pci controller model "pcie-switch-upstream-port" · 38ea9515
      Laine Stump 提交于
      This controller can be connected only to a pcie-root-port or a
      pcie-switch-downstream-port (which will be added in a later patch),
      which is the reason for the new connect type
      VIR_PCI_CONNECT_TYPE_PCIE_PORT. A pcie-switch-upstream-port provides
      32 ports (slot=0 to slot=31) on the downstream side, which can only
      have pci controllers of model "pcie-switch-downstream-port" plugged
      into them, which is the reason for the other new connect type
      VIR_PCI_CONNECT_TYPE_PCIE_SWITCH.
      38ea9515
    • L
      qemu: support new pci controller model "pcie-root-port" · 16328520
      Laine Stump 提交于
      This is backed by the qemu device ioh3420.
      
      chassis and port from the <target> subelement are used to store/set the
      respective qemu device options for the ioh3420. Currently, chassis is
      set to be the index of the controller, and port is set to
      "(slot << 3) + function" (per suggestion from Alex Williamson).
      16328520
    • L
      conf: new pci controller model "pcie-root-port" · dce3b8be
      Laine Stump 提交于
      This controller can be connected (at domain startup time only - not
      hotpluggable) only to a port on the pcie root complex ("pcie-root" in
      libvirt config), hence the new connect type
      VIR_PCI_CONNECT_TYPE_PCIE_ROOT. It provides a hotpluggable port that
      will accept any PCI or PCIe device.
      
      New attributes must be added to the controller <target> subelement for
      this - chassis and port are guest-visible option values that will be
      set by libvirt with values derived from the controller's index and pci
      address information.
      dce3b8be
  6. 26 6月, 2015 1 次提交
  7. 23 6月, 2015 1 次提交
    • E
      docs: Fix XML schema handling of LUN address in hostdev tag · c733e973
      Eric Farman 提交于
      Defining a domain with a SCSI disk attached via a hostdev
      tag and a source address unit value longer than two digits
      causes an error when editing the domain with virsh edit,
      even if no changes are made to the domain definition.
      The error suggests invalid XML, somewhere:
      
        # virsh edit lmb_guest
        error: XML document failed to validate against schema:
        Unable to validate doc against /usr/local/share/libvirt/schemas/domain.rng
        Extra element devices in interleave
        Element domain failed to validate content
      
      The virt-xml-validate tool fails with a similar error:
      
        # virt-xml-validate lmb_guest.xml
        Relax-NG validity error : Extra element devices in interleave
        lmb_guest.xml:17: element devices: Relax-NG validity error :
        Element domain failed to validate content
        lmb_guest.xml fails to validate
      
      The hostdev tag requires a source address to be specified,
      which includes bus, target, and unit address attributes.
      According to the SCSI Architecture Model spec (section
      4.9 of SAM-2), a LUN address is 64 bits and thus could be
      up to 20 decimal digits long.  Unfortunately, the XML
      schema limits this string to just two digits.  Similarly,
      the target field can be up to 32 bits in length, which
      would be 10 decimal digits.
      
        # lsscsi -xx
        [0:0:19:0x4022401100000000]  disk    IBM      2107900          3.44 /dev/sda
        # lsscsi
        [0:0:19:1074872354]disk    IBM      2107900          3.44  /dev/sda
        # cat lmb_guest.xml
        <domain type='kvm'>
          <name>lmb_guest</name>
          <memory unit='MiB'>1024</memory>
        ...trimmed...
          <devices>
            <controller type='scsi' model='virtio-scsi' index='0'/>
            <hostdev mode='subsystem' type='scsi'>
              <source>
                <adapter name='scsi_host0'/>
                <address bus='0' target='19' unit='1074872354'/>
              </source>
            </hostdev>
        ...trimmed...
      
      Since the reference unit and target fields are used in
      several places in the XML schema, create a separate one
      specific for SCSI Logical Units that will permit the
      greater length.  This permits both the validation utility
      and the virsh edit command to succeed when a hostdev
      tag is included.
      Signed-off-by: NEric Farman <farman@linux.vnet.ibm.com>
      Reviewed-by: NMatthew Rosato <mjrosato@linux.vnet.ibm.com>
      Reviewed-by: NStefan Zimmermann <stzi@linux.vnet.ibm.com>
      Reviewed-by: NBoris Fiuczynski <fiuczy@linux.vnet.ibm.com>
      c733e973
  8. 18 6月, 2015 1 次提交
  9. 04 6月, 2015 1 次提交
    • J
      Always add 'console' matching the 'serial' device · 8728a78e
      Ján Tomko 提交于
      We have been formatting the first serial device also
      as a console device, but only if there were no other consoles.
      
      If there is a <serial> device present in the XML, but no serial
      <console>, or if there isn't any <console> at all but the domain
      definition hasn't gone through a parse->format->parse round-trip,
      the <console> device would not be formatted.
      
      Change the code to always add the stub device for the first
      serial device.
      
      Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1089914
      8728a78e
  10. 01 6月, 2015 2 次提交
  11. 21 5月, 2015 1 次提交
  12. 08 5月, 2015 1 次提交
    • C
      caps: Fix regression defaulting to host arch · 8910e063
      Cole Robinson 提交于
      My commit 747761a7 (v1.2.15 only) dropped this bit of logic when filling
      in a default arch in the XML:
      
      -    /* First try to find one matching host arch */
      -    for (i = 0; i < caps->nguests; i++) {
      -        if (caps->guests[i]->ostype == ostype) {
      -            for (j = 0; j < caps->guests[i]->arch.ndomains; j++) {
      -                if (caps->guests[i]->arch.domains[j]->type == domain &&
      -                    caps->guests[i]->arch.id == caps->host.arch)
      -                    return caps->guests[i]->arch.id;
      -            }
      -        }
      -    }
      
      That attempt to match host.arch is important, otherwise we end up
      defaulting to i686 on x86_64 host for KVM, which is not intended.
      Duplicate it in the centralized CapsLookup function.
      
      Additionally add some testcases that would have caught this.
      
      https://bugzilla.redhat.com/show_bug.cgi?id=1219191
      8910e063
  13. 07 5月, 2015 1 次提交
    • C
      tests: Remove redundant aarch64 tests · fd74e231
      Cole Robinson 提交于
      My commit 7b9de914 added some aarch64 CPU test cases. I wanted to test
      two different code paths but inadvertently added two of the same test
      cases.
      
      The second code path (using <cpu><model>host</model</cpu>) isn't easily
      exercised via the qemu tests anyways, I'll need to look elsewhere.
      
      Regardless, remove the redundant tests for now
      fd74e231
  14. 28 4月, 2015 1 次提交
    • J
      qemu: Use domain iothreadids to IOThread's 'thread_id' · 8d4614a5
      John Ferlan 提交于
      Add 'thread_id' to the virDomainIOThreadIDDef as a means to store the
      'thread_id' as returned from the live qemu monitor data.
      
      Remove the iothreadpids list from _qemuDomainObjPrivate and replace with
      the new iothreadids 'thread_id' element.
      
      Rather than use the default numbering scheme of 1..number of iothreads
      defined for the domain, use the iothreadid's list for the iothread_id
      
      Since iothreadids list keeps track of the iothread_id's, these are
      now used in place of the many places where a for loop would "know"
      that the ID was "+ 1" from the array element.
      
      The new tests ensure usage of the <iothreadid> values for an exact number
      of iothreads and the usage of a smaller number of <iothreadid> values than
      iothreads that exist (and usage of the default numbering scheme).
      8d4614a5
  15. 24 4月, 2015 1 次提交
    • C
      tests: qemu: Couple aarch64 CPU tests · 7b9de914
      Cole Robinson 提交于
      - Make sure aarch64 host-passthrough works correctly
      - Make sure libvirt doesn't choke on cpu model=host, which is what
        virt-install/virt-manager were incorrectly specifying up until recently.
      7b9de914
  16. 21 4月, 2015 1 次提交
    • C
      domain: conf: Drop expectedVirtTypes · 835cf84b
      Cole Robinson 提交于
      This needs to specified in way too many places for a simple validation
      check. The ostype/arch/virttype validation checks later in
      DomainDefParseXML should catch most of the cases that this was covering.
      835cf84b
  17. 16 4月, 2015 1 次提交
  18. 13 4月, 2015 3 次提交
  19. 25 3月, 2015 2 次提交
    • P
      tests: qemuxml2xml: Test status XML formatting and parsing · 02f0f1cc
      Peter Krempa 提交于
      Recently we've fixed a bug where the status XML could not be parsed as
      the parser used absolute path XPath queries. This test enhancement tests
      all XML files used in the qemu-xml-2-xml test as a part of a status XML
      snippet to see whether they are parsed correctly. The status XML-2-XML is
      currently tested in 223 cases with this patch.
      02f0f1cc
    • P
      tests: qemuxml2xml: Refactor the qemuxml2xml test · 785fd9fa
      Peter Krempa 提交于
      To allow adding more tests, refactor the XML-2-XML test so that the
      files are not reloaded always and clarify the control flow.
      
      Result of this changes is that the active and inactive portions of the
      XML are tested in separate steps rather than one test step.
      785fd9fa
  20. 23 3月, 2015 2 次提交
    • P
      qemu: add support for memory devices · 8b54bffb
      Peter Krempa 提交于
      Add support to start qemu instance with 'pc-dimm' device. Thanks to the
      refactors we are able to reuse the existing function to determine the
      parameters.
      8b54bffb
    • P
      qemu: Implement setup of memory hotplug parameters · a41185d8
      Peter Krempa 提交于
      To enable memory hotplug the maximum memory size and slot count need to
      be specified. As qemu supports now other units than mebibytes when
      specifying memory, use the new interface in this case.
      a41185d8
  21. 18 3月, 2015 1 次提交
    • A
      docs: schema and docs for the midonet virtualport type · a9fbe3b1
      Antoni Segura Puimedon 提交于
      Midonet is an opensource virtual networking that over lays the IP
      network between hypervisors. Currently, such networks can be made
      with the openvswitch virtualport type.
      
      This patch, defines the schema and documentation that will serve
      as basis for the follow up patches that will add support to libvirt
      for using Midonet virtual ports for its interfaces. The schema
      definition requires that the port profile expresses its interfaceid
      as part of the port profile. For that reason, this is part of the
      patch too.
      Signed-off-by: NAntoni Segura Puimedon <toni+libvirt@midokura.com>
      a9fbe3b1
  22. 17 3月, 2015 1 次提交
  23. 16 3月, 2015 1 次提交
    • P
      conf: Make specifying <memory> optional · 4bca6192
      Peter Krempa 提交于
      Now that the size of guest's memory can be inferred from the NUMA
      configuration (if present) make it optional to specify <memory>
      explicitly.
      
      To make sure that memory is specified add a check that some form of
      memory size was specified. One side effect of this change is that it is
      no longer possible to specify 0KiB as memory size for the VM, but I
      don't think it would be any useful to do so. (I can imagine embedded
      systems without memory, just registers, but that's far from what libvirt
      is usually doing).
      
      Forbidding 0 memory for guests also fixes a few corner cases where 0 was
      not interpreted correctly and caused failures. (Arguments for numad when
      using automatic placement, size of the balloon). This fixes problems
      described in https://bugzilla.redhat.com/show_bug.cgi?id=1161461
      
      Test case changes are added to verify that the schema change and code
      behave correctly.
      4bca6192
  24. 09 3月, 2015 2 次提交
  25. 06 3月, 2015 1 次提交
  26. 05 3月, 2015 1 次提交
  27. 02 3月, 2015 1 次提交
  28. 12 2月, 2015 1 次提交
  29. 11 2月, 2015 1 次提交
    • E
      schema: allow multiple seclabel for devices in domaincommon.rng · 862bbf8a
      Erik Skultety 提交于
      In our RNG schema we do allow multiple (different) seclabels per-domain,
      but don't allow this for devices, yet we neither have a check in our XML parser,
      nor in a post-parse callback. In that case we should allow multiple
      (different) seclabels for devices as well.
      862bbf8a