- 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 2 次提交
-
-
由 Matthias Bolte 提交于
This works for file-backed SCSI disk device with a datastore related source path.
-
由 Matthias Bolte 提交于
-
- 24 6月, 2010 2 次提交
-
-
由 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.
-
- 17 6月, 2010 1 次提交
-
-
由 Matthias Bolte 提交于
-
- 27 5月, 2010 1 次提交
-
-
由 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.
-
- 21 4月, 2010 2 次提交
-
-
由 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 1 次提交
-
-
由 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.
-
- 14 4月, 2010 1 次提交
-
-
由 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.
-
- 08 4月, 2010 1 次提交
-
-
由 Matthias Bolte 提交于
Extend tests to cover all SCSI controller types and document the new type. The lsisas1068 SCSI controller type was added in ESX 4.0. The VMX parser reports an error when this controller type is present. This makes virsh dumpxml fail for every domain that uses this controller type. This patch fixes this and adds lsisas1068 to the list of accepted SCSI controller types. Reported by Jonathan Kelley.
-
- 07 4月, 2010 1 次提交
-
-
由 Matthias Bolte 提交于
Also define ESX_ERROR and ESX_VI_ERROR in a central place, instead of defining them in each source file. Add ESX_ERROR and ESX_VI_ERROR to the msg_gen_function list in cfg.mk. Update po/POTFILES.in accordingly.
-
- 23 3月, 2010 1 次提交
-
-
由 Matthias Bolte 提交于
Replace 'method' with 'function' and get the filename's suffix right.
-
- 08 3月, 2010 1 次提交
-
-
由 Eric Blake 提交于
Prior to this patch, there was an inconsistent mix between GNU and C99. For consistency, and potential portability to other compilers, stick with the C99 vararg macro syntax. * src/conf/cpu_conf.c (virCPUReportError): Use C99 rather than GNU vararg macro syntax. * src/conf/domain_conf.c (virDomainReportError): Likewise. * src/conf/domain_event.c (eventReportError): Likewise. * src/conf/interface_conf.c (virInterfaceReportError): Likewise. * src/conf/network_conf.c (virNetworkReportError): Likewise. * src/conf/node_device_conf.h (virNodeDeviceReportError): Likewise. * src/conf/secret_conf.h (virSecretReportError): Likewise. * src/conf/storage_conf.h (virStorageReportError): Likewise. * src/esx/esx_device_monitor.c (ESX_ERROR): Use C99 rather than GNU vararg macro syntax. * src/esx/esx_driver.c (ESX_ERROR): Likewise. * src/esx/esx_interface_driver.c (ESX_ERROR): Likewise. * src/esx/esx_network_driver.c (ESX_ERROR): Likewise. * src/esx/esx_secret_driver.c (ESX_ERROR): Likewise. * src/esx/esx_storage_driver.c (ESX_ERROR): Likewise. * src/esx/esx_util.c (ESX_ERROR): Likewise. * src/esx/esx_vi.c (ESX_VI_ERROR): Likewise. * src/esx/esx_vi_methods.c (ESX_VI_ERROR): Likewise. * src/esx/esx_vi_types.c (ESX_VI_ERROR): Likewise. * src/esx/esx_vmx.c (ESX_ERROR): Likewise. * src/util/hostusb.c (usbReportError): Use C99 rather than GNU vararg macro syntax. * src/util/json.c (virJSONError): Likewise. * src/util/macvtap.c (ReportError): Likewise. * src/util/pci.c (pciReportError): Likewise. * src/util/stats_linux.c (virStatsError): Likewise. * src/util/util.c (virUtilError): Likewise. * src/util/xml.c (virXMLError): Likewise. * src/xen/proxy_internal.c (virProxyError): Use C99 rather than GNU vararg macro syntax. * src/xen/sexpr.c (virSexprError): Likewise. * src/xen/xen_driver.c (xenUnifiedError): Likewise. * src/xen/xen_hypervisor.c (virXenError): Likewise. * src/xen/xen_inotify.c (virXenInotifyError): Likewise. * src/xen/xend_internal.c (virXendError): Likewise. * src/xen/xm_internal.c (xenXMError): Likewise. * src/xen/xs_internal.c (virXenStoreError): Likewise. * src/cpu/cpu.h (virCPUReportError): Use C99 rather than GNU vararg macro syntax. * src/datatypes.c (virLibConnError): Likewise. * src/interface/netcf_driver.c (interfaceReportError): Likewise. * src/libvirt.c (virLibStreamError): Likewise. * src/lxc/lxc_conf.h (lxcError): Likewise. * src/network/bridge_driver.c (networkReportError): Likewise. * src/nodeinfo.c (nodeReportError): Likewise. * src/opennebula/one_conf.h (oneError): Likewise. * src/openvz/openvz_conf.h (openvzError): Likewise. * src/phyp/phyp_driver.c (PHYP_ERROR): Likewise. * src/qemu/qemu_conf.h (qemuReportError): Likewise. * src/remote/remote_driver.c (errorf): Likewise. * src/security/security_driver.h (virSecurityReportError): Likewise. * src/test/test_driver.c (testError): Likewise. * src/uml/uml_conf.h (umlReportError): Likewise. * src/vbox/vbox_driver.c (vboxError): Likewise. * src/vbox/vbox_tmpl.c (vboxError): Likewise.
-
- 09 2月, 2010 1 次提交
-
-
由 Matthias Bolte 提交于
-
- 26 1月, 2010 1 次提交
-
-
由 Matthias Bolte 提交于
-
- 18 1月, 2010 1 次提交
-
-
由 Matthias Bolte 提交于
* src/conf/domain_conf.c: add defaults for the video device * src/esx/esx_vmx.[ch]: add VNC support to the VMX handling * tests/vmx2xmltest.c, tests/xml2vmxtest.c: add tests for the VNC support
-
- 07 1月, 2010 2 次提交
-
-
由 Matthias Bolte 提交于
The MAC addresses with 00:50:56 prefix are split into several ranges: 00:50:56:00:00:00 - 00:50:56:3f:ff:ff 'static' range (manually assigned) 00:50:56:80:00:00 - 00:50:56:bf:ff:ff 'vpx' range (assigned by a VI Client) Erroneously the 'vpx' range was assumed to be larger and to occupy the remaining addresses of the 00:50:56 prefix that are not part of the 'static' range. 00:50:56 was used as prefix for generated MAC addresses, this is not possible anymore, because there are gaps in the allowed ranges. Therefore, change the prefix to 00:0c:29 which is the prefix for auto generated MAC addresses anyway. Allow arbitrary MAC addresses to be used and set the checkMACAddress VMX option to false in case the MAC address doesn't fall into any predefined range. * docs/drvesx.html.in: update website accordingly * src/esx/esx_driver.c: set the auto generation prefix to 00:0c:29 * src/esx/esx_vmx.c: fix MAC address range handling and allow arbitrary MAC addresses * tests/vmx2xml*, tests/xml2vmx*: add some basic MAC address range tests
-
由 Matthias Bolte 提交于
A domain with virtualHW version 4 is allowed on an ESX 4.0 server. If a domain is migrated from an ESX 3.5 server to an ESX 4.0 server then the virtualHW version stays the same. So a ESX 4.0 server can host domains with virtualHW version 4.
-
- 19 12月, 2009 1 次提交
-
-
由 Matthias Bolte 提交于
-
- 16 12月, 2009 1 次提交
-
-
由 Matthias Bolte 提交于
This also fixes a NULL-deref of virtualDev in esxVMX_ParseSCSIController found by Jim Meyering.
-
- 10 12月, 2009 1 次提交
-
-
由 Matthias Bolte 提交于
Replace free(virBufferContentAndReset()) with virBufferFreeAndReset(). Update documentation and replace all remaining calls to free() with calls to VIR_FREE(). Also add missing calls to virBufferFreeAndReset() and virReportOOMError() in OOM error cases.
-
- 04 12月, 2009 1 次提交
-
-
由 Matthias Bolte 提交于
esxVMX_IndexToDiskName handles indices up to 701. This limit comes from a mapping gap in virDiskNameToIndex: sdzy -> 700 sdzz -> 701 sdaaa -> 728 sdaab -> 729 This line in virDiskNameToIndex causes this gap: idx = (idx + i) * 26; Fixing it by altering this line to: idx = (idx + (i < 1 ? 0 : 1)) * 26; Also add a new version of virIndexToDiskName that handles the inverse mapping for arbitrary indices. * src/esx/esx_vmx.[ch]: remove esxVMX_IndexToDiskName * src/util/util.[ch]: add virIndexToDiskName and fix mapping gap * tests/esxutilstest.c: update test to verify that the gap is fixed
-
- 15 11月, 2009 2 次提交
-
-
由 Matthias Bolte 提交于
VMware uses two MAC address prefixes: 00:0c:29 and 00:50:56. The 00:0c:29 prefix is used for ESX server generated addresses. The 00:50:56 prefix is split into two parts. MAC addresses above 00:50:56:3f:ff:ff are generated by a vCenter. The rest of the 00:50:56 prefix can be assigned manually. Any MAC address within the 00:0c:29 and 00:50:56 prefix can be specified in a domain XML config and the driver will handle the details internally. * src/esx/esx_vmx.c: fix MAC address formatting * tests/xml2vmxdata/*: update test files accordingly
-
由 Matthias Bolte 提交于
In commit 3c80fac2 'vmxnet3' handling was added to esxVMX_ParseEthernet(), but not to the inverse function esxVMX_FormatEthernet().
-
- 05 11月, 2009 1 次提交
-
-
由 Matthew Booth 提交于
A character device's target (it's interface in the guest) had only a single property: port. This patch is in preparation for adding targets which require other properties. Since this changes the conf type for character devices this affects a number of drivers: * src/conf/domain_conf.[ch] src/esx/esx_vmx.c src/qemu/qemu_conf.c src/qemu/qemu_driver.c src/uml/uml_conf.c src/uml/uml_driver.c src/vbox/vbox_tmpl.c src/xen/xend_internal.c src/xen/xm_internal.c: target properties are moved into a union in virDomainChrDef, and a targetType field is added to identify which union member should be used. All current code which touches a virDomainChrDef is updated both to use the new union field, and to populate targetType if necessary.
-
- 03 11月, 2009 1 次提交
-
-
由 Matthias Bolte 提交于
This allows to use domain-xml-from-native with VMX files that reference unavailable datastores. * src/esx/esx_vmx.c: fallback to the preliminary name if the datastore cannot be found
-
- 23 9月, 2009 5 次提交
-
-
由 Matthias Bolte 提交于
An inaccessible datastore has no valid URL property so don't access its URI property. * src/esx/esx_vi.c: esxVI_LookupDatastoreByName(): check if datastore is accessible before accessing its URL property * src/esx/esx_vmx.c: update to changed datastore properties
-
由 Matthias Bolte 提交于
* src/esx/esx_util.[ch]: remove esxUtil_EqualSuffix() * src/esx/esx_driver.c, src/esx/esx_vmx.c: replace esxUtil_EqualSuffix() with virFileHasSuffix()
-
由 Matthias Bolte 提交于
A given domain XML gets converted to a VMX config, uploaded to the host and registered as new virtual machine. * src/esx/esx_driver.c: refactor datastore related path parsing into esxUtil_ParseDatastoreRelatedPath() * src/esx/esx_util.[ch]: add esxUtil_ParseDatastoreRelatedPath() * src/esx/esx_vi.[ch]: add esxVI_Context_UploadFile(), add datastores to the traversal in esxVI_BuildFullTraversalSpecList(), add esxVI_LookupDatastoreByName() * src/esx/esx_vi_methods.[ch]: add esxVI_RegisterVM_Task() * src/esx/esx_vi_types.c: make some error message more verbose * src/esx/esx_vmx.[ch]: add esxVMX_AbsolutePathToDatastoreRelatedPath() to convert a path into a datastore related path, add esxVMX_ParseFileName() to convert from VMX path format to domain XML path format, extend the other parsing function to be datastore aware, add esxVMX_FormatFileName() to convert from domain XML path format to VMX path format, fix VMX ethernet entry formating * tests/esxutilstest.c: add test for esxUtil_ParseDatastoreRelatedPath() * tests/vmx2xmldata/*: update domain XML files to use datastore related paths * tests/xml2vmxdata/*: update domain XML files to use datastore related paths, update VMX files to use absolute paths
-
由 Matthias Bolte 提交于
Extend and cleanup the VMX to domain XML mapping. Add the domain XML to VMX mapping functions. * src/esx/esx_driver.c: add esxDomainXMLToNative() * src/esx/esx_vmx.[ch]: add esxVMX_SCSIDiskNameToControllerAndID(), esxVMX_IDEDiskNameToControllerAndID(), esxVMX_FloppyDiskNameToController(), esxVMX_GatherSCSIControllers(), add basic handling for the VMX guestOS entry to distinguish between i686 and x86_64, make SCSI virtualDev VMX entry optional as it should be, map the VMX networkName entry to the domain XML interface bridge name, add basic mapping for serial devices in pipe mode, add several esxVMX_Format*() functions
-
由 Chris Lalancette 提交于
Add the virStrncpy function, which takes a dst string, source string, the number of bytes to copy and the number of bytes available in the dest string. If the source string is too large to fit into the destination string, including the \0 byte, then no data is copied and the function returns NULL. Otherwise, this function copies n bytes from source into dst, including the \0, and returns a pointer to the dst string. This function is intended to replace all unsafe uses of strncpy in the code base, since strncpy does *not* guarantee that the buffer terminates with a \0. Signed-off-by: NChris Lalancette <clalance@redhat.com>
-
- 16 9月, 2009 1 次提交
-
-
由 Shahar Klein 提交于
* src/esx/esx_vmx.c: add it to the list of accepted devices when parsing the Ethernet section.
-
- 02 9月, 2009 1 次提交
-
-
由 Matthias Bolte 提交于
* src/esx/esx_vmx.c: add an extra type of addressType beside 'static' and 'generated', 'vpx' indicates that the MAC address was generated by a vCenter.
-
- 07 8月, 2009 1 次提交
-
-
由 Chris Lalancette 提交于
While trying to remove uses of unsafe strncpy in the tree, I came across a couple of usages in the ESX driver. To my eyes, the snprintf replacements do the same thing in less code, and are also safer. Signed-off-by: NChris Lalancette <clalance@redhat.com> Tested-by: NMattias Bolte <matthias.bolte@googlemail.com>
-
- 05 8月, 2009 1 次提交
-
-
由 Matthias Bolte 提交于
* src/esx/esx_driver.c src/esx/esx_vi.[ch] src/esx/esx_vmx.[ch]: adds version checking for GSX 2.0, allows to pass a specific port for the connection and also add a new specific gsx scheme for easier connections to GSX hosts
-
- 27 7月, 2009 1 次提交
-
-
由 Matthias Bolte 提交于
* src/esx/esx_driver.c src/esx/esx_vi.c src/esx/esx_vi.h src/esx/esx_vmx.c src/esx/esx_vmx.h: extend the VI API version checks to accept version 4.0 and takes care of the virtualHW.version change from 4 to 7.
-
- 24 7月, 2009 1 次提交
-
-
由 Matthias Bolte 提交于
* src/esx/esx_*.[ch]: the driver, uses a remote minimal SOAP client to talk to the VI services on ESX nodes. * configure.in include/libvirt/virterror.h src/Makefile.am src/driver.h src/libvirt.c src/virterror.c: glue in the new driver
-