1. 17 7月, 2010 1 次提交
    • J
      man pages: update authors and copyright notice for libvirtd and virsh · de7d4c6a
      Justin Clift 提交于
      This patch removes the individual author names from the libvirtd and virsh
      man pages, instead referring to the main AUTHORS file distributed with
      libvirt.  This approach is needed, as we can't guarantee unicode support
      across all versions of pod2man used with libvirt.
      
      Additionally, this patch includes the libvirtd man page in the spec file
      used with "make rpm".  Without this patch "make rpm" is broken.
      de7d4c6a
  2. 13 7月, 2010 1 次提交
  3. 05 7月, 2010 1 次提交
  4. 29 5月, 2010 1 次提交
    • J
      Fix libvirt-guests init script · 1a5c465e
      Jiri Denemark 提交于
      Firstly, the init script has to touch its file under /var/lock/subsys
      when started, otherwise the system would think it's not running and
      won't stop it during shutdown.
      
      Secondly, for some reason there is a policy to automatically enable
      init scripts when they are installed, so let the specfile do this. We
      also need to start the init script to ensure it will be stopped during
      the first shutdown after installing the package.
      
      Also $LISTFILE should be enclosed by quotes everywhere as suggested by
      Eric.
      1a5c465e
  5. 27 5月, 2010 2 次提交
  6. 26 5月, 2010 1 次提交
  7. 21 5月, 2010 1 次提交
    • J
      Init script for handling guests on shutdown/boot · 66823690
      Jiri Denemark 提交于
      Example output during shutdown:
      
      Running guests on default URI: console, rhel6-1, rhel5-64
      Running guests on lxc:/// URI: lxc-shell
      Running guests on xen:/// URI: error: no hypervisor driver available for xen:///
      error: failed to connect to the hypervisor
      Running guests on vbox+tcp://orkuz/system URI: no running guests.
      Suspending guests on default URI...
      Suspending console: done
      Suspending rhel6-1: done
      Suspending rhel5-64: done
      Suspending guests on lxc:/// URI...
      Suspending lxc-shell: error: Failed to save domain 9cba8bfb-56f4-6589-2d12-8a58c886dd3b state
      error: this function is not supported by the hypervisor: virDomainManagedSave
      
      Note, the "Suspending $guest: " shows progress during the suspend phase
      if domjobinfo gives meaningful output.
      
      Example output during boot:
      
      Resuming guests on default URI...
      Resuming guest rhel6-1: done
      Resuming guest rhel5-64: done
      Resuming guest console: done
      Resuming guests on lxc:/// URI...
      Resuming guest lxc-shell: already active
      
      Configuration used for generating the examples above:
      URIS='default lxc:/// xen:/// vbox+tcp://orkuz/system'
      
      The script uses /var/lib/libvirt/libvirt-guests files to note all active
      guest it should try to resume on next boot. It's content looks like:
      
      default 7f8b9d93-30e1-f0b9-47a7-cb408482654b 085b4c95-5da2-e8e1-712f-6ea6a4156af2 fb4d8360-5305-df3a-2da1-07d682891b8c
      lxc:/// 9cba8bfb-56f4-6589-2d12-8a58c886dd3b
      66823690
  8. 06 5月, 2010 1 次提交
  9. 04 5月, 2010 1 次提交
    • D
      Various fixes for the spec file · 7efa3937
      Daniel Veillard 提交于
      This includes various things:
       - fix the Requires: libvirt-client to use %{name} to allow easy
         renaming
       - when building ESX support one need libcurl-devel
       - remove Makefile[.in] from xml/nwfilter in the docs, as this breaks
         parallel install ation of i686 and x86_64 packages
       - don't include nwfilter config files if not building with the daemon
      all relatively trivial which is why I packed them together
      * libvirt.spec.in: fix various small bugs
      7efa3937
  10. 01 5月, 2010 1 次提交
    • D
      Release of libvirt-0.8.1 · 5d65d32f
      Daniel Veillard 提交于
      * configure.ac docs/news.html.in libvirt.spec.in: updates for release
      * po/*.po*: updated localizations and regenerated
      5d65d32f
  11. 28 4月, 2010 1 次提交
    • D
      Move dnsmasq host file to a separate directory · 4e041189
      Daniel Veillard 提交于
      use /var/lib/libvirt/dnsmasq since /var/lib/libvirt/network is
      unreadable by the dnsmasq binary
      
      * src/network/bridge_driver.c: update DNSMASQ_STATE_DIR
      * src/Makefile.am: create it on make install
      * libvirt.spec.in: take the new directory into account
      4e041189
  12. 16 4月, 2010 1 次提交
    • D
      Run test suite as part of RPM build process · f6770e86
      Daniel P. Berrange 提交于
      To ensure that patches in the RPM don't break any functionality
      it is neccessary to run the test suites during build. It currently
      has 3 tests disabled
      
       - daemon-conf: this is totally broken, since it relies on
         being able to resolve the 'libvirt' group & being able to
         resolve hostnames at daemon startup. This isn't possible
         in a mock build root
       - seclabeltest: fails to initialize selinux in the mock
         build root. Possibly fixable
       - nodeinfotest: broken on s390 + ppc - this is a real bug
      
      * libvirt.spec.in: Add a %check section, with 3 tests
         temporarily disabled
      f6770e86
  13. 13 4月, 2010 2 次提交
  14. 08 4月, 2010 1 次提交
    • S
      nwfilter: Support for learning a VM's IP address · 3bf24abc
      Stefan Berger 提交于
      This patch implements support for learning a VM's IP address. It uses
      the pcap library to listen on the VM's backend network interface (tap)
      or the physical ethernet device (macvtap) and tries to capture packets
      with source or destination MAC address of the VM and learn from DHCP
      Offers, ARP traffic, or first-sent IPv4 packet what the IP address of
      the VM's interface is. This then allows to instantiate the network
      traffic filtering rules without the user having to provide the IP
      parameter somewhere in the filter description or in the interface
      description as a parameter. This only supports to detect the parameter
      IP, which is for the assumed single IPv4 address of a VM. There is not
      support for interfaces that may have multiple  IP addresses (IP
      aliasing) or IPv6 that may then require more than one valid IP address
      to be detected. A VM can have multiple independent interfaces that each
      uses a different IP address and in that case it will be attempted to
      detect each one of the address independently.
      
      So, when for example an interface description in the domain XML has
      looked like this up to now:
      
          <interface type='bridge'>
            <source bridge='mybridge'/>
            <model type='virtio'/>
            <filterref filter='clean-traffic'>
              <parameter name='IP' value='10.2.3.4'/>
            </filterref>
          </interface>
      
      you may omit the IP parameter:
      
          <interface type='bridge'>
            <source bridge='mybridge'/>
            <model type='virtio'/>
            <filterref filter='clean-traffic'/>
          </interface>
      
      Internally I am walking the 'tree' of a VM's referenced network filters
      and determine with the given variables which variables are missing. Now,
      the above IP parameter may be missing and this causes a libvirt-internal
      thread to be started that uses the pcap library's API to listen to the
      backend interface  (in case of macvtap to the physical interface) in an
      attempt to determine the missing IP parameter. If the backend interface
      disappears the thread terminates assuming the VM was brought down. In
      case of a macvtap device a timeout is being used to wait for packets
      from the given VM (filtering by VM's interface MAC address). If the VM's
      macvtap device disappeared the thread also terminates. In all other
      cases it tries to determine the IP address of the VM and will then apply
      the rules late on the given interface, which would have happened
      immediately if the IP parameter had been explicitly given. In case an
      error happens while the firewall rules are applied, the VM's backend
      interface is 'down'ed preventing it to communicate. Reasons for failure
      for applying the network firewall rules may that an ebtables/iptables
      command failes or OOM errors. Essentially the same failure reasons may
      occur as when the firewall rules are applied immediately on VM start,
      except that due to the late application of the filtering rules the VM
      now is already running and cannot be hindered anymore from starting.
      Bringing down the whole VM would probably be considered too drastic.
      While a VM's IP address is attempted to be determined only limited
      updates to network filters are allowed. In particular it is prevented
      that filters are modified in such a way that they would introduce new
      variables.
      
      A caveat: The algorithm does not know which one is the appropriate IP
      address of a VM. If the VM spoofs an IP address in its first ARP traffic
      or IPv4 packets its filtering rules will be instantiated for this IP
      address, thus 'locking' it to the found IP address. So, it's still
      'safer' to explicitly provide the IP address of a VM's interface in the
      filter description if it is known beforehand.
      
      * configure.ac: detect libpcap
      * libvirt.spec.in: require libpcap[-devel] if qemu is built
      * src/internal.h: add the new ATTRIBUTE_PACKED define
      * src/Makefile.am src/libvirt_private.syms: add the new modules and symbols
      * src/nwfilter/nwfilter_learnipaddr.[ch]: new module being added
      * src/nwfilter/nwfilter_driver.c src/conf/nwfilter_conf.[ch]
        src/nwfilter/nwfilter_ebiptables_driver.[ch]
        src/nwfilter/nwfilter_gentech_driver.[ch]: plu the new functionality in
      * tests/nwfilterxml2xmltest: extend testing
      3bf24abc
  15. 06 4月, 2010 1 次提交
  16. 01 4月, 2010 1 次提交
    • E
      build: more fallout from test -a · a792bf24
      Eric Blake 提交于
      * cfg.mk (sc_prohibit_test_minus_ao): Also check for [.
      * docs/Makefile.am (%.html, html/index.html): Avoid non-portable
      test usage.
      * libvirt.spec.in (%post): Likewise.
      * tools/virt-pki-validate.in (servercert.pem): Likewise.
      * configure.ac (LOGNAME): Use test, not [, in files processed by
      autoconf.
      Detected by Matthias Bolte.
      a792bf24
  17. 31 3月, 2010 1 次提交
  18. 18 3月, 2010 1 次提交
  19. 10 3月, 2010 1 次提交
    • D
      Change logrotate to be per-hypervisor logs · 89bf843a
      Daniel Veillard 提交于
      Having a single logrotate configuration file for all hypervisors
      did not work as logrotate would get confused if an hypervisor not
      supported on that platform was still listed. Simplest is to split
      the logrotate as separate per hypervisor files and change the
      spec file to only install the ones compiled in.
      * daemon/libvirtd.lxc.logrotate.in daemon/libvirtd.qemu.logrotate.in
        daemon/libvirtd.uml.logrotate.in: copy and split the original
        daemon/libvirtd.logrotate.in file
      * daemon/Makefile.am: update to support the different files and
        cleanup in sed suggested by Eric Blake
      * libvirt.spec.in: only install the relevant logrotate configs
      * daemon/.gitignore: update logrotate generated list
      89bf843a
  20. 06 3月, 2010 1 次提交
    • D
      Release of libvirt-0.7.7 · 703c1651
      Daniel Veillard 提交于
      * configure.ac libvirt.spec.in: update with new version
      * docs/news.html.in: add list of changes in 0.7.7
      * po/*po*: updated spanish and russian localisations, rebuilt
      703c1651
  21. 26 2月, 2010 1 次提交
  22. 24 2月, 2010 1 次提交
    • D
      Format FS pools on creation · b738016b
      Dave Allan 提交于
      Create the filesystem on the partition used by the pool
      * configure.ac: check for mkfs availability
      * libvirt.spec.in: add extra require on util-linux for mkfs
      * src/storage/storage_backend_fs.c: run mkfs with the expected
        fs type when creating a filesystem pool
      b738016b
  23. 04 2月, 2010 1 次提交
    • D
      Release of libvirt-0.7.6 · 31a5ee92
      Daniel Veillard 提交于
      * configure.ac docs/news.html.in libvirt.spec.in: version bump and doc
        updates
      * po/*.po*: updated and regenerated the localizations
      31a5ee92
  24. 24 12月, 2009 1 次提交
  25. 23 12月, 2009 1 次提交
  26. 22 12月, 2009 1 次提交
  27. 10 12月, 2009 1 次提交
    • M
      remove all traces of lokkit support · 3b3305d8
      Mark McLoughlin 提交于
      Long ago we tried to use Fedora's lokkit utility in order to register
      our iptables rules so that 'service iptables restart' would
      automatically load our rules.
      
      There was one fatal flaw - if the user had configured iptables without
      lokkit, then we would clobber that configuration by running lokkit.
      
      We quickly disabled lokkit support, but never removed it. Let's do
      that now.
      
      The 'my virtual network stops working when I restart iptables' still
      remains. For all the background on this saga, see:
      
        https://bugzilla.redhat.com/227011
      
      * src/util/iptables.c: remove lokkit support
      
      * configure.in: remove --enable-lokkit
      
      * libvirt.spec.in: remove the dirs used only for saving rules for lokkit
      
      * src/Makefile.am: ditto
      
      * src/libvirt_private.syms, src/network/bridge_driver.c,
        src/util/iptables.h: remove references to iptablesSaveRules
      3b3305d8
  28. 07 12月, 2009 1 次提交
    • D
      Introduce a simple API for handling JSON data · 9428f2ce
      Daniel P. Berrange 提交于
      This introduces simple API for handling JSON data. There is
      an internal data structure 'virJSONValuePtr' which stores a
      arbitrary nested JSON value (number, string, array, object,
      nul, etc).  There are APIs for constructing/querying objects
      and APIs for parsing/formatting string formatted JSON data.
      
      This uses the YAJL library for parsing/formatting from
      
       http://lloyd.github.com/yajl/
      
      * src/util/json.h, src/util/json.c: Data structures and APIs
        for representing JSON data, and parsing/formatting it
      * configure.in: Add check for yajl library
      * libvirt.spec.in: Add build requires for yajl
      * src/Makefile.am: Add json.c/h
      * src/libvirt_private.syms: Export JSON symbols to drivers
      9428f2ce
  29. 21 11月, 2009 2 次提交
    • D
      Release of libvirt-0.7.4 · 040e80f7
      Daniel Veillard 提交于
      0.7.3 was broken
      
      * configure.in docs/news.html.in: release of 0.7.4
      * configure.in libvirt.spec.in: require netcf >= 0.1.4
      * src/Makefile.am: node_device/node_device_udev.h was missing from
        NODE_DEVICE_DRIVER_UDEV_SOURCES breaking compilation on platforms with
        udev
      040e80f7
    • D
      Release of libvirt-0.7.3 · b8d4b6be
      Daniel Veillard 提交于
      * configure.in docs/news.html.in libvirt.spec.in: describe new release
      * po/*.po*: regenerate
      b8d4b6be
  30. 20 11月, 2009 1 次提交
  31. 12 11月, 2009 1 次提交
    • D
      Exclude numactl on s390[x] · 3c3dffc2
      Daniel P. Berrange 提交于
      The numactl package is not applicable for s390[x] arches, so do
      not enable it as a build dep.
      
      * libvirt.spec.in: Exclude numactl on s390[x]
      3c3dffc2
  32. 04 11月, 2009 1 次提交
    • L
      Support reporting live interface IP/netmask · 753c6c9c
      Laine Stump 提交于
      This patch adds the flag VIR_INTERFACE_XML_INACTIVE to
      virInterfaceGetXMLDesc's flags. When it is*not* set (the default), the
      live interface info will be returned in the XML (in particular, the IP
      address(es) and netmask(s) will be retrieved by querying the interface
      directly, rather than  reporting what's in the config file). The
      backend of this is in netcf's ncf_if_xml_state() function.
      
      * configure.in libvirt.spec.in: requires netcf >= 0.1.3
      * include/libvirt/libvirt.h.in: adds flag VIR_INTERFACE_XML_INACTIVE
      * src/conf/interface_conf.c src/interface/netcf_driver.c src/libvirt.c:
        update the parsing and backend routines accordingly
      * tools/virsh.c: change interface edit to inactive definition and
        adds the inactive flag for interface dump
      753c6c9c
  33. 29 10月, 2009 1 次提交
    • M
      libvirt-devel should only require libvirt-client · 1acef95a
      Mark McLoughlin 提交于
      There's a long known issue where if you install libvirt in a guest,
      the default virtual network will conflict with the default virtual
      network in the host.
      
      That's one of the reasons we have the libvirt-client RPM - it allows
      you to install the client library without having the host side
      installed.
      
      Rich Jones points out that if you install libvirt-devel in a guest,
      then you get libvirtd installed and the network conflict:
      
        https://bugzilla.redhat.com/531200
      
      libvirt-devel should only require libvirt-client - e.g. nothing in
      the devel package pertains to anything in the libvirt RPM. The Fedora
      packaging guidelines say:
      
        https://fedoraproject.org/wiki/Packaging/Guidelines#Devel_Packages
      
        Devel packages must require the base package using a fully versioned
        dependency ...
      
      But for all intents and purposes, libvirt-client is our base RPM.
      
      * libvirt.spec.in: make libvirt-devel require libvirt-client
      1acef95a
  34. 13 10月, 2009 1 次提交
  35. 09 10月, 2009 1 次提交
    • A
      LXC add augeas support for config file · e1a2fe6a
      Amy Griffis 提交于
      * src/lxc/libvirtd_lxc.aug src/lxc/test_libvirtd_lxc.aug: augeas schemas
        for lxc.conf
      * src/Makefile.am libvirt.spec.in: glue the new augeas files in
      e1a2fe6a
  36. 08 10月, 2009 1 次提交
    • A
      LXC add driver config file lxc.conf · 2dd44664
      Amy Griffis 提交于
      * src/lxc/lxc.conf: new configuration file, there is currently one
        tunable "log_with_libvirtd" that controls whether an lxc controller will
        log only to the container log file, or whether it will honor libvirtd's
        log output configuration. This provides a way to have libvirtd and its
        children log to a single file.  The default is to log to the container
        log file.
      * src/Makefile.am libvirt.spec.in: add the new file
      * src/lxc/lxc_conf.[ch] src/lxc/lxc_driver.c: read the new log value
        from the configuration file and pass the log informations when
        starting up a container.
      2dd44664
  37. 06 10月, 2009 1 次提交
    • M
      Create /var/log/libvirt/{lxc,uml} dirs · d285084b
      Mark McLoughlin 提交于
      Otherwise logrotate barfs:
      
        error: error accessing /var/log/libvirt/uml: No such file or directory
        error: libvirtd:1 glob failed for /var/log/libvirt/uml/*.log
        error: found error in /var/log/libvirt/qemu/*.log /var/log/libvirt/uml/*.log /var/log/libvirt/lxc/*.log , skipping
      
      * qemud/Makefile.am: always create /var/log/libvirt/{lxc,uml} when
        installing the logrotate conf; not ideal, but easier than making
        the logrotate conf depend on which drivers are enabled
      d285084b