summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--etc/nova/policy.json242
-rw-r--r--nova/tests/unit/fake_policy.py239
-rw-r--r--nova/tests/unit/test_policy.py218
-rw-r--r--releasenotes/notes/remove_legacy_v2_api_policy_rules-033fa77420ed6362.yaml6
4 files changed, 10 insertions, 695 deletions
diff --git a/etc/nova/policy.json b/etc/nova/policy.json
index 2f63cd90ea..54408410eb 100644
--- a/etc/nova/policy.json
+++ b/etc/nova/policy.json
@@ -5,249 +5,9 @@
"cells_scheduler_filter:TargetCellFilter": "is_admin:True",
- "compute:create": "rule:admin_or_owner",
- "compute:create:attach_network": "rule:admin_or_owner",
- "compute:create:attach_volume": "rule:admin_or_owner",
- "compute:create:forced_host": "is_admin:True",
-
- "compute:get": "rule:admin_or_owner",
- "compute:get_all": "rule:admin_or_owner",
- "compute:get_all_tenants": "is_admin:True",
-
- "compute:update": "rule:admin_or_owner",
-
- "compute:get_instance_metadata": "rule:admin_or_owner",
- "compute:get_all_instance_metadata": "rule:admin_or_owner",
- "compute:get_all_instance_system_metadata": "rule:admin_or_owner",
- "compute:update_instance_metadata": "rule:admin_or_owner",
- "compute:delete_instance_metadata": "rule:admin_or_owner",
-
- "compute:get_diagnostics": "rule:admin_or_owner",
- "compute:get_instance_diagnostics": "rule:admin_or_owner",
-
- "compute:start": "rule:admin_or_owner",
- "compute:stop": "rule:admin_or_owner",
-
- "compute:lock": "rule:admin_or_owner",
- "compute:unlock": "rule:admin_or_owner",
- "compute:unlock_override": "rule:admin_api",
-
- "compute:get_vnc_console": "rule:admin_or_owner",
- "compute:get_spice_console": "rule:admin_or_owner",
- "compute:get_rdp_console": "rule:admin_or_owner",
- "compute:get_serial_console": "rule:admin_or_owner",
- "compute:get_mks_console": "rule:admin_or_owner",
- "compute:get_console_output": "rule:admin_or_owner",
-
- "compute:reset_network": "rule:admin_or_owner",
- "compute:inject_network_info": "rule:admin_or_owner",
- "compute:add_fixed_ip": "rule:admin_or_owner",
- "compute:remove_fixed_ip": "rule:admin_or_owner",
-
- "compute:attach_volume": "rule:admin_or_owner",
- "compute:detach_volume": "rule:admin_or_owner",
- "compute:swap_volume": "rule:admin_api",
-
- "compute:attach_interface": "rule:admin_or_owner",
- "compute:detach_interface": "rule:admin_or_owner",
-
- "compute:set_admin_password": "rule:admin_or_owner",
-
- "compute:rescue": "rule:admin_or_owner",
- "compute:unrescue": "rule:admin_or_owner",
-
- "compute:suspend": "rule:admin_or_owner",
- "compute:resume": "rule:admin_or_owner",
-
- "compute:pause": "rule:admin_or_owner",
- "compute:unpause": "rule:admin_or_owner",
-
- "compute:shelve": "rule:admin_or_owner",
- "compute:shelve_offload": "rule:admin_or_owner",
- "compute:unshelve": "rule:admin_or_owner",
-
- "compute:snapshot": "rule:admin_or_owner",
- "compute:snapshot_volume_backed": "rule:admin_or_owner",
- "compute:backup": "rule:admin_or_owner",
-
- "compute:resize": "rule:admin_or_owner",
- "compute:confirm_resize": "rule:admin_or_owner",
- "compute:revert_resize": "rule:admin_or_owner",
-
- "compute:rebuild": "rule:admin_or_owner",
- "compute:reboot": "rule:admin_or_owner",
- "compute:delete": "rule:admin_or_owner",
- "compute:soft_delete": "rule:admin_or_owner",
- "compute:force_delete": "rule:admin_or_owner",
-
- "compute:security_groups:add_to_instance": "rule:admin_or_owner",
- "compute:security_groups:remove_from_instance": "rule:admin_or_owner",
-
- "compute:restore": "rule:admin_or_owner",
-
- "compute:volume_snapshot_create": "rule:admin_or_owner",
- "compute:volume_snapshot_delete": "rule:admin_or_owner",
-
"admin_api": "is_admin:True",
- "compute_extension:accounts": "rule:admin_api",
- "compute_extension:admin_actions": "rule:admin_api",
- "compute_extension:admin_actions:pause": "rule:admin_or_owner",
- "compute_extension:admin_actions:unpause": "rule:admin_or_owner",
- "compute_extension:admin_actions:suspend": "rule:admin_or_owner",
- "compute_extension:admin_actions:resume": "rule:admin_or_owner",
- "compute_extension:admin_actions:lock": "rule:admin_or_owner",
- "compute_extension:admin_actions:unlock": "rule:admin_or_owner",
- "compute_extension:admin_actions:resetNetwork": "rule:admin_api",
- "compute_extension:admin_actions:injectNetworkInfo": "rule:admin_api",
- "compute_extension:admin_actions:createBackup": "rule:admin_or_owner",
- "compute_extension:admin_actions:migrateLive": "rule:admin_api",
- "compute_extension:admin_actions:resetState": "rule:admin_api",
- "compute_extension:admin_actions:migrate": "rule:admin_api",
- "compute_extension:aggregates": "rule:admin_api",
- "compute_extension:agents": "rule:admin_api",
- "compute_extension:attach_interfaces": "rule:admin_or_owner",
- "compute_extension:baremetal_nodes": "rule:admin_api",
- "compute_extension:cells": "rule:admin_api",
- "compute_extension:cells:create": "rule:admin_api",
- "compute_extension:cells:delete": "rule:admin_api",
- "compute_extension:cells:update": "rule:admin_api",
- "compute_extension:cells:sync_instances": "rule:admin_api",
- "compute_extension:certificates": "rule:admin_or_owner",
- "compute_extension:cloudpipe": "rule:admin_api",
- "compute_extension:cloudpipe_update": "rule:admin_api",
- "compute_extension:config_drive": "rule:admin_or_owner",
- "compute_extension:console_output": "rule:admin_or_owner",
- "compute_extension:consoles": "rule:admin_or_owner",
- "compute_extension:createserverext": "rule:admin_or_owner",
- "compute_extension:deferred_delete": "rule:admin_or_owner",
- "compute_extension:disk_config": "rule:admin_or_owner",
- "compute_extension:evacuate": "rule:admin_api",
- "compute_extension:extended_server_attributes": "rule:admin_api",
- "compute_extension:extended_status": "rule:admin_or_owner",
- "compute_extension:extended_availability_zone": "rule:admin_or_owner",
- "compute_extension:extended_ips": "rule:admin_or_owner",
- "compute_extension:extended_ips_mac": "rule:admin_or_owner",
- "compute_extension:extended_vif_net": "rule:admin_or_owner",
- "compute_extension:extended_volumes": "rule:admin_or_owner",
- "compute_extension:fixed_ips": "rule:admin_api",
- "compute_extension:flavor_access": "rule:admin_or_owner",
- "compute_extension:flavor_access:addTenantAccess": "rule:admin_api",
- "compute_extension:flavor_access:removeTenantAccess": "rule:admin_api",
- "compute_extension:flavor_disabled": "rule:admin_or_owner",
- "compute_extension:flavor_rxtx": "rule:admin_or_owner",
- "compute_extension:flavor_swap": "rule:admin_or_owner",
- "compute_extension:flavorextradata": "rule:admin_or_owner",
- "compute_extension:flavorextraspecs:index": "rule:admin_or_owner",
- "compute_extension:flavorextraspecs:show": "rule:admin_or_owner",
- "compute_extension:flavorextraspecs:create": "rule:admin_api",
- "compute_extension:flavorextraspecs:update": "rule:admin_api",
- "compute_extension:flavorextraspecs:delete": "rule:admin_api",
- "compute_extension:flavormanage": "rule:admin_api",
- "compute_extension:floating_ip_dns": "rule:admin_or_owner",
- "compute_extension:floating_ip_pools": "rule:admin_or_owner",
- "compute_extension:floating_ips": "rule:admin_or_owner",
- "compute_extension:floating_ips_bulk": "rule:admin_api",
- "compute_extension:fping": "rule:admin_or_owner",
- "compute_extension:fping:all_tenants": "rule:admin_api",
- "compute_extension:hide_server_addresses": "is_admin:False",
- "compute_extension:hosts": "rule:admin_api",
- "compute_extension:hypervisors": "rule:admin_api",
- "compute_extension:image_size": "rule:admin_or_owner",
- "compute_extension:instance_actions": "rule:admin_or_owner",
- "compute_extension:instance_actions:events": "rule:admin_api",
- "compute_extension:instance_usage_audit_log": "rule:admin_api",
- "compute_extension:keypairs": "rule:admin_or_owner",
- "compute_extension:keypairs:index": "rule:admin_or_owner",
- "compute_extension:keypairs:show": "rule:admin_or_owner",
- "compute_extension:keypairs:create": "rule:admin_or_owner",
- "compute_extension:keypairs:delete": "rule:admin_or_owner",
- "compute_extension:multinic": "rule:admin_or_owner",
- "compute_extension:networks": "rule:admin_api",
- "compute_extension:networks:view": "rule:admin_or_owner",
- "compute_extension:networks_associate": "rule:admin_api",
- "compute_extension:os-tenant-networks": "rule:admin_or_owner",
- "compute_extension:quotas:show": "rule:admin_or_owner",
- "compute_extension:quotas:update": "rule:admin_api",
- "compute_extension:quotas:delete": "rule:admin_api",
- "compute_extension:quota_classes": "rule:admin_or_owner",
- "compute_extension:rescue": "rule:admin_or_owner",
- "compute_extension:security_group_default_rules": "rule:admin_api",
- "compute_extension:security_groups": "rule:admin_or_owner",
- "compute_extension:server_diagnostics": "rule:admin_api",
- "compute_extension:server_groups": "rule:admin_or_owner",
- "compute_extension:server_password": "rule:admin_or_owner",
- "compute_extension:server_usage": "rule:admin_or_owner",
- "compute_extension:services": "rule:admin_api",
- "compute_extension:shelve": "rule:admin_or_owner",
- "compute_extension:shelveOffload": "rule:admin_api",
- "compute_extension:simple_tenant_usage:show": "rule:admin_or_owner",
- "compute_extension:simple_tenant_usage:list": "rule:admin_api",
- "compute_extension:unshelve": "rule:admin_or_owner",
- "compute_extension:users": "rule:admin_api",
- "compute_extension:virtual_interfaces": "rule:admin_or_owner",
- "compute_extension:virtual_storage_arrays": "rule:admin_or_owner",
- "compute_extension:volumes": "rule:admin_or_owner",
- "compute_extension:volume_attachments:index": "rule:admin_or_owner",
- "compute_extension:volume_attachments:show": "rule:admin_or_owner",
- "compute_extension:volume_attachments:create": "rule:admin_or_owner",
- "compute_extension:volume_attachments:update": "rule:admin_api",
- "compute_extension:volume_attachments:delete": "rule:admin_or_owner",
- "compute_extension:volumetypes": "rule:admin_or_owner",
- "compute_extension:availability_zone:list": "rule:admin_or_owner",
- "compute_extension:availability_zone:detail": "rule:admin_api",
- "compute_extension:used_limits_for_admin": "rule:admin_api",
- "compute_extension:migrations:index": "rule:admin_api",
- "compute_extension:os-assisted-volume-snapshots:create": "rule:admin_api",
- "compute_extension:os-assisted-volume-snapshots:delete": "rule:admin_api",
- "compute_extension:console_auth_tokens": "rule:admin_api",
- "compute_extension:os-server-external-events:create": "rule:admin_api",
-
- "network:get_all": "rule:admin_or_owner",
- "network:get": "rule:admin_or_owner",
- "network:create": "rule:admin_or_owner",
- "network:delete": "rule:admin_or_owner",
- "network:associate": "rule:admin_or_owner",
- "network:disassociate": "rule:admin_or_owner",
- "network:get_vifs_by_instance": "rule:admin_or_owner",
- "network:allocate_for_instance": "rule:admin_or_owner",
- "network:deallocate_for_instance": "rule:admin_or_owner",
- "network:validate_networks": "rule:admin_or_owner",
- "network:get_instance_uuids_by_ip_filter": "rule:admin_or_owner",
- "network:get_instance_id_by_floating_address": "rule:admin_or_owner",
- "network:setup_networks_on_host": "rule:admin_or_owner",
- "network:get_backdoor_port": "rule:admin_or_owner",
-
- "network:get_floating_ip": "rule:admin_or_owner",
- "network:get_floating_ip_pools": "rule:admin_or_owner",
- "network:get_floating_ip_by_address": "rule:admin_or_owner",
- "network:get_floating_ips_by_project": "rule:admin_or_owner",
- "network:get_floating_ips_by_fixed_address": "rule:admin_or_owner",
- "network:allocate_floating_ip": "rule:admin_or_owner",
- "network:associate_floating_ip": "rule:admin_or_owner",
- "network:disassociate_floating_ip": "rule:admin_or_owner",
- "network:release_floating_ip": "rule:admin_or_owner",
- "network:migrate_instance_start": "rule:admin_or_owner",
- "network:migrate_instance_finish": "rule:admin_or_owner",
-
- "network:get_fixed_ip": "rule:admin_or_owner",
- "network:get_fixed_ip_by_address": "rule:admin_or_owner",
- "network:add_fixed_ip_to_instance": "rule:admin_or_owner",
- "network:remove_fixed_ip_from_instance": "rule:admin_or_owner",
- "network:add_network_to_project": "rule:admin_or_owner",
- "network:get_instance_nw_info": "rule:admin_or_owner",
-
- "network:get_dns_domains": "rule:admin_or_owner",
- "network:add_dns_entry": "rule:admin_or_owner",
- "network:modify_dns_entry": "rule:admin_or_owner",
- "network:delete_dns_entry": "rule:admin_or_owner",
- "network:get_dns_entries_by_address": "rule:admin_or_owner",
- "network:get_dns_entries_by_name": "rule:admin_or_owner",
- "network:create_private_dns_domain": "rule:admin_or_owner",
- "network:create_public_dns_domain": "rule:admin_or_owner",
- "network:delete_dns_domain": "rule:admin_or_owner",
- "network:attach_external_network": "rule:admin_api",
- "network:get_vif_by_mac_address": "rule:admin_or_owner",
+ "network:attach_external_network": "is_admin:True",
"os_compute_api:servers:detail:get_all_tenants": "is_admin:True",
"os_compute_api:servers:index:get_all_tenants": "is_admin:True",
"os_compute_api:servers:confirm_resize": "rule:admin_or_owner",
diff --git a/nova/tests/unit/fake_policy.py b/nova/tests/unit/fake_policy.py
index c9945e861e..0cf521fbba 100644
--- a/nova/tests/unit/fake_policy.py
+++ b/nova/tests/unit/fake_policy.py
@@ -20,88 +20,6 @@ policy_data = """
"cells_scheduler_filter:TargetCellFilter": "is_admin:True",
"context_is_admin": "role:admin or role:administrator",
- "compute:create": "",
- "compute:create:attach_network": "",
- "compute:create:attach_volume": "",
-
- "compute:get": "",
- "compute:get_all": "",
- "compute:get_all_tenants": "",
-
- "compute:update": "",
-
- "compute:get_instance_metadata": "",
- "compute:get_all_instance_metadata": "",
- "compute:get_all_instance_system_metadata": "",
- "compute:update_instance_metadata": "",
- "compute:delete_instance_metadata": "",
-
- "compute:get_diagnostics": "",
- "compute:get_instance_diagnostics": "",
-
- "compute:lock": "",
- "compute:unlock": "",
- "compute:unlock_override": "is_admin:True",
-
- "compute:get_vnc_console": "",
- "compute:get_spice_console": "",
- "compute:get_rdp_console": "",
- "compute:get_serial_console": "",
- "compute:get_mks_console": "",
- "compute:get_console_output": "",
-
- "compute:reset_network": "",
- "compute:inject_network_info": "",
- "compute:add_fixed_ip": "",
- "compute:remove_fixed_ip": "",
-
- "compute:attach_volume": "",
- "compute:detach_volume": "",
-
- "compute:attach_interface": "",
- "compute:detach_interface": "",
-
- "compute:set_admin_password": "",
-
- "compute:rescue": "",
- "compute:unrescue": "",
-
- "compute:suspend": "",
- "compute:resume": "",
-
- "compute:pause": "",
- "compute:unpause": "",
-
- "compute:start": "",
- "compute:stop": "",
-
- "compute:resize": "",
- "compute:confirm_resize": "",
- "compute:revert_resize": "",
-
- "compute:rebuild": "",
-
- "compute:reboot": "",
-
- "compute:snapshot": "",
- "compute:snapshot_volume_backed": "",
- "compute:backup": "",
-
- "compute:shelve": "",
- "compute:shelve_offload": "",
- "compute:unshelve": "",
-
- "compute:security_groups:add_to_instance": "",
- "compute:security_groups:remove_from_instance": "",
-
- "compute:delete": "",
- "compute:soft_delete": "",
- "compute:force_delete": "",
- "compute:restore": "",
- "compute:swap_volume": "",
-
- "compute:volume_snapshot_create": "",
- "compute:volume_snapshot_delete": "",
"os_compute_api:servers:confirm_resize": "",
"os_compute_api:servers:create": "",
@@ -130,24 +48,10 @@ policy_data = """
"os_compute_api:servers:migrations:index": "rule:admin_api",
"os_compute_api:servers:migrations:show": "rule:admin_api",
"os_compute_api:os-access-ips": "",
- "compute_extension:accounts": "",
- "compute_extension:admin_actions:pause": "",
- "compute_extension:admin_actions:unpause": "",
- "compute_extension:admin_actions:suspend": "",
- "compute_extension:admin_actions:resume": "",
- "compute_extension:admin_actions:lock": "",
- "compute_extension:admin_actions:unlock": "",
- "compute_extension:admin_actions:resetNetwork": "",
- "compute_extension:admin_actions:injectNetworkInfo": "",
- "compute_extension:admin_actions:createBackup": "",
- "compute_extension:admin_actions:migrateLive": "",
- "compute_extension:admin_actions:resetState": "",
- "compute_extension:admin_actions:migrate": "",
- "os_compute_api:os-admin-actions:reset_network": "",
"os_compute_api:os-admin-actions:inject_network_info": "",
+ "os_compute_api:os-admin-actions:reset_network": "",
"os_compute_api:os-admin-actions:reset_state": "",
"os_compute_api:os-admin-password": "",
- "compute_extension:aggregates": "rule:admin_api",
"os_compute_api:os-aggregates:index": "rule:admin_api",
"os_compute_api:os-aggregates:create": "rule:admin_api",
"os_compute_api:os-aggregates:show": "rule:admin_api",
@@ -156,118 +60,61 @@ policy_data = """
"os_compute_api:os-aggregates:add_host": "rule:admin_api",
"os_compute_api:os-aggregates:remove_host": "rule:admin_api",
"os_compute_api:os-aggregates:set_metadata": "rule:admin_api",
- "compute_extension:agents": "",
"os_compute_api:os-agents": "",
- "compute_extension:attach_interfaces": "",
"os_compute_api:os-attach-interfaces": "",
- "compute_extension:baremetal_nodes": "",
"os_compute_api:os-baremetal-nodes": "",
- "compute_extension:cells": "",
- "compute_extension:cells:create": "rule:admin_api",
- "compute_extension:cells:delete": "rule:admin_api",
- "compute_extension:cells:update": "rule:admin_api",
- "compute_extension:cells:sync_instances": "rule:admin_api",
"os_compute_api:os-cells": "",
"os_compute_api:os-cells:create": "rule:admin_api",
"os_compute_api:os-cells:delete": "rule:admin_api",
"os_compute_api:os-cells:update": "rule:admin_api",
"os_compute_api:os-cells:sync_instances": "rule:admin_api",
- "compute_extension:certificates": "",
"os_compute_api:os-certificates:create": "",
"os_compute_api:os-certificates:show": "",
- "compute_extension:cloudpipe": "",
"os_compute_api:os-cloudpipe": "",
- "compute_extension:cloudpipe_update": "",
- "compute_extension:config_drive": "",
"os_compute_api:os-config-drive": "",
- "compute_extension:console_output": "",
"os_compute_api:os-console-output": "",
- "compute_extension:consoles": "",
"os_compute_api:os-remote-consoles": "",
"os_compute_api:os-consoles:create": "",
"os_compute_api:os-consoles:delete": "",
"os_compute_api:os-consoles:index": "",
"os_compute_api:os-consoles:show": "",
- "compute_extension:createserverext": "",
"os_compute_api:os-create-backup": "",
- "compute_extension:deferred_delete": "",
"os_compute_api:os-deferred-delete": "",
- "compute_extension:disk_config": "",
"os_compute_api:os-disk-config": "",
- "compute_extension:evacuate": "is_admin:True",
"os_compute_api:os-evacuate": "is_admin:True",
- "compute_extension:extended_server_attributes": "",
"os_compute_api:os-extended-server-attributes": "",
- "compute_extension:extended_status": "",
"os_compute_api:os-extended-status": "",
- "compute_extension:extended_availability_zone": "",
"os_compute_api:os-extended-availability-zone": "",
- "compute_extension:extended_ips": "",
- "compute_extension:extended_ips_mac": "",
- "compute_extension:extended_vif_net": "",
- "compute_extension:extended_volumes": "",
"os_compute_api:ips:index": "",
"os_compute_api:ips:show": "",
"os_compute_api:os-extended-volumes": "",
"os_compute_api:extensions": "",
- "compute_extension:fixed_ips": "",
"os_compute_api:os-fixed-ips": "",
- "compute_extension:flavor_access": "",
- "compute_extension:flavor_access:addTenantAccess": "",
- "compute_extension:flavor_access:removeTenantAccess": "",
"os_compute_api:os-flavor-access": "",
"os_compute_api:os-flavor-access:remove_tenant_access": "",
"os_compute_api:os-flavor-access:add_tenant_access": "",
- "compute_extension:flavor_disabled": "",
- "compute_extension:flavor_rxtx": "",
"os_compute_api:os-flavor-rxtx": "",
- "compute_extension:flavor_swap": "",
- "compute_extension:flavorextradata": "",
- "compute_extension:flavorextraspecs:index": "",
- "compute_extension:flavorextraspecs:show": "",
- "compute_extension:flavorextraspecs:create": "is_admin:True",
- "compute_extension:flavorextraspecs:update": "is_admin:True",
- "compute_extension:flavorextraspecs:delete": "is_admin:True",
"os_compute_api:os-flavor-extra-specs:index": "",
"os_compute_api:os-flavor-extra-specs:show": "",
"os_compute_api:os-flavor-extra-specs:create": "is_admin:True",
"os_compute_api:os-flavor-extra-specs:update": "is_admin:True",
"os_compute_api:os-flavor-extra-specs:delete": "is_admin:True",
- "compute_extension:flavormanage": "",
"os_compute_api:os-flavor-manage": "",
- "compute_extension:floating_ip_dns": "",
"os_compute_api:os-floating-ip-dns": "",
"os_compute_api:os-floating-ip-dns:domain:update": "",
"os_compute_api:os-floating-ip-dns:domain:delete": "",
- "compute_extension:floating_ip_pools": "",
"os_compute_api:os-floating-ip-pools": "",
- "compute_extension:floating_ips": "",
"os_compute_api:os-floating-ips": "",
- "compute_extension:floating_ips_bulk": "",
"os_compute_api:os-floating-ips-bulk": "",
- "compute_extension:fping": "",
- "compute_extension:fping:all_tenants": "is_admin:True",
"os_compute_api:os-fping": "",
"os_compute_api:os-fping:all_tenants": "is_admin:True",
- "compute_extension:hide_server_addresses": "",
"os_compute_api:os-hide-server-addresses": "",
- "compute_extension:hosts": "",
"os_compute_api:os-hosts": "rule:admin_api",
- "compute_extension:hypervisors": "rule:admin_api",
"os_compute_api:os-hypervisors": "rule:admin_api",
- "compute_extension:image_size": "",
"os_compute_api:image-size": "",
- "compute_extension:instance_actions": "",
"os_compute_api:os-instance-actions": "",
- "compute_extension:instance_actions:events": "is_admin:True",
"os_compute_api:os-instance-actions:events": "is_admin:True",
- "compute_extension:instance_usage_audit_log": "rule:admin_api",
"os_compute_api:os-instance-usage-audit-log": "",
- "compute_extension:keypairs": "",
- "compute_extension:keypairs:index": "",
- "compute_extension:keypairs:show": "",
- "compute_extension:keypairs:create": "",
- "compute_extension:keypairs:delete": "",
"os_compute_api:os-keypairs": "",
"os_compute_api:os-keypairs:index":
@@ -283,15 +130,10 @@ policy_data = """
"os_compute_api:os-lock-server:unlock:unlock_override": "rule:admin_api",
"os_compute_api:os-migrate-server:migrate": "",
"os_compute_api:os-migrate-server:migrate_live": "",
- "compute_extension:multinic": "",
"os_compute_api:os-multinic": "",
- "compute_extension:networks": "",
- "compute_extension:networks:view": "",
"os_compute_api:os-networks": "",
"os_compute_api:os-networks:view": "",
- "compute_extension:networks_associate": "",
"os_compute_api:os-networks-associate": "",
- "compute_extension:os-tenant-networks": "",
"os_compute_api:os-tenant-networks": "",
"os_compute_api:os-pause-server:pause": "",
"os_compute_api:os-pause-server:unpause": "",
@@ -299,27 +141,17 @@ policy_data = """
"os_compute_api:os-pci:index": "",
"os_compute_api:os-pci:detail": "",
"os_compute_api:os-pci:show": "",
- "compute_extension:quotas:show": "",
- "compute_extension:quotas:update": "",
- "compute_extension:quotas:delete": "",
"os_compute_api:os-quota-sets:show": "",
"os_compute_api:os-quota-sets:update": "",
"os_compute_api:os-quota-sets:delete": "",
"os_compute_api:os-quota-sets:detail": "",
"os_compute_api:os-quota-sets:defaults": "",
- "compute_extension:quota_classes": "",
"os_compute_api:os-quota-class-sets:update": "",
"os_compute_api:os-quota-class-sets:show": "",
- "compute_extension:rescue": "",
"os_compute_api:os-rescue": "",
- "compute_extension:security_group_default_rules": "",
"os_compute_api:os-security-group-default-rules": "",
- "compute_extension:security_groups": "",
"os_compute_api:os-security-groups": "",
- "compute_extension:server_diagnostics": "",
"os_compute_api:os-server-diagnostics": "",
- "compute_extension:server_groups": "",
- "compute_extension:server_password": "",
"os_compute_api:os-server-password": "",
"os_compute_api:os-server-tags:index": "",
"os_compute_api:os-server-tags:show": "",
@@ -327,56 +159,31 @@ policy_data = """
"os_compute_api:os-server-tags:update_all": "",
"os_compute_api:os-server-tags:delete": "",
"os_compute_api:os-server-tags:delete_all": "",
- "compute_extension:server_usage": "",
"os_compute_api:os-server-usage": "",
"os_compute_api:os-server-groups": "",
- "compute_extension:services": "",
"os_compute_api:os-services": "",
- "compute_extension:shelve": "",
- "compute_extension:shelveOffload": "",
"os_compute_api:os-shelve:shelve": "",
"os_compute_api:os-shelve:shelve_offload": "",
- "compute_extension:simple_tenant_usage:show": "",
- "compute_extension:simple_tenant_usage:list": "",
"os_compute_api:os-simple-tenant-usage:show": "",
"os_compute_api:os-simple-tenant-usage:list": "",
- "compute_extension:unshelve": "",
"os_compute_api:os-shelve:unshelve": "",
"os_compute_api:os-suspend-server:suspend": "",
"os_compute_api:os-suspend-server:resume": "",
- "compute_extension:users": "",
- "compute_extension:virtual_interfaces": "",
"os_compute_api:os-virtual-interfaces": "",
- "compute_extension:virtual_storage_arrays": "",
- "compute_extension:volumes": "",
- "compute_extension:volume_attachments:index": "",
- "compute_extension:volume_attachments:show": "",
- "compute_extension:volume_attachments:create": "",
- "compute_extension:volume_attachments:update": "",
- "compute_extension:volume_attachments:delete": "",
"os_compute_api:os-volumes": "",
"os_compute_api:os-volumes-attachments:index": "",
"os_compute_api:os-volumes-attachments:show": "",
"os_compute_api:os-volumes-attachments:create": "",
"os_compute_api:os-volumes-attachments:update": "",
"os_compute_api:os-volumes-attachments:delete": "",
- "compute_extension:volumetypes": "",
- "compute_extension:availability_zone:list": "",
"os_compute_api:os-availability-zone:list": "",
- "compute_extension:availability_zone:detail": "",
"os_compute_api:os-availability-zone:detail": "",
- "compute_extension:used_limits_for_admin": "is_admin:True",
"os_compute_api:os-used-limits": "is_admin:True",
"os_compute_api:limits": "",
- "compute_extension:migrations:index": "is_admin:True",
"os_compute_api:os-migrations:index": "is_admin:True",
- "compute_extension:os-assisted-volume-snapshots:create": "",
- "compute_extension:os-assisted-volume-snapshots:delete": "",
"os_compute_api:os-assisted-volume-snapshots:create": "",
"os_compute_api:os-assisted-volume-snapshots:delete": "",
- "compute_extension:console_auth_tokens": "is_admin:True",
"os_compute_api:os-console-auth-tokens": "is_admin:True",
- "compute_extension:os-server-external-events:create": "rule:admin_api",
"os_compute_api:os-server-external-events:create": "rule:admin_api",
"os_compute_api:server-metadata:create": "",
"os_compute_api:server-metadata:update": "",
@@ -384,50 +191,6 @@ policy_data = """
"os_compute_api:server-metadata:delete": "",
"os_compute_api:server-metadata:show": "",
"os_compute_api:server-metadata:index": "",
-
- "network:get_all": "",
- "network:get": "",
- "network:create": "",
- "network:delete": "",
- "network:associate": "",
- "network:disassociate": "",
- "network:get_vifs_by_instance": "",
- "network:get_vif_by_mac_address": "",
- "network:allocate_for_instance": "",
- "network:deallocate_for_instance": "",
- "network:validate_networks": "",
- "network:get_instance_uuids_by_ip_filter": "",
- "network:get_instance_id_by_floating_address": "",
- "network:setup_networks_on_host": "",
-
- "network:get_floating_ip": "",
- "network:get_floating_ip_pools": "",
- "network:get_floating_ip_by_address": "",
- "network:get_floating_ips_by_project": "",
- "network:get_floating_ips_by_fixed_address": "",
- "network:allocate_floating_ip": "",
- "network:associate_floating_ip": "",
- "network:disassociate_floating_ip": "",
- "network:release_floating_ip": "",
- "network:migrate_instance_start": "",
- "network:migrate_instance_finish": "",
-
- "network:get_fixed_ip": "",
- "network:get_fixed_ip_by_address": "",
- "network:add_fixed_ip_to_instance": "",
- "network:remove_fixed_ip_from_instance": "",
- "network:add_network_to_project": "",
- "network:get_instance_nw_info": "",
-
- "network:get_dns_domains": "",
- "network:add_dns_entry": "",
- "network:modify_dns_entry": "",
- "network:delete_dns_entry": "",
- "network:get_dns_entries_by_address": "",
- "network:get_dns_entries_by_name": "",
- "network:create_private_dns_domain": "",
- "network:create_public_dns_domain": "",
- "network:delete_dns_domain": "",
"network:attach_external_network": "rule:admin_api"
}
"""
diff --git a/nova/tests/unit/test_policy.py b/nova/tests/unit/test_policy.py
index 2c08b53bb0..393849d9f9 100644
--- a/nova/tests/unit/test_policy.py
+++ b/nova/tests/unit/test_policy.py
@@ -247,67 +247,13 @@ class RealRolePolicyTestCase(test.NoDBTestCase):
self.admin_only_rules = (
"cells_scheduler_filter:TargetCellFilter",
-"compute:unlock_override",
-"compute:get_all_tenants",
-"compute:create:forced_host",
-"compute:swap_volume",
-"compute_extension:accounts",
-"compute_extension:admin_actions",
-"compute_extension:admin_actions:resetNetwork",
-"compute_extension:admin_actions:injectNetworkInfo",
-"compute_extension:admin_actions:migrateLive",
-"compute_extension:admin_actions:resetState",
-"compute_extension:admin_actions:migrate",
-"compute_extension:aggregates",
-"compute_extension:agents",
-"compute_extension:baremetal_nodes",
-"compute_extension:cells",
-"compute_extension:cells:create",
-"compute_extension:cells:delete",
-"compute_extension:cells:update",
-"compute_extension:cells:sync_instances",
-"compute_extension:cloudpipe",
-"compute_extension:cloudpipe_update",
-"compute_extension:evacuate",
-"compute_extension:extended_server_attributes",
-"compute_extension:fixed_ips",
-"compute_extension:flavor_access:addTenantAccess",
-"compute_extension:flavor_access:removeTenantAccess",
-"compute_extension:flavorextraspecs:create",
-"compute_extension:flavorextraspecs:update",
-"compute_extension:flavorextraspecs:delete",
-"compute_extension:flavormanage",
-"compute_extension:floating_ips_bulk",
-"compute_extension:fping:all_tenants",
-"compute_extension:hosts",
-"compute_extension:hypervisors",
-"compute_extension:instance_actions:events",
-"compute_extension:instance_usage_audit_log",
-"compute_extension:networks",
-"compute_extension:networks_associate",
-"compute_extension:quotas:update",
-"compute_extension:quotas:delete",
-"compute_extension:security_group_default_rules",
-"compute_extension:server_diagnostics",
-"compute_extension:services",
-"compute_extension:shelveOffload",
-"compute_extension:simple_tenant_usage:list",
-"compute_extension:users",
-"compute_extension:availability_zone:detail",
-"compute_extension:used_limits_for_admin",
-"compute_extension:migrations:index",
-"compute_extension:os-assisted-volume-snapshots:create",
-"compute_extension:os-assisted-volume-snapshots:delete",
-"compute_extension:console_auth_tokens",
-"compute_extension:os-server-external-events:create",
-"compute_extension:volume_attachments:update",
+"network:attach_external_network",
"os_compute_api:servers:create:forced_host",
"os_compute_api:servers:detail:get_all_tenants",
"os_compute_api:servers:index:get_all_tenants",
"os_compute_api:servers:show:host_status",
"os_compute_api:servers:migrations:force_complete",
"os_compute_api:servers:migrations:delete",
-"network:attach_external_network",
"os_compute_api:os-admin-actions",
"os_compute_api:os-admin-actions:reset_network",
"os_compute_api:os-admin-actions:inject_network_info",
@@ -376,21 +322,6 @@ class RealRolePolicyTestCase(test.NoDBTestCase):
self.admin_or_owner_rules = (
"default",
-"compute:start",
-"compute:stop",
-"compute:delete",
-"compute:soft_delete",
-"compute:force_delete",
-"compute:lock",
-"compute:unlock",
-"compute_extension:admin_actions:pause",
-"compute_extension:admin_actions:unpause",
-"compute_extension:admin_actions:suspend",
-"compute_extension:admin_actions:resume",
-"compute_extension:admin_actions:lock",
-"compute_extension:admin_actions:unlock",
-"compute_extension:admin_actions:createBackup",
-"compute_extension:simple_tenant_usage:show",
"os_compute_api:servers:start",
"os_compute_api:servers:stop",
"os_compute_api:servers:trigger_crash_dump",
@@ -416,59 +347,6 @@ class RealRolePolicyTestCase(test.NoDBTestCase):
"os_compute_api:os-suspend-server:suspend",
"os_compute_api:os-suspend-server:resume",
"os_compute_api:os-tenant-networks",
-"compute:create",
-"compute:create:attach_network",
-"compute:create:attach_volume",
-"compute:get_all_instance_metadata",
-"compute:get_all_instance_system_metadata",
-"compute:get_console_output",
-"compute:get_diagnostics",
-"compute:delete_instance_metadata",
-"compute:get",
-"compute:get_all",
-"compute:shelve",
-"compute:shelve_offload",
-"compute:snapshot_volume_backed",
-"compute:unshelve",
-"compute:resize",
-"compute:confirm_resize",
-"compute:revert_resize",
-"compute:rebuild",
-"compute:reboot",
-"compute:volume_snapshot_create",
-"compute:volume_snapshot_delete",
-"compute:add_fixed_ip",
-"compute:attach_interface",
-"compute:detach_interface",
-"compute:attach_volume",
-"compute:detach_volume",
-"compute:backup",
-"compute:get_instance_diagnostics",
-"compute:get_instance_metadata",
-"compute:get_mks_console",
-"compute:get_rdp_console",
-"compute:get_serial_console",
-"compute:get_spice_console",
-"compute:get_vnc_console",
-"compute:inject_network_info",
-"compute:pause",
-"compute:remove_fixed_ip",
-"compute:rescue",
-"compute:reset_network",
-"compute:restore",
-"compute:resume",
-"compute:security_groups:add_to_instance",
-"compute:security_groups:remove_from_instance",
-"compute:set_admin_password",
-"compute:snapshot",
-"compute:suspend",
-"compute:unpause",
-"compute:unrescue",
-"compute:update",
-"compute:update_instance_metadata",
-"compute_extension:config_drive",
-"compute_extension:os-tenant-networks",
-"network:get_vif_by_mac_address",
"os_compute_api:extensions",
"os_compute_api:os-config-drive",
"os_compute_api:servers:confirm_resize",
@@ -485,97 +363,6 @@ class RealRolePolicyTestCase(test.NoDBTestCase):
"os_compute_api:servers:revert_resize",
"os_compute_api:servers:show",
"os_compute_api:servers:update",
-"compute_extension:attach_interfaces",
-"compute_extension:certificates",
-"compute_extension:console_output",
-"compute_extension:consoles",
-"compute_extension:createserverext",
-"compute_extension:deferred_delete",
-"compute_extension:disk_config",
-"compute_extension:extended_status",
-"compute_extension:extended_availability_zone",
-"compute_extension:extended_ips",
-"compute_extension:extended_ips_mac",
-"compute_extension:extended_vif_net",
-"compute_extension:extended_volumes",
-"compute_extension:flavor_access",
-"compute_extension:flavor_disabled",
-"compute_extension:flavor_rxtx",
-"compute_extension:flavor_swap",
-"compute_extension:flavorextradata",
-"compute_extension:flavorextraspecs:index",
-"compute_extension:flavorextraspecs:show",
-"compute_extension:floating_ip_dns",
-"compute_extension:floating_ip_pools",
-"compute_extension:floating_ips",
-"compute_extension:fping",
-"compute_extension:image_size",
-"compute_extension:instance_actions",
-"compute_extension:keypairs",
-"compute_extension:keypairs:index",
-"compute_extension:keypairs:show",
-"compute_extension:keypairs:create",
-"compute_extension:keypairs:delete",
-"compute_extension:multinic",
-"compute_extension:networks:view",
-"compute_extension:quotas:show",
-"compute_extension:quota_classes",
-"compute_extension:rescue",
-"compute_extension:security_groups",
-"compute_extension:server_groups",
-"compute_extension:server_password",
-"compute_extension:server_usage",
-"compute_extension:shelve",
-"compute_extension:unshelve",
-"compute_extension:virtual_interfaces",
-"compute_extension:virtual_storage_arrays",
-"compute_extension:volumes",
-"compute_extension:volume_attachments:index",
-"compute_extension:volume_attachments:show",
-"compute_extension:volume_attachments:create",
-"compute_extension:volume_attachments:delete",
-"compute_extension:volumetypes",
-"compute_extension:availability_zone:list",
-"network:get_all",
-"network:get",
-"network:create",
-"network:delete",
-"network:associate",
-"network:disassociate",
-"network:get_vifs_by_instance",
-"network:allocate_for_instance",
-"network:deallocate_for_instance",
-"network:validate_networks",
-"network:get_instance_uuids_by_ip_filter",
-"network:get_instance_id_by_floating_address",
-"network:setup_networks_on_host",
-"network:get_backdoor_port",
-"network:get_floating_ip",
-"network:get_floating_ip_pools",
-"network:get_floating_ip_by_address",
-"network:get_floating_ips_by_project",
-"network:get_floating_ips_by_fixed_address",
-"network:allocate_floating_ip",
-"network:associate_floating_ip",
-"network:disassociate_floating_ip",
-"network:release_floating_ip",
-"network:migrate_instance_start",
-"network:migrate_instance_finish",
-"network:get_fixed_ip",
-"network:get_fixed_ip_by_address",
-"network:add_fixed_ip_to_instance",
-"network:remove_fixed_ip_from_instance",
-"network:add_network_to_project",
-"network:get_instance_nw_info",
-"network:get_dns_domains",
-"network:add_dns_entry",
-"network:modify_dns_entry",
-"network:delete_dns_entry",
-"network:get_dns_entries_by_address",
-"network:get_dns_entries_by_name",
-"network:create_private_dns_domain",
-"network:create_public_dns_domain",
-"network:delete_dns_domain",
"os_compute_api:servers:create_image:allow_volume_backed",
"os_compute_api:os-access-ips",
"os_compute_api:os-admin-password",
@@ -626,8 +413,7 @@ class RealRolePolicyTestCase(test.NoDBTestCase):
)
self.non_admin_only_rules = (
-"compute_extension:hide_server_addresses",
-"os_compute_api:os-hide-server-addresses")
+"os_compute_api:os-hide-server-addresses",)
self.allow_all_rules = (
"os_compute_api:os-quota-sets:defaults",
diff --git a/releasenotes/notes/remove_legacy_v2_api_policy_rules-033fa77420ed6362.yaml b/releasenotes/notes/remove_legacy_v2_api_policy_rules-033fa77420ed6362.yaml
new file mode 100644
index 0000000000..5fd2b63ecf
--- /dev/null
+++ b/releasenotes/notes/remove_legacy_v2_api_policy_rules-033fa77420ed6362.yaml
@@ -0,0 +1,6 @@
+---
+upgrade:
+ - Legacy v2 API code is already removed. A set of policy rules in the
+ policy.json, which are only used by legacy v2 API, are removed. Both v2.1
+ API and v2.1 compatiable mode API are using same set of new policy rules
+ which are with prefix `os_compute_api`.