1096 Commits

Author SHA1 Message Date
Anthony Young
60ff2e3b72 Implements blueprint separate-nova-volumeapi
* Moves openstack/v2 directory to compute and fixes tests accordingly
 * Moves some code from api/openstack/compute to shared location, for use by volume api
 * Implements basic volume functionality for types, volumes, and snapshots
 * Changes service name from osapi to osapi_compute (and adds osapi_volume)
 * Renames nova-api-os to nova-api-os-compute, adds nove-api-os-volume
 * Separate extension mechanism for compute and volume
 ** Removes flag osapi_extension and replaces with osapi_compute_extension and osapi_volume_extension
 * Updates the paste config
 * Fixes setup.py to include nova-os-api-compute and nova-os-api-volume
 * Fix bug in volume version code that occurred as result of trunk merge
 * Update integrated/test_volumes.py to use new endpoint

Change-Id: I4c2e57c3cafd4e1a9e2ff3ce201c8cf28326afcd
2012-01-13 09:06:55 -08:00
Brian Waldon
ace0252d75 Add policy checks to Compute.API
* Second step of blueprint interim-nova-authz-service
 * Adds policy.json to define policy
 * Add nova.policy.wrap_enforce decorator
 * wrap majority of compute api functions with wrap_enforce

Change-Id: If6702873db3249921f931a42e889ee7d0338e4b8
2012-01-12 10:36:34 -08:00
Brian Waldon
de635fc882 Creating new v2 namespace in nova.api.openstack
Related to blueprint separate-nova-adminapi

Change-Id: Ida35372b7263c4a4efdafd35faa1325c4436459b
2011-11-17 10:09:15 -08:00
Vishvananda Ishaya
e6073532e5 Separate metadata api into its own service
part 1 of blueprint separate-nova-metadata

 * adds api/metadata/ and moves code from ec2
 * moves metadata into separate binary
 * changes metadata forward to use metadata host and port
 * moves the metadata accept rule to the metadata api
 * adds nova-api-* to setup.py

Change-Id: I7f5d8e6cafc55b5c383cd88991f29c6059fb8d82
2011-11-15 13:27:58 -08:00
Ahmad Hassan
68111826af Capture exceptions happening in API layer
Added the faulwrapper around EC2 api so that it captures any unseen
exceptions and return a graceful error back. Also changed the openstack
exception message. The actual exception message will be printed in the
logs and would not return back the user.
Removed openstack wsgi dependency from
EC2 fault wrapper. Added unit tests for
EC2 fault wrapper
Fixes bug 869132.

Change-Id: I03d18f321f141ae96f1add99ea0b70e736253c89
2011-11-10 17:30:31 +00:00
Kevin L. Mitchell
9a15c0d070 Add XML templates.
Creates the concept of an XML template, which is a description of
how to serialize an object into XML.  XML templates are split into
master and slave templates, and slave templates can be attached to
master templates to augment the serialization.  The expected use
case is with extensions, allowing extensions to not only add data
to the object, but to also ensure that the new data gets
serialized into the output XML representation.

Also includes lazy serialization, for use by extensions.

Change-Id: Ifd8493be04c73bbb2a850080b687c5e799c48239
2011-10-17 14:19:25 -05:00
Brian Waldon
edf3e39cd3 Remove OSAPI v1.0
Change-Id: I92302c9c2b8f98d140c4844d4522adbcb45c8dd7
2011-10-17 13:48:22 -04:00
Johannes Erdfelt
6e5f2d88e6 Add support for header version parameter to specify API version.
bug 844905

The 1.1 API specifies that the API version can be determined by URL path
(eg /v1.1/tenant/servers/detail), Content-Type header
(eg application/json;version=1.1) or Accept header
(eg application/json;q=0.8;version=1.1, application/xml;q=0.2;version=1.1).

Change-Id: I01220cf1eebc0f759d66563ec67ef2f697c6d310
2011-10-04 14:44:34 +00:00
Vishvananda Ishaya
43604520de remove keystone 2011-09-20 15:17:03 -07:00
Dan Prince
1ba752768a Update paste config so that EC2 admin API defaults to noauth. 2011-08-23 22:43:10 -04:00
Vishvananda Ishaya
c3ed01d7d5 change NoAuth to actually use a tenant and user 2011-08-22 14:24:59 -07:00
Vishvananda Ishaya
41819d8d04 fix integration tests 2011-08-17 20:22:30 -07:00
Vishvananda Ishaya
90650e5bec make admin context the default, clean up pipelib 2011-08-17 19:31:01 -07:00
Vishvananda Ishaya
93207c19c7 removed admincontext middleware 2011-08-12 11:29:25 -07:00
Vishvananda Ishaya
9ce9ef1166 add keystone middlewares for ec2 api 2011-08-11 21:03:37 -07:00
Soren Hansen
669c0214ec Move api-paste.ini into a nova/ subdir of etc/ 2011-04-05 14:54:11 +02:00
Brian Waldon
0236c12d37 merging trunk and resolving conflicts 2011-03-25 09:11:13 -04:00
Dan Prince
e5069f27cd Reconcile tests with latest trunk merges. 2011-03-24 13:56:25 -04:00
Dan Prince
672fed6371 Merge w/ trunk. 2011-03-24 12:24:40 -04:00
Brian Waldon
e16555e69c merging trunk r864 2011-03-24 11:48:29 -04:00
Brian Waldon
ea44238e8a merging trunk r843 2011-03-22 10:29:24 -04:00
Brian Waldon
59cb754cc3 merging trunk 2011-03-21 15:23:11 -04:00
Dan Prince
9538957691 Merge w/ trunk. 2011-03-21 13:46:08 -04:00
Brian Lamar
b238bfeece Re-implementation (or just implementation in many cases) of Limits in the OpenStack API. Limits is now available through /limits and the concept of a limit has been extended to include arbitrary regex / http verb combinations along with correct XML/JSON serialization. Tests included. 2011-03-18 17:16:14 +00:00
Brian Waldon
35bd58bd9d moving Versions app out of __init__.py into its own module; adding openstack versions tests; adding links to version entities 2011-03-17 15:43:56 -04:00
Naveed Massjouni
11698a131f Added mechanism for versioned controllers for openstack api versions 1.0/1.1.
Create servers in the 1.1 api now supports imageRef/flavorRef instead of
imageId/flavorId.
2011-03-17 03:21:09 -04:00
Brian Lamar
4b49df7e72 Major cosmetic changes to limits, but little-to-no functional changes. MUCH better testability now, no more relying on system time to tick by for limit testing. 2011-03-15 16:49:19 -04:00
Brian Waldon
cc25d27775 modifying paste config to support v1.1; adding v1.1 entry in versions resource ( GET /) 2011-03-15 15:56:54 -04:00
Dan Prince
229c5bc332 Implement action extensions. 2011-03-14 16:58:03 -04:00
Kevin L. Mitchell
f72366f007 Create --paste_config flag defaulting to api-paste.ini and mv etc/nova-api.conf to match 2011-03-07 19:33:24 +00:00
Thierry Carrez
debfca9456 Switch to API_listen and API_listen_port, drop wsgi.paste_config_to_flags 2011-02-18 16:02:55 +01:00
Todd Willey
a112d11cc2 Use ttx's patch to be explict about paths, as urlmap doesn't work as I expected. 2011-01-20 16:07:27 -05:00
Todd Willey
f58b4f74e3 Merge trunk + wsgirouter 2011-01-12 17:47:43 -05:00
Todd Willey
038c9c7663 Merge trunk and handle flagfiles with kid-gloves in nova-api. Rename some flags for clarity. 2011-01-12 17:35:09 -05:00
Todd Willey
773b7f8477 Merge version matching url change from wsgirouter branch. 2011-01-12 14:37:29 -05:00
Todd Willey
6ebf9bb2db Fix url matching for years 2010-forward. 2011-01-12 14:36:36 -05:00
Todd Willey
2c7dfbfd53 Update config for launching logger with cleaner factory. 2011-01-12 14:33:40 -05:00
Todd Willey
88641cd978 Update paste config for ec2 request logging. 2011-01-12 14:30:12 -05:00
Todd Willey
4e034f3d69 Remove module-level factory methods in favor of having a factory class-method
on wsgi components themselves.  Local options from config are passed to the
__init__ method of the component as kwargs.
2011-01-06 13:57:48 -05:00
Todd Willey
bccec6c8ba Fix openstack api tests and add a FaultWrapper to turn exceptions to faults. 2011-01-06 02:08:01 -05:00
Todd Willey
2491c2484f Make paste the default api pattern.
* get rid of the --use_lockout flag since it will be specified in paste config
  (Example line is commented out in etc/nova-api.conf, factory is in place)
* remove old nova-api binary and promote nova-api-paste
* change how we store ec2 parameters to bin the the ApiRequest
* get rid of Router, since paste.urlmap is equally effective
  (Requestify now gets passed the name of the controller requests are to.)
2011-01-04 18:16:16 -05:00
Todd Willey
f55dbc2f59 Rework how routing is done in ec2 endpoint. 2011-01-04 18:01:29 -05:00
Todd Willey
aa73649911 remove cloudpipe from paste config 2010-12-30 01:25:29 -05:00
Todd Willey
ca5c95726b Merge trunk. 2010-12-27 19:10:26 -05:00
Todd Willey
8c8b289f26 Remove ec2 config chain and move openstack versions to top-level application. 2010-12-21 02:21:01 -05:00
Todd Willey
c364724a0d Use paste.deploy for running the api server. 2010-12-21 01:41:28 -05:00