1. 08 11月, 2017 1 次提交
  2. 07 11月, 2017 1 次提交
  3. 28 9月, 2017 1 次提交
    • A
      conf: Introduce TLS options for VxHS block device clients · bd6fdcd8
      Ashish Mittal 提交于
      Add a new TLS X.509 certificate type - "vxhs". This will handle the
      creation of a TLS certificate capability for properly configured
      VxHS network block device clients.
      
      The following describes the behavior of TLS for VxHS block device:
      
        (1) Two new options have been added in /etc/libvirt/qemu.conf
            to control TLS behavior with VxHS block devices
            "vxhs_tls" and "vxhs_tls_x509_cert_dir".
        (2) Setting "vxhs_tls=1" in /etc/libvirt/qemu.conf will enable
            TLS for VxHS block devices.
        (3) "vxhs_tls_x509_cert_dir" can be set to the full path where the
            TLS CA certificate and the client certificate and keys are saved.
            If this value is missing, the "default_tls_x509_cert_dir" will be
            used instead. If the environment is not configured properly the
            authentication to the VxHS server will fail.
      Signed-off-by: NAshish Mittal <Ashish.Mittal@veritas.com>
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      bd6fdcd8
  4. 03 8月, 2017 1 次提交
  5. 26 7月, 2017 1 次提交
    • P
      qemu: switch QEMU capabilities to use virFileCache · d03de54e
      Pavel Hrdina 提交于
      The switch contains considerable amount of changes:
      
        virQEMUCapsRememberCached() is removed because this is now handled
        by virFileCacheSave().
      
        virQEMUCapsInitCached() is removed because this is now handled by
        virFileCacheLoad().
      
        virQEMUCapsNewForBinary() is split into two functions,
        virQEMUCapsNewData() which creates new data if there is nothing
        cached and virQEMUCapsLoadFile() which loads the cached data.
        This is now handled by virFileCacheNewData().
      
        virQEMUCapsCacheValidate() is removed because this is now handled by
        virFileCacheValidate().
      
        virQEMUCapsCacheFree() is removed because it's no longer required.
      
        Add virCapsPtr into virQEMUCapsCachePriv because for each call of
        virFileCacheLookup*() we need to use current virCapsPtr.
      Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
      Reviewed-by: NJiri Denemark <jdenemar@redhat.com>
      d03de54e
  6. 25 3月, 2017 1 次提交
    • J
      conf: Introduce migrate_tls_x509_cert_dir · 1415121a
      John Ferlan 提交于
      Add a new TLS X.509 certificate type - "migrate". This will handle the
      creation of a TLS certificate capability (and possibly repository) to
      be used for migrations. Similar to chardev's, credentials will be handled
      via a libvirt secrets; however, unlike chardev's enablement and usage
      will be via a CLI flag instead of a conf flag and a domain XML attribute.
      
      The migrations using the *x509_verify flag require the client-cert.pem
      and client-key.pem files to be present in the TLS directory - so let's
      also be sure to note that in the qemu.conf file.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      1415121a
  7. 15 2月, 2017 1 次提交
    • M
      qemu_conf: Check for namespaces availability more wisely · b57bd206
      Michal Privoznik 提交于
      The bare fact that mnt namespace is available is not enough for
      us to allow/enable qemu namespaces feature. There are other
      requirements: we must copy all the ACL & SELinux labels otherwise
      we might grant access that is administratively forbidden or vice
      versa.
      At the same time, the check for namespace prerequisites is moved
      from domain startup time to qemu.conf parser as it doesn't make
      much sense to allow users to start misconfigured libvirt just to
      find out they can't start a single domain.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      b57bd206
  8. 09 2月, 2017 1 次提交
  9. 15 12月, 2016 1 次提交
  10. 08 12月, 2016 1 次提交
    • M
      qemu: Create hugepage path on per domain basis · f55afd83
      Michal Privoznik 提交于
      If you've ever tried running a huge page backed guest under
      different user than in qemu.conf, you probably failed. Problem is
      even though we have corresponding APIs in the security drivers,
      there's no implementation and thus we don't relabel the huge page
      path. But even if we did, so far all of the domains share the
      same path:
      
         /hugepageMount/libvirt/qemu
      
      Our only option there would be to set 0777 mode on the qemu dir
      which is totally unsafe. Therefore, we can create dir on
      per-domain basis, i.e.:
      
         /hugepageMount/libvirt/qemu/domainName
      
      and chown domainName dir to the user that domain is configured to
      run under.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      f55afd83
  11. 09 11月, 2016 1 次提交
  12. 20 10月, 2016 1 次提交
    • J
      conf: Introduce {default|chardev}_tls_x509_secret_uuid · 3b668bb5
      John Ferlan 提交于
      Add a new qemu.conf variables to store the UUID for the secret that could
      be used to present credentials to access the TLS chardev.  Since this will
      be a server level and it's possible to use some sort of default, introduce
      both the default and chardev logic at the same time making the setting of
      the chardev check for it's own value, then if not present checking whether
      the default value had been set.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      3b668bb5
  13. 19 9月, 2016 1 次提交
  14. 09 9月, 2016 2 次提交
    • 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
  15. 06 9月, 2016 2 次提交
    • D
      qemu: allow turning off QEMU guest RAM dump globally · 90e178f8
      Daniel P. Berrange 提交于
      We already have the ability to turn off dumping of guest
      RAM via the domain XML. This is not particularly useful
      though, as it is under control of the management application.
      What is needed is a way for the sysadmin to turn off guest
      RAM defaults globally, regardless of whether the mgmt app
      provides its own way to set this in the domain XML.
      
      So this adds a 'dump_guest_core' option in /etc/libvirt/qemu.conf
      which defaults to false. ie guest RAM will never be included in
      the QEMU core dumps by default. This default is different from
      historical practice, but is considered to be more suitable as
      a default because
      
       a) guest RAM can be huge and so inflicts a DOS on the host
          I/O subsystem when dumping core for QEMU crashes
      
       b) guest RAM can contain alot of sensitive data belonging
          to the VM owner. This should not generally be copied
          around inside QEMU core dumps submitted to vendors for
          debugging
      
       c) guest RAM contents are rarely useful in diagnosing
          QEMU crashes
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      90e178f8
    • D
      qemu: add a max_core setting to qemu.conf for core dump size · fa1ce979
      Daniel P. Berrange 提交于
      Currently the QEMU processes inherit their core dump rlimit
      from libvirtd, which is really suboptimal. This change allows
      their limit to be directly controlled from qemu.conf instead.
      fa1ce979
  16. 12 7月, 2016 1 次提交
  17. 14 6月, 2016 1 次提交
    • J
      driver config: Introduce virFirmware object · fda5a98e
      Jim Fehlig 提交于
      The virQEMUDriverConfig object contains lists of
      loader:nvram pairs to advertise firmwares supported by
      by the driver, and qemu_conf.c contains code to populate
      the lists, all of which is useful for other drivers too.
      
      To avoid code duplication, introduce a virFirmware object
      to encapsulate firmware details and switch the qemu driver
      to use it.
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      fda5a98e
  18. 09 6月, 2016 1 次提交
  19. 25 5月, 2016 1 次提交
  20. 25 12月, 2015 1 次提交
  21. 26 11月, 2015 1 次提交
    • D
      qemu: add support for sending QEMU stdout/stderr to virtlogd · 0d968ad7
      Daniel P. Berrange 提交于
      Currently the QEMU stdout/stderr streams are written directly to
      a regular file (eg /var/log/libvirt/qemu/$GUEST.log). While those
      can be rotated by logrotate (using copytruncate option) this is
      not very efficient. It also leaves open a window of opportunity
      for a compromised/broken QEMU to DOS the host filesystem by
      writing lots of text to stdout/stderr.
      
      This makes it possible to connect the stdout/stderr file handles
      to a pipe that is provided by virtlogd. The virtlogd daemon will
      read from this pipe and write data to the log file, performing
      file rotation whenever a pre-determined size limit is reached.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      0d968ad7
  22. 29 7月, 2015 1 次提交
    • E
      qemu: Adjust VM id allocation · b2960501
      Erik Skultety 提交于
      Our atomic increment (virAtomicIntInc) uses (if available) gcc
      __sync_add_and_fetch builtin. In qemu driver though, we'd profit more
      from __sync_fetch_and_add builtin. To keep it simplistic, this patch
      adjusts qemu driver initialization rather than adding a new atomic
      increment macro.
      b2960501
  23. 10 7月, 2015 1 次提交
  24. 18 6月, 2015 1 次提交
    • P
      qemu: 'privileged' flag is not really configuration · 0b416434
      Peter Krempa 提交于
      The privileged flag will not change while the configuration might
      change. Make the 'privileged' flag member of the driver again and mark
      it immutable. Should that ever change add an accessor that will group
      reads of the state.
      0b416434
  25. 24 4月, 2015 2 次提交
  26. 14 4月, 2015 1 次提交
  27. 18 9月, 2014 1 次提交
  28. 10 9月, 2014 1 次提交
    • M
      qemu: Automatically create NVRAM store · 742b08e3
      Michal Privoznik 提交于
      When using split UEFI image, it may come handy if libvirt manages per
      domain _VARS file automatically. While the _CODE file is RO and can be
      shared among multiple domains, you certainly don't want to do that on
      the _VARS file. This latter one needs to be per domain. So at the
      domain startup process, if it's determined that domain needs _VARS
      file it's copied from this master _VARS file. The location of the
      master file is configurable in qemu.conf.
      
      Temporary, on per domain basis the location of master NVRAM file can
      be overridden by this @template attribute I'm inventing to the
      <nvram/> element. All it does is holding path to the master NVRAM file
      from which local copy is created. If that's the case, the map in
      qemu.conf is not consulted.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      Acked-by: NLaszlo Ersek <lersek@redhat.com>
      742b08e3
  29. 20 8月, 2014 2 次提交
    • P
      qemu: hotplug: Sanitize shared device removal on media change · aecc6bb8
      Peter Krempa 提交于
      Instead of tediously copying of the disk source to remove it later
      ensure that the media change function removes the old device after it
      succeeds.
      aecc6bb8
    • R
      storage: make disk source pool translation generic · 8c170c9f
      Roman Bogorodskiy 提交于
      Currently, qemu driver uses qemuTranslateDiskSourcePool()
      to translate disk volume information. This function is
      general enough and could be used for other drivers as well,
      so move it to conf/domain_conf.c along with its helpers.
      
       - qemuTranslateDiskSourcePool: move to storage/storage_driver.c
         and rename to virStorageTranslateDiskSourcePool,
       - qemuAddISCSIPoolSourceHost: move to storage/storage_driver.c
         and rename to virStorageAddISCSIPoolSourceHost,
       - qemuTranslateDiskSourcePoolAuth: move to storage/storage_driver.c
         and rename to virStorageTranslateDiskSourcePoolAuth,
       - Update users of qemuTranslateDiskSourcePool to use a
         new name.
      8c170c9f
  30. 08 8月, 2014 1 次提交
  31. 29 7月, 2014 1 次提交
    • M
      qemu: Utilize virFileFindHugeTLBFS · 725a211f
      Michal Privoznik 提交于
      Use better detection of hugetlbfs mount points. Yes, there can be
      multiple mount points each serving different huge page size.
      
      Since we already have ability to override the mount point in the
      qemu.conf file, this crazy backward compatibility code is brought in.
      Now we allow multiple mount points, so the "hugetlbfs_mount" option
      must take an list of strings (mount points). But previously, it was
      just a string, so we must accept both types now.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      725a211f
  32. 20 5月, 2014 1 次提交
    • C
      migration: add support for migrateURI configuration · b0312d9f
      Chen Fan 提交于
      For now, we set the migration URI via command line '--migrate_uri' or
      construct the URI by looking up the dest host's hostname which could be
      solved by DNS automatically.
      
      But in cases the dest host have two or more NICs to reach, we may need to
      send the migration data over a specific NIC which is different from the
      automatically resolved one for some reason like performance, security, etc.
      Thus we must explicitly specify the migrateuri in command line everytime,
      but it is too troublesome if there are many such hosts (and don't forget
      virt-manager).
      
      This patch adds a configuration file option on dest host to save the
      default value set which can be specified to a migration hostname or
      one of this host's addresses used for transferring data, thus user doesn't
      have to specify it in command line everytime.
      Signed-off-by: NChen Fan <chen.fan.fnst@cn.fujitsu.com>
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      b0312d9f
  33. 07 5月, 2014 1 次提交
    • J
      Add support for timestamping QEMU logs · f3be5f0c
      Ján Tomko 提交于
      QEMU commit 5e2ac51 added a boolean '-msg timestamp=[on|off]'
      option, which can enable timestamps on errors:
      $ qemu-system-x86_64 -msg timestamp=on zghhdorf
      2014-04-09T13:25:46.779484Z qemu-system-x86_64: -msg timestamp=on: could
      not open disk image zghhdorf: Could not open 'zghhdorf': No such file or
      directory
      
      Enable this timestamp if the QEMU binary supports it.
      
      Add a 'log_timestamp' option to qemu.conf for disabling this behavior.
      f3be5f0c
  34. 13 3月, 2014 1 次提交
  35. 10 3月, 2014 1 次提交
  36. 04 3月, 2014 1 次提交