bbeb53771264dc95e57f96a6fe2a747d5a550b6c
Commit Graph

23315 Commits

This Branch
This Branch
All Branches
Author SHA1 Message Date
Jenkins
73f2334eb3 Merge "Add Aggregate object model" 2013年09月03日 21:41:35 +00:00
Jenkins
cca279e33a Merge "Add dict and list utility functions for object typing" 2013年09月03日 21:39:39 +00:00
Jenkins
844a7f7fd6 Merge "Remove EC2 postfix from InvalidInstanceIDMalformedEC2" 2013年09月03日 21:10:17 +00:00
Jenkins
bb2fe5859f Merge "Introduce InternalError EC2 error code" 2013年09月03日 21:09:45 +00:00
Jenkins
7cfcbfa41d Merge "Introduce UnsupportedOperation EC2 error code" 2013年09月03日 21:09:03 +00:00
Jenkins
52f9cf7e22 Merge "Introduce SecurityGroupLimitExceeded EC2 error code" 2013年09月03日 21:08:32 +00:00
Jenkins
af9bb873aa Merge "Introduce IncorrectState EC2 error code" 2013年09月03日 21:08:01 +00:00
Jenkins
09c28434dd Merge "Introduce AuthFailure EC2 error code" 2013年09月03日 21:07:30 +00:00
Mark McClain
a77a28d3f7 update neutronclient to 2.3.0 minimum
Change-Id: I21f9ae030a173621db3d21db018c3a416d050813
2013年09月03日 16:36:07 -04:00
Jenkins
69191a1858 Merge "On snapshot errors delete the image" 2013年09月03日 20:34:48 +00:00
Jenkins
dd45d91125 Merge "xenapi: add support for auto_disk_config=disabled" 2013年09月03日 20:33:31 +00:00
Alessandro Pilotti
d27895aab8 Adds metrics collection support in Hyper-V
Blueprint: hyper-v-metrics
Hyper-V Server 2012 supports a new set of metrics API that can be used
to provide instance metrics data to external applications, e.g.
Ceilometer.
Metrics collection is disabled by default and can be enabled with a
config option.
Change-Id: I3523888c6bdd22f488c273c9e3eea1083a479700
2013年09月03日 23:31:05 +03:00
Mark McLoughlin
33b9e6f47c Port all rpcapi modules to oslo.messaging interface
Add a temporary nova.rpcclient.RPCClient helper class which translates
oslo.messaging.rpc.RPCClient compatible calls into calls on a RpcProxy
object.
Use this new class to port all of the rpcapi modules over to the new
RPCClient so that the final port of Nova over to oslo.messaging will be
smaller and easier to review.
This patch contains no functional changes at all, except that all client
side RPCs go through this temporary helper class.
blueprint: oslo-messaging
Change-Id: Iee86c36bcc474a604993618b8a2255af8c3d2f48
2013年09月03日 21:22:43 +01:00
Dan Smith
a10fdea3f5 Fix a gross duplication of context code in objects tests
Because of the way we dual-inherit classes to get the local
and remote testing of objects, laziness caused us to duplicate
the code to get a context object all over the place. This
patch cleans that up.
Change-Id: I9b65968781afbecd0db72073299c019f8cc10241
2013年09月03日 13:03:38 -07:00
Dan Smith
d4c95bf099 Make compute_api use Aggregate objects
This makes the compute_api's AggregateAPI use the new Aggregate
object for its work.
Related to blueprint compute-api-objects
Change-Id: I97419bfe6c605306bd64f9aa4fce9657509df260
2013年09月03日 13:03:38 -07:00
Dan Smith
f2252de974 Add Aggregate object model
This adds an Aggregate object model implementation.
Related to blueprint compute-api-objects
Change-Id: Ic947718766181f8262fcf171b2bc0c329e0ae8f9
2013年09月03日 13:03:38 -07:00
Dan Smith
8f90c62a57 Add dict and list utility functions for object typing
This adds list_of_strings_or_none() and dict_of_strings_or_none()
to objects.utils. This makes it easy to enforce things like
metadata chunks and lists of hostnames.
Related to blueprint compute-api-objects
Change-Id: Iecd40c12da81f4f69312182d619cc12d071137a1
2013年09月03日 13:03:38 -07:00
Jenkins
dd5a734c5a Merge "compute rpcapi 2.29 is not backwards compatible" 2013年09月03日 19:27:43 +00:00
Jenkins
b8562d3c57 Merge "Make compute_api use Service and ComputeNode objects" 2013年09月03日 19:26:52 +00:00
Jenkins
1e3d520ace Merge "Adds support for Hyper-V WMI V2 namespace" 2013年09月03日 19:24:37 +00:00
Gary Kotton
b15354bb55 VMware: remove conditional suds validation
suds is now part of the requirements.txt file so we no longer
need the conditional check.
Fixes bug 1220344
Change-Id: If2f63e3f997733146a9f93f43a6eaa76f77db530
2013年09月03日 12:20:13 -07:00
Jenkins
a84826f547 Merge "Add scheduler support for PCI passthrough" 2013年09月03日 18:28:29 +00:00
Jenkins
cc8b1543d0 Merge "Scheduler rpcapi 2.9 is not backwards compatible" 2013年09月03日 17:49:47 +00:00
Russell Bryant
fa13644b05 Add os-assisted-volume-snapshots extension
Add a new API extension that exposes assisted volume snapshot
capabilities. This extension is admin only by default. We expect it to
only be called by Cinder. If you have your deployment set up in such a
way that your adminURL is different from the public, this extension can
only be loaded in the admin API instance. Cinder will pull that URL out
of the service catalog to use.
Part of blueprint qemu-assisted-snapshots
Change-Id: I79e22ab6ef66fa16dc534a4336e766065702b2f5
2013年09月03日 13:18:25 -04:00
Jenkins
d262fb97c1 Merge "Add os-block-device-mapping to v3 API" 2013年09月03日 16:26:50 +00:00
Jenkins
32a61bdda3 Merge "Check ephemeral and swap size in the API" 2013年09月03日 15:53:31 +00:00
Nikola Dipanov
035f05eb53 Scheduler rpcapi 2.9 is not backwards compatible
Patch 552693e4ad which added scheduler
rpcapi version 2.9 does not provide any backwards compatibility.
This patch adds the check using 'self.can_send_version', and falls
back to the latest Grizzly compatible version if it the version is
capped.
Also takes the opportunity to make the docstring more consistent in the
scheduler rpcapi SchedulerAPI class.
Closes-bug: #1220112
Change-Id: I5a1e08c1066cae00d47def45f7b87846f679cbbe
2013年09月03日 17:14:54 +02:00
Jenkins
7fa2264625 Merge "Adds 'instance_type' param to build_request_spec" 2013年09月03日 14:59:52 +00:00
Alessandro Pilotti
2b9e5b16bb Adds support for Hyper-V WMI V2 namespace
Blueprint: hyper-v-wmi-v2
The Hyper-V APIs are mainly based on WMI. The original 2008 Hyper-V
release introduced the "root\virtualization" namespace which got
superseded in Hyper-V Server / Windows Server 2012 by the
"root\virtualization\v2" namespace (referred as V2 in the sources).
Features introduced in 2012, including as an example live migration
and VHDX support are available via the V2 namespace only.
Furthermore, the original namespace has been dropped in the upcoming
Hyper-V 2012 R2 (currently available in preview), which means that
the Grizzly code will not be compatible with it as is.
The Hyper-V driver is structured with a clear decoupling between OS
interaction classes (so called *utils modules and classes) and the
driver's business logic (e.g.: *ops modules and classes).
This allows us to provide an implementation of the V2 API without
impacting the rest of the driver's code, based on the previously
included utilsfactory module to instantiate the proper version of
the *utils classes: the original "V1" ones for versions of the OS
predating 2012 and the newer "V2" ones starting from Hyper-V 2012
(Windows kernel version 6.2).
Hyper-V previous V1 APIs can be forced by setting the following option
in the hyperv section to true. The default is false.
force_hyperv_utils_v1=false
Unit tests have been added for the relevant factory functions.
DocImpact
Change-Id: I5246bdd33ee8e1b607bbf00b748225e933aa417a
2013年09月03日 16:49:21 +03:00
Alexei Kornienko
75e00f8358 Port flavormanage extension to v3 API Part 2
Ports the flavormanage extension and the corresponding
unittests to the v3 framework.
Partially implements blueprint nova-v3-api
Change-Id: Iaf6b4a2d7f4e4993a6540e8a3afc774b7b158608
2013年09月03日 16:31:25 +03:00
Xavier Queralt
c9e3434e29 Add os-block-device-mapping to v3 API
Create a new v3 extension called os-block-device-mapping to handle
the block devices specified on server creation. This extension was
os-block-device-mapping-v2-boot in the old API.
Only the new block device mapping syntax has been ported although the
old one can still be used with v2 API.
blueprint: improve-block-device-handling
Change-Id: I898ae56539c6101680983d1eca4bce6d92bd5ce6
2013年09月03日 15:23:40 +02:00
Alessandro Pilotti
d1a2e10869 Improves Hyper-V vmutils module for subclassing
Blueprint: hyper-v-wmi-v2
This refactoring is needed to enable subclassing of the
vmutils.VMUtils class to support the Hyper-V WMI V2
namespace.
Change-Id: Id17b066a05d347ad6b34f826f265208cc4bb22a4
2013年09月03日 15:10:59 +03:00
John Garbutt
cb70f67a40 xenapi: add support for auto_disk_config=disabled
Previously, only True and False were supported. This change allows an
administrator to specify which images should reject any user requests
for DiskConfig=AUTO, i.e. reject the request to automatically resize
that instance's root disk.
To specify that an image's disk can't be resized, add the following
property to the image:
auto_disk_config=disabled
In addition, when uploading a snapshot we need to ensure that if
auto_disk_config is "disabled", that property is inherited by any
snapshot. Currently, the disk_config from the database, which is always
False in the case of "disabled", would be persisted instead. When
auto_disk_config is not "disabled", then the current True or False value
for that server should continue to be persisted in any snapshot, and not
the value stored in the source image for that server.
DocImpact
Implements blueprint auto-disk-config-disabled
Change-Id: Ifd41886b9bc7dff01cdf741a833946bed1bdddc3
2013年09月03日 11:54:01 +00:00
Nikola Dipanov
fcf712ec35 Check ephemeral and swap size in the API
Validate that ephemeral and swap disks passed in trough the API are
within size limits for the given instance type. The validation is done
in the API layer.
Closes-bug #1218977
Change-Id: I96c6e651e4b221313c39dfc41e79d536585fb955
2013年09月03日 13:34:17 +02:00
Matt Odden
ee53124ccb Add support for API message localization
Using the lazy gettext functionality from oslo gettextutils,
it is possible to use the Accept-Language header to translate
an exception message to the user requested locale and return
that translation from the API.
Implements bp user-locale-api
Change-Id: I446fdf4b9843155e0c818c271114b1e2e4f43b64
2013年09月03日 03:12:10 +00:00
Jake Liu
5839620a87 Fix typo and indent error in isolated_hosts_filter.py
Fix typo and indent error in isolated_hosts_filter.py
Change-Id: Ifb08047623e1da3dd818bc316216d1df1ec6007d
2013年09月02日 20:13:16 -04:00
Tiago Mello
02f58be126 Adds 'instance_type' param to build_request_spec
This change adds a new optional parameter to
scheduler.utils.build_request_spec. It also fixes Bug 1219761
by adding the new 'flavor' for cold migration instead of the
instance current one.
Change-Id: I28ac5f636e22e4d02ad5495b7b50c8226678c413
2013年09月02日 20:54:14 -03:00
Eric Harney
b626c2a637 Guest-assisted-snaps libvirt implementation
This implements volume_snapshot_create and volume_snapshot_delete
methods which create snapshots of QCOW2-based Cinder volumes.
The update_snapshot_status API from cinderclient is used to
inform Cinder of the result of these operations.
This feature requires a minimum libvirt version of 1.1.1 due
to a bug in libvirt BlockJobInfo handling in earlier versions.
Libvirt implementation for blueprint qemu-assisted-snapshots
Change-Id: I76eb2e4da027a13525314bd58264f482374d270d
2013年09月02日 16:58:24 -04:00
Jakub Ruzicka
e11834f9a2 Improve EC2 API error responses
This is a final patch from series of patches improving EC2 error
responses that makes finishing touches.
Useless EC2APIError exception is finally annihilated. Nova exceptions
that were raised outside of EC2 API are now translated to appropriate
EC2 error codes using ec2_code attribute.
With EC2 exceptions fixed, HTTP status code corresponding to raised
exception is now returned instead of previously hardcoded 400. All
expected exceptions are treated as client errors and returned with 4xx
HTTP status code for compatibility with EC2 API.
Unexpected exceptions are now always logged on ERROR log level, CRITICAL
wasn't really appropriate.
Following valid EC2 error codes were added to existing exceptions
eliminating the need to translate them explicitly:
 * InvalidKeypair.ec2_code = 'InvalidKeyPair.Format'
 * KeyPairExists.ec2_code = 'InvalidKeyPair.Duplicate'
 * QuotaError.ec2_code = 'ResourceLimitExceeded'
 (*LimitExceeded exceptions inherit from QuotaError)
Exceptions caught in Executor were reordered for better readability.
Implements: blueprint ec2-error-codes
Change-Id: I27f9397d006f1b66b53a91b04ec6763a4d8ac740
2013年09月02日 11:56:48 -04:00
Jakub Ruzicka
e8e4f8eeb2 Remove EC2 postfix from InvalidInstanceIDMalformedEC2
With new EC2 error code handling based on ec2_code attribute,
there is no justification for the EC2 postfix.
Implements: blueprint ec2-error-codes
Change-Id: I97ede9a3bcba3a6ac48de50fb6f451f8357a4848
2013年09月02日 11:56:48 -04:00
Jakub Ruzicka
3c809b8d73 Introduce InternalError EC2 error code
New InternalError exception with 'InternalError' ec2_code attribute was
introduced for the case of timeout when waiting for instance to stop
because there is no fitting existing exception.
InternalError is a valid EC2 error code. Unlike the other implemented
error codes, it's a server error with 500 status code. For that reason,
it's not listed as an expected error in the Executor and thus it's
treated as an unexpected error - it's logged as ERROR and returned
with 500 status code. That is a wanted behaviur because this shouldn't
ever happen and if it does, it should be visible.
Implements: blueprint ec2-error-codes
Change-Id: I11d25abfe46f5b3acdecb4fa2d31f4cec054cba1
2013年09月02日 11:56:48 -04:00
Jakub Ruzicka
e0807160e1 Introduce UnsupportedOperation EC2 error code
'UnsupportedOperation' ec2_code attribute was added to following
exceptions that are OpenStack specific and don't have mapping to EC2
error codes because EC2 simply doesn't encounter these problems at all.
 * CannotDisassociateAutoAssignedFloatingIP
 * FloatingIpAssociated
 * FloatingIpNotFound
 * NoFloatingIpInterface
 * NoMoreFixedIps
 * InvalidVolume
Catch these direcly in Executor instead of translating them to useless
EC2APIError. This way, user will also get meaningful error messages.
Implements: blueprint ec2-error-codes
Change-Id: I62ea97658cee85e5285f55cba600a08d01fe7cdd
2013年09月02日 11:56:48 -04:00
Jakub Ruzicka
6a6332f104 Introduce SecurityGroupLimitExceeded EC2 error code
SecurityGroupLimitExceeded is a valid EC2 error code. Add it as an ec2_code
attribute to the exception of same name and use it where appropriate
instead of useless EC2APIError.
Implements: blueprint ec2-error-codes
Change-Id: I1558b9f69c912dab9d829aacd5c5aae1c37f12b9
2013年09月02日 11:56:48 -04:00
Jakub Ruzicka
74298f6ab3 Introduce IncorrectState EC2 error code
'IncorrectState' ec2_code attribute was added to ImageNotActive and
VolumeUnattached exceptions.
ImageNotActive is now used instead of useless EC2APIError.
Although IncorrectState EC2 error code is used for volumes only in
Amazon EC2, it's used for incorrect image state in nova as well
because there is no error code for this (EC2 images are stateless)
and inventing new error code is a bad idea.
Implements: blueprint ec2-error-codes
Change-Id: I3566bbc4b2eb13482c93933932dd619f90cbc234
2013年09月02日 11:56:48 -04:00
Jakub Ruzicka
1e0bddb59f Introduce AuthFailure EC2 error code
AuthFailure is a valid EC2 error code, use it where appropriate.
Add 'AuthFailure' ec2_code attribute to NotAuthorized exception.
Return AuthFailure during Keystone authentication errors and add unit
tests to cover this. When Keystone returns HTTP error code, use
the same code for EC2 error response.
Implements: blueprint ec2-error-codes
Change-Id: I17306d9a5364e095e787dbf0dbb5b88a899372e3
2013年09月02日 11:56:48 -04:00
Jenkins
8b5f0c9bee Merge "Adds V3 API samples for migrations" 2013年09月02日 15:43:35 +00:00
Jenkins
fb539dfc7d Merge "DRY up use of @wrap_exception() decorator" 2013年09月02日 15:39:48 +00:00
Jenkins
e5e5068faf Merge "Add flag to make IsolatedHostsFilter less restrictive" 2013年09月02日 15:38:55 +00:00
Jenkins
46c31ca4b5 Merge "Remove unused fake run_instance() method" 2013年09月02日 15:10:19 +00:00
Jenkins
a5042dc699 Merge "handle auto assigned flag on allocate floating ip" 2013年09月02日 15:07:51 +00:00