- 30 7月, 2010 2 次提交
-
-
由 Matthias Bolte 提交于
esxVI_WaitForTaskCompletion can take a UUID to lookup the corresponding domain and check if the current task for it is blocked by a question. It calls another function to do this: esxVI_LookupAndHandleVirtualMachineQuestion looks up the VirtualMachine and checks for a question. If there is a question it calls esxVI_HandleVirtualMachineQuestion to handle it. If there was no question or it has been answered the call to esxVI_LookupAndHandleVirtualMachineQuestion returns 0. If any error occurred during the lookup and answering process -1 is returned. The problem with this is, that -1 is also returned when there was no error but the question could not be answered. So esxVI_WaitForTaskCompletion cannot distinguish between this two situations and reports that a question is blocking the task even when there was actually another problem. This inherent problem didn't surface until vSphere 4.1 when you try to define a new domain. The driver tries to lookup the domain that is just in the process of being registered. There seems to be some kind of race condition and the driver manages to issue a lookup command before the ESX server was able to register the domain. This used to work before. Due to the return value problem described above the driver reported a false error message in that case. To solve this esxVI_WaitForTaskCompletion now takes an additional occurrence parameter that describes whether or not to expect the domain to be existent. Also add a new parameter to esxVI_LookupAndHandleVirtualMachineQuestion that allows to distinguish if the call returned -1 because of an actual error or because the question could not be answered.
-
由 Eric Blake 提交于
* src/esx/esx_vi_types.c (_DESERIALIZE_NUMBER) (ESX_VI__TEMPLATE__DESERIALIZE_NUMBER): Add range check to shut up gcc 4.5.0 regarding long long.
-
- 29 7月, 2010 1 次提交
-
-
由 Cole Robinson 提交于
There is actually a difference between the character device type (serial, parallel, channel, ...) and the target type (virtio, guestfwd). Currently they are awkwardly conflated. Start to pull them apart by renaming targetType -> deviceType. This is an entirely mechanical change. Signed-off-by: NCole Robinson <crobinso@redhat.com>
-
- 25 7月, 2010 2 次提交
-
-
由 Matthias Bolte 提交于
Also accept version > 4.1, but output a warning.
-
由 Matthias Bolte 提交于
Add a pointer to the primary context of a connection and use it in all driver functions that don't dependent on the context type. This includes almost all functions that deal with a virDomianPtr. Therefore, using a vpx:// connection allows you to perform all the usual domain related actions like start, destroy, suspend, resume, dumpxml etc. Some functions that require an explicitly specified ESX server don't work yet. This includes the host UUID, the hostname, the general node info, the max vCPU count and the free memory. Also not working yet are migration and defining new domains.
-
- 24 7月, 2010 4 次提交
-
-
由 Matthias Bolte 提交于
Since 070f6100 the vcenter query parameter has been ignored, because the refactoring to use esxUtil_ParseQuery was incomplete. This effectively broke migration, because the vcenter query parameter is essential for a migration.
-
由 Matthias Bolte 提交于
This works for file-backed SCSI disk device with a datastore related source path.
-
由 Matthias Bolte 提交于
-
由 Chris Lalancette 提交于
Add the library entry point for the new virDomainQemuMonitorCommand() entry point. Because this is not part of the "normal" libvirt API, it gets its own header file, library file, and will eventually get its own over-the-wire protocol later in the series. Changes since v1: - Go back to using the virDriver table for qemuDomainMonitorCommand, due to linking issues - Added versioning information to the libvirt-qemu.so Changes since v2: - None Changes since v3: - Add LGPL header to libvirt-qemu.c - Make virLibConnError and virLibDomainError macros instead of function calls Changes since v4: - Move exported symbols to libvirt_qemu.syms Signed-off-by: NChris Lalancette <clalance@redhat.com>
-
- 14 7月, 2010 1 次提交
-
-
由 Matthias Bolte 提交于
This will be used to deserialize the response from a call to esxVI_SearchDatastore_Task properly.
-
- 24 6月, 2010 3 次提交
-
-
由 Matthias Bolte 提交于
-
由 Matthias Bolte 提交于
Also don't abuse the disk driver name to specify the SCSI controller model anymore: <driver name='buslogic'/> Use the newly added model attribute of the controller element for this: <controller type='scsi' index='0' model='buslogic'/> The disk driver name approach is deprecated now, but still works for backward compatibility reasons. Update the documentation and tests accordingly. Fix usage of the words controller and id in the VMX handling code. Use controller, bus and unit properly.
-
由 Matthias Bolte 提交于
The domain XML parsing code autogenerates disk address and controller elements when they are not explicitly specified. The code assumes a narrow SCSI bus (7 units per bus). ESX uses a wide SCSI bus (16 units per bus). This is a step towards controller support for the ESX driver.
-
- 17 6月, 2010 1 次提交
-
-
由 Matthias Bolte 提交于
-
- 15 6月, 2010 2 次提交
-
-
由 Eric Blake 提交于
* src/esx/esx_driver.c (esxDomainCreate): Move guts... (esxDomainCreateWithFlags): ...to new function. (esxDriver): Trivially support the new API. * src/lxc/lxc_driver.c (lxcDomainStart, lxcDomainStartWithFlags) (lxcDriver): Likewise. * src/opennebula/one_driver.c (oneDomainStart) (oneDomainStartWithFlags, oneDriver): Likewise. * src/openvz/openvz_driver.c (openvzDomainCreate) (openvzDomainCreateWithFlags, openvzDriver): Likewise. * src/qemu/qemu_driver.c (qemudDomainStart) (qemudDomainStartWithFlags, qemuDriver): Likewise. * src/test/test_driver.c (testDomainCreate) (testDomainCreateWithFlags, testDriver): Likewise. * src/uml/uml_driver.c (umlDomainStart, umlDomainStartWithFlags) (umlDriver): Likewise. * src/vbox/vbox_tmpl.c (vboxDomainCreate) (vboxDomainCreateWithFlags, Driver): Likewise. * src/xen/xen_driver.c (xenUnifiedDomainCreate) (xenUnifiedDomainCreateWithFlags, xenUnifiedDriver): Likewise. * src/xenapi/xenapi_driver.c (xenapiDomainCreate) (xenapiDomainCreateWithFlags, xenapiDriver): Likewise.
-
由 Eric Blake 提交于
Persistent domain creation needs the same features as transient domains, but virDomainCreate lacks the flags argument present in virDomainCreateXML. virDomainCreateFlags is already claimed as a public enum, so we have to break convention and expose virDomainCreateWithFlags. * include/libvirt/libvirt.h.in (virDomainCreateWithFlags): Add. * src/driver.h (virDrvDomainCreateWithFlags): Internal API. * src/libvirt.c (virDomainCreateWithFlags): Glue public API to driver API. * src/libvirt_public.syms (LIBVIRT_0.8.2): Expose public API. * src/esx/esx_driver.c (esxDriver): Add stub for driver. * src/lxc/lxc_driver.c (lxcDriver): Likewise. * src/opennebula/one_driver.c (oneDriver): Likewise. * src/openvz/openvz_driver.c (openvzDriver): Likewise. * src/phyp/phyp_driver.c (phypDriver): Likewise. * src/qemu/qemu_driver.c (qemuDriver): Likewise. * src/remote/remote_driver.c (remote_driver): Likewise. * src/test/test_driver.c (testDriver): Likewise. * src/uml/uml_driver.c (umlDriver): Likewise. * src/vbox/vbox_tmpl.c (Driver): Likewise. * src/xen/xen_driver.c (xenUnifiedDriver): Likewise. * src/xenapi/xenapi_driver.c (xenapiDriver): Likewise.
-
- 09 6月, 2010 2 次提交
-
-
由 Matthias Bolte 提交于
Allow to specify a proxy to be used by libcurl.
-
由 Matthias Bolte 提交于
Pass a struct containing the parameters instead of passing each one individually. This make future extensions a bit simpler.
-
- 27 5月, 2010 2 次提交
-
-
由 Matthias Bolte 提交于
Eliminate almost all backward jumps by replacing this common pattern: int some_random_function(void) { int result = 0; ... cleanup: <unconditional cleanup code> return result; failure: <cleanup code in case of an error> result = -1; goto cleanup } with this simpler pattern: int some_random_function(void) { int result = -1; ... result = 0; cleanup: if (result < 0) { <cleanup code in case of an error> } <unconditional cleanup code> return result; } Add a bool success variable in functions that don't have a int result that can be used for the new pattern. Also remove some unnecessary memsets in error paths.
-
由 Matthias Bolte 提交于
Parse the BIOS UUID. This information may not be available, in that case no host UUID is exposed in the capabilities XML.
-
- 26 5月, 2010 1 次提交
-
-
由 Matthias Bolte 提交于
Allows listing existing pools and requesting information about them. Alter the esxVI_ProductVersion enum in a way that allows to check for product type by masking.
-
- 21 5月, 2010 2 次提交
-
-
由 Jim Meyering 提交于
Handle concatenated strings manually.
-
由 Jim Meyering 提交于
Run this: git grep -l 'VIR_ERROR0\s*("'|xargs perl -pi -e \ 's/(VIR_ERROR0)\s*\((".*?")\)/$1(_($2))/'
-
- 20 5月, 2010 2 次提交
-
-
由 Matthias Bolte 提交于
This will be used in the ESX storage driver in order to handle the DatastoreInfo type and inheriting types properly.
-
由 Matthias Bolte 提交于
This semantic will be used in the ESX storage driver.
-
- 12 5月, 2010 1 次提交
-
-
由 Eric Blake 提交于
* .gnulib: Update to latest. * bootstrap.conf (gnulib_modules): Import netdb. * src/esx/esx_util.c (AI_ADDRCONFIG): Rely on gnulib. * src/remote/remote_driver.c (AI_ADDRCONFIG): Likewise. * tools/virsh.c (WEXITSTATUS, O_SYNC): Likewise.
-
- 30 4月, 2010 1 次提交
-
-
由 Daniel P. Berrange 提交于
This defines the internal driver API and stubs out each driver * src/driver.h: Define virDrvDomainGetBlockInfo signature * src/libvirt.c, src/libvirt_public.syms: Glue public API to drivers * 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/test/test_driver.c, src/uml/uml_driver.c, src/vbox/vbox_tmpl.c, src/xen/xen_driver.c, src/xenapi/xenapi_driver.c: Stub out driver
-
- 22 4月, 2010 1 次提交
-
-
由 Eric Blake 提交于
* src/esx/esx_vi.h: Placate cppi.
-
- 21 4月, 2010 5 次提交
-
-
由 Chris Wong 提交于
An empty root snapshot list was considered as error condition. Creating a new snapshot would fail if the domain didn't have snapshots yet, because the snapshot-create function tries to lookup the list of existing snapshots in order to verify that the snapshot name is unique. This fails if the domain doesn't have snapshots yet. Removing the NULL check from esxVI_LookupRootSnapshotTreeList fixes this.
-
由 Matthias Bolte 提交于
-
由 Matthias Bolte 提交于
FindByIp may return nothing if there is no host or virtual machine with the given IP address. Handle that case properly.
-
由 Matthias Bolte 提交于
The supported virtualHW.version doesn't depend on the API version, but on the product version.
-
由 Matthias Bolte 提交于
Add a test case and document it.
-
- 16 4月, 2010 3 次提交
-
-
由 Jiri Denemark 提交于
-
由 Matthias Bolte 提交于
This also fixes a portability problem with the %a format modifier. %a is not portable and made esxDomainDumpXML fail at runtime in MinGW builds.
-
由 Matthias Bolte 提交于
This stops libvirt trying to connect to a non-existing libvirtd on the ESX server in order to find a nwfilter driver.
-
- 15 4月, 2010 1 次提交
-
-
由 Eric Blake 提交于
* src/esx/esx_vi_methods.h: Placate cppi.
-
- 14 4月, 2010 2 次提交
-
-
由 Matthias Bolte 提交于
Generate almost all SOAP method mapping code. Update the driver code to use the complete paramater list of some methods that had parameters skipped before. Improve the ESX_VI__METHOD marco to do automatic output deserialization based on output occurrence. Also incorporate automatic _this binding and output pointer check.
-
由 Jim Meyering 提交于
* src/esx/esx_vmx.c (esxVMX_GatherSCSIControllers): Do not dereference a NULL disk->driverName. We already detect this condition in another case. Check for it here, too.
-
- 09 4月, 2010 1 次提交
-
-
由 Matthias Bolte 提交于
Fix invalid code generating in esx_vi_generator.py regarding deep copy types that contain enum properties. Add strptime and timegm to bootstrap.conf. Both are used to convert a xsd:dateTime to calendar time. Add a testcase of the xsd:dateTime conversion.
-