Commit Graph

20 Commits

Author SHA1 Message Date
Morgan Fainberg 56d9c30f8f Convert endpoints api to flask native dispatching
Convert endpoints api to flask native dispatching.

Change-Id: I684e6117dc7fdd535f2ae530d44e6d5088624793
Partial-Bug: #1776504
2018-08-13 20:06:20 +00:00
Morgan Fainberg 18c6e838b9 Convert services api to flask native dispatching
Convert the services api to flask native dispatching.

Change-Id: Ibdecc157e1f540bbd2b0378283ec09f5677798f0
Partial-Bug: #1776504
2018-08-13 20:06:11 +00:00
Morgan Fainberg 84c074f28c Convert regions API to flask native dispatching
Convert regions API to flask native dispatching.

Change-Id: Ic38065441adb33f1f0550a6ae4cb1bd94ff2e079
Partial-Bug: #1776504
2018-08-13 20:05:57 +00:00
Morgan Fainberg 8eaf0854ff Migrate OS-EP-FILTER to flask native dispatching
Migrate the OS-EP-FILTER API to flask-native dispatching. This does
not migrate the standard catalog "region", "service" or "endpoint"
APIs.

Change-Id: Ia7c2ab211e2f7fb136e5817390751121f97f4340
Partial-Bug: #1776504
2018-08-06 13:10:21 -07:00
Morgan Fainberg 3e3ba18bfa Convert json_home and version discovery to Flask
Move the JSON Home Document and Version Discovery Documents out of
the webob-based mapper and into Flask.

This change removes the keystone.version.controller and
keystone.version.router modules as they have been moved into
keystone.api.discovery.

The keystone.api.discovery module is somewhat specialized as there
are no "resources" and it must handle multiple types of responses
based upon the ACCEPTS header (JSON Home or JSON). In lieu of the
flask-RESTful mechanisms, keystone.api.discovery utilizes bare
flask blueprint and functions. Minor scaffolding work has been done
to ensure the discovery blueprint can be loaded via the loader loop
in keystone.server.flask.application (a stub object in
keystone.api.discovery).

Partial-Bug: #1776504
Change-Id: Ib25380cefdbb7147661bb9853de7872a837322e0
2018-06-27 09:58:35 -07:00
Morgan Fainberg 4ec6bc5a44 Convert Keystone to use Flask
Basic conversion of Keystone's core application to flask framework.

This doesn't add much in the way of flask-specific-isms but should
get keystone running directly under flask. This implementation does
not use paste-deploy.

Change-Id: Ib4c1ed3f645dd55fbfb76395263ecdaf605caae7
2018-06-04 20:14:41 -07:00
Lance Bragstad 5f4c2f5b8d Ensure the endpoint filter API supports HEAD
This commit makes it so all GET APIs within the endpoint filter API
support HEAD as well.

Change-Id: I6dd8b3f7494003bca110623a3b8133c81ff90877
Partial-Bug: 1696574
2017-06-13 14:03:14 +00:00
Dave Chen dafbf5b8b2 Move endpoint filter into keystone core
Remove endpoint_filter as an extension and move it to a core resource,
i.e. consolidate endpoint_filter extension into catalog.
For now we leave the database migrations in the extension directory,
this will address in a separate patch.

DocImpact: Remove the endpoint_filter extension from keystone's
paste pipeline.
Co-Authored-By: Jamie Lennox <jamielennox@redhat.com>
Partially implements: bp move-extensions

Change-Id: Ib8969d584f6be053aaad6e6051fde5e3b7ef7485
2015-11-18 15:28:41 +00:00
Brant Knudson 50f74cb947 Change the sub-routers to provide JSON Home data
The sub-routers also need to provide JSON Home data for the
resources that they add.

bp json-home

Change-Id: Icbbd36a468d4fa7627ad7686f08fe98bbf3b51a4
2014-08-26 09:57:15 -05:00
Jamie Lennox eb25fc6424 Create authentication specific routes
These routes are purely based on your current authentication and bridge
the gap between what is available in the standard identity-api for
fetching scope targets based on user_id and what is required for the
federation APIs.

Implement /auth/projects /auth/domains and move /catalog to
/auth/catalog

Change-Id: I464c0ca5cc9f250d593340e9563de45b077dd4cd
Implements: blueprint auth-specific-data
2014-08-20 05:01:35 +10:00
Brant Knudson 5bb875804d Change V3 router classes to use resources
The V3 router classes are changed to use the resource-oriented
method to map paths.

bp json-home

Change-Id: I81957c5b2fc41d6f46e4913afa1073c58a040c45
2014-08-02 17:16:58 -05:00
Brant Knudson dd70a5548e Class for V3 router packages
The V3 routes were being added by the append_v3_routers function in
each controller package, so the only way state could be stored is in
a global variable which makes unit testing difficult. With this
change, the append_v3_routers functions are put into a class in each
package. This will eventually be used to store JSON Home data.

bp json-home

Change-Id: I744a4c82dc84bb1a8d29d0314e3c51cc43c077a2
2014-08-02 16:15:21 -05:00
Dolph Mathews d39f9f2bfa implement GET /v3/catalog
Change-Id: I0ed53f4758cc6bd8771ef2b4b291480bbbfc1631
blueprint: get-catalog
2014-07-21 08:50:42 -05:00
Jenkins a39b815cf7 Merge "Remove vim header" 2014-02-13 03:43:19 +00:00
Jay Pipes 94935f72a9 Allow specifying region ID when creating region
The documentation for the regions/ resource in the v3 API
specified that the user should be able to create a new region
using PUT /regions/{region_id}, however the original regions
patch forgot to include this functionality.

This patch adds that ability, with a custom mapper route to
keystone.catalog.controllers.RegionsV3.create_region_with_id.
When implementing, I also noticed an issue with an unused
region_id parameter in the driver's create_region() call. This
patch cleans up that unused parameter and ensures the region_ref
parameter always contains an ID key.

Change-Id: I36d14d4136efc165528282f1357a74291924502e
Closes-Bug: #1271235
2014-02-11 15:59:09 -06:00
Eric Guo 263b27f2cd Remove vim header
We don't need vim modelines in each source file, it can be set in
user's vimrc.

Change-Id: Ie51ad62946afdf39eadcd59edaf8134ec10265c6
Closes-Bug: #1229324
2014-02-08 23:54:04 +08:00
Jay Pipes 7c847578c8 Implements regions resource in 3.2 Catalog API
Adds CRUD implementation in SQL and KVS catalog drivers
for hierarchical regions support. The SQL driver implements
the region hierarchy using a simple adjacency list model
since it is expected that typical deployments will only
have a handful of regions, and the current regions API does
not offer any complex hierarchy querying that would make
a nested set model more appropriate.

Implements: blueprint first-class-regions

Change-Id: I2d4cca19008b92ef5758181b1792726834db7f7a
2014-01-15 14:00:10 -06:00
Sean Winn 0331f8a58a Changed header from LLC to Foundation based on trademark policies
Fixes: Bug 1214176

Change-Id: Ie937081a53d377671b8b88f422642c8131002f88
2013-09-05 15:03:32 -05:00
Dolph Mathews 03eb2801a3 Driver registry
Uses automatic dependency injection to provide controllers with driver
interfaces (identity_api, token_api, etc).

See tests/test_injection.py for a self-contained example.

Change-Id: I255087de534292fbf57a45b19f97488f831f607c
2012-12-21 11:57:44 -06:00
Adam Young fb963a5609 module refactoring
Distributes the functionality of service.py into the modules.
Moves ComposableRouters into the modules.
The routers and controllers now have short names.
The controllers get their APIs via the base class.

Change-Id:  I87404b80ea9800d6792f97a7a3a64fe839065c1c
2012-12-17 13:58:22 -05:00