1. 09 12月, 2015 23 次提交
  2. 08 12月, 2015 7 次提交
    • J
      Revert "libxl: implement virDomainInterfaceStats" · e4ac5919
      Jim Fehlig 提交于
      This reverts commit d2e5538b.
      
      A migration regression was introduced by this commit. When migrating
      a domain, its active XML is sent to the destination libvirtd, where
      it is parsed as inactive XML. d2e5538b copied the libxl generated
      interface name into the active config, which was being passed to the
      migration destination and being parsed into inactive config. Attempting
      to start the config could result in failure if an interface with the
      same generated name already exists.
      
      The qemu driver behaves similarly, but the parser contains a hack to
      skip interface names starting with 'vnet' when parsing inactive XML.
      We could extend the hack to skip names starting with 'vif' too, but a
      better fix would be to expose these hypervisor-specific interface name
      prefixes in capabilities. See the following discussion thread for more
      details
      
      https://www.redhat.com/archives/libvir-list/2015-December/msg00262.html
      
      For the pending 1.3.0 release, it is best to revert d2e5538b. It can
      be added again post release, after moving the prefix to capabilities.
      e4ac5919
    • D
      rpm: explicitly enable & start virtlogd on install · da054f35
      Daniel P. Berrange 提交于
      When installing the libvirt-daemon RPM, we have a %post rule to
      enable the libvirtd.service, virtlockd.socket and virtlogd.socket
      files. This is only done, however, when the RPM is first installed,
      not when upgrading RPMs. So virtlogd will not get activated on
      upgrading, which is a problem as libvirt qemu driver will expect
      it to be available by default.
      
      This adds a trigger that is run when uninstalling libvirt-daemon
      older than 1.3.0 that will enable & start virtlogd.socket if
      libvirtd is enabled and/or started. Using the trigger rather
      than %post ensures that it only runs once, allowing admins to
      disable it explicitly thereafter without future upgrades
      re-enabling it.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      da054f35
    • D
      libvirtd: enable virtlockd/virtlogd socket activation on install · 5cce775e
      Daniel P. Berrange 提交于
      When someone does 'systemctl enable libvirtd.service' we should
      also enable virtlockd.socket/virtlogd.socket, so that they can
      be auto-activated if libvirtd tries to access the sockets.
      
      Without this, people have to manually enable the units themselves
      via 'systemctl enable virtdlogd.socket'.
      
      This also ensures that if distros uses  'systemctl preset' for
      enabling 'libvirtd.service', then the virtdlogd.socket gets
      enabled without having to wait for the distro to update their
      presets file.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      5cce775e
    • D
      logging: validate flags passed from client in virtlogd · b6cbabc5
      Daniel P. Berrange 提交于
      The virtlogd RPC messages all have a flags parameter. For
      sake of future error reporting we should be verifying
      these are all 0 for now.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      b6cbabc5
    • D
      logging: change log protocol to be more reusable · 50896b28
      Daniel P. Berrange 提交于
      The current virtlogd RPC protocol provides the ability to
      handle log files associated with QEMU stdout/err. The log
      protocol messages take the virt driver, domain name and
      use that to form a log file path. This is quite restrictive
      as it prevents us re-using the same RPC protocol messages
      for logging to char device backends where the filename
      can be arbitrarily user specified. It is also bad because
      it means we have 2 separate locations which have to decide
      on logfile name.
      
      This change alters the RPC protocol so that we pass the
      desired log file path along when opening the log file
      initially. Now the virt driver is exclusively in charge
      of deciding the log filename
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      50896b28
    • D
      logging: preserve driver, dom name & uuid against log file · d4abb09d
      Daniel P. Berrange 提交于
      The virt driver, dom name and uuid associated with a log
      file are important pieces of metadata to keep around for
      sake of future enhancements to virtlogd. Currently we
      discard them after opening the log file, but we should
      preserve them, even across restarts.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      d4abb09d
    • D
      qemu: fix memory leak in opening log file · 0eafe995
      Daniel P. Berrange 提交于
      The qemuDomainLogContextNew method leaks the "logfile" path
      on the non-virtlogd code path.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      0eafe995
  3. 05 12月, 2015 5 次提交
  4. 04 12月, 2015 3 次提交
    • P
      qemu: domain: Prevent overflows in memory alignment code · 64588113
      Peter Krempa 提交于
      Since libvirt for dubious historical reasons stores memory size as
      kibibytes, it's possible that the alignments done in the qemu code
      overflow the the maximum representable size in bytes. The XML parser
      code handles them in bytes in some stages. Prevent this by doing
      overflow checks when alinging the size and add a test case.
      
      Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1260576
      64588113
    • P
      schema: Allow > UINT_MAX KiB of memory for NUMA nodes · e5fac009
      Peter Krempa 提交于
      Using more than 4TiB of memory per NUMA node would not be possible to
      express in the XML without violating the schema. Not that such boxes
      would be common, but we should use a longer type at this point.
      
      The pattern is not necessary since libvirt redefines the type already in
      basictypes.rng with the same pattern.
      e5fac009
    • B
      conf: Revert some code to resolve issues for hostdev hotplug · dc692438
      Boris Fiuczynski 提交于
      This patch reverts parts of commits 0d8b24f6 and 0785966d dealing with
      the addition of a controller during virDomainHostdevAssignAddress. This
      caused a regression for the hostdev hotplug path which assumes the
      qemuDomainFindOrCreateSCSIDiskController will add the new controller
      during qemuDomainAttachHostSCSIDevice to both the running domain and
      the domain def controller list when the controller doesn't yet exist
      (whether due to no SCSI controllers existing or the addition of a new
      controller because existing ones are full).
      
      Since commit id 0d8b24f6 will call virDomainHostdevAssignAddress during
      virDomainDeviceDefPostParseInternal which is called either during domain
      definition post processing (via an iterator during virDomainDefPostParse)
      or directly from virDomainDeviceDefParse during hotplug, the change
      broke the "side effect" of being able to add both a hostdev and controller
      to the running domain.
      
      The regression would only be seen if the running domain didn't have a
      SCSI controller already defined or if the existing SCSI controller was
      "full" of devices and a new controller needed to be created.
      
      This patch will also add some extra comments to the code to avoid a
      similar future change.
      Signed-off-by: NBoris Fiuczynski <fiuczy@linux.vnet.ibm.com>
      Reviewed-by: NBjoern Walk <bwalk@linux.vnet.ibm.com>
      Reviewed-by: NStefan Zimmermann <stzi@linux.vnet.ibm.com>
      dc692438
  5. 03 12月, 2015 2 次提交