manila/manila/tests
Goutham Pacha Ravi 263d5438f0 Advertise v2 API routes without project_id
Manila APIs have had the requirement to include
project_id in the URLs since the very beginning.
This comes from an old assumption that our APIs
would be differentiated per-tenant on the cloud,
and we would allow different kinds of API endpoints
(public, admin, internal, etc). While it is possible
to set up different endpoints against the API
service, the same and complete API is exposed at
each of these endpoints.

We don't _need_ the project_id information that
we receive in the URL for any of our APIs to
function. We rather authorize tenants by gathering
information from the Identity service (Keystone)
and wrapping that into a RequestContext object
that we then rely on to ensure namespace isolation.

Removing the requirement for "project_id" simplifies
our API endpoint structure in the service catalog
as well as provides a way for system scoped users
to interact with manila without having to declare
their project.

In order to make project_id optional in urls, the
possible values of project_id have to be constrained.
This change introduces a new configuration option
so deployers may control that. This configuration
option defaults to accepting UUIDs with and without
dashes.

Since manila can be used in standalone deployments
without the need for Keystone, this change introduces
a noauth middleware that can work without project_id
in the URL paths.

The API version has been incremented to signal this
change to end users. When 2.60 is available, deployments
may drop "project_id" in the service catalog endpoint
for Manila and end users applications can stop needing
it as well (if they don't already rely on the service
catalog for this data).

APIImpact
Implements: bp remove-project-id-from-urls
Change-Id: I5127e150e8a71e621890f30dba6720b3932cf583
Signed-off-by: Goutham Pacha Ravi <gouthampravi@gmail.com>
2021-02-04 23:20:19 -08:00
..
api Advertise v2 API routes without project_id 2021-02-04 23:20:19 -08:00
cmd Modify share groups w/ manila-manage's update-host 2020-09-11 10:00:41 -07:00
common Use unittest.mock instead of third party lib 2020-04-17 16:24:27 -07:00
compute Use unittest.mock instead of third party lib 2020-04-17 16:24:27 -07:00
data Use unittest.mock instead of third party lib 2020-04-17 16:24:27 -07:00
db Move shares filtering to database layer 2020-10-23 20:37:58 +00:00
hacking disable M325 2020-10-14 14:05:30 +08:00
image Fix NFS/CIFS share creation failure issue 2020-06-30 12:46:28 -04:00
integrated Advertise v2 API routes without project_id 2021-02-04 23:20:19 -08:00
message Use unittest.mock instead of third party lib 2020-04-17 16:24:27 -07:00
monkey_patch_example Removed ignored checks from tox.ini and fixed pep8 issues 2016-02-14 14:56:55 +02:00
network Use unittest.mock instead of third party lib 2020-04-17 16:24:27 -07:00
scheduler Merge "fix bug in consume from share" 2020-04-23 01:32:16 +00:00
share Merge "[Native CephFS] Add messages for async ACL ops" 2021-02-01 20:50:46 +00:00
share_group Use assertEqual instead of assertItemsEqual 2020-07-20 16:44:50 +08:00
var Renamed cinder to manila. 2013-09-02 09:59:07 +03:00
volume Use unittest.mock instead of third party lib 2020-04-17 16:24:27 -07:00
wsgi Use unittest.mock instead of third party lib 2020-04-17 16:24:27 -07:00
xenapi Renamed cinder to manila. 2013-09-02 09:59:07 +03:00
__init__.py Removed ignored checks from tox.ini and fixed pep8 issues 2016-02-14 14:56:55 +02:00
conf_fixture.py Advertise v2 API routes without project_id 2021-02-04 23:20:19 -08:00
db_utils.py Add share network with multiple subnets 2019-09-13 11:27:18 -03:00
declare_conf.py Switch to using oslo_* instead of oslo.* 2015-01-27 09:19:50 +01:00
fake_client_exception_class.py Fix keystone v3 issues for all clients 2016-03-18 14:42:33 +01:00
fake_compute.py Fix error that failed to get image for booting server 2019-12-13 01:31:22 +00:00
fake_driver.py Create share from snapshot in another pool or backend 2020-04-09 11:15:22 -03:00
fake_network.py Replaces uuid.uuid4 with uuidutils.generate_uuid() 2016-11-14 10:51:24 -05:00
fake_notifier.py Disable notifications 2017-07-17 12:45:11 -03:00
fake_service_instance.py Use unittest.mock instead of third party lib 2020-04-17 16:24:27 -07:00
fake_share.py Advertise v2 API routes without project_id 2021-02-04 23:20:19 -08:00
fake_utils.py Use unittest.mock instead of third party lib 2020-04-17 16:24:27 -07:00
fake_volume.py Trivial: Remove unused logging import 2015-12-28 21:44:26 -05:00
fake_zfssa.py Add share manage/unmanage of Oracle ZFSSA driver 2016-07-05 15:58:18 -04:00
policy.yaml [goal] Deprecate the JSON formatted policy file 2020-12-13 00:05:00 +00:00
runtime_conf.py Switch to using oslo_* instead of oslo.* 2015-01-27 09:19:50 +01:00
test_api.py Fix imports for py34 compatibility 2015-08-05 17:32:13 +03:00
test_conf.py Removed unnecessary setUp() calls in tests 2017-08-02 12:47:34 +00:00
test_context.py Remove unit test that is not relevant anymore 2017-01-28 12:02:24 +02:00
test_coordination.py Use unittest.mock instead of third party lib 2020-04-17 16:24:27 -07:00
test_exception.py Add share network with multiple subnets 2019-09-13 11:27:18 -03:00
test_hacking.py disable M325 2020-10-14 14:05:30 +08:00
test_manager.py Use unittest.mock instead of third party lib 2020-04-17 16:24:27 -07:00
test_misc.py Don't translate LOG messages in testsuite 2014-10-28 19:46:09 +01:00
test_network.py Add manage/unmanage of shares in DHSS=True 2019-03-05 16:03:29 -03:00
test_policy.py [policy in code] Add support for share instance export location resource 2017-11-16 04:39:00 +00:00
test_quota.py Fix manila OverQuota issue while managing shares 2020-09-18 21:28:11 +00:00
test_rpc.py Use unittest.mock instead of third party lib 2020-04-17 16:24:27 -07:00
test_service.py Use unittest.mock instead of third party lib 2020-04-17 16:24:27 -07:00
test_test.py Handle oslo.messaging ping endpoint 2020-09-08 11:20:41 -07:00
test_test_utils.py Remove vim headers 2014-10-06 15:00:27 +02:00
test_utils.py Use unittest.mock instead of third party lib 2020-04-17 16:24:27 -07:00
utils.py NetApp cDOT: Add Intra-Vserver migration support 2017-01-21 13:06:30 -05:00