- 20 12月, 2009 1 次提交
-
-
由 Adam Litke 提交于
Set up the types for the domainMemoryStats function and insert it into the virDriver structure definition. Because of static initializers, update every driver and set the new field to NULL. * include/libvirt/libvirt.h.in: new API * src/driver.h src/*/*_driver.c src/vbox/vbox_tmpl.c: add the new entry to the driver structure * python/generator.py: fix compiler errors, the actual python binding is implemented later
-
- 19 12月, 2009 16 次提交
-
-
由 Matthias Bolte 提交于
-
由 Matthias Bolte 提交于
If a virtual machine is destroyed on a ESX server then immediately undefining this virtual machine on a vCenter may fail, because the vCenter has not been informed about the status change yet. Therefore, destroy a virtual machine on a vCenter if available, so the vCenter is up-to-date when the virtual machine should be undefined.
-
由 Matthias Bolte 提交于
Undefining a virtual machine on an ESX server leaves a orphan on the vCenter behind. So undefine a virtual machine on a vCenter if available to fix this problem.
-
由 Matthias Bolte 提交于
-
由 Matthias Bolte 提交于
Also move XPath expression composition into esxVI_Context_Execute().
-
由 Matthias Bolte 提交于
-
由 Matthias Bolte 提交于
-
由 Matthias Bolte 提交于
If an ESX host is managed by a vCenter, it knows the IP address of the vCenter. Setting the vCenter query parameter to * allows to connect to the vCenter known to an ESX host without the need to specify its IP address or hostname explicitly.
-
由 Matthias Bolte 提交于
-
由 Matthias Bolte 提交于
-
由 Matthias Bolte 提交于
-
由 Matthias Bolte 提交于
esxDomainLookupByUUID() and esxDomainIsActive() lookup a domain by asking ESX for all known domains and searching manually for the one with the matching UUID. This is inefficient. The VI API allows to lookup by UUID directly: FindByUuid(). * src/esx/esx_driver.c: change esxDomainLookupByUUID() and esxDomainIsActive() to use esxVI_LookupVirtualMachineByUuid(), also reorder some functions to keep them in sync with the driver struct
-
由 Matthias Bolte 提交于
Questions can block tasks, to handle them automatically the driver can answers them with the default answer. The auto_answer query parameter allows to enable this automatic question handling. * src/esx/README: add a detailed explanation for automatic question handling * src/esx/esx_driver.c: add automatic question handling for all task related driver functions * src/esx/esx_util.[ch]: add handling for the auto_answer query parameter * src/esx/esx_vi.[ch], src/esx/esx_vi_methods.[ch], src/esx/esx_vi_types.[ch]: add new VI API methods and types and additional helper functions for automatic question handling
-
由 Matthias Bolte 提交于
Commit 33a198c1 increased the gcrypt version requirement to 1.4.2 because the GCRY_THREAD_OPTION_VERSION define was added in this version. The configure script doesn't check for the gcrypt version. To support gcrypt versions < 1.4.2 change the virTLSThreadImpl initialization to use GCRY_THREAD_OPTION_VERSION only if it's defined.
-
由 Diego Elio Pettenò 提交于
* configure.in: If you pass libraries in the LDFLAGS variable, and then try AC_CHECK_FUNCS to find whether a function is present or not, it'll fail badly when using the --as-needed linker flag. Instead, pass the libraries through the LIBS library, so that they are passed after the conftest.c source file and the tests are done properly.
-
由 Diego Elio Pettenò 提交于
* configure.in: With the previous logic, if libhal_get_all_devices function was not found, HAVE_HAL would be defined for the preprocessor but it wouldn't be enabled in automake conditionals, causing the final link to fail with missing references to HAL entries.
-
- 18 12月, 2009 14 次提交
-
-
由 Jiri Denemark 提交于
* tools/virsh.c: provide a way to us teh new API with virsh
-
由 Jiri Denemark 提交于
* src/qemu/qemu_conf.c src/qemu/qemu_conf.h src/qemu/qemu_driver.c: add the new entry point, extend capabilities and code to interract with qemu
-
由 Jiri Denemark 提交于
* src/cpu/cpu_map.xml: newdescription file * src/Makefile.am: include it in dist
-
由 Jiri Denemark 提交于
Each driver supporting CPU selection must fill in host CPU capabilities. When filling them, drivers for hypervisors running on the same node as libvirtd can use cpuNodeData() to obtain raw CPU data. Other drivers, such as VMware, need to implement their own way of getting such data. Raw data can be decoded into virCPUDefPtr using cpuDecode() function. When implementing virConnectCompareCPU(), a hypervisor driver can just call cpuCompareXML() function with host CPU capabilities. For each guest for which a driver supports selecting CPU models, it must set the appropriate feature in guest's capabilities: virCapabilitiesAddGuestFeature(guest, "cpuselection", 1, 0) Actions needed when a domain is being created depend on whether the hypervisor understands raw CPU data (currently CPUID for i686, x86_64 architectures) or symbolic names has to be used. Typical use by hypervisors which prefer CPUID (such as VMware and Xen): - convert guest CPU configuration from domain's XML into a set of raw data structures each representing one of the feature policies: cpuEncode(conn, architecture, guest_cpu_config, &forced_data, &required_data, &optional_data, &disabled_data, &forbidden_data) - create a mask or whatever the hypervisor expects to see and pass it to the hypervisor Typical use by hypervisors with symbolic model names (such as QEMU): - get raw CPU data for a computed guest CPU: cpuGuestData(conn, host_cpu, guest_cpu_config, &data) - decode raw data into virCPUDefPtr with a possible restriction on allowed model names: cpuDecode(conn, guest, data, n_allowed_models, allowed_models) - pass guest->model and guest->features to the hypervisor * src/cpu/cpu.c src/cpu/cpu.h src/cpu/cpu_generic.c src/cpu/cpu_generic.h src/cpu/cpu_map.c src/cpu/cpu_map.h src/cpu/cpu_x86.c src/cpu/cpu_x86.h src/cpu/cpu_x86_data.h * configure.in: check for CPUID instruction * src/Makefile.am: glue the new files in * src/libvirt_private.syms: add new private symbols * po/POTFILES.in: add new cpu files containing translatable strings
-
由 Jiri Denemark 提交于
* src/remote/remote_driver.c: add the new entry point
-
由 Jiri Denemark 提交于
* src/remote/remote_protocol.x: update with new entry point * daemon/remote.c: add the new server dispatcher * daemon/remote_dispatch_args.h daemon/remote_dispatch_prototypes.h daemon/remote_dispatch_ret.h daemon/remote_dispatch_table.h src/remote/remote_protocol.c src/remote/remote_protocol.h: regenerated
-
由 Jiri Denemark 提交于
* src/libvirt.c: adds the public entry point virConnectCompareCPU()
-
由 Jiri Denemark 提交于
* src/driver.h: add an extra entry point in the structure * src/esx/esx_driver.c src/lxc/lxc_driver.c src/opennebula/one_driver.c src/openvz/openvz_driver.c src/phyp/phyp_driver.c src/qemu/qemu_driver.c src/remote/remote_driver.c src/test/test_driver.c src/uml/uml_driver.c src/vbox/vbox_tmpl.c src/xen/xen_driver.c: add NULL entry points for all drivers
-
由 Jiri Denemark 提交于
* include/libvirt/libvirt.h.in: add it in the public API as well as the new flags * src/libvirt_public.syms: export it
-
由 Daniel Veillard 提交于
* po/POTFILES.in: adds src/conf/cpu_conf.c in teh set of files with translatable content * src/conf/cpu_conf.c: remove an unused include
-
由 Jiri Denemark 提交于
* include/libvirt/virterror.h src/util/virterror.c: add new domain VIR_FROM_CPU for errors * src/conf/cpu_conf.c src/conf/cpu_conf.h: new parsing module * src/Makefile.am proxy/Makefile.am: include new files * src/conf/capabilities.[ch] src/conf/domain_conf.[ch]: reference new code * src/libvirt_private.syms: private export of new entry points
-
由 Jiri Denemark 提交于
XML schema for CPU flags Firstly, CPU topology and model with optional features have to be advertised in host capabilities: <host> <cpu> <arch>ARCHITECTURE</arch> <features> <!-- old-style features are here --> </features> <model>NAME</model> <topology sockets="S" cores="C" threads="T"/> <feature name="NAME"/> </cpu> ... </host> Secondly, drivers which support detailed CPU specification have to advertise it in guest capabilities: <guest> ... <features> <cpuselection/> </features> </guest> And finally, CPU may be configured in domain XML configuration: <domain> ... <cpu match="MATCH"> <model>NAME</model> <topology sockets="S" cores="C" threads="T"/> <feature policy="POLICY" name="NAME"/> </cpu> </domain> Where MATCH can be one of: - 'minimum' specified CPU is the minimum requested CPU - 'exact' disable all additional features provided by host CPU - 'strict' fail if host CPU doesn't exactly match POLICY can be one of: - 'force' turn on the feature, even if host doesn't have it - 'require' fail if host doesn't have the feature - 'optional' match host - 'disable' turn off the feature, even if host has it - 'forbid' fail if host has the feature 'force' and 'disable' policies turn on/off the feature regardless of its availability on host. 'force' is unlikely to be used but its there for completeness since Xen and VMWare allow it. 'require' and 'forbid' policies prevent a guest from being started on a host which doesn't/does have the feature. 'forbid' is for cases where you disable the feature but a guest may still try to access it anyway and you don't want it to succeed. 'optional' policy sets the feature according to its availability on host. When a guest is booted on a host that has the feature and then migrated to another host, the policy changes to 'require' as we can't take the feature away from a running guest. Default policy for features provided by host CPU but not specified in domain configuration is set using match attribute of cpu tag. If 'minimum' match is requested, additional features will be treated as if they were specified with 'optional' policy. 'exact' match implies 'disable' policy and 'strict' match stands for 'forbid' policy. * docs/schemas/capability.rng docs/schemas/domain.rng: extend the RelaxNG schemas to add CPU flags support
-
由 Daniel P. Berrange 提交于
GNUTLS uses gcrypt for its crypto functions. gcrypt requires that the app/library initializes threading before using it. We don't want to force apps using libvirt to know about gcrypt, so we make virInitialize init threading on their behalf. This location also ensures libvirtd has initialized it correctly. This initialization is required even if libvirt itself were only using one thread, since another non-libvirt library (eg GTK-VNC) could also be using gcrypt from another thread * src/libvirt.c: Register thread functions for gcrypt * configure.in: Add -lgcrypt to linker flags
-
由 Daniel P. Berrange 提交于
* src/storage/storage_driver.c: Fix IsPersistent() and IsActivE() methods on storage pools to use 'storagePrivateData' instead of 'privateData'. Also fix naming convention of objects
-
- 16 12月, 2009 9 次提交
-
-
由 Jim Meyering 提交于
* src/esx/esx_vi.c (esxVI_List_CastFromAnyType): For invalid inputs, fail right away. Do not "goto failure" where a NULL input pointer would be dereferenced.
-
由 Jim Meyering 提交于
* src/esx/esx_util.c (esxUtil_ParseDatastoreRelatedPath): Return right away for invalid inputs, rather than using them (which would dereference NULL pointers) in clean-up code.
-
由 Matthias Bolte 提交于
This also fixes a NULL-deref of virtualDev in esxVMX_ParseSCSIController found by Jim Meyering.
-
由 Matthias Bolte 提交于
-
由 Jim Meyering 提交于
This appeases a new gnulib-provided "syntax-check". * daemon/libvirtd.c (main): Use EXIT_FAILURE, not 1. * proxy/libvirt_proxy.c (main): Likewise, and EXIT_SUCCESS, not 0. * tests/conftest.c (main): Likewise. * tests/reconnect.c (main): Likewise. * tests/testutils.h (EXIT_AM_SKIP): Define. * tests/nodeinfotest.c (mymain): Use EXIT_AM_SKIP, not 77. * tests/qemuargv2xmltest.c: Likewise. * tests/qemuxml2xmltest.c: Likewise. * tests/virshtest.c (mymain): Likewise.
-
由 Jim Meyering 提交于
* build-aux/link-warning.h: Remove file from version control. * build-aux/mktempd: Likewise. * build-aux/.gitignore: Adjust.
-
由 Jim Meyering 提交于
The virFileResolveLink utility function relied on the POSIX guarantee that stat.st_size of a symlink is the length of the value. However, on some types of file systems, it is invalid, so do not rely on it. Use gnulib's areadlink module instead. * bootstrap (modules): Add areadlink. * src/util/util.c: Include "areadlink.h". Let areadlink perform the readlink and malloc. * configure.in (AC_CHECK_FUNCS): Remove readlink. No need, since it's presence is guaranteed by gnulib.
-
由 Jim Meyering 提交于
-
由 Jim Meyering 提交于
* src/xen/xm_internal.c (xenXMConfigGetULong): Remove useless and misleading test (always false) for val->str == NULL before code that always dereferences val->str. "val" comes from virConfGetValue, and at that point, val->str is guaranteed to be non-NULL. (xenXMConfigGetBool): Likewise. * src/util/conf.c (virConfSetValue): Ensure that vir->str is never NULL, not even if someone tries to set such a value via virConfSetValue.
-