1. 24 4月, 2015 1 次提交
    • J
      migration: Usable time statistics without requiring NTP · aa9f1395
      Jiri Denemark 提交于
      virDomainGetJobStats is able to report statistics of a completed
      migration, however to get usable downtime and total time statistics both
      hosts have to keep synchronized time. To provide at least some
      estimation of the times even when NTP daemons are not running on both
      hosts we can just ignore the time needed to transfer a migration cookie
      to the destination host. The result will be also inaccurate but a bit
      more predictable. The total/down time will just be at least what we
      report.
      
      https://bugzilla.redhat.com/show_bug.cgi?id=1213434
      aa9f1395
  2. 15 4月, 2015 2 次提交
    • J
      Add VIR_DOMAIN_EVENT_ID_DEVICE_ADDED event · 1882c0bd
      Ján Tomko 提交于
      The counterpart to VIR_DOMAIN_EVENT_ID_DEVICE_REMOVED.
      
      https://bugzilla.redhat.com/show_bug.cgi?id=1206114
      1882c0bd
    • E
      virsh: fix regression in 'virsh event' by domain · 31ef0836
      Eric Blake 提交于
      Commit a0670aef caused a regression in 'virsh event' and
      'virsh qemu-monitor-event' - if a user tries to filter the
      command to a specific domain, an error message is printed:
      
      $ virsh event dom --loop
      error: internal error: virsh qemu-monitor-event: no domain VSH_OT_DATA option
      
      and then the command continues as though no domain had been
      supplied (giving events for ALL domains, instead of the
      requested one).  This is because the code was incorrectly
      assuming that all "domain" options would be supplied via a
      mandatory VSH_OT_DATA, even though "domain" is optional for
      these two commands, so we had changed them to VSH_OT_STRING
      to quit failing for other reasons (ever since it was decided
      that VSH_OT_DATA and VSH_OT_STRING should no longer be
      synonyms).
      
      In looking at the situation, though, the code for looking up
      a domain was making a pointless check for whether the option
      exists prior to finding the option's string value, as
      vshCommandOptStringReq does just fine at reporting any errors
      when looking up a string whether or not the option was present.
      
      So this is a case of regression fixing by pure code deletion :)
      
      * tools/virsh-domain.c (vshCommandOptDomainBy): Drop useless filter.
      * tools/virsh-interface.c (vshCommandOptInterfaceBy): Likewise.
      * tools/virsh-network.c (vshCommandOptNetworkBy): Likewise.
      * tools/virsh-nwfilter.c (vshCommandOptNWFilterBy): Likewise.
      * tools/virsh-secret.c (vshCommandOptSecret): Likewise.
      * tools/virsh.h (vshCmdHasOption): Drop unused function.
      * tools/virsh.c (vshCmdHasOption): Likewise.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      31ef0836
  3. 14 4月, 2015 1 次提交
  4. 13 4月, 2015 2 次提交
    • J
      Rewrite vshParseCPUList · ff6d2314
      Ján Tomko 提交于
      Use virBitmap helpers that were added after this function.
      
      Change cpumaplen to int and fill it out by this function.
      ff6d2314
    • J
      Rewrite vshPrintPinInfo · 4c4b821e
      Ján Tomko 提交于
      Use virBitmapDataToString instead of constructing the ranges bit
      by bit, remove the checking of parameters (that is already done
      by the callers).
      
      Let the callers choose the right bitmap, since there's only
      one that uses this helper on a matrix-in-an-array.
      4c4b821e
  5. 07 4月, 2015 1 次提交
  6. 02 4月, 2015 3 次提交
  7. 30 3月, 2015 1 次提交
  8. 26 3月, 2015 3 次提交
  9. 18 3月, 2015 3 次提交
    • P
      virsh: domain: Fix the change-media command · f4b5f530
      Peter Krempa 提交于
      The command did not modify the disk type and thus didn't allow to change
      media from a file image to a block backed image or vice versa. In
      addition when operating on a network backed removable devices the
      command would replace the while <source> subelement with an invalid one.
      
      This patch adds the --block option that allows to specify that the new
      image is block backed and assumes that without that option all images
      are file backed. Since network backends were always mangled it should
      not cause problems.
      f4b5f530
    • P
      virsh: domain: Add --print-xml flag for command change-media · 4cbcaffb
      Peter Krempa 提交于
      Allow printing the XML that would be used mostly for debugging purposes.
      4cbcaffb
    • P
      virsh: domain: Don't use vshPrepareDiskXML for creating XML to detach disk · 1cc82093
      Peter Krempa 提交于
      Since cmdDetachDisk() calls into vshPrepareDiskXML() with
      type == VSH_PREPARE_DISK_XML_NONE && source == NULL this would result
      into skipping all the checks and effectively turn the function into a
      XML formatter.
      
      This patch changes the code to use the formatter directly so that the
      function can be refactored in a easier way.
      1cc82093
  10. 15 3月, 2015 1 次提交
    • E
      virsh: fix report of non-active commit completion · ceec58ac
      Eric Blake 提交于
      Commit f182da20 (v1.2.6) caused a slight regression in virsh
      reporting of a non-active block job; where it used to state
      "Commit complete", it now states "Now in synchronized phase".
      But the synchronized phase is only possible for an active commit.
      
      For a reproducer, I created a chain 'a <- b <- c <- d <- e' and
      ran virsh blockcommit $dom vda --top c --base a --verbose --wait
      
      * tools/virsh-domain.c (cmdBlockCommit): Synchronized phase is
      only possible on active commits.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      ceec58ac
  11. 12 3月, 2015 1 次提交
    • J
      virsh: Add iothreadpin command · 1cfc0a99
      John Ferlan 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1135491
      
      $ virsh iothread --help
      
        NAME
          iothreadpin - control domain IOThread affinity
      
        SYNOPSIS
          iothreadpin <domain> <iothread> <cpulist> [--config] [--live] [--current]
      
        DESCRIPTION
          Pin domain IOThreads to host physical CPUs.
      
        OPTIONS
          [--domain] <string>  domain name, id or uuid
          [--iothread] <number>  IOThread ID number
          [--cpulist] <string>  host cpu number(s) to set
          --config         affect next boot
          --live           affect running domain
          --current        affect current domain
      
      Using the output from iothreadsinfo, allow changing the pinned CPUs for
      a single IOThread.
      
      $ virsh iothreadsinfo $dom
       IOThread ID    CPU Affinity
      ---------------------------------------------------
       1               2
       2               3
       3               0-1
      
      $ virsh iothreadpin $dom 3 0-2
      
      Then view the change
      
      $ virsh iothreadsinfo $dom
       IOThread ID    CPU Affinity
      ---------------------------------------------------
       1               2
       2               3
       3               0-2
      
      If an invalid value is supplied or require option missing,
      then an error will be displayed:
      
      $ virsh iothreadpin $dom 4 3
      error: invalid argument: iothread value out of range 4 > 3
      
      $ virsh iothreadpin $dom 3
      error: command 'iothreadpin' requires <cpulist> option
      1cfc0a99
  12. 06 3月, 2015 2 次提交
    • J
      virsh: Add 'iothreadsinfo' command · f41a5b84
      John Ferlan 提交于
      Add the 'iothreadsinfo' command to display IOThread Info data. Allow for
      [--live] or [--config] options in order to display live or config data
      for an active domain.
      
      $ virsh iothreadsinfo --help
        NAME
          iothreadsinfo - view domain IOThreads
      
        SYNOPSIS
          iothreadsinfo <domain> [--config] [--live] [--current]
      
        DESCRIPTION
          Returns basic information about the domain IOThreads.
      
        OPTIONS
          [--domain] <string>  domain name, id or uuid
          --config         affect next boot
          --live           affect running domain
          --current        affect current domain
      
      An active domain may return:
      
      $ virsh iothreads $dom
       IOThread ID     CPU Affinity
      ---------------------------------------------------
        1               2
        2               3
        3               0
      
      $ echo $?
      0
      
      For domains which don't have IOThreads the following is returned:
      
      $ virsh iothreads $dom
      No IOThreads found for the domain
      
      $ echo $?
      0
      
      For domains which are not running the following is returned:
      
      $ virsh iothreads $dom --live
      error: Unable to get domain IOThreads information
      error: Requested operation is not valid: domain is not running
      
      $ echo $?
      1
      
      Editing a domains configuration and modifying the iothreadpin data for
      thread 3 from nothing provided to setting a cpuset of '0-1' and then
      displaying using --config would display:
      
      $ virsh iothreads f18iothr --config
       IOThread ID     CPU Affinity
       ----------------------------
        1               2
        2               3
        3               0-1
      
      $
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      f41a5b84
    • P
      virsh: fix memtune to also accept 0 as valid value · c2020b08
      Pavel Hrdina 提交于
      Fix vshMemtuneGetSize to return correct value.  We can then decide
      according that return code whether a parameter is present and valid or
      not.  This will allow as to accept 0 as a valid value.
      Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
      c2020b08
  13. 02 3月, 2015 1 次提交
  14. 20 2月, 2015 2 次提交
  15. 16 2月, 2015 1 次提交
  16. 13 2月, 2015 3 次提交
  17. 11 2月, 2015 1 次提交
    • L
      virsh: fix IP address in domdisplay for listen type='network' · 1ba8156c
      Luyao Huang 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1191016
      
      virsh's domdisplay command looks in /domain/devices/graphics/@listen
      of the domain's XML for the listen address, however for listen
      type='network' (added in libvirt 0.9.4), the <graphics> element
      doesn't have a listen attribute, but has a <listen> subelement,
      *still* with no address (this is the inactive XML):
      
       <graphics type='spice' autoport='yes' keymap='en-us'>
        <listen type='network' network='default'/>
       </graphics>
      
      However, at domain start time the <listen> subelement gets its address
      attribute filled in once libvirt figures out the IP address associated
      with the named network (this is the status XML):
      
       <graphics type='spice' port='5901' autoport='yes' keymap='en-us'>
        <listen type='network' address='192.168.122.1' network='default'/>
       </graphics>
      
      So in these cases, we need to look at
      /domain/devices/graphics/listen/@address instead.
      
      Even though another patch is being pushed that will backfill
      listen/@address into @listen, this patch is still useful, as it fixes
      domdisplay for cases of a new virsh (with this patch) connecting to a
      libvirtd that is newer than 0.9.4 but doesn't have the followup patch.
      Signed-off-by: NLuyao Huang <lhuang@redhat.com>
      Signed-off-by: NLaine Stump <laine@laine.org>
      1ba8156c
  18. 09 2月, 2015 1 次提交
  19. 16 1月, 2015 1 次提交
    • D
      virsh: add support for domain XML validation · d7565bd8
      Daniel P. Berrange 提交于
      The 'virsh edit' command gets XML validation enabled by default,
      with a --skip-validate option to disable it. The 'virsh define'
      and 'virsh create' commands get a --validate option to enable
      it, to avoid regressions for existing scripts.
      
      The quality of error reporting from libxml2 varies depending
      on the type of XML error made. Sometimes it is quite clear
      and useful, other times it is obscure & inaccurate. At least
      the user will see an error now, rather than having their
      XML modification silently disappear.
      d7565bd8
  20. 12 1月, 2015 1 次提交
  21. 24 11月, 2014 2 次提交
    • T
      virsh: expose virDomainGetFSInfo · fadfcd91
      Tomoki Sekiyama 提交于
      Add a "domfsinfo" command that shows a list of filesystems info mounted in
      the guest. For example:
      
      virsh # domfsinfo vm1
      Mountpoint                           Name     Type     Target
      -------------------------------------------------------------------
      /                                    sda1     ext4     hdc
      /opt                                 dm-2     vfat     vda,vdb
      /mnt/test                            sdb1     xfs      sda
      Signed-off-by: NTomoki Sekiyama <tomoki.sekiyama@hds.com>
      fadfcd91
    • P
      event: Add guest agent lifecycle event · 1a460910
      Peter Krempa 提交于
      As qemu is now able to notify us about change of the channel state used
      for communication with the guest agent we now can more precisely track
      the state of the guest agent.
      
      To allow notifying management apps this patch implements a new event
      that will be triggered on changes of the guest agent state.
      1a460910
  22. 21 11月, 2014 1 次提交
  23. 20 11月, 2014 2 次提交
    • E
      build: avoid 32-bit failure on older gcc · 0d516839
      Eric Blake 提交于
      On 32-bit platforms with old gcc (hello RHEL 5 gcc 4.1.2), the
      build fails with:
      virsh-domain.c: In function 'cmdBlockCopy':
      virsh-domain.c:2172: warning: comparison is always false due to limited range of data type
      
      Adjust the code to silence the warning.
      
      * tools/virsh-domain.c (cmdBlockCopy): Pacify RHEL 5 gcc.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      0d516839
    • E
      virsh: Fix msg: blockjob is aborted from another client · 8312d44d
      Erik Skultety 提交于
      When a block{pull, copy, commit} is aborted via keyboard interrupt,
      the job is properly canceled followed by proper error message.
      However, when the job receives an abort from another client connected
      to the same domain, the error message incorrectly indicates that
      a blockjob has been finished successfully, though the abort request
      took effect. This patch introduces a new blockjob abort handler, which
      is registered when the client calls block{copy,commit,pull} routine,
      providing its caller the status of the finished blockjob.
      
      Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1135442
      8312d44d
  24. 19 11月, 2014 1 次提交
    • E
      maint: forbid 'int foo = true' · eb909376
      Eric Blake 提交于
      I noticed this while working on qemuDomainGetBlockInfo.  Assigning
      a bool value to an int variable compiles fine, but raises red flags
      on the maintenance front as it becomes too easy to assign -1 or 2
      or any other non-bool value to the same variable.
      
      * cfg.mk (sc_prohibit_int_assign_bool): New rule.
      * src/conf/snapshot_conf.c (virDomainSnapshotRedefinePrep): Fix
      offenders.
      * src/qemu/qemu_driver.c (qemuDomainGetBlockInfo)
      (qemuDomainSnapshotCreateXML): Likewise.
      * src/test/test_driver.c (testDomainSnapshotAlignDisks):
      Likewise.
      * src/util/vircgroup.c (virCgroupSupportsCpuBW): Likewise.
      * src/util/virpci.c (virPCIDeviceBindToStub): Likewise.
      * src/util/virutil.c (virIsCapableVport): Likewise.
      * tools/virsh-domain-monitor.c (cmdDomMemStat): Likewise.
      * tools/virsh-domain.c (cmdBlockResize, cmdScreenshot)
      (cmdInjectNMI, cmdSendKey, cmdSendProcessSignal)
      (cmdDetachInterface): Likewise.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      eb909376
  25. 15 11月, 2014 2 次提交