1. 24 2月, 2014 3 次提交
    • M
      virNetServerRun: Notify systemd that we're accepting clients · 68954fb2
      Michal Privoznik 提交于
      Systemd does not forget about the cases, where client service needs to
      wait for daemon service to initialize and start accepting new clients.
      Setting a dependency in client is not enough as systemd doesn't know
      when the daemon has initialized itself and started accepting new
      clients. However, it offers a mechanism to solve this. The daemon needs
      to call a special systemd function by which the daemon tells "I'm ready
      to accept new clients". This is exactly what we need with
      libvirtd-guests (client) and libvirtd (daemon). So now, with this
      change, libvirt-guests.service is invoked not any sooner than
      libvirtd.service calls the systemd notify function.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      68954fb2
    • M
      libvirt-guests: Wait for libvirtd to initialize · 4e7fc830
      Michal Privoznik 提交于
      I've noticed that in some cases systemd was quick enough and even
      if libvirt-guests.service is marked to be started after the
      libvirtd.service my guests were not resumed as
      libvirt-guests.sh failed to connect. This is because of a
      simple fact: systemd correctly starts libvirt-guests after it
      execs libvirtd. However, the daemon is not able to accept
      connections right from the start. It's doing some
      initialization which may take ages. This problem is not limited
      to systemd only, indeed. Any init system that is able to startup
      services in parallel (e.g. OpenRC) may run into this situation.
      The fix is to try connecting not only once, but continuously a few
      times with a small sleep in between tries.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      4e7fc830
    • M
      virSystemdCreateMachine: Set dependencies for slices · ba79e387
      Michal Privoznik 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1031696
      
      When creating a new domain, we let systemd know about it by calling
      CreateMachine() function via dbus. Systemd then creates a scope and
      places domain into it. However, later when the host is shutting
      down, systemd computes the shutdown order to see what processes can
      be shut down in parallel. And since we were not setting
      dependencies at all, the slices (and thus domains) were most likely
      killed before libvirt-guests.service. So user domains that had to
      be saved, shut off, whatever were in fact killed.  This problem can
      be solved by letting systemd know that scopes we're creating must
      not be killed before libvirt-guests.service.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      ba79e387
  2. 22 2月, 2014 2 次提交
  3. 21 2月, 2014 12 次提交
    • J
      Ignore additional fields in iscsiadm output · 57e17a74
      Ján Tomko 提交于
      There has been a new field introduced in iscsiadm --mode session
      output [1], but our regex only expects four fields. This breaks
      startup of iscsi pools:
      error: Failed to start pool iscsi
      error: internal error: cannot find session
      
      Fix this by ignoring anything after the fourth field.
      
      https://bugzilla.redhat.com/show_bug.cgi?id=1067173
      
      [1] https://github.com/mikechristie/open-iscsi/commit/181af9a
      57e17a74
    • J
      Add a stub for virCgroupGetDomainTotalCpuStats · abf1daf0
      Ján Tomko 提交于
      Commit 65158899 broke the build on FreeBSD:
      In function `qemuDomainGetCPUStats':
      /../../src/qemu/qemu_driver.c:16102:
      undefined reference to `virCgroupGetDomainTotalCpuStats'
      abf1daf0
    • E
      maint: update to latest gnulib · 96d947ce
      Eric Blake 提交于
      Among other things, gnulib now allows overriding of sed during
      'make syntax-check'.
      
      * .gnulib: Update to latest, for maint.mk improvements.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      96d947ce
    • E
      virsh: add net-event command · de87691f
      Eric Blake 提交于
      Add 'virsh net-event --list' and 'virsh net-event [net] --event=name
      [--loop] [--timeout]'.  Very similar to 'virsh event'.
      
      * tools/virsh.pod (net-event): Document new command.
      * tools/virsh-network.c (vshNetworkEventToString, vshNetEventData)
      (vshEventLifecyclePrint, cmdNetworkEvent): New struct and
      functions.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      de87691f
    • E
      virsh: add event command, for lifecycle events · 99fa96c3
      Eric Blake 提交于
      Add 'virsh event --list' and 'virsh event [dom] --event=name
      [--loop] [--timeout]'.  Borrows somewhat from event-test.c,
      but defaults to a one-shot notification, and takes advantage
      of the event loop integration to allow Ctrl-C to interrupt the
      wait for an event.  For now, this just does lifecycle events.
      
      * tools/virsh.pod (event): Document new command.
      * tools/virsh-domain.c (vshDomainEventToString)
      (vshDomainEventDetailToString, vshDomEventData)
      (vshEventLifecyclePrint, cmdEvent): New struct and functions.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      99fa96c3
    • E
      virsh: common code for waiting for an event · 4c29530d
      Eric Blake 提交于
      I plan to add 'virsh event' to virsh-domain.c and 'virsh
      net-event' to virsh-network.c; but as they will share quite
      a bit of common boilerplate, it's better to set that up now
      in virsh.c.
      
      * tools/virsh.h (_vshControl): Add fields.
      (vshEventStart, vshEventWait, vshEventDone, vshEventCleanup): New
      prototypes.
      * tools/virsh.c (vshEventFd, vshEventOldAction, vshEventInt)
      (vshEventTimeout): New helper variables and functions.
      (vshEventStart, vshEventWait, vshEventDone, vshEventCleanup):
      Implement new functions.
      (vshInit, vshDeinit, main): Manage event timeout.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      4c29530d
    • E
      virsh: common code for parsing --seconds · 5093b047
      Eric Blake 提交于
      Several virsh commands ask for a --timeout parameter in
      seconds, then use it to control interfaces that operate on
      millisecond limits; I also plan on adding a 'virsh event'
      command that also does this.  Factor this into a common
      function.
      
      * tools/virsh.h (vshCommandOptTimeoutToMs): New prototype.
      * tools/virsh.c (vshCommandOptTimeoutToMs): New function.
      * tools/virsh-domain.c (cmdBlockCommit, cmdBlockCopy)
      (cmdBlockPull, cmdMigrate): Use it.
      (vshWatchJob): Adjust timeout scale.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      5093b047
    • J
      libxl: queue shutdown event on domain shutdown · 84a6209d
      Jim Fehlig 提交于
      Emit libvirt shutdown event when receiving LIBXL_SHUTDOWN_REASON_POWEROFF
      event from libxl.
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      84a6209d
    • J
      bandwidth: Adjust documentation · 7eb37a0d
      John Ferlan 提交于
      Recent autotest/virt-test testing on f20 discovered an anomaly in how
      the bandwidth options are documented and used. This was discovered due
      to a bug fix in the /sbin/tc utility found in iproute-3.11.0.1 (on f20)
      in which overflow was actually caught and returned as an error. The fix
      was first introduced in iproute-3.10 (search on iproute2 commit 'a303853e').
      
      The autotest/virt-test test for virsh domiftune was attempting to send
      the largest unsigned integer value (4294967295) for maximum value
      testing. The libvirt xml implementation was designed to manage values
      in kilobytes thus when this value was passed to /sbin/tc, it (now)
      properly rejected the 4294967295kbps value.
      
      Investigation of the problem discovered that formatdomain.html.in and
      formatnetwork.html.in described the elements and property types slightly
      differently, although they use the same code - virNetDevBandwidthParseRate()
      (shared by portgroups, domains, and networks xml parsers). Rather than
      have the descriptions in two places, this patch will combine and reword
      the description under formatnetwork.html.in and have formatdomain.html.in
      link to that description.
      
      This documentation faux pas was continued into the virsh man page where
      the bandwidth description for both 'attach-interface' and 'domiftune'
      did not indicate the format of each value, thus leading to the test using
      largest unsigned integer value assuming "bps" rather than "kbps", which
      ultimately was wrong.
      7eb37a0d
    • J
      libxl: always use libxlVmCleanupJob in shutdown thread · d716d942
      Jim Fehlig 提交于
      Commit e4a0e900 missed calling libxlVmCleanupJob in the shutdown
      handler when processing a reboot event.
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      d716d942
    • E
      qemu: adjust maxmem/maxvcpu computation · 60f7303c
      Eric Blake 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1038363
      
      If a domain has a different maximum for persistent and live maxmem
      or max vcpus, then it is possible to hit cases where libvirt
      refuses to adjust the current values or gets halfway through
      the adjustment before failing.  Better is to determine up front
      if the change is possible for all requested flags.
      
      Based on an idea by Geoff Franks.
      
      * src/qemu/qemu_driver.c (qemuDomainSetMemoryFlags): Compute
      correct maximum if both live and config are being set.
      (qemuDomainSetVcpusFlags): Likewise.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      60f7303c
    • R
      Add Roman Bogorodskiy to the committers list · 2d2f29d2
      Roman Bogorodskiy 提交于
      2d2f29d2
  4. 20 2月, 2014 23 次提交