- 24 6月, 2015 1 次提交
-
-
由 Mikhail Feoktistov 提交于
In this patch we add VIR_DOMAIN_DEVICE_NET handlers implementation for domainAttachDevice and domainDetachDevice callbacks. As soon as we don't support this operation for hypervisor type domains, we implement this functionality for containers only. In detach procedure we find network device by MAC address. Because PrlVmDevNet_GetMacAddress() returns MAC as a UTF-8 encoded null-terminated string, we use memcmp() to compare it. Also we remove corresponding virtual network by prlsdkDelNetAdapter call.
-
- 17 6月, 2015 2 次提交
-
-
由 Maxim Nestratov 提交于
This patch moves all src/parallels/parallels* files to vz/vz* and fixes build accordingly. No functional changes. Signed-off-by: NMaxim Nestratov <mnestratov@parallels.com>
-
由 Maxim Nestratov 提交于
This patch changes all parallels/vz driver structure and function prefixes from parallels to vz. No functional changes. Signed-off-by: NMaxim Nestratov <mnestratov@parallels.com>
-
- 16 6月, 2015 1 次提交
-
-
由 Martin Kletzander 提交于
Since the background for Admin API is merged upstream, we are bumping the minor release version as discussed previously Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
- 09 6月, 2015 2 次提交
-
-
由 Dmitry Guryanov 提交于
This patch fixes several formatting errors, which I missed before pushing previous patches. Mostly because of missing cppi package.
-
由 Nikolay Shirokovskiy 提交于
Statistics provided through PCS SDK. As we have only async interface in SDK we need to be subscribed to statistics in order to get it. Trivial solution on every stat request to subscribe, wait event and then unsubscribe will lead to significant delays in case of a number of successive requests, as the event will be delivered on next PCS server notify cycle. On the other hand we don't want to keep unnesessary subscribtion. So we take an hibrid solution to subcsribe on first request and then keep a subscription while requests are active. We populate cache of statistics on subscribtion events and use this cache to serve libvirts requests. * Cache details. Cache is just handle to last arrived event, we call this cache as if this handle is valid it is used to serve synchronous statistics requests. We use number of successive events count to detect that user lost interest to statistics. We reset this count to 0 on every request. If more than PARALLELS_STATISTICS_DROP_COUNT successive events arrive we unsubscribe. Special value of -1 of this counter is used to differentiate between subscribed/unsubscribed state to protect from delayed events. Values of PARALLELS_STATISTICS_DROP_COUNT and PARALLELS_STATISTICS_TIMEOUT are just drop-ins, choosen without special consideration. * Thread safety issues Use parallelsDomObjFromDomainRef in parallelsDomainBlockStats as we could wait on domain lock down on stack in prlsdkGetStatsParam and if we won't keep reference we could get dangling pointer on return from wait. Signed-off-by: NNikolay Shirokovskiy <nshirokovskiy@parallels.com>
-
- 03 6月, 2015 5 次提交
-
-
由 Maxim Nestratov 提交于
We remember driver name in a new field 'drivername' within private parallels connection structure. When a new domain is defined we use this name to set corresponding virtType. We set VIR_DOMAIN_VIRT_VZ for 'vz' driver and VIR_DOMAIN_VIRT_PARALLELS for 'Parallels'. Signed-off-by: NMaxim Nestratov <mnestratov@parallels.com>
-
vz:///system由 Maxim Nestratov 提交于
Though parallels:///system is still accepted we will encourage users to use vz:///system instead. Signed-off-by: NMaxim Nestratov <mnestratov@parallels.com>
-
由 Maxim Nestratov 提交于
We add this connection driver just as an exact copy with different name to keep backward compatibility. Vz stands for Virtuozzo, which is a new name of Parallels Cloud Server. Signed-off-by: NMaxim Nestratov <mnestratov@parallels.com>
-
由 Maxim Nestratov 提交于
If 'parallels:///system' uri is specified then connection is made to 'Parallels' driver and domain type will be VIR_DOMAIN_VIRT_PARALLELS. In case of 'vz:///system' connection is established to 'vz' driver and domain type will be VIR_DOMAIN_VIRT_VZ. Signed-off-by: NMaxim Nestratov <mnestratov@parallels.com>
-
由 Maxim Nestratov 提交于
Signed-off-by: NMaxim Nestratov <mnestratov@parallels.com>
-
- 13 5月, 2015 1 次提交
-
-
由 Nikolay Shirokovskiy 提交于
We have a lot of passing arguments code just to pass connection object cause it holds jobTimeout. Taking into account that right now this value is defined at compile time let's just get rid of it and make arguments list more clear in many places. In case we later need some runtime configurable timeout value we can provide this value through arguments function already operate such as a parallels domain object etc as this timeouts are operation( and thus object) specific in practice. Signed-off-by: NNikolay Shirokovskiy <nshirokovskiy@parallels.com>
-
- 29 4月, 2015 1 次提交
-
-
由 Maxim Nestratov 提交于
New functions utilize previosly added prlsdkDelDisk and prlsdkGetDiskIndex Signed-off-by: NMaxim Nestratov <mnestratov@parallels.com>
-
- 24 4月, 2015 2 次提交
-
-
由 Michal Privoznik 提交于
Every domain that grabs a domain object to work over should reference it to make sure it won't disappear meanwhile. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Dmitry Guryanov 提交于
Since we haven't implemented balloon parameters tuning we can just return amount of memory in this function. Signed-off-by: NDmitry Guryanov <dguryanov@parallels.com>
-
- 23 4月, 2015 1 次提交
-
-
由 Michal Privoznik 提交于
Instead of each API copying the same lines of code, lets use the generic function designed just for that purpose. At the same time, drop useless connection object locking in some functions. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
- 22 4月, 2015 1 次提交
-
-
由 Maxim Nestratov 提交于
Also a typo is fixed (s/detached/attached/) Signed-off-by: Maxim Nestratov mnestratov@parallels.com
-
- 21 4月, 2015 4 次提交
-
-
由 Cole Robinson 提交于
This needs to specified in way too many places for a simple validation check. The ostype/arch/virttype validation checks later in DomainDefParseXML should catch most of the cases that this was covering.
-
由 Cole Robinson 提交于
-
由 Cole Robinson 提交于
-
由 Cole Robinson 提交于
Rather than an opencoded string. This should be a no-op
-
- 13 4月, 2015 2 次提交
-
-
由 Alexander Burluka 提交于
That function uses domainAttachDeviceFlags Signed-off-by: NAlexander Burluka <aburluka@parallels.com>
-
由 Alexander Burluka 提交于
Parallels Cloud Server supports block devices and virtual NIC live attachment. I implemented that function for block devices so OpenStack volume attachment is now works. Signed-off-by: NAlexander Burluka <aburluka@parallels.com>
-
- 10 4月, 2015 3 次提交
-
-
由 Dmitry Guryanov 提交于
PCS doesn't store domain config in managed save state file. It's forbidden to change config for VMs in this state. It's possible to change config for containers, but after restoring domain will have that new config, not a config, which domain had at the moment of virDomainManagedSave. So we need to handle this case differently from other states. Let's forbid this operation, if config is changed and if it's not changed - just do nothing. Openstack/nova calls virDomainDefineXML on resume with current domain config, so we can't forbid this operation in managed save state. Signed-off-by: NDmitry Guryanov <dguryanov@parallels.com>
-
由 Dmitry Guryanov 提交于
Network adapter model has no sense for container, so we shouldn't set it to e1000 in parallelsDomainDeviceDefPostParse. Signed-off-by: NDmitry Guryanov <dguryanov@parallels.com>
-
由 Dmitry Guryanov 提交于
Implement virDomainManagedSave api function. In PCS this feature called "suspend". You can suspend VM or CT while it is in running or paused state. And after resuming (or starting) it will have the same state, as before suspend. Signed-off-by: NDmitry Guryanov <dguryanov@parallels.com>
-
- 23 3月, 2015 1 次提交
-
-
由 Peter Krempa 提交于
Add a XML element that will allow to specify maximum supportable memory and the count of memory slots to use with memory hotplug. To avoid possible confusion and misuse of the new element this patch also explicitly forbids the use of the maxMemory setting in individual drivers's post parse callbacks. This limitation will be lifted when the support is implemented.
-
- 19 3月, 2015 1 次提交
-
-
由 Maxim Nestratov 提交于
and set adapter model specified in xml Signed-off-by: NMaxim Nestratov <mnestratov@parallels.com> Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
- 17 3月, 2015 1 次提交
-
-
由 Maxim Nestratov 提交于
Signed-off-by: NMaxim Nestratov <mnestratov@parallels.com>
-
- 16 3月, 2015 1 次提交
-
-
由 Peter Krempa 提交于
As there are two possible approaches to define a domain's memory size - one used with legacy, non-NUMA VMs configured in the <memory> element and per-node based approach on NUMA machines - the user needs to make sure that both are specified correctly in the NUMA case. To avoid this burden on the user I'd like to replace the NUMA case with automatic totaling of the memory size. To achieve this I need to replace direct access to the virDomainMemtune's 'max_balloon' field with two separate getters depending on the desired size. The two sizes are needed as: 1) Startup memory size doesn't include memory modules in some hypervisors. 2) After startup these count as the usable memory size. Note that the comments for the functions are future aware and document state that will be present after a few later patches.
-
- 12 3月, 2015 1 次提交
-
-
由 Maxim Nestratov 提交于
as soon as x32 architecture is also supported
-
- 11 3月, 2015 2 次提交
-
-
由 Maxim Nestratov 提交于
Signed-off-by: NMaxim Nestratov <mnestratov@parallels.com>
-
由 Maxim Nestratov 提交于
Signed-off-by: NMaxim Nestratov <mnestratov@parallels.com>
-
- 05 3月, 2015 1 次提交
-
-
由 Michal Privoznik 提交于
Well, the parallelsConnectOpen() joins several sub-driver openings into one big if condition. If any of sub-driver fails to open, the whole API finishes immediately. The problem is, sub-drivers may have left some memory allocated. Fortunately, we have a free function for that: parallelsConnectClose(). This is, however, not prepared for partially allocated driver structure. So, prepare the free function for it and call it at the right place, in the if body. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
- 06 2月, 2015 1 次提交
-
-
由 Ján Tomko 提交于
Return 0 instead of ERR_NO_SUPPORT in each driver where we don't support managed save or -1 if the domain does not exist. This avoids spamming daemon logs when 'virsh dominfo' is run. https://bugzilla.redhat.com/show_bug.cgi?id=1095637
-
- 27 1月, 2015 1 次提交
-
-
由 Daniel P. Berrange 提交于
For stateless, client side drivers, it is never correct to probe for secondary drivers. It is only ever appropriate to use the secondary driver that is associated with the hypervisor in question. As a result the ESX & HyperV drivers have both been forced to do hacks where they register no-op drivers for the ones they don't implement. For stateful, server side drivers, we always just want to use the same built-in shared driver. The exception is virtualbox which is really a stateless driver and so wants to use its own server side secondary drivers. To deal with this virtualbox has to be built as 3 separate loadable modules to allow registration to work in the right order. This can all be simplified by introducing a new struct recording the precise set of secondary drivers each hypervisor driver wants struct _virConnectDriver { virHypervisorDriverPtr hypervisorDriver; virInterfaceDriverPtr interfaceDriver; virNetworkDriverPtr networkDriver; virNodeDeviceDriverPtr nodeDeviceDriver; virNWFilterDriverPtr nwfilterDriver; virSecretDriverPtr secretDriver; virStorageDriverPtr storageDriver; }; Instead of registering the hypervisor driver, we now just register a virConnectDriver instead. This allows us to remove all probing of secondary drivers. Once we have chosen the primary driver, we immediately know the correct secondary drivers to use. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
- 16 1月, 2015 1 次提交
-
-
由 Daniel P. Berrange 提交于
The virDomainDefineXMLFlags and virDomainCreateXML APIs both gain new flags allowing them to be told to validate XML. This updates all the drivers to turn on validation in the XML parser when the flags are set
-
- 14 1月, 2015 1 次提交
-
-
由 Daniel P. Berrange 提交于
The virDomainDefParse* and virDomainDefFormat* methods both accept the VIR_DOMAIN_XML_* flags defined in the public API, along with a set of other VIR_DOMAIN_XML_INTERNAL_* flags defined in domain_conf.c. This is seriously confusing & error prone for a number of reasons: - VIR_DOMAIN_XML_SECURE, VIR_DOMAIN_XML_MIGRATABLE and VIR_DOMAIN_XML_UPDATE_CPU are only relevant for the formatting operation - Some of the VIR_DOMAIN_XML_INTERNAL_* flags only apply to parse or to format, but not both. This patch cleanly separates out the flags. There are two distint VIR_DOMAIN_DEF_PARSE_* and VIR_DOMAIN_DEF_FORMAT_* flags that are used by the corresponding methods. The VIR_DOMAIN_XML_* flags received via public API calls must be converted to the VIR_DOMAIN_DEF_FORMAT_* flags where needed. The various calls to virDomainDefParse which hardcoded the use of the VIR_DOMAIN_XML_INACTIVE flag change to use the VIR_DOMAIN_DEF_PARSE_INACTIVE flag.
-
- 13 1月, 2015 2 次提交
-
-
由 Daniel P. Berrange 提交于
The virDomainDefParseString method will report a suitable error on parsing fail, so don't replace that.
-
由 Daniel P. Berrange 提交于
Make sure every virt driver implements virDomainDefineXMLFlags by adding a trivial passthrough from the existing impl with no flags set.
-