| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
`compile_metrics` is no longer called as it was superceded by:
https://github.com/openstack/nova/commit/8887f10c66bca248f289db8f834ae8f36f9a03a1
Fixes bug 1194990
Change-Id: Ia651ac69fc38ed3f5cb29562556f7065caba225a
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
image_href support has not been working since at least shortly before
Folsom release. This is a good indication that this functionality is not
used. As far as I can tell, the docs also do not match what was
supported. An image ID was required, but docs show examples with full
hrefs.
DocImpact
http://docs.openstack.org/developer/nova/api_ext/ext_config_drive.html
References to supporting image_hrefs should be removed.
This patch also removes the hack that passed a config_drive_id via
the Instance dictionary when config_drive_id is not a valid Column for
Instance.
Fixes bug 1186401
Change-Id: Iced7bc8e278cb9f208183f1dbb7a293675a47eae
|
|/
|
|
|
|
|
|
|
| |
This patch fixes a couple of typos in localized user-facing strings in
the nova.exception module.
Fixes bug 1194944
Change-Id: Ia85e69c23832ab4fd9f56c525075bd30bf4b059e
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Raising NEW exception is bad practice, because we lose TraceBack.
So all places like:
except SomeException as e:
raise e
should be replaced by
except SomeException:
raise
If we are doing some other actions before reraising we should
store information about exception then do all actions and then
reraise it. This is caused by eventlet bug. It lost information
about exception if it switch threads.
fixes bug 1191730
Change-Id: Ia375ecef9f16bda65d5146d14ed4b37a988abb0c
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Now we have settings to hint if the agent is present or not,
and by default we do not check for the agent,
if the agent is not responding to our calls for its version,
we can fail the build.
In environments that need the agent to inject the networking,
you really want the agent to fail if it is not present.
If the agent did not inject the networking, the server will
have no networking.
However, we can still leave the agent upgrade to silently
fail, as the agent should be backwards compatible.
fixes bug 1188540
Change-Id: I8acdabd8d2bd24b088dad3cd4abec300d0ada3fb
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| | |
nova.db.sqlalchemy.api contained a certificate_get() method that was
unused. It was not in the main db.api. This method was also the only
reference to CertificateNotFound, so remove that as well.
Change-Id: Iba9aece2302e2f175e5d60e48b23959885a81c8d
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
In documentation: "name: Name of the current cell. This must be
unique for each cell"
Added unique constraint 'uniq_cell_name0deleted' ('name','deleted')
to Cell model and migrate sripts.
Added new exception `CellsExists`. Updated cell_create() in db.api.
Tests updated respectively.
blueprint db-enforce-unique-keys
Change-Id: Ib76e167089cb4756e4438613b49013ebf0874afe
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This check was introduced by the following change:
7c5c8a743c21733120c85fdefb84b4357f5848d0
This is an alternative fix to ensure resize down
is not processed if the disk cannot be resized.
Note the failure now registers an instance action
and does not leave the VM in an error state.
In addition, this keeps the behavior that a failure
to resize up and instance during spawn will not
cause the operation to fail and put the VM into error.
fixes bug 1188135
fixes bug 1187934
fixes bug 1081225
Change-Id: I5b3dfdc7fcda26c55702dde6cdf191beee0c818c
|
|
|
|
|
|
| |
DB support for blueprint instance-group-api-extension
Change-Id: I615af9826ef61fd63d4cd8017908f943969bf177
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The message in the ServiceGroupUnavailable exception was missing the 's'
conversion specifier.
Fix bug 1183733
Change-Id: I54869431511a72c49ccf61f5e7b1a30607959423
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This patch adds the utility functions that will help us switch
between versions of block device mapping data.
In order to accomplish this, and to have a more structured approach to
dealing with block device mapping data in the future, this patch
introduces a BlockDeviceDict class which is a thin wrapper around a
standard dict that makes it easier to reason about which fields are
present in the dictionary, and introduces said conversion routines.
blueprint: improve-block-device-handling
Change-Id: I9370333059b8c9aaf92010470b8475a913d329b2
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Adds infrastructure to be able to check that the core V3 API
plugins are present and raise an exception and abort if any are missing. The
list is deliberately hard coded though it is not yet complete and
will be expanded as the core APIs are ported and it is decided
exactly what will be considered to be the core API.
Partially implements blueprint v3-api-extension-framework
Change-Id: Ic2c1d5cd6836ee18819106558880682cf4cda487
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The KeypairAPI code provides useful error messages that weren't being
percolated back through the OpenStack API. This patch addresses this by using
the original `message` when crafting the HTTPException objects.
References bug 1187952
Change-Id: I786a225010d912d7bfea5c01838ddcf43fd90d53
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Mechanical translation of the deprecated
except x,y: construct with except x as y:
The latter works with any Python >= 2.6.
Add Hacking check.
Change-Id: I845829d97d379c1cd9b3a77e7e5786586f263b64
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
This adds the base infrastructure for a unified object model in
Nova. It provides a somewhat-magical metaclass which serves to
automatically register objects that are capable of being remoted.
Magic remoting of methods happens via two decorators, allowing
a given nova service to globally declare that such actions should
happen over RPC to avoid DB accesses.
For more details, see blueprint unified-object-model
Change-Id: Iecd54ca22666f730c41d2278f74b86d922624a4e
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This fix tests to be able to run it with postgresql and mysql.
Some tests should be run only on sqlite
Method create_shadow_tables raises different exception in different
backends (when we try to create duplicate table):
In postgresql it is ProgrammingError
In sqlite and mysql it is OperationalError
So create new Exception that will be raised in both cases.
bp db-common-migration-and-utils
Change-Id: I11be23106bc01bd3c72dad30edfb31a17177bb34
|
|/
|
|
|
|
|
|
|
| |
InstanceTypeDiskTooSmall and ImageTooLarge are really two sides of the same
coin; an image is larger than the root_gb of the instance_type. Rather than
have two exceptions for this, this patch consolidates down to just
InstanceTypeDiskTooSmall.
Change-Id: I401205072c111a960beb2932c6c1889141ae03c3
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Adds support for passing 'expected_vm_state' in an instance_update dict
much like the current support for 'expected_task_state'.
For cells, when the API cell receives an instance update containing a
vm_state of BUILDING, raise an exception if the instance is in some
other state. This addresses out-of-order messaging issues that can
cause an instance to appear to have a huge delay going ACTIVE. (A
periodic task run can later heal the state, but it can take a long
while)
Fixes bug 1180283
Change-Id: I64252b30e2596812f3b84da64b1fc8681661d7f8
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix for bug 1155066
This change adds some rollback into the resize disk down
code within xenapi, and reports a better error message
when the disk is too big to resize down.
On a successful rollback, the user is notified of the error
by the instance actions, rather than leaving
the server in the error state.
The user is then able to free up some disk space such that
the resize can work correctly.
Change-Id: Ibad568ab3cfb9caaf4fe002572c8cda973d501a7
|
|
|
|
|
|
|
|
| |
There are some small warts (mostly around other execute() like
methods which reuse the exception). I will fix these warts in later
reviews.
Change-Id: Ice9cdbdc5f3e5a9f8365f5d99acf1863a9fe3e7a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Create an exception type for pre-check errors and add it to the list
of exceptions for which instance task state is reset to ACTIVE to
avoid cases where an instance get stuck in MIGRATING state.
Convert existing instances of raise MigrationError in scheduler and
driver pre-checks to have them raise the new MigrationPreCheckError
exception instead.
In addition, also make sure that expected exceptions are passed over
RPC silently.
Resolves bug 1171526.
Change-Id: I00fa0962e555f895dd98861684ec7767fed3b37b
|
|
|
|
|
|
|
| |
Convert nova to using the oslo periodic tasks implementation. There
are no functional changes in this review.
Change-Id: I767e0ad17781d5f9d5e987e0a4ad65796243ae5c
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
_run_instance() had multiple points where various classes of errors
were handled. This patch classifies the possible error/exit conditions
into the following categories:
* success
* rescheduled - an error occurred, but the build will be returned to
scheduled for another attempt.
* aborted - build was aborted for a non-error. (e.x. instace was
deleted during spawn)
* fatal - general case of uncaught exceptions resulting in the instance
going to error.
blueprint create-error-notification
Change-Id: I3f01753bde8af0750ba9067c8a98ded45d5a0eb7
|
|/
|
|
|
|
|
| |
There are no cost functions, so there is no cache and no Exception to be
raised.
Change-Id: I4a67bd45e3f0c91e5507ed3794dc20b13292596b
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Instead of previously looping potentially forever for a block
device mapping to become created from the volume api, basically
blocking a greenthread until this happens we now will have a number
of attempts (defaulting to 10) that we will wait for the volume api
to create said block device mapping (or error out).
Fixes bug 1162064
Change-Id: I6ff0b42aad48df735d09f91a0a9fe98e6abcf2eb
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes bug 1158075
When creating a network which is already existing, we got
an internal server error which can't show the error reason.
This patch returns conflict error(HTTP 409) instead of
internal server error(HTTP 500), so that users can know
the error reason from the error message.
Change-Id: I9e39a7152e37756b34b1c8d77de057012743f0f7
|
|/
|
|
|
|
|
|
|
| |
If an instance build needs to be rescheduled, send the original
base 64 encoded injected_files parameter.
bug 1161479
Change-Id: I4dad95e95cd27f7f128989daa36b3a2bbf132c73
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds a format_message method to the NovaException class that
will almost always do what a user wants, when they want to print out the
message of the exception.
Exceptions that are received through RPC are turned into an actual
exception classes by the deserialize_remote_exception function of the
nova.openstack.common.rpc.common module. This function then overrides
__str__ and __unicode__ methods of a new class to print the whole trace.
We still want to preserve this functionality (for logging) but do not
want to leak the trace back to the user in the HTTP response.
Based on the above, This patch attempts to establish a convention that
states: if you need to get the message of a NovaException subclass -
always use the format_message method. Only use str(e) or unicode(e) when
you suspect that they were overriden.
Initially this was attempted through adding a custom metaclass to the
NovaException class so that format_message cannot be overridden in
subclasses, however due to a bug in testtools - many tests were failing.
A patch was proposed to testtols to remedy this
(https://github.com/testing-cabal/testtools/pull/34) however until it is
merged, we cannot use metaclasses with our exception classes as they
cause tests to fail.
Change-Id: I0a399b9ab3227bad644b031c9b689fe0ce64586e
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
DocImpact: there is now a default quota of 10 fixed ips per tenant.
This will need to be adjusted by deployers if that number does not
meet their needs.
Resolves bug 1125468.
Change-Id: Iffa19583340f80cb2a13ba5fce31f7ff724a52d6
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The fix in fa52cb09b2270876c9d9a03106f961be6c9db834 strips tracebacks
from exceptions when returning them to the user, but it still spams
the log with a long traceback. We shouldn't be including the traceback
when we wrap the exception in the first place. Instead we just
include the message.
It also updates the error code to 409 for device in use since this
is actually a conflict.
Fix for:
bug 1155315
bug 1103324
bug 1092610
Change-Id: I95019a3022eb52e0335c455009c13fe229475d03
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch prevents rescuing of volume_backed instances, by checking
for it in the API layer and raising an exception if instance on which a
rescue was attempted is volume backed.
Rescue is supposed to just be a way to log into a wayward instance
if something goes wrong with the base image that may have had some data
(logfiles etc.) and make it possible to grab that - block devices are
assumed to be accessible by re-attaching them, and are considered
persistant so no need for rescue there.
Fixes bug: #1067744
blueprint: improve-boot-from-volume
Change-Id: I8a4b1ccff7406837de3086aa413034e8e647b8fa
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
compute.manager methods often takes password parameters in methods
that are wrapped with exception handlers and notifiers. What can
happen is these passwords will get bundled up and sent outside of
the system.
This patch will strip out any parameter with *_pass* in the name.
The side effect of this is that all notification will have the
error parameters in the 'args' part of the notification payload.
Previously only the positional args were in the 'args' part and
keyword args were placed in the payload directly.
This may affect consumers of the error notifications.
Change-Id: I2e7822eb5416d315ceb690f739e4dba9d52a7954
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add a retry for the xapi glance plugin to handle transient issues
when uploading the vhd.
An example issue we're seeing is a connection timeout:
['XENAPI_PLUGIN_FAILURE', 'upload_vhd', 'error',
"(110, 'Connection timed out')"]
To work around transient issues such as a connection timeout, we
should retry based on glance_num_retries before outright failing.
Change-Id: Ice6fdd3dd39ef40e5997d69209aaafa66bff5d6e
Fixes: bug #1134493
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If instance_info_cache_update() finds that the entry doesn't exist, it
attempts to create an entry, but it didn't use all of the data. This
patch fixes that.
Also if the info_cache entry was found to be deleted, the old code would
attempt to create a new entry. This would have failed with
DBDuplicateEntry.. Instead, raise InstanceInfoCacheNotFound, which is
more appropriate. (It doesn't seem we actually ever hit this case.)
Fixes bug 1131594
Change-Id: Id008faf5c4a48ab6a04e75796b7e61dea102acc9
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If we pass a integer, which is longer than the id field in the
database, but a valid python integer into any of the REST API
calls SQLalchemy throws a DataError, and the user sees a 500
instead of InstanceNotFound. This can be triggered by using a
id of 9223372036854775808 (for instance).
This issue is seen on postgresql, mysql and sqlite don't hit it.
Instead, catch the DataError exception, and return an InvalidID
exception. If InvalidID is thrown catch that at the API layer
and return the expected not found.
This was caught when reenabling tempest tests for bug #1046870
and is one of serveral patches in nova needed to enable
test_servers_negative.py in tempest.
Change-Id: I6130863a95567eabd3ae05a09e4a9f26bb5f5098
|
|\ |
|