Commit Graph

219 Commits

Author SHA1 Message Date
Johannes Erdfelt
93874bacf7 Use 'root' instead of 'os' in XenAPI driver
Instance types define disk names as root, swap and ephemeral. The
XenAPI driver however uses os, swap and ephemeral. Standardize on
calling them 'root' disks instead of 'os' disks.

Change-Id: Ia34346d463d06cb971537c305602926ceb0dc175
2012-04-09 18:20:21 +00:00
Jenkins
edca430b52 Merge "Fixes bug 954833 By adding the execute bit to the xenhost xenapi plugin" 2012-03-14 18:47:07 +00:00
Dan Prince
a236fdd380 Update transfer_vhd to handle unicode correctly.
Python 2.4's shlex implementation doesn't seem to like unicode.
This updates the XenServer migration plugin so it converts to
ascii before shlex'ing the rsync args.

Fixes OSAPI resizes when using XenServer.

Fixes LP Bug #955064.

Change-Id: I7f2681bfe64ccde449a87c68b9739866a381a213
2012-03-14 10:53:36 -04:00
John Garbutt
722c54a069 Fixes bug 954833
By adding the execute bit to the xenhost xenapi plugin

Change-Id: Id1e12b84ef5c9a286d86a32b3ea1c7f3c83be47c
2012-03-14 09:36:11 +00:00
Alex Meade
00592cfa0b Use cPickle and not just pickle.
Fixes bug 953423

cPickle is up to 1000 times faster than pickle. We should use it instead.

Change-Id: I1facbdcf60d88c9fba56687abf75524498d2502e
2012-03-12 21:50:15 +00:00
Mark Washenberger
e6b70b5c37 Increase logging for xenapi plugin glance uploads
Without this change, the glance plugin is pretty quiet about image
uploads. But it can definitely be helpful to debugging to have
information such as which glance server is handling the upload, how much
data was sent, and more information about the glance server response if
it was something other than 200 OK.

Change-Id: I0269478ad1061fc2021ef4b5d9c3c1dea9b2f6cb
2012-03-08 14:02:49 -05:00
Rick Harris
1da6a00a3b Validate VDI chain before moving into SR.
Fixes bug 949477

Change-Id: Ia3f283d82f189e680c5c8dd4fcf71bf5fe5f9889
2012-03-08 03:43:22 +00:00
Jenkins
a231acabb6 Merge "Fixes bug 942556 and bug 944105" 2012-03-06 19:37:21 +00:00
Johannes Erdfelt
c4a2e17dcf Retry download_vhd with different glance host each time
Fixes bug 944096

Change-Id: I33aa3774ba7f266e85f09c6c569fdd0f895478b4
2012-03-02 19:14:13 +00:00
John Garbutt
37a392dc4c Fixes bug 942556 and bug 944105
Ensures the calls in the xenhost plugin work when the host is in
a xenserver pool managed by the host aggregates feature.

Change-Id: I51ca6b9f6d0e8d86d53afde5bf46cfabde17a44e
2012-03-02 16:03:56 +00:00
Mark Washenberger
0d487d4f23 Copy data when migration dst is on a different FS
Fixes bug 939916

Change-Id: I678e15a13f99b59b16bd446f566b2c48dcba6057
2012-02-23 20:01:14 -05:00
Armando Migliaccio
939f082cc2 blueprint host-aggregates: host maintenance - xenapi implementation
this changeset introduces the following:

- refactoring around host-related operations for xenapi
- increased test coverage
- first cut at implementing host evacuation for a XS/XCP host

Change-Id: I8509cdde95f6777ecfa928663b0c4bedbccf5d38
2012-02-23 13:28:21 +00:00
Jenkins
60cec0a7f5 Merge "blueprint host-aggregates: improvements and clean-up" 2012-02-22 17:20:24 +00:00
Jenkins
be56fd77ad Merge "Clarify use of Use of deprecated md5 library" 2012-02-22 16:53:11 +00:00
Armando Migliaccio
424de7eea2 blueprint host-aggregates: improvements and clean-up
This changeset addresses a number of issues found during testing:

- avoid name conflicts during aggregate creation (see db/* changes)
- avoid masking of XenAPI.Failure if pool-join fails (see plugins/* changes)
- preserve VM placement decisions made during scheduling (see xenapi/vmops.py)
- ensure plugins are called on the right hosts in XS pools (see xenapi_con.py)
- stores master uuid in aggregate metadata for use in VM live migration and
  raise InvalidAction rather than Aggregate error if we attempt to remove
  a mster (see xenapi/pool.py and compute/manager.py)
- clean-up of unit tests

Change-Id: I881a94d87efe1e81bd4f86667e75f5cbee50ce91
2012-02-22 10:40:09 +00:00
Jenkins
c4ff7ef07c Merge "blueprint host-aggregates: xenapi implementation" 2012-02-22 03:22:30 +00:00
Armando Migliaccio
424f32f04d blueprint host-aggregates: xenapi implementation
This commit introduces some clean-up/improvements on the current model
and api for host aggregates. It also introduces a first version of the
xenapi implementation. More precisely:

- it lays out the structure of the virt driver,
- it introduces compute and xenapi unit tests coverage,
- it deals with join/eject of pool master and slaves,
- it fixes xenapi_conn, when used in resource pool configurations

More commits to follow (to ensure that VM placement, networking setup,
performance metrics work just as well in cases where resource pools
are present). However, these may be outside the scope of this blueprint
and considered as ad-hoc bug fixes.

Change-Id: Ib3cff71160264c5547e1c060d3fd566ad87337cb
2012-02-21 22:43:49 +00:00
Rick Harris
043347267b Avoid copying file if dst is a directory.
Fixes bug 938153

`shutil.move` in Python 2.4 will fallback to copying the file if dst is
a directory. See http://bugs.python.org/issue1577.

Change-Id: I2390337d82db5a72fef0e63877401134b1dcca55
2012-02-21 22:00:03 +00:00
Joe Gordon
1fc7c0c534 Clarify use of Use of deprecated md5 library
See Invalid bug 937463 for more details
Also change run_tests.sh to ignore more '*.pyc' files

Change-Id: I8c8ded902833fe4268966ff7a9630daaaad43a19
2012-02-21 09:06:08 -08:00
Johannes Erdfelt
3a95d451ed Catch httplib.HTTPException as well
Fixes bug 932927

None of the httplib exceptions will get converted into urllib2 exceptions

Change-Id: Iad72821fa1ed54fdb213b371223e94e183dec334
2012-02-15 18:52:40 +00:00
Devdeep Singh
6c3bc216c1 Changes for supporting fast cloning on Xenserver.
Implements blueprint fast-cloning-for-xenserver
	1. use_cow_images flag is reused for xenserver to check if copy on write images should be used.
	2. image-id is used to tag an image which has already been streamed from glance.
	3. If cow is true, when an instance of an image is created for the first time on a given xenserver, the image is streamed from glance and copy on write disk is created for the instance.
	4. For subsequent instance creation requests (of the same image), a copy on write disk is created from the base image that is already present on the host.
	5. If cow is false, when an instance of an image is created for the first time on a host, the image is streamed from glance and its copy is made to create a virtual disk for the instance.
	6. For subsequent instance creation requests, a copy of disk is made for creating the disk for the instance.
	7. Snapshot creation code was updated to handle cow=true. Now there can be upto 3 disks in the chain. The base disk needs to be uploaded too.
	8. Also added a cache_images flag. Depending on whether the flag is turned on on not, images will be cached on the host.

Change-Id: I54838a24b061c134877f3479c925c6ee78da14bc
2012-02-13 09:31:01 +05:30
Rick Harris
4cad8add20 Send image properties to Glance
Fixes bug 928549

Change-Id: Ie89e9c49c1fe25ed4acd680dd8c2c5e84173cdcd
2012-02-07 23:34:48 +00:00
Armando Migliaccio
a5d5368a46 Bug #921730: plugins/xenserver/xenapi/etc/xapi.d/plugins/objectstore no longer in use
remove the plugin and update resources accordingly.

Change-Id: Ib4184c9b81b40e6892886c71fd8de09ba55322af
2012-01-26 14:09:26 +00:00
Salvatore Orlando
eac7888e72 Blueprint xenapi-security-groups
Provides two drivers for implementing security groups in xenapi:
1) domU driver that enforces security groups on the Openstack virtual appliance (use advised with FlatDHCP in HA mode)
2) dom0 driver that enforces security groups where VIFs are attached

Both drivers translate security groups into iptables rules.
Existing libvirt code has been refactored to reduce the amount of duplicated code to a minimum

Now Addressing reviewers's comments on style. Fixing issue spotted with snapshots
Change-Id: Ifa16a8f2508a709be03241bac0f942fe1a51d1e8
2012-01-10 17:16:31 +00:00
Dan Prince
93359c8476 Update glance Xen plugin w/ purge props header.
Update glance XenServer plugin to use X-Glance-Registry-Purge-Props.
Fixes LP Bug #908922.

Change-Id: I4d16fc8fb34e24195f3bc589d42bdbfadaf77398
2011-12-26 22:14:39 -05:00
Johannes Erdfelt
c25f7e7e83 Implement resize down for XenAPI
This patch implements resizing an instance to a smaller disk. It implements
this by copying the VDI and running e2resize, before transferring to the
new host.

Change-Id: Ic901a59cb6cdb79605c70528cf85064d8335ee2f
2011-12-02 15:58:58 +00:00
Naveed Massjouni
9dbcd8bbc7 Replacing instance id's in in xenapi.vmops and the xen plugin with
instance uuids. The only references to instance id's left are calls to
the wait_for_task() method. I will address that in another branch.
blueprint: internal-uuids

Change-Id: I268706f2429e47195a97054187ff7da8c55e3719
2011-12-02 00:04:54 -05:00
Mark Washenberger
a46e2a6e00 Workaround xenstore race conditions
Change-Id: I17791a78c2008e1bdc41f4f658200808ee72629c
2011-11-18 17:37:48 -05:00
Jenkins
7c34941b89 Merge "Add logging, error handling to the xenstore lib." 2011-11-16 21:19:31 +00:00
Rick Harris
84ac4d84ab Replacing disk config extension to match spec.
Related to instance-disk-management blueprint.

Change-Id: I84689583562f23356064a502577b2924bcbbc460
2011-11-16 14:12:03 -06:00
Mark Washenberger
c51104ab01 Add logging, error handling to the xenstore lib.
Change-Id: If007ba117105d63b1eecfee5b8941d98032d2c9a
2011-11-15 16:21:54 -05:00
Mark Washenberger
89f2fb00b9 Add more error handling to glance xenapi plugin
Also add some extra logging to help track down problems that occur
when getting images from glance.

Change-Id: I2246d06364211ae377c7a89f93a76f339a201a8d
2011-11-10 10:41:29 -05:00
Brian Lamar
9a32891107 Switch glance XenAPI plugin to use urllib2.
Currently the plugin uses httplib which does not handle redirects
natively. XenAPI plugins require Python 2.4+ so using httplib2
as far as I know is not a possibility.

(Patch Set 2) Oops, forgot to PEP8 before putting up for review.
(Patch Set 3) Updated logging to be more verbose as per Waldon

Change-Id: I189093fe26dfee30b5b8b3c0f2c21a35fbfbc05e
2011-11-08 11:17:41 -05:00
Naveed Massjouni
1b7fba648a Adding support for retrying glance image downloads.
Change-Id: Ifff40d90f7dc61a6d41ae2d6908d6e1e6f0aea7e
2011-10-26 14:48:46 -04:00
Johannes Erdfelt
80e196069f Restructure host filtering to be easier to use.
The original design for host filtering in the scheduler required the
entire filtering process be contained in a single class; contrast this
with the design for weighting the hosts, which allowed you to specify
a list of functions that would apply various weighting factors to the
hosts.

This commit modifies the filtering process to resemble the way that
the weighting process is designed. Filters can now be small, focused
classes, and you specify which filters to apply by setting the
'FLAGS.default_host_filters' flag to a list of the filter classes
that match your needs.

This is a port of the code from Launchpad, where it was orphaned:

https://code.launchpad.net/~ed-leafe/nova/scheduler-multifilter/+merge/72478

Change-Id: I5f3eff6f21409a9f0eddda3392e9ff9d03039ebe
2011-10-04 23:03:43 +00:00
Johannes Erdfelt
6574d1bb17 Make snapshots private by default
Fixes bug 850389

Change-Id: I22284c2f71b77aaa1aff0c0679320664cd23dae2
2011-09-28 03:22:41 +00:00
Dan Prince
21da183ede Make sure options is set before checking managed_disk setting. Fixes bug 860520.
Change-Id: I83c6c1cdb8e11959d6af5c08827e9f9ce82a5913
2011-09-27 08:58:54 -04:00
Jenkins
a51533729a Merge "Adds disk config" 2011-09-27 05:05:35 +00:00
Dan Prince
14eb9c6ec9 Call endheaders when auth_token is None. Fixes bug 856721.
Change-Id: I2be932d3c532a7be03a0e5296e592e681c05b75d
2011-09-26 13:40:00 -04:00
Matt Dietz
774b5aaa17 Adds disk config
Change-Id: If3e1765b659ead77f9cdaaa86ee8478a82bf67c0
2011-09-23 15:38:36 -05:00
Rick Harris
5652459c41 Fixing list prepend 2011-09-16 20:07:38 +00:00
Rick Harris
6f3ae6e1e5 Allowing resizes to the same machine 2011-09-16 00:22:31 +00:00
Dan Prince
9482275a60 Update GlanceClient, GlanceImageService, and Glance Xen plugin to work with
Glance keystone.
2011-09-10 13:56:54 -04:00
Ed Leafe
ecc4e9ee38 Added the host 'enabled' status to the host_data returned by the plugin. 2011-08-17 19:58:22 +00:00
Ed Leafe
fee2812193 Fixed typo found in review 2011-08-08 21:46:33 +00:00
Ed Leafe
8f6b59f0a1 Merged trunk. 2011-08-08 20:06:54 +00:00
Ed Leafe
de23e5ad63 cleaned up unneeded line 2011-08-08 20:03:14 +00:00
Ed Leafe
b23387ef7a Review fixes 2011-08-08 17:34:42 +00:00
Ed Leafe
6dcea0da62 Merged trunk 2011-08-08 15:34:04 +00:00
Ed Leafe
966b7218a0 Merged trunk 2011-08-08 15:31:29 +00:00