Shared filesystem management project for OpenStack.
Go to file
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-ref/source add additional driver data to migration get progress view 2021-01-25 09:50:35 +01:00
contrib Remove backend deprecated variables 2021-01-27 10:14:42 +00:00
devstack Remove backend deprecated variables 2021-01-27 10:14:42 +00:00
doc Remove backend deprecated variables 2021-01-27 10:14:42 +00:00
etc Advertise v2 API routes without project_id 2021-02-04 23:20:19 -08:00
httpd Add mod_wsgi configuration samples 2020-08-11 21:00:54 +00:00
manila Advertise v2 API routes without project_id 2021-02-04 23:20:19 -08:00
playbooks/manila-tox-genconfig [victoria][goal] Native Zuulv3 CI jobs 2020-07-28 14:55:14 -07:00
rally-jobs [Rally] fix jobs 2017-03-30 15:12:22 +03:00
releasenotes Advertise v2 API routes without project_id 2021-02-04 23:20:19 -08:00
tools [goal] Migrate tox based testing to ubuntu focal 2020-09-09 13:19:39 -05:00
zuul.d Remove backend deprecated variables 2021-01-27 10:14:42 +00:00
.coveragerc Impove coverage job accuracy 2017-10-25 11:57:46 -04:00
.gitignore [pylint] Remove lint tox environment 2019-02-19 11:04:03 -08:00
.gitreview OpenDev Migration Patch 2019-04-19 19:27:35 +00:00
.pylintrc [pylint] Fix/ignore pylint errors in non-test modules 2019-02-25 17:23:15 +00:00
.stestr.conf tests: replace .testr.conf with .stestr.conf 2017-09-13 07:56:21 -04:00
bindep.txt [CI] Add bindep.txt 2019-06-24 15:03:51 -07:00
CONTRIBUTING.rst [cycle-goals] Add PTL and contributor quickstart 2020-04-18 22:29:50 +00:00
HACKING.rst disable M325 2020-10-14 14:05:30 +08:00
LICENSE Initialize from cinder 2013-08-08 10:34:06 -04:00
lower-constraints.txt [goal] Deprecate the JSON formatted policy file 2020-12-13 00:05:00 +00:00
README.rst Fix URLs in code and documentation 2020-03-18 18:59:27 -07:00
requirements.txt [goal] Deprecate the JSON formatted policy file 2020-12-13 00:05:00 +00:00
setup.cfg [goal] Deprecate the JSON formatted policy file 2020-12-13 00:05:00 +00:00
setup.py Cleanup Python 2.7 support 2020-03-27 16:55:52 +01:00
test-requirements.txt Update requirements 2020-12-10 19:48:15 -08:00
tox.ini Replace deprecated UPPER_CONSTRAINTS_FILE variable 2020-11-12 09:35:10 +08:00

Team and repository tags

image

MANILA

You have come across an OpenStack shared file system service. It has identified itself as "Manila." It was abstracted from the Cinder project.

Getting Started

If you'd like to run from the master branch, you can clone the git repo:

git clone https://opendev.org/openstack/manila

For developer information please see HACKING.rst

You can raise bugs here https://bugs.launchpad.net/manila

Python client

https://opendev.org/openstack/python-manilaclient

  • Documentation for the project can be found at:

https://docs.openstack.org/manila/latest/

  • Release notes for the project can be found at:

https://docs.openstack.org/releasenotes/manila/

  • Source for the project:

https://opendev.org/openstack/manila

  • Bugs:

https://bugs.launchpad.net/manila

  • Blueprints:

https://blueprints.launchpad.net/manila

  • Design specifications are tracked at:

https://specs.openstack.org/openstack/manila-specs/