1. 27 1月, 2015 1 次提交
  2. 16 1月, 2015 1 次提交
  3. 14 1月, 2015 1 次提交
    • J
      Introduce support for parsing/formatting Xen xl config format · 4689cdf7
      Jim Fehlig 提交于
      Introduce a parser/formatter for the xl config format.  Since the
      deprecation of xm/xend, the VM config file format has diverged as
      new features are added to libxl.  This patch adds support for parsing
      and formating the xl config format.  It supports the existing xm config
      format, plus adds support for spice graphics and xl disk config syntax.
      
      Disk config is specified a bit differently in xl as compared to xm.  In
      xl, disk config consists of comma-separated positional parameters and
      keyword/value pairs separated by commas. Positional parameters are
      specified as follows
      
         target, format, vdev, access
      
      Supported keys for key=value options are
      
        devtype, backendtype
      
      The positional paramters can also be specified in key/value form.  For
      example the following xl disk config are equivalent
      
          /dev/vg/guest-volume,,hda
          /dev/vg/guest-volume,raw,hda,rw
          format=raw, vdev=hda, access=rw, target=/dev/vg/guest-volume
      
      See $xen_sources/docs/misc/xl-disk-configuration.txt for more details.
      
      xl disk config is parsed with the help of xlu_disk_parse() from
      libxlutil, libxl's utility library.  Although the library exists
      in all Xen versions supported by the libxl virt driver, only
      recently has the corresponding header file been included.  A check
      for the header is done in configure.ac.  If not found, xlu_disk_parse()
      is declared externally.
      Signed-off-by: NKiarie Kahurani <davidkiarie4@gmail.com>
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      4689cdf7
  4. 13 1月, 2015 6 次提交
  5. 09 1月, 2015 1 次提交
  6. 08 1月, 2015 4 次提交
    • P
      src/Makefile: Fix parallel build after xen_xl_disk parser introduction · 533349ff
      Pavel Hrdina 提交于
      Well, the parallel build doesn't work as there are not dependencies
      set correctly. When running 'make -j' I see this error:
      
      make[2]: Entering directory '/home/zippy/work/libvirt/libvirt.git/src'
        GEN      util/virkeymaps.h
        GEN      locking/lock_protocol.h
      make[2]: *** No rule to make target 'xenconfig/xen_xl_disk.h', needed by 'all'.  Stop.
      make[2]: *** Waiting for unfinished jobs....
        GEN      lxc/lxc_controller_dispatch.h
      
      The fix is to correctly set dependencies by letting make know that .c
      and .h are to be generated from .l. Moreover, the section is moved
      closer to the other section which uses it.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
      533349ff
    • P
    • P
      Revert "src/Makefile.am: fix build breaker for xenconfig" · e662968f
      Pavel Hrdina 提交于
      This reverts commit 703ef966.
      Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
      e662968f
    • E
      build: fix xenconfig VPATH builds · 1b21d300
      Eric Blake 提交于
      Ever since commit 2c78051a split out a helper library for the sake of
      changing CFLAGS, a VPATH build with xenconfig enabled has failed:
      
        CC       xenconfig/libvirt_xenxldiskparser_la-xen_xl_disk.lo
        ../../src/xenconfig/xen_xl_disk.l:37:21: fatal error: xen_xl.h: No such file or directory
         # include "xen_xl.h"
                   ^
        compilation terminated.
        Makefile:9462: recipe for target 'xenconfig/libvirt_xenxldiskparser_la-xen_xl_disk.lo' failed
      
      The solution is to tell the build to look for xen_xl.h relative
      to $(srcdir), since we keep that file under version control.
      
      [Not fixed here - the raw use of -Wno-unused-parameter in CFLAGS
      is NOT portable; ideally, we should be doing a configure test
      and only supplying that argument when we know the compiler supports
      -Wunused-parameter; but that's a patch for another day]
      
      [Not fixed here - there are still issues with parallel builds hitting
      a race between generating the files and trying to compile/distribute
      them]
      
      * src/Makefile.am (libvirt_xenxldiskparser_la_CFLAGS): Add another
      include directory.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      1b21d300
  7. 05 1月, 2015 1 次提交
  8. 04 1月, 2015 1 次提交
    • K
      src/xenconfig: Xen-xl parser · 2c78051a
      Kiarie Kahurani 提交于
      Introduce a Xen xl parser
      
      This parser allows for users to convert the new xl disk format and
      spice graphics config to libvirt xml format and vice versa. Regarding
      the spice graphics config, the code is pretty much straight forward.
      For the disk {formating, parsing}, this parser takes care of the new
      xl format which include positional parameters and key/value parameters.
      In xl format disk config a <diskspec> consists of parameters separated by
      commas. If the parameters do not contain an '=' they are automatically
      assigned to certain options following the order below
      
         target, format, vdev, access
      
      The above are the only mandatory parameters in the <diskspec> but there
      are many more disk config options. These options can be specified as
      key=value pairs. This takes care of the rest of the options such as
      
        devtype, backend, backendtype, script, direct-io-safe,
      
      The positional paramters can also be specified in key/value form
      for example
      
          /dev/vg/guest-volume,,hda
          /dev/vg/guest-volume,raw,hda,rw
          format=raw, vdev=hda, access=rw, target=/dev/vg/guest-volume
      
      are interpleted to one config.
      
      In xm format, the above diskspec would be written as
      
      phy:/dev/vg/guest-volume,hda,w
      
      The disk parser is based on the same parser used successfully by
      the Xen project for several years now.  Ian Jackson authored the
      scanner, which is used by this commit with mimimal changes.  Only
      the PREFIX option is changed, to produce function and file names
      more consistent with libvirt's convention.
      Signed-off-by: NKiarie Kahurani <davidkiarie4@gmail.com>
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      2c78051a
  9. 11 12月, 2014 1 次提交
    • M
      network: Bring netdevs online later · 82977058
      Matthew Rosato 提交于
      Currently, MAC registration occurs during device creation, which is
      early enough that, during live migration, you end up with duplicate
      MAC addresses on still-running source and target devices, even though
      the target device isn't actually being used yet.
      This patch proposes to defer MAC registration until right before
      the guest can actually use the device -- In other words, right
      before starting guest CPUs.
      Signed-off-by: NMatthew Rosato <mjrosato@linux.vnet.ibm.com>
      Signed-off-by: NLaine Stump <laine@laine.org>
      82977058
  10. 04 12月, 2014 1 次提交
  11. 29 10月, 2014 3 次提交
    • M
      src/Makefile.am: Add forgotten backslash · 233ecdea
      Michal Privoznik 提交于
      As I've pushed 5892944f I haven't noticed one small nitpick.
      There was this backslash missing on the line 1231 in the
      enumeration of libraries to be added to vbox storage driver. This
      resulted in nondeterministic build which sometimes succeeded and
      sometimes failed.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      233ecdea
    • T
      vbox: New storage driver · 5892944f
      Taowei Luo 提交于
      This patch provides the new stroage driver for vbox. The work
      is similar with patch 87dea4fc and the next b4022de3.
      5892944f
    • T
      vbox: Rewrite vbox-independent functions · 459886d4
      Taowei Luo 提交于
      This patch rewrites the following functions
          *vboxStorageOpen
          *vboxStorageClose
          *vboxConnectNumOfStoragePools
          *vboxConnectListStoragePools
          *vboxStoragePoolLookupByName
      
      These functions do not call any vbox API, so I directly move it
      from vbox_tmpl.c to vbox_storage.c
      
      A small improvement is made on vboxConnectListStoragePools.
      The if condition nnames == 1 is modified to nnames > 0. So if the
      caller put more than one slot to get active storage pools, the new
      function will return exactly one, while the old one would only
      return 0.
      459886d4
  12. 25 10月, 2014 1 次提交
  13. 24 10月, 2014 10 次提交
  14. 08 10月, 2014 1 次提交
    • M
      esx: Add libcurl based stream driver · 125007d3
      Matthias Bolte 提交于
      This allows to implement libvirt functions that use streams, such as
      virDoaminScreenshot, without the need to store the downloaded data in
      a temporary file first. The stream driver directly interacts with
      libcurl to send and receive data.
      
      The driver uses the libcurl multi interface that allows to do a transfer
      in multiple curl_multi_perform() calls. The easy interface would do the
      whole transfer in a single curl_easy_perform() call. This doesn't work
      with the libvirt stream API that is driven by multiple calls to the
      virStreamSend() and virStreamRecv() functions.
      
      The curl_multi_wait() function is used to do blocking operations. But it
      was added in libcurl 7.28.0. For older versions it is emulated using the
      socket callback of the multi interface.
      
      The current driver only supports blocking operations. There is already
      some code in place for non-blocking mode but it is not complete.
      125007d3
  15. 03 10月, 2014 4 次提交
    • M
      Makefile: Fix build without driver modules · b4022de3
      Michal Privoznik 提交于
      After 87dea4fc one can observe a build failure:
      
      ./autogen.sh --system --without-driver-modules && make
      
        CCLD     libvirtd
      ../src/.libs/libvirt_driver_vbox.a(libvirt_driver_vbox_impl_la-vbox_driver.o):
      In function `vboxNetworkRegister':
      /home/jtomko/work/libvirt/libvirt.git/src/vbox/vbox_driver.c:168: undefined
      reference to `vboxGetNetworkDriver'
      collect2: error: ld returned 1 exit status
      make[3]: *** [libvirtd] Error 1
      
      The problem is that when building without driver modules the VBOX
      network driver is not linked into the the VBOX driver.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      b4022de3
    • T
      vbox: New network driver · 87dea4fc
      Taowei 提交于
      This patch seperate the domain driver and the network driver.
      
      libvirt_driver_vbox_impl.la has been linked in the network driver.
      So that the version specified codes in vbox_V*.c would only be
      compiled once.
      
      The vboxGetNetworkDriver provides a simple interface to get vbox
      network driver.
      87dea4fc
    • T
      vbox: Rewrite vboxNetworkOpen · cd7a5d89
      Taowei 提交于
      cd7a5d89
    • T
      vbox: Interfaces for register per parties · fac5d061
      Taowei 提交于
      The patch dbb4cbf5 by Michal has splited the vbox driver into
      three parties. This modification brings a more suitable interface
      to the previous patch.
      
      The new function vboxGetDriver is introduced to get the
      corresponding vbox domain driver directly thought the vbox version.
      
      Functions like vboxGetNetworkDriver and vboxGetStorageDriver
      will be introduced after rewriting it's drivers.
      
      This patch, by the way, fixed the align problem for vbox in
      Makefile.am
      fac5d061
  16. 25 9月, 2014 2 次提交
    • D
      parallels: login to parallels SDK · e7bb373f
      Dmitry Guryanov 提交于
      Add files parallels_sdk.c and parallels_sdk.h for code
      which works with SDK, so libvirt's code will not mix with
      dealing with parallels SDK.
      
      To use Parallels SDK you must first call PrlApi_InitEx function,
      and then you will be able to connect to a server with
      PrlSrv_LoginLocalEx function. When you've done you must call
      PrlApi_Deinit. So let's call PrlApi_InitEx on first .connectOpen,
      count number of connections and deinitialize, when this counter
      becomes zero.
      Signed-off-by: NDmitry Guryanov <dguryanov@parallels.com>
      e7bb373f
    • D
      parallels: build with parallels SDK · 64018e0c
      Dmitry Guryanov 提交于
      Executing prlctl command is not an optimal way to interact with
      Parallels Cloud Server (PCS), it's better to use parallels SDK,
      which is a remote API to paralles dispatcher service.
      
      We prepared opensource version of this SDK and published it on
      github, it's distributed under LGPL license. Here is a git repo:
      https://github.com/Parallels/parallels-sdk.
      
      To build with parallels SDK user should get compiler and linker
      options from pkg-config 'parallels-sdk' file. So fix checks in
      configure script and build with parallels SDK, if that pkg-config
      file exists and add gcc options to makefile.
      Signed-off-by: NDmitry Guryanov <dguryanov@parallels.com>
      64018e0c
  17. 24 9月, 2014 1 次提交