
With pool support added to Cinder, now we are kind of in an awkward situation where we require admin to input exact location for volumes to-be managed (imported) or migrated, which must have pool info, but there is no way to find out what pools are there for backends except looking at the scheduler log. That causes bad user experience, and thus is a bug from UX POV. This change simply adds a new admin-api extension to allow admin to fetch all the pool information from scheduler cache (memory), which closes the gap for end users. This extension provides two level of pool information: names only or detailed information: Pool name only: GET http://CINDER_API_ENDPOINT/v2/TENANT_ID/scheduler-stats/get_pools Detailed Pool info: GET http://CINDER_API_ENDPOINT/v2/TENANT_ID/scheduler-stats/get_pools \?detail\=True Closes-bug: #1364279 Change-Id: I445d4e472c83db2f2d8db414de139c87d09f8fda
96 lines
3.7 KiB
JSON
96 lines
3.7 KiB
JSON
{
|
|
"context_is_admin": "role:admin",
|
|
"admin_api": "is_admin:True",
|
|
"admin_or_owner": "is_admin:True or project_id:%(project_id)s",
|
|
|
|
"volume:create": "",
|
|
"volume:get": "rule:admin_or_owner",
|
|
"volume:get_all": "",
|
|
"volume:get_volume_metadata": "",
|
|
"volume:delete_volume_metadata": "",
|
|
"volume:update_volume_metadata": "",
|
|
"volume:get_volume_admin_metadata": "rule:admin_api",
|
|
"volume:delete_volume_admin_metadata": "rule:admin_api",
|
|
"volume:update_volume_admin_metadata": "rule:admin_api",
|
|
"volume:delete": "",
|
|
"volume:update": "",
|
|
"volume:attach": "",
|
|
"volume:detach": "",
|
|
"volume:reserve_volume": "",
|
|
"volume:unreserve_volume": "",
|
|
"volume:begin_detaching": "",
|
|
"volume:roll_detaching": "",
|
|
"volume:initialize_connection": "",
|
|
"volume:terminate_connection": "",
|
|
"volume:create_snapshot": "",
|
|
"volume:delete_snapshot": "",
|
|
"volume:get_snapshot": "",
|
|
"volume:get_all_snapshots": "",
|
|
"volume:update_snapshot": "",
|
|
"volume:extend": "",
|
|
"volume:migrate_volume": "rule:admin_api",
|
|
"volume:migrate_volume_completion": "rule:admin_api",
|
|
"volume:update_readonly_flag": "",
|
|
"volume:retype": "",
|
|
"volume:copy_volume_to_image": "",
|
|
|
|
"volume_extension:volume_admin_actions:reset_status": "rule:admin_api",
|
|
"volume_extension:snapshot_admin_actions:reset_status": "rule:admin_api",
|
|
"volume_extension:backup_admin_actions:reset_status": "rule:admin_api",
|
|
"volume_extension:volume_admin_actions:force_delete": "rule:admin_api",
|
|
"volume_extension:snapshot_admin_actions:force_delete": "rule:admin_api",
|
|
"volume_extension:volume_admin_actions:force_detach": "rule:admin_api",
|
|
"volume_extension:volume_admin_actions:migrate_volume": "rule:admin_api",
|
|
"volume_extension:volume_admin_actions:migrate_volume_completion": "rule:admin_api",
|
|
"volume_extension:volume_actions:upload_image": "",
|
|
"volume_extension:types_manage": "",
|
|
"volume_extension:types_extra_specs": "",
|
|
"volume_extension:volume_type_encryption": "rule:admin_api",
|
|
"volume_extension:volume_encryption_metadata": "rule:admin_or_owner",
|
|
"volume_extension:qos_specs_manage": "",
|
|
"volume_extension:extended_snapshot_attributes": "",
|
|
"volume_extension:volume_image_metadata": "",
|
|
"volume_extension:volume_host_attribute": "rule:admin_api",
|
|
"volume_extension:volume_tenant_attribute": "rule:admin_api",
|
|
"volume_extension:volume_mig_status_attribute": "rule:admin_api",
|
|
"volume_extension:hosts": "rule:admin_api",
|
|
"volume_extension:quotas:show": "",
|
|
"volume_extension:quotas:update": "",
|
|
"volume_extension:quotas:delete": "",
|
|
"volume_extension:quota_classes": "",
|
|
"volume_extension:volume_manage": "rule:admin_api",
|
|
"volume_extension:volume_unmanage": "rule:admin_api",
|
|
|
|
"limits_extension:used_limits": "",
|
|
|
|
"snapshot_extension:snapshot_actions:update_snapshot_status": "",
|
|
|
|
"volume:create_transfer": "",
|
|
"volume:accept_transfer": "",
|
|
"volume:delete_transfer": "",
|
|
"volume:get_all_transfers": "",
|
|
|
|
"backup:create" : "",
|
|
"backup:delete": "",
|
|
"backup:get": "",
|
|
"backup:get_all": "",
|
|
"backup:restore": "",
|
|
"backup:backup-import": "rule:admin_api",
|
|
"backup:backup-export": "rule:admin_api",
|
|
|
|
"volume_extension:replication:promote": "rule:admin_api",
|
|
"volume_extension:replication:reenable": "rule:admin_api",
|
|
|
|
"consistencygroup:create" : "",
|
|
"consistencygroup:delete": "",
|
|
"consistencygroup:get": "",
|
|
"consistencygroup:get_all": "",
|
|
|
|
"consistencygroup:create_cgsnapshot" : "",
|
|
"consistencygroup:delete_cgsnapshot": "",
|
|
"consistencygroup:get_cgsnapshot": "",
|
|
"consistencygroup:get_all_cgsnapshots": "",
|
|
|
|
"scheduler_extension:scheduler_stats:get_pools" : "rule:admin_api"
|
|
}
|