1. 23 8月, 2019 1 次提交
    • R
      tests: Add lib- prefix to all mocks · fde36108
      Roman Bolshakov 提交于
      In preparation libtool "-module" flag removal, add lib prefix to all
      mock shared objects.
      
      While at it, introduce VIR_TEST_MOCK macros that makes path out of mock
      name to be used with VIR_TEST_PRELOAD or VIR_TEST_MAIN_PRELOAD.  That,
      hopefully, improves readability, reduces line length and allows to
      tailor VIR_TEST_MOCK for specific platform if it has shared library
      suffix different from ".so".
      Signed-off-by: NRoman Bolshakov <r.bolshakov@yadro.com>
      fde36108
  2. 24 2月, 2019 1 次提交
  3. 27 1月, 2019 1 次提交
    • R
      bhyve: implement support for commandline args · 0c8df110
      Roman Bogorodskiy 提交于
      Implement support for passing custom command line arguments
      to bhyve using the 'bhyve:commandline' element:
      
        <bhyve:commandline>
          <bhyve:arg value='-newarg'/>
        </bhyve:commandline>
      
       * Define virDomainXMLNamespace for the bhyve driver, which
         at this point supports only the 'commandline' element
         described above,
       * Update command generation code to inject these command line
         arguments between driver-generated arguments and the vmname
         positional argument.
      Signed-off-by: NRoman Bogorodskiy <bogorodskiy@gmail.com>
      Reviewed-by: NJohn Ferlan <jferlan@redhat.com>
      0c8df110
  4. 17 12月, 2018 1 次提交
    • D
      qemu: use line breaks in command line args written to log · 07c9d660
      Daniel P. Berrangé 提交于
      The QEMU command line arguments are very long and currently all written
      on a single line to /var/log/libvirt/qemu/$GUEST.log. This introduces
      logic to add line breaks after every env variable and "-" optional
      argument, and every positional argument. This will create a clearer log
      file, which will in turn present better in bug reports when people cut +
      paste from the log into a bug comment.
      
      An example log file entry now looks like this:
      
        2018-12-14 12:57:03.677+0000: starting up libvirt version: 5.0.0, qemu version: 3.0.0qemu-3.0.0-1.fc29, kernel: 4.19.5-300.fc29.x86_64, hostname: localhost.localdomain
        LC_ALL=C \
        PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin \
        HOME=/home/berrange \
        USER=berrange \
        LOGNAME=berrange \
        QEMU_AUDIO_DRV=none \
        /usr/bin/qemu-system-ppc64 \
        -name guest=guest,debug-threads=on \
        -S \
        -object secret,id=masterKey0,format=raw,file=/home/berrange/.config/libvirt/qemu/lib/domain-33-guest/master-key.aes \
        -machine pseries-2.10,accel=tcg,usb=off,dump-guest-core=off \
        -m 1024 \
        -realtime mlock=off \
        -smp 1,sockets=1,cores=1,threads=1 \
        -uuid c8a74977-ab18-41d0-ae3b-4041c7fffbcd \
        -display none \
        -no-user-config \
        -nodefaults \
        -chardev socket,id=charmonitor,fd=23,server,nowait \
        -mon chardev=charmonitor,id=monitor,mode=control \
        -rtc base=utc \
        -no-shutdown \
        -boot strict=on \
        -device qemu-xhci,id=usb,bus=pci.0,addr=0x1 \
        -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
        -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
        -msg timestamp=on
        2018-12-14 12:57:03.730+0000: shutting down, reason=failed
      Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
      07c9d660
  5. 07 6月, 2018 1 次提交
  6. 13 5月, 2018 1 次提交
  7. 22 2月, 2018 5 次提交
  8. 03 11月, 2017 1 次提交
    • A
      Remove backslash alignment attempts · 3e7db8d3
      Andrea Bolognani 提交于
      Right-aligning backslashes when defining macros or using complex
      commands in Makefiles looks cute, but as soon as any changes is
      required to the code you end up with either distractingly broken
      alignment or unnecessarily big diffs where most of the changes
      are just pushing all backslashes a few characters to one side.
      
      Generated using
      
        $ git grep -El '[[:blank:]][[:blank:]]\\$' | \
          grep -E '*\.([chx]|am|mk)$$' | \
          while read f; do \
            sed -Ei 's/[[:blank:]]*[[:blank:]]\\$/ \\/g' "$f"; \
          done
      Signed-off-by: NAndrea Bolognani <abologna@redhat.com>
      3e7db8d3
  9. 06 8月, 2017 1 次提交
  10. 27 6月, 2017 1 次提交
  11. 04 4月, 2017 1 次提交
  12. 26 3月, 2017 1 次提交
    • R
      bhyve: add xhci tablet support · daecaea0
      Roman Bogorodskiy 提交于
      Along with video and VNC support, bhyve has introduced USB tablet
      support as an input device. This tablet is exposed to a guest
      as a device on an XHCI controller.
      
      At present, tablet is the only supported device on the XHCI controller
      in bhyve, so to make things simple, it's allowed to only have a
      single XHCI controller with a single tablet device.
      
      In detail, this commit:
      
       - Introduces a new capability bit for XHCI support in bhyve
       - Adds an XHCI controller and tabled support with 1:1 mapping
         between them
       - Adds a couple of unit tests
      daecaea0
  13. 12 3月, 2017 2 次提交
  14. 11 2月, 2017 1 次提交
    • R
      bhyve: add e1000 nic support · 5620c609
      Roman Bogorodskiy 提交于
      Recently e1000 NIC support was added to bhyve; implement that in
      the bhyve driver:
      
       - Add capability check by analyzing output of the 'bhyve -s 0,e1000'
         command
       - Modify bhyveBuildNetArgStr() to support e1000 and also pass
         virConnectPtr so it could call bhyveDriverGetCaps() to check if this
         NIC is supported
       - Modify command parsing code to add support for e1000 and adjust tests
       - Add net-e1000 test
      5620c609
  15. 07 2月, 2017 1 次提交
    • R
      bhyve: fix virtio disk addresses · 66c21aee
      Roman Bogorodskiy 提交于
      Like it usually happens, I fixed one thing and broke another:
      in 803966c7 address allocation was fixed for SATA disks, but
      broke that for virtio disks, because it dropped disk address
      assignment completely. It's not needed for SATA disks anymore,
      but still needed for the virtio ones.
      
      Bring that back and add a couple of tests to make sure it won't
      happen again.
      66c21aee
  16. 31 1月, 2017 3 次提交
    • R
      bhyve: add tests for SATA address allocation · ae01530c
      Roman Bogorodskiy 提交于
      ae01530c
    • R
      bhyve: fix SATA address allocation · 803966c7
      Roman Bogorodskiy 提交于
      As bhyve for a long time didn't have a notion of the explicit SATA
      controller and created a controller for each drive, the bhyve driver
      in libvirt acted in a similar way and didn't care about the SATA
      controllers and assigned PCI addresses to drives directly, as
      the generated command will look like this anyway:
      
       2:0,ahci-hd,somedisk.img
      
      This no longer makes sense because:
      
       1. After commit c07d1c1c it's not possible to assign
          PCI addresses to disks
       2. Bhyve now supports multiple disk drives for a controller,
          so it's going away from 1:1 controller:disk mapping, so
          the controller object starts to make more sense now
      
      So, this patch does the following:
      
       - Assign PCI address to SATA controllers (previously we didn't do this)
       - Assign disk addresses instead of PCI addresses for disks. Now, when
         building a bhyve command, we take PCI address not from the disk
         itself but from its controller
       - Assign addresses at XML parsing time using the
         assignAddressesCallback. This is done mainly for being able to
         verify address allocation via xml2xml tests
       - Adjust existing bhyvexml2{xml,argv} tests to chase the new
         address allocation
      
      This patch is largely based on work of Fabian Freyer.
      803966c7
    • R
      bhyve: add virBhyveDriverCreateXMLConf · 13a050b2
      Roman Bogorodskiy 提交于
      Add virBhyveDriverCreateXMLConf, a simple wrapper around
      virDomainXMLOptionNew that makes it easier to pass bhyveConnPtr
      as a private data for parser. It will be used later for device
      address allocation at parsing time.
      
      Update consumers to use it instead of direct calls to
      virDomainXMLOptionNew.
      
      As we now have proper callbacks connected for the tests, update
      test files accordingly to include the automatically generated
      PCI root controller.
      13a050b2
  17. 16 11月, 2016 1 次提交
    • R
      bhyve: fix memory leaks in bhyvexml2argvtest · a6b81d55
      Roman Bogorodskiy 提交于
       * virNetDevTapCreateInBridgePort() mock: free '*ifname' before
         strdupping a hardoded value to it
       * testCompareXMLToArgvFiles(): unref 'conn' object in cleanup
       * testCompareXMLToArgvHelper(): free 'ldargs' and 'dmargs' in
         cleanup
      a6b81d55
  18. 26 9月, 2016 1 次提交
  19. 08 6月, 2016 2 次提交
  20. 25 1月, 2016 1 次提交
    • R
      bhyve: bhyveload: respect boot dev and boot order · ef01addb
      Roman Bogorodskiy 提交于
      Make bhyveload respect boot order as specified by os.boot section of the
      domain XML or by "boot order" for specific devices. As bhyve does not
      support a real boot order specification right now, it's just about
      choosing a single device to boot from.
      ef01addb
  21. 23 7月, 2015 1 次提交
    • R
      bhyve: add UTC clock support · 6cb9ef1b
      Roman Bogorodskiy 提交于
      Bhyve as of r279225 (FreeBSD -CURRENT) or r284894 (FreeBSD 10-STABLE)
      supports using UTC time offset via the '-u' argument to bhyve(8). By
      default it's still using localtime.
      
      Make the bhyve driver use UTC clock if it's requested by specifying
      <clock offset='utc'> in domain XML and if the bhyve(8) binary supports
      the '-u' flag.
      6cb9ef1b
  22. 12 5月, 2015 1 次提交
    • R
      bhyve: fix bhyvexml2argvtest build with gcc · 846cc14c
      Roman Bogorodskiy 提交于
      gcc5 reports an error like this:
      
      bhyvexml2argvtest.c: In function 'testCompareXMLToArgvFiles':
      bhyvexml2argvtest.c:24:18: error: variable 'vm' set but not used
      [-Werror=unused-but-set-variable]
           virDomainObj vm;
                        ^
      cc1: all warnings being treated as errors
      
      Fix by dropping this variable.
      846cc14c
  23. 25 4月, 2015 1 次提交
  24. 24 4月, 2015 1 次提交
  25. 23 4月, 2015 1 次提交
    • R
      bhyve: fix build in tests · c42dbd8a
      Roman Bogorodskiy 提交于
      Commit 835cf84b dropped expectedVirtTypes argument for
      virDomainDefParse*() functions, however bhyve tests still try to pass
      that to virDomainDefParseFile(), therefore build fails.
      
      Fix build by fixing virDomainDefParseFile() usage.
      c42dbd8a
  26. 14 1月, 2015 1 次提交
    • D
      Give virDomainDef parser & formatter their own flags · 0ecd6851
      Daniel P. Berrange 提交于
      The virDomainDefParse* and virDomainDefFormat* methods both
      accept the VIR_DOMAIN_XML_* flags defined in the public API,
      along with a set of other VIR_DOMAIN_XML_INTERNAL_* flags
      defined in domain_conf.c.
      
      This is seriously confusing & error prone for a number of
      reasons:
      
       - VIR_DOMAIN_XML_SECURE, VIR_DOMAIN_XML_MIGRATABLE and
         VIR_DOMAIN_XML_UPDATE_CPU are only relevant for the
         formatting operation
       - Some of the VIR_DOMAIN_XML_INTERNAL_* flags only apply
         to parse or to format, but not both.
      
      This patch cleanly separates out the flags. There are two
      distint VIR_DOMAIN_DEF_PARSE_* and VIR_DOMAIN_DEF_FORMAT_*
      flags that are used by the corresponding methods. The
      VIR_DOMAIN_XML_* flags received via public API calls must
      be converted to the VIR_DOMAIN_DEF_FORMAT_* flags where
      needed.
      
      The various calls to virDomainDefParse which hardcoded the
      use of the VIR_DOMAIN_XML_INACTIVE flag change to use the
      VIR_DOMAIN_DEF_PARSE_INACTIVE flag.
      0ecd6851
  27. 13 11月, 2014 1 次提交
    • C
      drvbhyve: Use boot-order for grub-bhyve boot device · cdbb21bc
      Conrad Meyer 提交于
      Rather than just picking the first CD (or failing that, HDD) we come
      across, if the user has picked a boot device ordering with <boot
      order=''>, respect that (and just try to boot the lowest-index device).
      
      Adds two sets of tests to bhyve2xmlargv; 'grub-bootorder' shows that we
      pick a user-specified device over the first device in the domain;
      'grub-bootorder2' shows that we pick the first (lowest index) device.
      cdbb21bc
  28. 12 11月, 2014 3 次提交
  29. 20 8月, 2014 1 次提交
    • R
      bhyve: add volumes support · 6c2e7d0b
      Roman Bogorodskiy 提交于
      Update bhyveBuildDiskArgStr to support volumes:
      
       - Make virBhyveProcessBuildBhyveCmd and
         virBhyveProcessBuildLoadCmd take virConnectPtr as the
         first argument instead of bhyveConnPtr as virConnectPtr is
         needed for virStorageTranslateDiskSourcePool,
       - Add virStorageTranslateDiskSourcePool call to
         virBhyveProcessBuildBhyveCmd and
         virBhyveProcessBuildLoadCmd,
       - Allow disks of type VIR_STORAGE_TYPE_VOLUME
      6c2e7d0b
  30. 24 7月, 2014 1 次提交
    • R
      bhyve: cdrom support · d704e698
      Roman Bogorodskiy 提交于
      Add support for CDROM devices for bhyve driver using
      bhyve(8)'s 'ahci-cd' device type.
      
      As bhyve currently does not support media insertion at runtime,
      disallow to start a domain with an empty source path for cdrom
      devices.
      d704e698