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
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
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
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
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
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
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
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
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
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
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
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
Also add some extra logging to help track down problems that occur
when getting images from glance.
Change-Id: I2246d06364211ae377c7a89f93a76f339a201a8d
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
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