| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |/ / / / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Change-Id: If2507256abcb609e7e3ee45d1585b7ba85624dee
|
| |\ \ \ \ \ \ \ \ |
|
| | |/ / / / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Fixes LP Bug #962515.
Change-Id: Iee895604f8e9101a341a5909fc5ba2dd8e708b4b
|
| |/ / / / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Adding a get_instance_uuids_by_ip_filter to the
QuantumManager. Also adds the supporting calls in
melange_ipam_lib an connector to support this. It
currently only works with Melange, I still need to
add a conditional that falls back on the original
implementation in the FlatManager if not using
Melange.
update: rebase
Change-Id: I9468de130c6cd1e0520f9d92c43f98aa6b36dce6
|
| |/ / / / / /
| | | | | |
| | | | | |
| | | | | | |
Change-Id: I06db6653784eb298ef7f78ebe99865b9c635aade
|
| |\ \ \ \ \ \ |
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
When this code was written, I (incorrectly) believed a periodic
task tick was about a second. It turns out that by default they're
between 60 seconds and 120 seconds depending on a random value.
Therefore, reduce the interval to something more reasonable.
Change-Id: Id840c755f954e3e371d7238243f2248e8d402c7b
|
| | |_|/ / / /
|/| | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This is a logic error in the code. A missing checksum should not
imply that the image is corrupt. Note that corrupt images are only
logged, not removed, so there is no data loss for users with this
bug.
Change-Id: Ic644517d3b8e9646fe943e5cef485c4168ebb5b5
|
| |\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
* Remove references to deprecated NotAuthorized exception
* Handle Forbidden and NotAuthenticated
* Fixes bug 965540
Change-Id: Ib5eef3015239e0fafdb01c975a0f5d553f70519e
|
| |\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Fixes bug 963630
Since deletes are allowed during RESIZE_VERIFY, we need to ensure that
the original instance is also deleted so we don't leak resources.
Change-Id: Ibfd5ad4e427c247f1cd5fddcf4f43b30839a6c4f
|
| |\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
|
| | | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The shared storage check for live and block migration is currently
very confusing e.g.
* The mounted_on_same_shared_storage() method raises FileNotFound
for the caller to catch rather than just returning a boolean to
indicate whether the hosts share storage
* mounted_on_same_shared_storage() has a "filename is not None" check
in its finally clause which doesn't make sense
* InvalidSharedStorage is not raised in the live migration case,
* instead
FileNotFound is raised
Clean all this up by having mounted_on_same_shared_storage() simply
return a boolean and have simple logic to raise InvalidSharedStorage for live
migration where no shared storage is available or for block migration where
shared storage is available.
Change-Id: I96f354fe41d9ce77c4cc98903f0d5a9de99ac4f6
|
| |\ \ \ \ \ |
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Fixes bug 963656
Reverting a resize would end up setting the instance ACTIVE before the
driver had finished all of the work starting up the original instance.
If the instance is deleted quickly after the revert, a race condition
could occur between restarting the original instance and deleting it.
Change-Id: Iba26ad7d1bc1049137f94e13898be86698963fb3
|
| | |/ / / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Fixes bug 965667
Unrescue did not check for InstanceInvalidState exception and return the
appropriate error.
Change-Id: I3ca2c1dae09bd149086bfe67e2233c8359d5c8f8
|
| |\ \ \ \ \
| |/ / / /
|/| | | | |
|
| | |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This patch addresses a minor performance regression in a recent change
to this function. This change ensures that the deep copy is only done
if we really need to. Previously, the deep copy was being done for all
messages that included a 'method', not just messages with a method that
contain an argument to be sanitized.
Change-Id: I190c5963ecaf70b0aea4e12a2fdc19deb5c1fea2
|
| |\ \ \ \ |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Fixes bug #965069
Looks like this never worked. The dest of the infile and outfile
arguments sets up an unknown kwarg.
Change-Id: I428f56564b39f5586229325db03dccb0b4a01ef6
|
| |\ \ \ \ \
| |_|/ / /
|/| | | | |
|
| | |/ / /
| | | |
| | | |
| | | |
| | | |
| | | | |
This would have caught bug #964843
Change-Id: Id871a81ee4d5d639fd0e976b71bcd860623f6e4c
|
| |\ \ \ \
| |/ / /
|/| | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Just putting this out there... I'm pretty sure that
import nova.flags
comes after
from nova.endpoint import cloud
Unless I'm totally misunderstanding how this is supposed to work,
which is likely.
Change-Id: I51096ab25dbca42d73a593872b83b25f2c451210
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Remove a line setting a stale xml_info variable.
This caused failures when performing a rebuild w/ libvirt.
Fixes LP Bug #964843.
Change-Id: If8cbdb3198742d488325153c50d90a2ece67a3af
|
| |\ \ \ \
| |_|_|/
|/| | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* The compute versions controller changed during a refactor and broke
the volume versions controller (since we are using it as a base class)
* Added naive test
* fixes bug 963357
Change-Id: Ica9c65952b800d316d264db11f89e369e56bcade
|
| |\ \ \ \
| |_|_|/
|/| | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Fixes MultiStrOpt, plus also adds secret kwarg for sanitizing logs
Change-Id: I87b979b38084f82b012872054262fc49d291e99e
|
| |\ \ \ \ |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Fixes bug 962665
This random delay is intended to reduce the stampeding behavior
associated with periodic tasks when compute workers are restarted in
unison across a cluster.
Change-Id: Ie3771d94af29049061c129b8ea562ee447a61771
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Replace the test case for checking XML template info which was
deleted earlier, with a new test case checking the XML config
objects.
blueprint libvirt-xml-config-apis
Change-Id: I1ddd945111dcde0e67aba280bf0d11a8dab6c44a
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
|
| | |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Extend the libvirt config APIs to include a new class
LibvirtConfigGuestSnapshot for storing information about
guest snapshots
blueprint libvirt-xml-config-apis
Change-Id: Icc54f6f5cf41b05d904659e0a337bddb4bef5733
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
|
| | |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Currently the libvirt connection class uses a Cheetah template to
build up the CPU XML document, for doing host CPU comparisons.
Remove this template and replace it with use of the new config
API LibvirtConfigCPU
The nova 'cpu_xml_template' configuration parameter is also removed since
it is now obsolete
blueprint libvirt-xml-config-apis
Change-Id: I1d608f5f9d77302a9e08486f67ad3a39b224e9d5
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
|
| | |/
|/|
| |
| |
| |
| |
| |
| |
| |
| | |
Extend the libvirt config APIs to include a new class
LibvirtConfigCPU for storing host/guest CPU configuration
data
blueprint libvirt-xml-config-apis
Change-Id: Ib508637c1e0ca69860d461b0a480347c59165e6b
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Remove the entire Cheetah XML template for libvirt guests
and make the libvirt connection class use LibvirtConfingGuest
classes instead
The nova 'libvirt_xml_template' config parameter is now obsolete
and removed.
blueprint libvirt-xml-config-apis
Change-Id: I5ff4ed7cbc69c8c141db840f4d6fc368a13f7f7a
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Originally the NIC devices were listed in the XML after the
disk devices. Restore that order, simply for consistency.
No functional change.
blueprint libvirt-xml-config-apis
Change-Id: If62446292850d58e133b0c4cc42ca83018e1fca1
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
|
| |/
|
|
|
|
|
|
|
|
| |
Remove all the <disk> elements from the Cheetah XML template
and make the libvirt connection class use the LibvirtConfigGuestDisk
class for them instead
blueprint libvirt-xml-config-apis
Change-Id: I0f09a86e72e5e34bbd780b31177a65eb40fb5419
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
|
| |
|
|
|
|
|
|
|
|
| |
Remove the <filesystem> element from the Cheetah XML template
and make the libvirt connection class use the LibvirtConfigGuestFilesys
class for it instead
blueprint libvirt-xml-config-apis
Change-Id: I9dad031703161d1dff86af03eff7b1ebf657fc0c
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
|
| |
|
|
|
|
|
|
|
|
| |
Remove the <input> elements form the Cheetah XML template
and make the libvirt connection class use the LibvirtConfigGuestInput
class for it instead
blueprint libvirt-xml-config-apis
Change-Id: I4fba2ddae2d32b0ff49685245fd905651885b61b
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
|
| |
|
|
|
|
|
|
|
|
| |
Remove the <serial> and <console> elements from the Cheetah XML template
and make the libvirt connection class use the LibvirtConfigGuestConsole
and LibvirtConfigGuestSerial classes for them instead
blueprint libvirt-xml-config-apis
Change-Id: I67031dad2969c9b36e2fe9230689c1b7bfbecfce
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
|
| |
|
|
|
|
|
|
|
|
| |
Remove the <graphics> element from the Cheetah XML template and
make the libvirt connection class use the LibvirtConfigGuestGraphics
class for it instead
blueprint libvirt-xml-config-apis
Change-Id: Ifa18cab2aa6983c9439c6230a9109e40a6a0bbe3
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The classes in the libvirt/vif.py file build up dictionaries
and partial XML snippets, which are then passed onto Cheetah
templating for XML generation. Instead of building up
dictionaries of parameters, return LibvirtConfigGuestInterface
object instances instead
blueprint libvirt-xml-config-apis
Change-Id: I4e977225e21219f408dd729ac280dcbfc6b8ba8f
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
The classes in the libvirt/volume.py file build up XML
strings using printf style substitutions. Convert this
over to use the LibvirtConfigGuestDisk config class
instead
blueprint libvirt-xml-config-apis
Change-Id: Ied1fad47db6fb23b74edc4405015768c764a4d10
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
|
| |
|
|
|
|
|
|
|
|
| |
The test_preparing_xml_info test case is about to be intentionally
broken by refactoring in following patches. It will be replaced
by a new test at the end
blueprint libvirt-xml-config-apis
Change-Id: I2c5f19a071983e581ed5ed3bc8a84e14fbb6897b
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With the current Cheetah template based approach to XML
generation, there is never any canonical representation
of the guest configuration. When generating XML, a hash
is filled in with parameters to be used to generate XML,
an even some pre-built XML snippets. When reading XML,
typically XPath is used, but sometimes manual DOM traversal
is used.
This change introduces a set of classes for explicitly
representing the guest configuration. They are intended
to allow the guest config to be read/written using normal
programatic APIs, avoiding the need for any code to know
about XML.
This first impl though, only supports writing of XML.
The code to parse an existing XML doc is not yet written.
The class hierarchy is as follows
LibvirtConfigObject
|
+ LibvirtConfigGuest
+ LibvirtConfigGuestDevice
|
+- LibvirtConfigGuestDisk
+- LibvirtConfigGuestFilesys
+- LibvirtConfigGuestInterface
+- LibvirtConfigGuestInput
+- LibvirtConfigGuestGraphics
+- LibvirtConfigGuestChar
|
+- LibvirtConfigGuestSerial
+- LibvirtConfigGuestConsole
The base LibvirtConfigObject class provides some generic
boilerplate code. Subclasses need to override the "format_dom"
method for generating XML DOMS, and "parse_dom" for reading XML
DOMs. The conversion from DOM <-> XML String is handled by
the base class. The DOMs are based on the lxml.etree.Element
class.
* nova/tests/test_libvirt_config.py: Test cases for XML formatting
of all config object classes
* nova/virt/libvirt/config.py: Config object classes for libvirt
guest XML schema
blueprint libvirt-xml-config-apis
Change-Id: I0474b6640b47ad0e5bb74503a5ff99a8a41bcdc4
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The FUSE module does not (currentl) support O_DIRECT on files.
This prevents QEMU from starting guests using 'cache=none' for
their disks located on a GlusterFS filesystem. The same also
applies for a handful of other filesystems (notably tmpfs, or
any other FUSE filesystem).
This patch introduces a startup check in Nova compute service
which tries to create a file $instances_path/.direct_io.test
using the O_DIRECT flag. If this succeeds, then cache=none
will be used for all disks, otherwise it will fallback to
using cache=writethrough. While the latter does not have
performance which is as consistent as cache=none, it is still
host-crash safe and preserves data integrity with migration,
if the filesystem is cache coherant (cluster filesystems like
GlusterFS are, NFS by constrast is not).
By doing the dynamic check for O_DIRECT, we ensure that if
future FUSE modules gain O_DIRECT support, Nova will automatically
do the right thing.
* nova/tests/test_libvirt.py: Stub out os.open in
the _check_xml_and_disk_driver() to enable testing of
both O_DIRECT and non-O_DIRECT code paths
* nova/tests/test_virt_drivers.py: Set instances_path to
the current directory
* nova/virt/libvirt.xml.template: Replace hardcoded 'none'
string with the '$cachemode' variable for all disks.
Add missing 'cache' attribute for the config disk
* nova/virt/libvirt/connection.py: Check whether O_DIRECT
is supported on the "FLAGS.instances_path" directory
and use 'none' for cachemode if it is, 'writethrough'
otherwise
Bug: 959637
Change-Id: I60cbff1c3ad8299fe2aa37099390f9235f6724d0
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
|
| |\ \ |
|