1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 16 4月, 2015 1 次提交
  7. 13 4月, 2015 3 次提交
  8. 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
  9. 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
  10. 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
  11. 17 3月, 2015 1 次提交
  12. 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
  13. 09 3月, 2015 2 次提交
  14. 06 3月, 2015 1 次提交
  15. 05 3月, 2015 1 次提交
  16. 02 3月, 2015 1 次提交
  17. 12 2月, 2015 1 次提交
  18. 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
  19. 06 2月, 2015 1 次提交
  20. 30 1月, 2015 1 次提交
    • M
      conf: Don't mangle vcpu placement randomly · bbd3eb50
      Michal Privoznik 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1170492
      
      In one of our previous commits (dc8b7ce7) we've done a functional
      change even though it was intended as pure refactor. The problem is,
      that the following XML:
      
       <vcpu placement='static' current='2'>6</vcpu>
       <cputune>
         <emulatorpin cpuset='1-3'/>
       </cputune>
       <numatune>
         <memory mode='strict' placement='auto'/>
       </numatune>
      
      gets translated into this one:
      
       <vcpu placement='auto' current='2'>6</vcpu>
       <cputune>
         <emulatorpin cpuset='1-3'/>
       </cputune>
       <numatune>
         <memory mode='strict' placement='auto'/>
       </numatune>
      
      We should not change the vcpu placement mode. Moreover, we're doing
      something similar in case of emulatorpin and iothreadpin. If they were
      set, but vcpu placement was auto, we've mistakenly removed them from
      the domain XML even though we are able to set them independently on
      vcpus.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      bbd3eb50
  21. 29 1月, 2015 1 次提交
    • M
      schemas: Allow all generic elements and attributes for all interfaces · 52222568
      Michal Privoznik 提交于
      There are some interface types (notably 'server' and 'client')
      which instead of allowing the default set of elements and
      attributes (like the rest do), try to enumerate only the elements
      they know of. This way it's, however, easy to miss something. For
      instance, the <address/> element was not mentioned at all. This
      resulted in a strange behavior: when such interface was added
      into XML, the address was automatically generated by parsing
      code. Later, the formatted XML hasn't passed the RNG schema. This
      became more visible once we've turned on the XML validation on
      domain XML changes: appending an empty line at the end of
      formatted XML (to trick virsh think the XML had changed) made
      libvirt to refuse the very same XML it formatted.
      
      Instead of trying to find each element and attribute we are
      missing in the schema, lets just allow all the elements and
      attributes like we're doing that for the rest of types. It's no
      harm if the schema is wider than our parser allows.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      52222568
  22. 19 1月, 2015 1 次提交
  23. 16 1月, 2015 1 次提交
  24. 14 1月, 2015 1 次提交
    • D
      Give virDomainDef parser & formatter their own flags · 0ecd6851
      Daniel P. Berrange 提交于
      The virDomainDefParse* and virDomainDefFormat* methods both
      accept the VIR_DOMAIN_XML_* flags defined in the public API,
      along with a set of other VIR_DOMAIN_XML_INTERNAL_* flags
      defined in domain_conf.c.
      
      This is seriously confusing & error prone for a number of
      reasons:
      
       - VIR_DOMAIN_XML_SECURE, VIR_DOMAIN_XML_MIGRATABLE and
         VIR_DOMAIN_XML_UPDATE_CPU are only relevant for the
         formatting operation
       - Some of the VIR_DOMAIN_XML_INTERNAL_* flags only apply
         to parse or to format, but not both.
      
      This patch cleanly separates out the flags. There are two
      distint VIR_DOMAIN_DEF_PARSE_* and VIR_DOMAIN_DEF_FORMAT_*
      flags that are used by the corresponding methods. The
      VIR_DOMAIN_XML_* flags received via public API calls must
      be converted to the VIR_DOMAIN_DEF_FORMAT_* flags where
      needed.
      
      The various calls to virDomainDefParse which hardcoded the
      use of the VIR_DOMAIN_XML_INACTIVE flag change to use the
      VIR_DOMAIN_DEF_PARSE_INACTIVE flag.
      0ecd6851
  25. 13 1月, 2015 1 次提交
  26. 21 11月, 2014 2 次提交
    • P
      conf: Add channel state for virtio channels to the XML · 24c25a68
      Peter Krempa 提交于
      To track state of virtio channels this patch adds a new output-only
      attribute called 'state' to the <target> element of virtio channels.
      
      This will be later populated with the guest state of the channel.
      24c25a68
    • P
      test: xml2xml: Print full filenames if xml2xml test fails · c5942a9f
      Peter Krempa 提交于
      To simplify looking for a problem instrument the XML comparator function
      with possibility to print the filename of the failed/expected XML
      output.
      
      This is necessary as the VIR_TEST_DIFFERENT macro possibly tests two XML
      files for the inactive/active state and the resulting error may not be
      obvious.
      c5942a9f
  27. 06 11月, 2014 1 次提交
  28. 25 10月, 2014 1 次提交
  29. 04 10月, 2014 1 次提交
    • M
      docs, conf, schema: add support for shmem device · 540a84ec
      Martin Kletzander 提交于
      This patch adds parsing/formatting code as well as documentation for
      shared memory devices.  This will currently be only accessible in QEMU
      using it's ivshmem device, but is designed as generic as possible to
      allow future expansion for other hypervisors.
      
      In the devices section in the domain XML users may specify:
      
      - For shmem device using a server:
      
       <shmem name='shmem0'>
         <server path='/tmp/socket-ivshmem0'/>
         <size unit='M'>32</size>
         <msi vectors='32' ioeventfd='on'/>
       </shmem>
      
      - For ivshmem device not using an ivshmem server:
      
       <shmem name='shmem1'>
         <size unit='M'>32</size>
       </shmem>
      
      Most of the configuration is made optional so it also allows
      specifications like:
      
       <shmem name='shmem1/>
       <shmem name='shmem2'>
         <server/>
       </shmem>
      Signed-off-by: NMaxime Leroy <maxime.leroy@6wind.com>
      Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
      540a84ec
  30. 24 9月, 2014 1 次提交
    • J
      conf: add options for disabling segment offloading · 5b3536ae
      Ján Tomko 提交于
      Add options for tuning segment offloading:
      <driver>
        <host csum='off' gso='off' tso4='off' tso6='off'
              ecn='off' ufo='off'/>
        <guest csum='off' tso4='off' tso6='off' ecn='off' ufo='off'/>
      </driver>
      which control the respective host_ and guest_ properties
      of the virtio-net device.
      5b3536ae
  31. 19 9月, 2014 1 次提交
  32. 17 9月, 2014 1 次提交
  33. 16 9月, 2014 2 次提交
    • J
      conf: add backend element to interfaces · af8b4a2e
      Ján Tomko 提交于
      For tuning the network, alternative devices
      for creating tap and vhost devices can be specified via:
      <backend tap='/dev/net/tun' vhost='/dev/net-vhost'/>
      af8b4a2e
    • E
      cputune: allow interleaved xml · 7e8feed4
      Eric Blake 提交于
      I noticed this with the recent iothread pinning code, but the
      problem existed longer than that. The XML validation required
      users to supply <cputune> children in a strict order, even though
      there was no conceptual reason why they can't occur in any order.
      
      docs/ changes best viewed with -w
      
      * docs/schemas/domaincommon.rng (cputune): Add interleave.
      * tests/qemuxml2argvdata/qemuxml2argv-cputune-iothreads.xml: Swap
      up order, copying canonical form...
      * tests/qemuxml2xmloutdata/qemuxml2xmlout-cputune-iothreads.xml:
      ...here.
      * tests/qemuxml2xmltest.c (mymain): Mark the difference.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      7e8feed4