- 29 6月, 2011 12 次提交
-
-
由 Eric Blake 提交于
Problem introduced in commit 6818cf86. * src/remote_protocol-structs: Delete unused struct.
-
由 Eric Blake 提交于
* libvirt.spec.in (with_sanlock): Only default on in rawhide. Reported by Gerhard Stenzel.
-
由 Daniel P. Berrange 提交于
Add a page which documents how to configure lock managers, focusing on use of sanlock with the QEMU/KVM driver * docs/locking.html.in: Docs about lock managers * docs/sitemap.html.in: Add lock manager config to the deployment section
-
由 Daniel P. Berrange 提交于
The current sanlock plugin requires a central management application to manually add <lease> elements to each guest, to protect resources that are assigned to it (eg writable disks). This makes the sanlock plugin useless for usage in more ad hoc deployment environments where there is no central authority to associate disks with leases. This patch adds a mode where the sanlock plugin will automatically create leases for each assigned read-write disk, using a md5 checksum of the fully qualified disk path. This can work pretty well if guests are using stable disk paths for block devices eg /dev/disk/by-path/XXXX symlinks, or if all hosts have NFS volumes mounted in a consistent pattern. The plugin will create one lockspace for managing disks with filename /var/lib/libvirt/sanlock/__LIBVIRT__DISKS__. For each VM disks, there will be another file to hold a lease /var/lib/libvirt/sanlock/5903e5d25e087e60a20fe4566fab41fd Each VM disk lease is usually 1 MB in size. The script virt-sanlock-cleanup should be run periodically to remove unused lease files from the lockspace directory. To make use of this capability the admin will need to do several tasks: - Mount an NFS volume (or other shared filesystem) on /var/lib/libvirt/sanlock - Configure 'host_id' in /etc/libvirt/qemu-sanlock.conf with a unique value for each host with the same NFS mount - Toggle the 'auto_disk_leases' parameter in qemu-sanlock.conf Technically the first step can be skipped, in which case sanlock will only protect against 2 vms on the same host using the same disk (or the same VM being started twice due to error by libvirt). * src/locking/libvirt_sanlock.aug, src/locking/sanlock.conf, src/locking/test_libvirt_sanlock.aug: Add config params for configuring auto lease setup * libvirt.spec.in: Add virt-sanlock-cleanup program, man page * tools/virt-sanlock-cleanup.in: Script to purge unused disk resource lease files
-
由 Daniel P. Berrange 提交于
Introduce a configuration file with a single parameter 'require_lease_for_disks', which is used to decide whether it is allowed to start a guest which has read/write disks, but without any leases. * libvirt.spec.in: Add sanlock config file and augeas lens * src/Makefile.am: Install sanlock config file and augeas lens * src/locking/libvirt_sanlock.aug: Augeas master lens * src/locking/test_libvirt_sanlock.aug: Augeas test file * src/locking/sanlock.conf: Example sanlock config * src/locking/lock_driver_sanlock.c: Wire up loading of configuration file
-
由 Daniel P. Berrange 提交于
Allow a 'configFile' parameter to be passed into the lock drivers to provide configuration. Wire up the QEMU driver to pass in file names '/etc/libvirt/qemu-$NAME.conf eg qemu-sanlock.conf * src/locking/lock_driver.h, src/locking/lock_driver_nop.c, src/locking/lock_driver_sanlock.c, src/locking/lock_manager.c, src/locking/lock_manager.h: Add configFile parameter * src/qemu/qemu_conf.c: Pass in configuration file path to lock driver plugins
-
由 Laine Stump 提交于
If a domain name is defined for a network, add the --expand-hosts option to the dnsmasq commandline. This results in the domain being added to any hostname that is defined in a dns <host> element and contains no '.' characters (i.e. it is an "unqualified" hostname). Since PTR records are automatically created for any name defined in <host>, the result of a PTR request will change from the unqualified name to the qualified name. This also has the same effect on any hostnames that dnsmasq reads from the host's /etc/hosts file. (In the case of guest hostnames that were learned by dnsmasq via DHCP requests, they were already getting the domain name added on, even without --expand-hosts).
-
由 Daniel P. Berrange 提交于
The standard remote protocol for libvirtd no longer needs to include definitions of the generic message header/error structs or status codes. This is all defined in the generic RPC protocol * src/remote/remote_protocol.x: Remove all RPC message definitions * src/remote/remote_protocol.h, src/remote/remote_protocol.c: Re-generate * daemon/remote_generate_stubs.pl: Delete obsolete script
-
由 Daniel P. Berrange 提交于
libvirtd now uses the generic RPC code for MDNS, so its custom mdns APIs are no longer required * daemon/mdns.c, daemon/mdns.h: Removed obsolete files
-
由 Daniel P. Berrange 提交于
This guts the libvirtd daemon, removing all its networking and RPC handling code. Instead it calls out to the new virServerPtr APIs for all its RPC & networking work As a fallout all libvirtd daemon error reporting now takes place via the normal internal error reporting APIs. There is no need to call separate error reporting APIs in RPC code, nor should code use VIR_WARN/VIR_ERROR for reporting fatal problems anymore. * daemon/qemu_dispatch_*.h, daemon/remote_dispatch_*.h: Remove old generated dispatcher code * daemon/qemu_dispatch.h, daemon/remote_dispatch.h: New dispatch code * daemon/dispatch.c, daemon/dispatch.h: Remove obsoleted code * daemon/remote.c, daemon/remote.h: Rewrite for new dispatch APIs * daemon/libvirtd.c, daemon/libvirtd.h: Remove all networking code * daemon/stream.c, daemon/stream.h: Update for new APIs * daemon/Makefile.am: Link to libvirt-net-rpc-server.la
-
由 Daniel P. Berrange 提交于
This guts the current remote driver, removing all its networking handling code. Instead it calls out to the new virClientPtr and virClientProgramPtr APIs for all RPC & networking work. * src/Makefile.am: Link remote driver with generic RPC code * src/remote/remote_driver.c: Gut code, replacing with RPC API calls * src/rpc/gendispatch.pl: Update for changes in the way streams are handled
-
由 Daniel P. Berrange 提交于
* src/Makefile.am: Add XDR_CFLAGS
-
- 28 6月, 2011 6 次提交
-
-
由 Daniel P. Berrange 提交于
The libvirt sanlock plugin is intentionally leaking a file descriptor to QEMU. To enable QEMU to use this FD under SELinux, it must be labelled correctly. We dont want to use the svirt_image_t for this, since QEMU must not be allowed to actually use the FD. So instead we label it with svirt_t using virSecurityManagerSetProcessFDLabel * src/locking/domain_lock.c, src/locking/domain_lock.h, src/locking/lock_driver.h, src/locking/lock_driver_nop.c, src/locking/lock_driver_sanlock.c, src/locking/lock_manager.c, src/locking/lock_manager.h: Optionally pass an FD back to the hypervisor for security driver labelling * src/qemu/qemu_process.c: label the lock manager plugin FD with the process label
-
由 Daniel P. Berrange 提交于
Add a new security driver method for labelling an FD with the process label, rather than the image label * src/libvirt_private.syms, src/security/security_apparmor.c, src/security/security_dac.c, src/security/security_driver.h, src/security/security_manager.c, src/security/security_manager.h, src/security/security_selinux.c, src/security/security_stack.c: Add virSecurityManagerSetProcessFDLabel & impl
-
由 Daniel P. Berrange 提交于
The virSecurityManagerSetFDLabel method is used to label file descriptors associated with disk images. There will shortly be a need to label other file descriptors in a different way. So the current name is ambiguous. Rename the method to virSecurityManagerSetImageFDLabel to clarify its purpose * src/libvirt_private.syms, src/qemu/qemu_migration.c, src/qemu/qemu_process.c, src/security/security_apparmor.c, src/security/security_dac.c, src/security/security_driver.h, src/security/security_manager.c, src/security/security_manager.h, src/security/security_selinux.c, src/security/security_stack.c: s/FDLabel/ImageFDLabel/
-
由 Matthias Bolte 提交于
-
由 Jiri Denemark 提交于
When CURRENT and FORCE flags were used together, UpdateDeviceFlags did nothing because it failed to transform CURRENT into either LIVE or CONFIG.
-
由 Stefan Berger 提交于
This is in response to bugzilla 664629 https://bugzilla.redhat.com/show_bug.cgi?id=664629 The patch below returns an appropriate error message if the chain of nwfilters is found to contain unresolvable variables and therefore cannot be instantiated. Example: The following XMl added to a domain: <interface type='bridge'> <mac address='52:54:00:9f:80:45'/> <source bridge='virbr0'/> <model type='virtio'/> <filterref filter='test'/> </interface> that references the following filter <filter name='test' chain='root'> <filterref filter='clean-traffic'/> <filterref filter='allow-dhcp-server'/> </filter> now displays upon 'virsh start mydomain' error: Failed to start domain mydomain error: internal error Cannot instantiate filter due to unresolvable variable: DHCPSERVER 'DHPCSERVER' is contained in allow-dhcp-server.
-
- 27 6月, 2011 7 次提交
-
-
由 Eric Blake 提交于
We already have a public virDomainPinVcpu, which implies that Pin and Vcpu are treated as separate words. Unreleased commit e261987c introduced virDomainGetVcpupinInfo as the first public API that used Vcpupin, although we had prior internal uses of that spelling. For consistency, change the spelling to be two words everywhere, regardless of whether pin comes first or last. * daemon/remote.c: Treat vcpu and pin as separate words. * include/libvirt/libvirt.h.in: Likewise. * src/conf/domain_conf.c: Likewise. * src/conf/domain_conf.h: Likewise. * src/driver.h: Likewise. * src/libvirt.c: Likewise. * src/libvirt_private.syms: Likewise. * src/libvirt_public.syms: Likewise. * src/libxl/libxl_driver.c: Likewise. * src/qemu/qemu_driver.c: Likewise. * src/remote/remote_driver.c: Likewise. * src/xen/xend_internal.c: Likewise. * tools/virsh.c: Likewise. * src/remote/remote_protocol.x: Likewise. * src/remote_protocol-structs: Likewise. Suggested by Matthias Bolte.
-
由 Minoru Usui 提交于
Fix lack of 'virSysinfo' prefix of functions/structs in src/util/sysinfo.[ch]
-
由 Minoru Usui 提交于
Fix lack of error check in virSysinfoFormat(). Signed-off-by: NMinoru Usui <usui@mxm.nes.nec.co.jp>
-
由 Matthias Bolte 提交于
Convert networkDnsmasqLeaseFileName to a replaceable function pointer that allow the testsuite to use a version of that function that is not depending on configure --localstatedir. This fixes 5 of 6 test failures, when configure --localstatedir isn't set to /var.
-
由 Osier Yang 提交于
This is no code between virSaveLastError and virGetLastError will set an error, remove the bogus codes.
-
由 Laine Stump 提交于
This block was inadvertently added with the wrong indentation.
-
由 Ruben Kerkhof 提交于
Parthelper is only compiled if both --with-libvirtd and --with-storage-disk are set. Signed-off-by: NRuben Kerkhof <ruben@rubenkerkhof.com>
-
- 25 6月, 2011 15 次提交
-
-
由 Eric Blake 提交于
Caught by gcc -O2, during autobuild.sh. * src/qemu/qemu_driver.c (qemudDomainGetVcpupinInfo): Initialize vm.
-
由 Eric Blake 提交于
The build currently fails when trying to create virnetprotocol.c into $(builddir)/rpc, which doesn't exist. But since the file is part of the tarball, it should be generated into $(srcdir). Caught by autobuild.sh. * src/Makefile.am (VIR_NET_RPC_GENERATED): Generate into srcdir.
-
由 Taku Izumi 提交于
This patch teaches "virsh vcpupin" command to query if no list is given. Its feature is to show CPU affinity information in more reader-friendly way. # virsh vcpupin VM --config VCPU: CPU Affinity ---------------------------------- 0: 1-6,9-20 1: 10 2: 5,9-11,15-20 3: 1,3,5,7,9,11,13,15 When cpulist is omitted, vcpu number is optional. When vcpu number is provided, information of only specified vcpu is displayed. Signed-off-by: NTaku Izumi <izumi.taku@jp.fujitsu.com> Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Taku Izumi 提交于
The "virsh vcpuinfo" command results in failure when the target domain is inactive on KVM. This patch improves this behavior by adding the fallback to invoke virDomainGetVcpupinInfo API in case of virDomainGetVcpus API returns error and the target domain is inactive. Signed-off-by: NTaku Izumi <izumi.taku@jp.fujitsu.com>
-
由 Taku Izumi 提交于
This patch implements the remote protocol to address the new API (virDomainGetVcpupinInfo). Signed-off-by: NTaku Izumi <izumi.taku@jp.fujitsu.com>
-
由 Taku Izumi 提交于
This patch implements the code to address the new API (virDomainGetVcpupinInfo) in the qemu driver. Signed-off-by: NTaku Izumi <izumi.taku@jp.fujitsu.com>
-
由 Taku Izumi 提交于
This patch introduces a new libvirt API (virDomainGetVcpupinInfo), as a counterpart to virDomainPinVcpuFlags. We can use virDomainGetVcpus API to retrieve CPU affinity information, but can't use this API against inactive domains (at least in case of KVM), as it lacks a flags parameter. The usual thing is to add a new virDomainGetVcpusFlags, but that API name is already occupied by the counterpart to virDomainGetMaxVcpus, which has a completely different signature. The virDomainGetVcpupinInfo is the new API to retrieve CPU affinity information of active and inactive domains. While the usual convention is to list an array before its length, this API violates that rule in order to be more like virDomainGetVcpus (where maxinfo was doing double-duty as the length of two different arrays). Signed-off-by: NTaku Izumi <izumi.taku@jp.fujitsu.com>
-
由 Laine Stump 提交于
The sub-elements of <ip> had been placed at the same level of indentation as ip itself, implying that they were really elements of <network>. Within that, sub-elements of ip/dhcp were also at that same level. These have been double-indented. At the same time, I realized that the documentation for the new <dns> element had been placed right in the middle of the description of the sub-elements of <ip>. I moved it up out of the way.
-
由 Eric Blake 提交于
It's unlikely that we'll ever want to escape a string as long as INT_MAX/6, but adding this check can't hurt. * src/util/buf.c (virBufferEscapeSexpr, virBufferEscapeString): Check for (unlikely) overflow.
-
由 Eric Blake 提交于
Integer overflow and remote code are never a nice mix. This has existed since commit 56cd4140. * src/libvirt.c (virDomainGetVcpus): Reject overflow up front. * src/remote/remote_driver.c (remoteDomainGetVcpus): Avoid overflow on sending rpc. * daemon/remote.c (remoteDispatchDomainGetVcpus): Avoid overflow on receiving rpc.
-
由 Eric Blake 提交于
Done as a separate commit to make backporting the next patch easier. We are already using "intprops.h", but this makes it explicit. * .gnulib: Update, for syntax-check fix. * bootstrap.conf (gnulib_modules): Make intprops use explicit. * src/locking/domain_lock.c (includes): Drop unused header. * src/nwfilter/nwfilter_learnipaddr.c (includes): Use "", not <>, for gnulib.
-
由 Eric Blake 提交于
'make syntax-check' regression introduced in commit 60b9c693. * tests/networkxml2argvdata/*.argv: Break long lines.
-
由 Matthias Bolte 提交于
-
由 Matthias Bolte 提交于
Triggered a linker error on MinGW.
-
由 Michal Novotny 提交于
This commit introduces names definition for the DNS hosts file using the following syntax: <dns> <host ip="192.168.1.1"> <name>alias1</name> <name>alias2</name> </host> </dns> Some of the improvements and fixes were done by Laine Stump so I'm putting him into the SOB clause again ;-) Signed-off-by: NMichal Novotny <minovotn@redhat.com> Signed-off-by: NLaine Stump <laine@laine.org>
-