| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |/ / / / / / / / /
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Updates the compute manager so that it passes the correct
arguments to the scheduler API's run_instance function.
Fixes the following exception which will occur if an instance
is rescheduled:
TypeError: run_instance() got an unexpected keyword argument
'reservations'
As part the fix the FakeSchedulerAPI we use in test_compute.py
has been updated to match the arguments of the real scheduler API.
Fixes LP Bug #1038193.
Change-Id: I25782b79a7b19013b25cb94cc5569b5aa83a2df0
|
| |\ \ \ \ \ \ \ \ \ |
|
| | | |/ / / / / / /
| |/| | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Fixes bug #932137
Usage of logging seems to be limited to the check_for_export() tests and
should be to cleanup. check_for_export() raises an exception if there's
a problem and it does nothing if it succeeds. The tests should just
check whether an exception was raised.
Change-Id: I411948031baeb7e36e6b15b9f31446a100da77d7
|
| |\ \ \ \ \ \ \ \ \ |
|
| | | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
This code was using pool, but this variable did not exist. It was
erroneously removed in f50ce35c9cf2e05d205485586da1cb6d5433ba56.
This patch fixes the bug, as well as introduces unit tests for this API
that would have caught the problem.
Part of bug 1037183.
Change-Id: I0784aa314a0224198049dbcbe160084bdd1deee1
|
| |\ \ \ \ \ \ \ \ \ \ |
|
| | | |_|/ / / / / / /
| |/| | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Our new lockfile code works fine if the locks already exist, but
it is annoying to pollute the source tree with lockfiles in the
tests.
This modifies the lockfile code slightly to use a tempdir if
lock_path is none. Note that a tempdir will not work in production
but it is fine for testing. We set the lock_path to None in the
testing flags.
Also removes the explicit cleanup in run_tests.sh. The new solution
works with tox and will work even if we add new locks.
Fixes bug 1035426
Change-Id: I613926e4288442e79df50ea5f5bd8f9eafdfe7e7
|
| |/ / / / / / / / /
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
The FilterScheduler doc was overlooked when new filters were added
or existing filters were changed. This change updates the doc with
information skimmed from the individual filters.
nova.conf.sample is updated as well with the current list of default
filters.
Change-Id: I48af75c472195ded89b34db76a22947614ffb99b
|
| |\ \ \ \ \ \ \ \ \
| |_|/ / / / / / /
|/| | | | | | | | |
|
| | | |_|_|_|_|/ /
| |/| | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Fixes bug #1037705
Change-Id: I3e55f283961b4801c863bea05d9dd36e22be0cdb
|
| |\ \ \ \ \ \ \ \
| |_|_|/ / / / /
|/| | | | | | | |
|
| | |/ / / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
See bug 1034384, bug 1037590.
This reverts commit https://github.com/openstack/nova/commit/391f345d,
but leaves the DB migration in place while adding a further
migration to reverse it.
The motivation for reversion is that the per-user quota logic would
totally undermine the per-project quotas set for a pre-existing
openstack install.
The per-user quota logic could be re-introduced in a fixed state
after Folsom-3.
Change-Id: Idd4b55a2404a25f43f6737b661f828c28501066f
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Fixes bug #1037503
Restore the previous behaviour of matching simple strings in extra
specs against compute node capabilities.
Change-Id: I485e9e63f860a83f7c9c0c41d09919eabe9e66ae
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
With so much duplicated code in the test cases, it's really very
difficult to figure out what each of the cases are testing. DRY
the tests up to make them much more clear.
Change-Id: Ie075d44165996fc4f744a49ddbdfd7c49a0c862e
|
| |/ / / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
* Changes to cfg to handle None overrides, tilde expansion,
and importing opts.
* Changes to timeutils to marshall and unmarshall datetimes.
* Cleanups for zeromq and rpc.
* Removal of unused imports.
Change-Id: Ica7a2e51ea38f37b315be2ff382d4a615dd67207
|
| | |_|/ / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Includes test for showing a keypair (existing and non-existing).
This commit also corrects the name of the KeyPairNotFound exception
in the test_keypair_delete_not_found test case.
Additionally some extra print statements in the tests were
removed.
DocImpact - need to add documentation for GET on: v2/{tenant_id}/os-keypairs/{keypair_name}
Fixes LP Bug #925731.
Change-Id: I9eeb47ccb9bf352c554aa44aa562c47e3eb33cae
|
| |\ \ \ \ \ |
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Fixes bug 1037729
The xenapi driver attaches the root disk after the rescue instance has
booted. However, hotplugging block devices is only supported on images
that use PV drivers. Attaching the disk before the rescue instance boots
will allow rescue to work on instances that don't use PV drivers.
Change-Id: I187762e4f1ea921d81afd40fcbde0b93d7d3cbc1
|
| |\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
VMs can not get metadata when metadata_host is set to 127.0.0.1 because
packet's destination address will be changed into 127.0.0.1 by iptables.
However, linux kernel will reject packets to 127.0.0.0/8 if packets do not
come from that range. We can use REDIRECT to resolve this problem because
REDIRECT will rewrite the destination address to our own host.
Fixes bug 1015853.
Change-Id: I162fc57510ef9c8e84130b2d11eb53e10dcc5cb0
|
| |\ \ \ \ \ \
| |_|_|_|_|/
|/| | | | | |
|
| | | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Currently a request for multiple instances issent to the scheduler,
where it is written to the database. It appears that this was done so
that more advanced schedulers could handle the request as one
batch, but the result is the scheduler is sometimes slow enough
that the call will timeout.
Instead this converts to always creating the instance records
locally and making run_instance into a casting instead of a call.
This made a small change to the rpc api for run instance, so the
version was bumped. Legacy messages are still handled properly.
Fixes bug 1036911
Co-authored-by: Chris Behrens <cbehrens@codestud.com>
Change-Id: I63bbc98c285faebec53f8e62857c01548807db68
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
'dialect' is unused in some functions.
Change-Id: Ibc02251f596a87776f16938ff422606b6ca49876
|
| |\ \ \ \ \
| |/ / / /
|/| | | |
| | | | | |
including unit tests"
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
including unit tests
blueprint hyper-v-revival
Features included in ths commit:
Spawn (including CoW image option support)
Destroy
Info
List
Pause
Unpause
Suspend
Resume
Reboot
Power On
Power Off
Snapshot
Volume Attach
Volume Detach
Boot from Volume
Live Migration
Supported platforms:
Windows Server / Hyper-V Server 2008 R2
Windows Server / Hyper-V Server 2012
Unit tests:
Unit tests for all the listed features are included.
Tests can be execute on Linux as well.
nova.conf relevant flags:
Compute driver:
compute_driver=nova.virt.hyperv.driver.HyperVDriver
External vswitch to be used:
vswitch_name=an_external_vswitch
Path where the VHDs are going to be stored
instances_path=C:\Hyper-V\instances
Live migration support for hosts with etherogeneus CPUs
limit_cpu_features=true
Change-Id: Ic40adcd2d78b0ca6792d77940810f5a44de8cc37
|
| |\ \ \ \ \ |
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This will be used to implement a GET keypair API call.
Partial fix for LP Bug #925731.
Change-Id: Ie9976c0168842c7491d80be6213814192a2024df
|
| |\ \ \ \ \ \ |
|
| | | |_|_|_|/
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Updates the disk config extension to check for 'server' in the
request body before trying to use it. This avoids a potential
KeyError exception. Given that we already validate the 'server'
dict in servers.py and raise a proper exception there this seems
reasonable to me... no reason to duplicate all of the validation
logic.
The reason this change was able to make it into Nova to begin
with is that the Extensions loader orders things differently
depending on the OS/python version being used. I tested this
by running SchedulerHintsTestCase.test_create_missing_server
on both Fedora 16 (passes) and Fedora 17 (fails). The problem
only manifests itself when the disk config extension gets called
before the scheduler_hints extension. To fix this issue
I've updated the scheduler_hints extensions in this patchset
to simply pass when 'server' isn't defined which like above seems
reasonable because we already validate this in servers.py.
As part of this fix I'm also moving test_create_missing_server out
of the Scheduler Hints tests and into a new ServersAllExtensionsTestCase
class in test_servers.py which explicitly tests for things with *all*
extensions enabled. As part of the move I also updated the test to
look for HTTP 422 Unprocessable Entity which is what we throw when
'server' doesn't exist in a POST to servers (the correct exception).
Fixes LP Bug #1037201.
Change-Id: I912fc1234b2e7a76ecc54140f4a31c2e32fdfa98
|
| |\ \ \ \ \ \ |
|
| | | |_|_|_|/
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
partial fix for bug 1004328
Only the xen hypervisor actually respects the device name that
is passed in attach_volume. For other hypervisors it makes much
more sense to automatically generate a unique name.
This patch generates a non-conflicting device name if one is not
passed to attach_volume. It also validates the passed in volume
name to make sure another device isn't already attached there.
A corresponding change to novaclient and horizon will greatly
improve the user experience of attaching a volume.
It moves some common code out of metadata/base so that it can
be used to get a list of block devices. The code was functionally
tested as well and block device name generation works properly.
This adds a new method to the rpcapi to validate a device name. It
also adds server_id to the volumes extension, since it was omitted
by mistake.
The next step is to modify the libvirt driver to match the serial
number of the device to the volume uuid so that the volume can
always be found at /dev/disk/by-id/virtio-<uuid>.
DocImpact
Change-Id: I0b9454fc50a5c93b4aea38545dcee98f68d7e511
|
| |\ \ \ \ \ \ |
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This change adds checks in the ComputeFilter to verify compute hosts can
support the (architecture, hypervisor_type, vm_mode) triple specified
in the instance properties, improving support for heterogeneous clouds.
Images can be marked with the architecture, hypervisor, and virtual
machine mode they require, e.g.
glance image-update --property architecture=x86_64 \
--property hypervisor_type=kvm <image-uuid>
glance image-update --property architecture=i686 \
--property hypervisor_type=xen --property vm_mode=xen <image-uuid>
glance image-update --property architecture=x86_64 \
--property hypervisor_type=xen --property vm_mode=hvm <image-uuid>
These properties are included in the request_spec part of the run_instance
RPC message and made available to the ComputeFilter. The ComputeFilter
will only pass compute nodes that satisfy the specified properties.
If no properties are specified, the ComputeFilter behavior is unchanged.
Adding these checks to the compute filter seems consistent with its
definition [1]:
"ComputeFilter - checks that the capabilities provided by the compute
service satisfy the extra specifications, associated with the instance
type."
[1] https://github.com/openstack/nova/blob/master/doc/source/devref/filter_scheduler.rst
DocImpact
Change-Id: I993f2e222ec036f1045f3cc5cc1851e730962729
|
| |\| | | | | |
| |_|_|_|/ /
|/| | | | | |
|
| | | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This change collects a list of supported instances from compute nodes.
Each supported instance is a tuple, containing the triple
(architecture, hypervisor_type, vm_mode). This list of tuples describes
all of the instances supported by the compute node, which can then be
used by the ComputeFilter to ensure proper placement of an instance in
a heterogeneous compute node cloud.
Change-Id: I059ff55c165b372c83e63390b40a2c165df1f717
|
| |\ \ \ \ \
| |_|/ / /
|/| | | | |
|
| | |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Changes the default behaviour of create instance min/max count logic
in ec2 to match the default behavior of OS API
Fixes bug 989799
Change-Id: I1aa42c7d47674ce68442367fab487152b3e7fa67
|
| |/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Modified IPtablesManager.apply() method to save/restore chain and
rule packet:byte counts by using the '-c' flag with iptables-save
and iptables-restore calls. Currently they are zeroed every time
we change something in the table. This will allow users to better
analyze usage for instances over an extended period of time, for
example, for billing purposes.
Change all applicable iptables, libvirt and Xen tests to account
for the changes made to support the packet:byte counts.
This work uncovered two bugs in the existing implementation
found during my testing, specifically:
1. Fix IptablesManager to clean-up non-wrapped chains correctly,
instead of leaving them in the kernel's table. We now keep a
list of chains and rules we need to remove, and double-check
in apply() that they are filtered-out.
2. Fix IptablesManager to honor "top=True" iptables rules by only
adding non-top rules after we've gone through all the top rules
first.
Implements first work item of blueprint libvirt-network-usage.
Fixes bug 1037127 and bug 1037137.
Change-Id: Ia5a11aabbfb45b6c16c8d94757eeaa2041785b60
|
| |\ \ \ |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
part of bp:powervm-compute-driver
Change-Id: I9e55964b5260417d15b5def814ee305fce28c40b
|
| |\ \ \ \ |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This resolves bug 1036419, which was a missed call to _cache_image
when that method was refactored away.
Change-Id: I68f6aced5382e378dc707fd003d27dbfdd24aded
|
| |\ \ \ \ \ |
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
* fix LP1014798
Change-Id: Ife2cc064128ee99a7ba1352f10c373812c69dd13
|
| |\ \ \ \ \ \
| |_|_|_|/ /
|/| | | | | |
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Example is (network:[{‘port’:<uuid>}] )
The specified port will be used.
A port who have already device_id can not be used to be boot.
This fix is for isolating functionalities between Quantum and Nova.
There are no need update nova side if port model will be changed
in future quantum model. This function is for QuantumV2 api use only.
Added port attribute in requested_network attribute. Fixes bug 1031096.
Change-Id: Id2c86228edb0c22f536f8b36a955c87870e9d98b
|
| | |/ / / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The API is responsible for decoding JSON an XML content. Also, the
code decoded results weren't used since the code below it would use
the original data anyway.
Also, add a unit test for injected_files in the xenapi driver.
Change-Id: Ie96b301b0948f92dd90060eacba0db9ae940b952
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Revert part of 0eb53c0 which reverted part of d8d7100 :-)
The idea was that now that @reverts_task_state handles unsetting the
task state, we now longer need the explicit exception handling here.
However, we still absolutely need to unset task_state on the happy
path.
Change-Id: I08dd212626886a643f0321780f6d8a30c3a967e6
|
| |\ \ \ \ \
| |_|/ / /
|/| | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The following operators on instance_type_extra_specs were added in
compute_capabilities_filter.py:
= (equal to or greater than as a number; same as vcpus case)
== (equal to as a number)
!= (not equal to as a number)
>= (greater than or equal to as a number)
<= (less than or equal to as a number)
s== (equal to as a string)
s!= (not equal to as a string)
s>= (greater than or equal to as a string)
s> (greater than as a string)
s<= (less than or equal to as a string)
s< (less than as a string)
<in> (substring)
<or> (find one of these)
If the first word in the instance_type_extra_spec is not one of the
keywords above, it is ignored.
E.g.: ">= 5", "s== 2.1.0", "<in> gcc", and "<or> fpu <or> gpu"
For more information, please refer:
blueprint instance-type-extra-specs-extension.
Change-Id: Ief23d00449798577c6910aaef85f0cba26323c61
|