manila/manila
Goutham Pacha Ravi 4249e94c6b Allow configuring availability_zones in share types
Administrators configure share types and make them
available to projects within an OpenStack cloud.
These share types will define capabilities to match
back-end storage pools that manila provisions shares
within. Administrators may want to limit share types
to specific Availability zones, given they may have
different classes of storage in different availability
zones in the cloud. A major use case of this is edge
computing, where, provisioning can be driven to specific
edge locations with the help of share types.

This commit will:

- Introduce 'availability_zones' as a new common share type
  extra spec that is user visible when configured.
- In and beyond microversion 2.48, validate that the AZ
  chosen in the POST /shares API is supported by the configured
  availability zones for the share type being used.
- Share types can be filtered by AZs through extra-specs:

  $ manila type-list --extra-specs availability_zone=nova

  now gives you all types that explicitly (and implicitly)
  are supported within the AZ 'nova'.

- Improve experimental APIs:
  - Add validation of AZ to POST /share-replicas
  - Add validation of AZ to POST /share-groups
  - Add validation of AZ to
    POST /shares/id {'action': 'migration_start'}

- Also fix old unit tests by using a helper method to
  generate appropriate mock values.

DocImpact
Change-Id: Idf274cd73e3b1b33f49668fca768ae676ca30164
Implements: bp share-type-supported-azs
2019-02-13 17:39:48 +00:00
..
api Allow configuring availability_zones in share types 2019-02-13 17:39:48 +00:00
cmd Drop param2id() from cmd/manage.py 2019-01-03 14:10:01 +01:00
common Allow configuring availability_zones in share types 2019-02-13 17:39:48 +00:00
compute Deprecate old keystone session config opts 2018-12-20 17:29:40 -08:00
data Fix Host-assisted Share Migration with IPv4+IPv6 2018-02-06 17:23:16 -05:00
db Separate APIs for share & replica export locations 2019-01-07 01:51:16 -08:00
hacking Fix the duplicate hacking check M312 and H203 2017-08-13 08:01:42 +08:00
message Enable some off-by-default checks 2017-08-03 16:13:32 +08:00
network Improve service instance module debug logging 2019-01-03 11:06:30 -06:00
policies Separate APIs for share & replica export locations 2019-01-07 01:51:16 -08:00
scheduler Allow configuring availability_zones in share types 2019-02-13 17:39:48 +00:00
share Allow configuring availability_zones in share types 2019-02-13 17:39:48 +00:00
share_group Allow configuring availability_zones in share types 2019-02-13 17:39:48 +00:00
testing Remove run_tests.sh 2018-10-04 09:55:45 -04:00
tests Allow configuring availability_zones in share types 2019-02-13 17:39:48 +00:00
volume Deprecate old keystone session config opts 2018-12-20 17:29:40 -08:00
wsgi Remove i18n.enable_lazy() translation 2018-11-14 14:09:08 +05:30
__init__.py Removed ignored checks from tox.ini and fixed pep8 issues 2016-02-14 14:56:55 +02:00
context.py [policy in code] Add support for share instance export location resource 2017-11-16 04:39:00 +00:00
coordination.py Remove unused configuration options 2017-12-13 22:49:35 +08:00
exception.py Support metadata for access rule resource 2018-07-20 23:31:48 +08:00
i18n.py Remove i18n.enable_lazy() translation 2018-11-14 14:09:08 +05:30
manager.py Allow configuration of a back end specific availability zone 2019-01-23 17:13:24 +00:00
opts.py Manila share driver for Inspur AS13000 series. 2018-07-03 18:35:55 +08:00
policy.py [policy in code] Add support for AZ, scheduler and message resource [9/10] 2017-12-20 06:22:02 +00:00
quota.py Add share groups and share group snapshots quotas 2017-07-26 11:32:43 +03:00
rpc.py Disable notifications 2017-07-17 12:45:11 -03:00
service.py Allow configuration of a back end specific availability zone 2019-01-23 17:13:24 +00:00
test.py Move/Drop useless SQL related config options 2019-01-03 15:55:29 +01:00
utils.py Set paramiko logging to DEBUG level 2019-01-05 00:49:08 +00:00
version.py Remove vim headers 2014-10-06 15:00:27 +02:00