1. 09 9月, 2016 7 次提交
    • J
      conf: Add new secret type "tls" · 13350a17
      John Ferlan 提交于
      Add a new secret usage type known as "tls" - it will handle adding the
      secret objects for various TLS objects that need to provide some sort
      of passphrase in order to access the credentials.
      
      The format is:
      
         <secret ephemeral='no' private='no'>
           <description>Sample TLS secret</description>
           <usage type='tls'>
             <name>mumblyfratz</name>
           </usage>
      </secret>
      
      Once defined and a passphrase set, future patches will allow the UUID
      to be set in the qemu.conf file and thus used as a secret for various
      TLS options such as a chardev serial TCP connection, a NBD client/server
      connection, and migration.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      13350a17
    • 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
    • J
      qemu: Add support for TLS X.509 path to TCP chardev backend · ce61c164
      John Ferlan 提交于
      When building a chardev device string for tcp, add the necessary pieces to
      access provide the TLS X.509 path to qemu.  This includes generating the
      'tls-creds-x509' object and then adding the 'tls-creds' parameter to the
      VIR_DOMAIN_CHR_TYPE_TCP command line.
      
      Finally add the tests for the qemu command line. This test will make use
      of the "new(ish)" /etc/pki/qemu setting for a TLS certificate environment
      by *not* "resetting" the chardevTLSx509certdir prior to running the test.
      Also use the default "verify" option (which is "no").
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      ce61c164
    • J
      conf: Introduce chartcp_tls_x509_cert_dir · 3f60a9c3
      John Ferlan 提交于
      Add a new TLS X.509 certificate type - "chardev". This will handle the
      creation of a TLS certificate capability (and possibly repository) for
      properly configured character device TCP backends.
      
      Unlike the vnc and spice there is no "listen" or "passwd" associated. The
      credentials eventually will be handled via a libvirt secret provided to
      a specific backend.
      
      Make use of the default verify option as well.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      3f60a9c3
    • J
      conf: Add new default TLS X.509 certificate default directory · c12cb5ed
      John Ferlan 提交于
      Rather than specify perhaps multiple TLS X.509 certificate directories,
      let's create a "default" directory which can then be used if the service
      (e.g. for now vnc and spice) does not supply a default directory.
      
      Since the default for vnc and spice may have existed before without being
      supplied, the default check will first check if the service specific path
      exists and if so, set the cfg entry to that; otherwise, the default will
      be set to the (now) new defaultTLSx509certdir.
      
      Additionally add a "default_tls_x509_verify" entry which can also be used
      to force the peer verification option (for vnc it's a x509verify option).
      Add/alter the macro for the option being found in the config file to accept
      the default value.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      c12cb5ed
    • J
      qemu: Remove stale transient def when migration fails · 66278d4b
      Jiri Denemark 提交于
      If a migration of a domain which is already defined on the destination
      host failed early (before we tried to start QEMU), we would forget to
      remove the incoming transient definition. Later on when someone starts
      the domain on the destination host, we will use the stale incoming
      definition and the persistent definition will just be ignored.
      
      https://bugzilla.redhat.com/show_bug.cgi?id=1368774Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      66278d4b
    • J
      Add helper for removing transient definition · 97a87333
      Jiri Denemark 提交于
      The code for replacing domain's transient definition with the persistent
      one is repeated in several places and we'll need to add one more. Let's
      make a nice helper for it.
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      97a87333
  2. 08 9月, 2016 5 次提交
  3. 07 9月, 2016 7 次提交
    • Y
      storage: Delete extra wrap after vol-resize error · ed8ba91e
      Yanqiu Zhang 提交于
      This patch is to delete the extra wrap "\n" after failed vol-resize
      error for both "Failed to change size of volume to" and "Failed to change
      size of volume by". For error with wrap, there will be an extra wrap
      between two errors, such as:
      
         (1)# virsh vol-resize --pool default --vol vol-test 5M
              error: Failed to change size of volume 'vol-test' to 5M
      
              error: invalid argument: Can't shrink capacity below current capacity unless shrink flag explicitly specified
      
         (2)# virsh vol-resize /var/lib/libvirt/images/volds --shrink --delta 10M
              error: Failed to change size of volume 'volds' by 10M
      
              error: invalid argument: can't shrink capacity below existing allocation
      ed8ba91e
    • P
      qemu: driver: Remove unnecessary condition · b871b789
      Peter Krempa 提交于
      At this point it's guaranteed that 'persistentDef' is non-NULL so we
      don't need to check it again.
      b871b789
    • P
      qemu: process: Fix start with unpluggable vcpus with NUMA pinning · 68115fe0
      Peter Krempa 提交于
      Similarly to vcpu hotplug the emulator thread cgroup numa mapping needs
      to be relaxed while hot-adding vcpus so that the threads can allocate
      data in the DMA zone.
      
      Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1370084
      68115fe0
    • P
      qemu: cgroup: Extract temporary relaxing of cgroup setting for vcpu hotplug · eb5dee35
      Peter Krempa 提交于
      When hot-adding vcpus qemu needs to allocate some structures in the DMA
      zone which may be outside of the numa pinning. Extract the code doing
      this in a set of helpers so that it can be reused.
      eb5dee35
    • E
      virt-admin: Output srv-clients-set data as unsigned int rather than signed · e2c63714
      Erik Skultety 提交于
      Unfortunately, commit a8962f70 only fixed first half of the reported issue of
      virt-admin outputting negative values where unsigned int is expected by
      BZ below, so this commit represents the other missing half of the fix.
      
      resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1356769Signed-off-by: NErik Skultety <eskultet@redhat.com>
      e2c63714
    • M
      util: fix crash in virClassIsDerivedFrom for CloseCallbacks objects · f47b9114
      Maxim Nestratov 提交于
      There is a possibility that qemu driver frees by unreferencing its
      closeCallbacks pointer as it has the only reference to the object,
      while in fact not all users of CloseCallbacks called thier
      virCloseCallbacksUnset.
      
      Backtrace is the following:
      Thread #1:
      0  in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
      1  in virCondWait (c=<optimized out>, m=<optimized out>)
          at util/virthread.c:154
      2  in virThreadPoolFree (pool=0x7f0810110b50)
          at util/virthreadpool.c:266
      3  in qemuStateCleanup () at qemu/qemu_driver.c:1116
      4  in virStateCleanup () at libvirt.c:808
      5  in main (argc=<optimized out>, argv=<optimized out>)
          at libvirtd.c:1660
      
      Thread #2:
      0  in virClassIsDerivedFrom (klass=0xdeadbeef, parent=0x7f0837c694d0) at util/virobject.c:169
      1  in virObjectIsClass (anyobj=anyobj@entry=0x7f08101d4760, klass=<optimized out>) at util/virobject.c:365
      2  in virObjectLock (anyobj=0x7f08101d4760) at util/virobject.c:317
      3  in virCloseCallbacksUnset (closeCallbacks=0x7f08101d4760, vm=vm@entry=0x7f08101d47b0, cb=cb@entry=0x7f081d078fc0 <qemuProcessAutoDestroy>) at util/virclosecallbacks.c:163
      4  in qemuProcessAutoDestroyRemove (driver=driver@entry=0x7f081018be50, vm=vm@entry=0x7f08101d47b0) at qemu/qemu_process.c:6368
      5  in qemuProcessStop (driver=driver@entry=0x7f081018be50, vm=vm@entry=0x7f08101d47b0, reason=reason@entry=VIR_DOMAIN_SHUTOFF_SHUTDOWN, asyncJob=asyncJob@entry=QEMU_ASYNC_JOB_NONE, flags=flags@entry=0) at qemu/qemu_process.c:5854
      6  in processMonitorEOFEvent (vm=0x7f08101d47b0, driver=0x7f081018be50) at qemu/qemu_driver.c:4585
      7  qemuProcessEventHandler (data=<optimized out>, opaque=0x7f081018be50) at qemu/qemu_driver.c:4629
      8  in virThreadPoolWorker (opaque=opaque@entry=0x7f0837c4f820) at util/virthreadpool.c:145
      9  in virThreadHelper (data=<optimized out>) at util/virthread.c:206
      10 in start_thread () from /lib64/libpthread.so.0
      
      Let's reference CloseCallbacks object in virCloseCallbacksSet and
      unreference in virCloseCallbacksUnset.
      Signed-off-by: NMaxim Nestratov <mnestratov@virtuozzo.com>
      f47b9114
    • Y
      qemu: guest agent: introduce new error code VIR_ERR_AGENT_UNSYNCED · 914d5e1c
      Yuri Pudgorodskiy 提交于
      A separate error code will help recognize real failures from
      necessity to try again
      Signed-off-by: NMaxim Nestratov <mnestratov@virtuozzo.com>
      914d5e1c
  4. 06 9月, 2016 14 次提交
  5. 05 9月, 2016 3 次提交
  6. 03 9月, 2016 4 次提交