1. 12 11月, 2014 13 次提交
    • J
      storage: Don't use a stack copy of the adapter · 5b226fcd
      John Ferlan 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1160926
      
      Passing a copy of the storage pool adapter to a function just changes the
      copy of the fields in the particular function and then when returning to
      the caller those changes are discarded.  While not yet biting us in the
      storage clean-up case, it did cause an issue for the fchost storage pool
      startup case, createVport.  The issue was at startup, if no parent is found
      in the XML, the code will search for the 'best available' parent and then
      store that in the in memory copy of the adapter.  Of course, in this case
      it was a copy, so when returning to the virStorageBackendSCSIStartPool that
      change was discarded (or lost) from the pool->def->source.adapter which
      meant at shutdown (deleteVport), the code assumed no adapter was passed
      and skipped the deletion, leaving the vHBA created by libvirt still defined
      requiring an additional stop of a nodedev-destroy to remove.
      
      Adjusted the createVport to take virStoragePoolDefPtr instead of the
      adapter copy. Then use the virStoragePoolSourceAdapterPtr when processing.
      A future patch will need the 'def' anyway, so this just sets up for that.
      5b226fcd
    • J
      storage: Ensure fc_host parent matches wwnn/wwpn · 42a021c1
      John Ferlan 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1160565
      
      The existing code assumed that the configuration of a 'parent' attribute
      was correct for the createVport path. As it turns out, that may not be
      the case which leads errors during the deleteVport path because the
      wwnn/wwpn isn't associated with the parent.
      
      With this change the following is reported:
      
      error: Failed to start pool fc_pool_host3
      error: XML error: Parent attribute 'scsi_host4' does not match parent 'scsi_host3' determined for the 'scsi_host16' wwnn/wwpn lookup.
      
      for XML as follows:
      
        <pool type='scsi'>
          <name>fc_pool</name>
          <source>
            <adapter type='fc_host' parent='scsi_host4' wwnn='5001a4aaf3ca174b' wwpn='5001a4a77192b864'/>
          </source>
      
      Where 'nodedev-dumpxml scsi_host16' provides:
      
        <device>
          <name>scsi_host16</name>
          <path>/sys/devices/pci0000:00/0000:00:04.0/0000:10:00.0/host3/vport-3:0-11/host16</path>
          <parent>scsi_host3</parent>
          <capability type='scsi_host'>
            <host>16</host>
            <unique_id>13</unique_id>
            <capability type='fc_host'>
              <wwnn>5001a4aaf3ca174b</wwnn>
              <wwpn>5001a4a77192b864</wwpn>
      ...
      
      The patch also adjusts the description of the storage pool to describe the
      restrictions.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      42a021c1
    • J
      storage: Check for valid fc_host parent at startup · 844c1d7e
      John Ferlan 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1160565
      
      If a 'parent' attribute is provided for the fchost, then at startup
      time check to ensure it is a vport capable scsi_host. If the parent
      is not vport capable, then disallow the startup. The following is the
      expected results:
      
      error: Failed to start pool fc_pool
      error: XML error: parent 'scsi_host2' specified for vHBA is not vport capable
      
      where the XML for the fc_pool is:
      
          <pool type='scsi'>
            <name>fc_pool</name>
            <source>
              <adapter type='fc_host' parent='scsi_host2' wwnn='5001a4aaf3ca174b' wwpn='5001a4a77192b864'/>
            </source>
      ...
      
      and 'scsi_host2' is not vport capable.
      
      Providing an incorrect parent and a correct wwnn/wwpn could lead to
      failures at shutdown (deleteVport) where the assumption is the parent
      is for the fchost.
      
      NOTE: If the provided wwnn/wwpn doesn't resolve to an existing scsi_host,
            then we will be creating one with code (virManageVport) which
            assumes the parent is vport capable.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      844c1d7e
    • M
      qemu: Resolve Coverity DEADCODE. · 6c1347ec
      Matthias Gatto 提交于
      reported here: http://www.redhat.com/archives/libvir-list/2014-November/msg00327.html
      
      I could have just remove bool supportMaxOptions variable, but
      if I had do this, we could not check anymore if the nparams variable is
      superior to QEMU_NB_BLOCK_IO_TUNE_PARAM_MAX.
      
      v2: change following this proposal:
      http://www.redhat.com/archives/libvir-list/2014-November/msg00379.html
      6c1347ec
    • M
    • C
      bhyvexml2argv: Add test for grub console support · a52b56b3
      Conrad Meyer 提交于
      a52b56b3
    • C
      bhyve: Add console support for grub-bhyve bootloader · 7c7c8b0b
      Conrad Meyer 提交于
      This enables booting interactive GRUB menus (e.g. install CDs) with
      libvirt-bhyve.
      
      Caveat: A terminal other than the '--console' option to 'virsh start'
      (e.g. 'cu -l /dev/nmdm0B -s 115200') must be used to connect to
      grub-bhyve because the bhyve loader path is synchronous and must occur
      before the VM actually starts.
      
      Changing the bhyveProcessStart logic around to accommodate '--console'
      for interactive loader use seems like a significant project and probably
      not worth it, if UEFI/BIOS support for bhyve is "coming soon."
      7c7c8b0b
    • C
      bhyve: Probe grub-bhyve for --cons-dev capability · 0cd4cd29
      Conrad Meyer 提交于
      0cd4cd29
    • C
      cf133ed1
    • C
      domaincommon.rng: Add 'bootloader' to os=hvm schema for Bhyve · 79f370fc
      Conrad Meyer 提交于
      Additionally, make the <bootloader> tag optional (for bhyveload with
      custom arguments) (also, matches the actual parser).
      79f370fc
    • C
      bhyvexml2argv: Add loader argv tests. · f2ce9d36
      Conrad Meyer 提交于
      f2ce9d36
    • C
      bhyve: Support /domain/bootloader configuration for non-FreeBSD guests. · 17722c16
      Conrad Meyer 提交于
      We still default to bhyveloader(1) if no explicit bootloader
      configuration is supplied in the domain.
      
      If the /domain/bootloader looks like grub-bhyve and the user doesn't
      supply /domain/bootloader_args, we make an intelligent guess and try
      chainloading the first partition on the disk (or a CD if one exists,
      under the assumption that for a VM a CD is likely an install source).
      
      Caveat: Assumes the HDD boots from the msdos1 partition. I think this is
      a pretty reasonable assumption for a VM. (DrvBhyve with Bhyveload
      already assumes that the first disk should be booted.)
      
      I've tested both HDD and CD boot and they seem to work.
      17722c16
    • J
      Do not crash on gluster snapshots with no host name · b66288fa
      Ján Tomko 提交于
      virStorageFileBackendGlusterInit did not check nhosts.
      
      https://bugzilla.redhat.com/show_bug.cgi?id=1162974
      b66288fa
  2. 11 11月, 2014 11 次提交
  3. 10 11月, 2014 6 次提交
  4. 08 11月, 2014 2 次提交
    • M
      esx: Simplify VI (vSphere) API and VMware product version handling · 0396394f
      Matthias Bolte 提交于
      Store version numbers in this format
      
      version = 1000000 * major + 1000 * minor + micro
      
      produced by virParseVersionString instead of dedicated enums.
      
      Split the complex esxVI_ProductVersion enum into a simpler
      esxVI_ProductLine enum and a product version number.
      
      Relax API and product version number checks to accept everything that
      is equal or greater than the supported minimum version. VMware ESX
      went through 3 major versions and the vSphere API always stayed
      backward compatible. This commit assumes that this will also be true
      for future VMware ESX versions.
      
      Also reword error messages in esxConnectTo* to say what was expected
      and what was found instead (suggested by Richard W.M. Jones).
      0396394f
    • M
      domain_conf: Use virDomainParseMemory more widely · 01b4de2b
      Michal Privoznik 提交于
      As reviewing patches upstream it occurred to me, that we have two
      functions doing nearly the same: virDomainParseMemory which
      expects XML in the following format:
      
        <memory unit='MiB'>1337</memory>
      
      The other function being virDomainHugepagesParseXML expecting the
      following format:
      
        <someElement size='1337' unit='MiB'/>
      
      It wouldn't matter to have two functions handle two different
      scenarios like this if we could only not copy code that handles
      32bit arches around. So this code merges the common parts into
      one by inventing new @units_xpath argument to
      virDomainParseMemory which allows overriding the default location
      of @unit attribute in XML. With this change both scenarios above
      can be parsed with virDomainParseMemory.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      01b4de2b
  5. 07 11月, 2014 8 次提交