1. 27 10月, 2016 2 次提交
    • J
      Introduce virDomainVirtioSerialAddrAutoAssign again · ac518960
      Ján Tomko 提交于
      This time do not require an address cache as a parameter.
      
      Simplify qemuDomainAttachChrDeviceAssignAddr to not generate
      the virtio serial address cache for devices of other types.
      
      Partially reverts commit 925fa4b9.
      ac518960
    • J
      Add 'FromCache' to virDomainVirtioSerialAddrAutoAssign · 0512dd26
      Ján Tomko 提交于
      Commit 19a148b7 dropped the cache from QEMU's private domain object.
      Assume the callers do not have the cache by default and use
      a longer name for the internal ones that do.
      
      This makes the shorter 'virDomainVirtioSerialAddrAutoAssign'
      name availabe for a function that will not require the cache.
      0512dd26
  2. 26 10月, 2016 6 次提交
    • G
      qemu: Add support for using AES secret for SCSI hotplug · 0701abcb
      Gema Gomez 提交于
      Support for virtio disks was added in commit id 'fceeeda2', but not for
      SCSI drives. Add the secret for the server when hotplugging a SCSI drive.
      No need to make any adjustments for unplug since that's handled during
      the qemuDomainDetachDiskDevice call to qemuDomainRemoveDiskDevice in
      the qemuDomainDetachDeviceDiskLive switch.
      
      Added a test to/for the command line processing to show the command line
      options when adding a SCSI drive for the guest.
      0701abcb
    • J
      qemu: Add secret object hotplug for TCP chardev TLS · 8550e858
      John Ferlan 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1300776
      
      Complete the implementation of support for TLS encryption on
      chardev TCP transports by adding the hotplug ability of a secret
      to generate the passwordid for the TLS object for chrdev, RNG,
      and redirdev.
      
      Fix up the order of object removal on failure to be the inverse
      of the attempted attach (for redirdev, chr, rng) - for each the
      tls object was being removed before the chardev backend.
      
      Likewise, add the ability to hot unplug that secret object as well
      and be sure the order of unplug matches that inverse order of plug.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      8550e858
    • J
      qemu: Add a secret object to/for a char source dev · daf5c651
      John Ferlan 提交于
      Add the secret object so the 'passwordid=' can be added if the command line
      if there's a secret defined in/on the host for TCP chardev TLS objects.
      
      Preparation for the secret involves adding the secinfo to the char source
      device prior to command line processing. There are multiple possibilities
      for TCP chardev source backend usage.
      
      Add test for at least a serial chardev as an example.
      daf5c651
    • J
      qemu: Need to remove TLS object in RemoveRNGDevice · 68808516
      John Ferlan 提交于
      Commit id '6e6b4bfc' added the object, but forgot the other end.
      68808516
    • J
      qemu: Fix depedency order in qemuRemoveDiskDevice · 502c747a
      John Ferlan 提交于
      Need to remove the drive first, then the secobj and/or encobj if they exist.
      This is because the drive has a dependency on secobj (or the secret for
      the networked storage server) and/or the encobj (or the secret for the
      LUKS encrypted volume).  Deleting either object first leaves an drive
      without it's respective objects.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      502c747a
    • J
      qemu: Move TLS object remove from DetachChr to RemoveChr · 1b93def2
      John Ferlan 提交于
      Commit id '2c322378' added the TLS object removal to the DetachChrDevice
      all when it should have been added to the RemoveChrDevice since that's
      the norm for similar processing (e.g. disk)
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      1b93def2
  3. 24 10月, 2016 8 次提交
  4. 22 10月, 2016 1 次提交
  5. 18 10月, 2016 3 次提交
  6. 14 10月, 2016 4 次提交
  7. 12 9月, 2016 1 次提交
    • P
      qemu: hotplug: Don't wait if cdrom tray is opened forcibly · 85c82612
      Peter Krempa 提交于
      Qemu always opens the tray if forced to. Skip the waiting step in such
      case.
      
      This also helps if qemu does not report the tray change event when
      opening the cdrom forcibly (the documentation says that the event will
      not be sent although qemu in fact does trigger it even if @force is
      selceted).
      
      This is a workaround for a qemu issue where qemu does not send the tray
      change event in some cases (after migration with empty closed locked
      drive) and thus renders the cdrom useless from libvirt's point of view.
      
      Partially resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1368368
      85c82612
  8. 09 9月, 2016 1 次提交
    • J
      qemu: Add the ability to hotplug the TLS X.509 environment · 2c322378
      John Ferlan 提交于
      If the incoming XML defined a path to a TLS X.509 certificate environment,
      add the necessary 'tls-creds-x509' object to the VIR_DOMAIN_CHR_TYPE_TCP
      character device.
      
      Likewise, if the environment exists the hot unplug needs adjustment as
      well.  Note that all the return ret were changed to goto cleanup since
      the cfg needs to be unref'd
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      2c322378
  9. 26 8月, 2016 1 次提交
    • L
      qemu: remove unnecessary setting of tap device online state · dbb79039
      Laine Stump 提交于
      The linkstate setting of an <interface> is only meant to change the
      online status reported to the guest system by the emulated network
      device driver in qemu, but when support for auto-creating tap devices
      for <interface type='ethernet'> was added in commit 9717d6, a chunk of
      code was also added to qemuDomainChangeNetLinkState() that sets the
      online status of the tap device (i.e. the *host* side of the
      interface) for type='ethernet'. This was never done for tap devices
      used in type='bridge' or type='network' interfaces, nor was it done in
      the past for tap devices created by external scripts for
      type='ethernet', so we shouldn't be doing it now.
      
      This patch removes the bit of code in qemuDomainChangeNetLinkState()
      that modifies online status of the tap device.
      dbb79039
  10. 25 8月, 2016 2 次提交
    • P
      qemu: hotplug: Add support for VCPU unplug · e3229f6e
      Peter Krempa 提交于
      This patch removes the old vcpu unplug code completely and replaces it
      with the new code using device_del. The old hotplug code basically never
      worked with any recent qemu and thus is useless.
      
      As the new code is using device_del all the implications of using it
      are present. Contrary to the device deletion code, the vcpu deletion
      code fails if the unplug request is not executed in time.
      e3229f6e
    • P
      qemu: hotplug: Allow marking unplugged devices by alias · 00990d9f
      Peter Krempa 提交于
      Add a overlay function that takes the alias directly rather than
      extracting it from a device info.
      00990d9f
  11. 02 8月, 2016 7 次提交
  12. 28 7月, 2016 1 次提交
    • D
      storage: remove "luks" storage volume type · a48c7141
      Daniel P. Berrange 提交于
      The current LUKS support has a "luks" volume type which has
      a "luks" encryption format.
      
      This partially makes sense if you consider the QEMU shorthand
      syntax only requires you to specify a format=luks, and it'll
      automagically uses "raw" as the next level driver. QEMU will
      however let you override the "raw" with any other driver it
      supports (vmdk, qcow, rbd, iscsi, etc, etc)
      
      IOW the intention though is that the "luks" encryption format
      is applied to all disk formats (whether raw, qcow2, rbd, gluster
      or whatever). As such it doesn't make much sense for libvirt
      to say the volume type is "luks" - we should be saying that it
      is a "raw" file, but with "luks" encryption applied.
      
      IOW, when creating a storage volume we should use this XML
      
        <volume>
          <name>demo.raw</name>
          <capacity>5368709120</capacity>
          <target>
            <format type='raw'/>
            <encryption format='luks'>
              <secret type='passphrase' uuid='0a81f5b2-8403-7b23-c8d6-21ccd2f80d6f'/>
            </encryption>
          </target>
        </volume>
      
      and when configuring a guest disk we should use
      
        <disk type='file' device='disk'>
          <driver name='qemu' type='raw'/>
          <source file='/home/berrange/VirtualMachines/demo.raw'/>
          <target dev='sda' bus='scsi'/>
          <encryption format='luks'>
            <secret type='passphrase' uuid='0a81f5b2-8403-7b23-c8d6-21ccd2f80d6f'/>
          </encryption>
        </disk>
      
      This commit thus removes the "luks" storage volume type added
      in
      
        commit 318ebb36
        Author: John Ferlan <jferlan@redhat.com>
        Date:   Tue Jun 21 12:59:54 2016 -0400
      
          util: Add 'luks' to the FileTypeInfo
      
      The storage file probing code is modified so that it can probe
      the actual encryption formats explicitly, rather than merely
      probing existance of encryption and letting the storage driver
      guess the format.
      
      The rest of the code is then adapted to deal with
      VIR_STORAGE_FILE_RAW w/ VIR_STORAGE_ENCRYPTION_FORMAT_LUKS
      instead of just VIR_STORAGE_FILE_LUKS.
      
      The commit mentioned above was included in libvirt v2.0.0.
      So when querying volume XML this will be a change in behaviour
      vs the 2.0.0 release - it'll report 'raw' instead of 'luks'
      for the volume format, but still report 'luks' for encryption
      format.  I think this change is OK because the storage driver
      did not include any support for creating volumes, nor starting
      guets with luks volumes in v2.0.0 - that only since then.
      Clearly if we change this we must do it before v2.1.0 though.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      a48c7141
  13. 26 7月, 2016 2 次提交
  14. 22 7月, 2016 1 次提交