python-openstackclient 6.6.1__py3-none-any.whl → 7.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- openstackclient/api/api.py +4 -4
- openstackclient/api/compute_v2.py +352 -638
- openstackclient/api/image_v1.py +1 -1
- openstackclient/api/object_store_v1.py +3 -4
- openstackclient/common/availability_zone.py +1 -1
- openstackclient/common/clientmanager.py +16 -4
- openstackclient/common/configuration.py +1 -1
- openstackclient/common/extension.py +1 -1
- openstackclient/common/limits.py +66 -32
- openstackclient/common/module.py +3 -3
- openstackclient/common/progressbar.py +2 -2
- openstackclient/common/project_cleanup.py +5 -2
- openstackclient/common/quota.py +281 -410
- openstackclient/common/versions.py +1 -1
- openstackclient/compute/client.py +7 -116
- openstackclient/compute/v2/agent.py +75 -49
- openstackclient/compute/v2/aggregate.py +9 -9
- openstackclient/compute/v2/console.py +2 -2
- openstackclient/compute/v2/flavor.py +6 -6
- openstackclient/compute/v2/host.py +38 -33
- openstackclient/compute/v2/hypervisor.py +4 -3
- openstackclient/compute/v2/keypair.py +7 -8
- openstackclient/compute/v2/server.py +478 -396
- openstackclient/compute/v2/server_backup.py +1 -1
- openstackclient/compute/v2/server_group.py +4 -4
- openstackclient/compute/v2/server_image.py +1 -1
- openstackclient/compute/v2/server_migration.py +3 -4
- openstackclient/compute/v2/service.py +4 -4
- openstackclient/compute/v2/usage.py +3 -3
- openstackclient/identity/common.py +34 -0
- openstackclient/identity/v2_0/catalog.py +2 -2
- openstackclient/identity/v2_0/ec2creds.py +4 -4
- openstackclient/identity/v2_0/endpoint.py +4 -4
- openstackclient/identity/v2_0/project.py +6 -6
- openstackclient/identity/v2_0/role.py +5 -5
- openstackclient/identity/v2_0/role_assignment.py +1 -1
- openstackclient/identity/v2_0/service.py +4 -4
- openstackclient/identity/v2_0/token.py +2 -2
- openstackclient/identity/v2_0/user.py +7 -7
- openstackclient/identity/v3/access_rule.py +3 -3
- openstackclient/identity/v3/application_credential.py +127 -45
- openstackclient/identity/v3/catalog.py +2 -2
- openstackclient/identity/v3/consumer.py +4 -4
- openstackclient/identity/v3/credential.py +5 -5
- openstackclient/identity/v3/domain.py +5 -5
- openstackclient/identity/v3/ec2creds.py +4 -4
- openstackclient/identity/v3/endpoint.py +7 -7
- openstackclient/identity/v3/endpoint_group.py +8 -10
- openstackclient/identity/v3/federation_protocol.py +5 -5
- openstackclient/identity/v3/group.py +8 -8
- openstackclient/identity/v3/identity_provider.py +5 -5
- openstackclient/identity/v3/implied_role.py +3 -3
- openstackclient/identity/v3/limit.py +5 -5
- openstackclient/identity/v3/mapping.py +5 -5
- openstackclient/identity/v3/policy.py +5 -5
- openstackclient/identity/v3/project.py +5 -5
- openstackclient/identity/v3/region.py +5 -5
- openstackclient/identity/v3/registered_limit.py +5 -5
- openstackclient/identity/v3/role.py +7 -7
- openstackclient/identity/v3/role_assignment.py +92 -140
- openstackclient/identity/v3/service.py +64 -34
- openstackclient/identity/v3/service_provider.py +4 -4
- openstackclient/identity/v3/tag.py +2 -2
- openstackclient/identity/v3/token.py +5 -5
- openstackclient/identity/v3/trust.py +3 -3
- openstackclient/identity/v3/user.py +144 -80
- openstackclient/image/client.py +4 -4
- openstackclient/image/v1/image.py +8 -9
- openstackclient/image/v2/cache.py +12 -10
- openstackclient/image/v2/metadef_objects.py +44 -0
- openstackclient/image/v2/metadef_resource_type_association.py +189 -0
- openstackclient/image/v2/task.py +1 -1
- openstackclient/network/common.py +6 -5
- openstackclient/network/utils.py +2 -2
- openstackclient/network/v2/address_group.py +6 -6
- openstackclient/network/v2/address_scope.py +5 -5
- openstackclient/network/v2/default_security_group_rule.py +1 -1
- openstackclient/network/v2/floating_ip.py +8 -10
- openstackclient/network/v2/floating_ip_pool.py +6 -15
- openstackclient/network/v2/floating_ip_port_forwarding.py +5 -13
- openstackclient/network/v2/ip_availability.py +2 -2
- openstackclient/network/v2/l3_conntrack_helper.py +5 -5
- openstackclient/network/v2/network.py +8 -8
- openstackclient/network/v2/network_agent.py +8 -8
- openstackclient/network/v2/network_auto_allocated_topology.py +2 -2
- openstackclient/network/v2/network_flavor.py +6 -8
- openstackclient/network/v2/network_flavor_profile.py +4 -4
- openstackclient/network/v2/network_meter.py +3 -3
- openstackclient/network/v2/network_meter_rule.py +3 -3
- openstackclient/network/v2/network_qos_policy.py +5 -5
- openstackclient/network/v2/network_qos_rule.py +9 -9
- openstackclient/network/v2/network_qos_rule_type.py +1 -1
- openstackclient/network/v2/network_rbac.py +5 -5
- openstackclient/network/v2/network_segment.py +5 -5
- openstackclient/network/v2/network_segment_range.py +7 -7
- openstackclient/network/v2/network_trunk.py +7 -7
- openstackclient/network/v2/port.py +26 -12
- openstackclient/network/v2/router.py +403 -54
- openstackclient/network/v2/security_group.py +18 -14
- openstackclient/network/v2/security_group_rule.py +18 -15
- openstackclient/network/v2/subnet.py +15 -8
- openstackclient/network/v2/subnet_pool.py +6 -6
- openstackclient/object/v1/account.py +2 -2
- openstackclient/object/v1/container.py +7 -7
- openstackclient/object/v1/object.py +7 -7
- openstackclient/shell.py +4 -6
- openstackclient/tests/functional/base.py +1 -1
- openstackclient/tests/functional/common/test_extension.py +1 -1
- openstackclient/tests/functional/common/test_help.py +2 -2
- openstackclient/tests/functional/common/test_module.py +1 -1
- openstackclient/tests/functional/common/test_quota.py +43 -61
- openstackclient/tests/functional/compute/v2/common.py +2 -2
- openstackclient/tests/functional/compute/v2/test_flavor.py +2 -2
- openstackclient/tests/functional/compute/v2/test_keypair.py +1 -1
- openstackclient/tests/functional/compute/v2/test_server.py +5 -5
- openstackclient/tests/functional/compute/v2/test_server_event.py +1 -1
- openstackclient/tests/functional/identity/v2/common.py +3 -3
- openstackclient/tests/functional/identity/v3/common.py +14 -6
- openstackclient/tests/functional/identity/v3/test_application_credential.py +13 -19
- openstackclient/tests/functional/identity/v3/test_domain.py +1 -3
- openstackclient/tests/functional/identity/v3/test_endpoint.py +1 -1
- openstackclient/tests/functional/identity/v3/test_idp.py +1 -1
- openstackclient/tests/functional/identity/v3/test_limit.py +2 -2
- openstackclient/tests/functional/identity/v3/test_region.py +1 -3
- openstackclient/tests/functional/identity/v3/test_registered_limit.py +1 -1
- openstackclient/tests/functional/identity/v3/test_role.py +2 -2
- openstackclient/tests/functional/identity/v3/test_role_assignment.py +210 -0
- openstackclient/tests/functional/identity/v3/test_service.py +4 -6
- openstackclient/tests/functional/identity/v3/test_service_provider.py +1 -3
- openstackclient/tests/functional/image/base.py +1 -1
- openstackclient/tests/functional/image/v2/test_image.py +1 -1
- openstackclient/tests/functional/image/v2/test_info.py +1 -1
- openstackclient/tests/functional/network/v2/common.py +4 -6
- openstackclient/tests/functional/network/v2/test_network.py +5 -3
- openstackclient/tests/functional/network/v2/test_network_agent.py +7 -5
- openstackclient/tests/functional/network/v2/test_network_qos_rule.py +4 -4
- openstackclient/tests/functional/network/v2/test_port.py +11 -7
- openstackclient/tests/functional/network/v2/test_router.py +2 -2
- openstackclient/tests/functional/object/v1/common.py +1 -1
- openstackclient/tests/functional/object/v1/test_container.py +3 -3
- openstackclient/tests/functional/object/v1/test_object.py +9 -13
- openstackclient/tests/functional/volume/base.py +1 -1
- openstackclient/tests/functional/volume/v1/test_service.py +1 -1
- openstackclient/tests/functional/volume/v1/test_snapshot.py +2 -2
- openstackclient/tests/functional/volume/v1/test_transfer_request.py +2 -2
- openstackclient/tests/functional/volume/v1/test_volume_type.py +1 -1
- openstackclient/tests/functional/volume/v2/test_service.py +2 -2
- openstackclient/tests/functional/volume/v2/test_volume_backup.py +2 -2
- openstackclient/tests/functional/volume/v2/test_volume_snapshot.py +2 -2
- openstackclient/tests/functional/volume/v2/test_volume_type.py +1 -1
- openstackclient/tests/functional/volume/v3/test_volume_snapshot.py +2 -2
- openstackclient/tests/functional/volume/v3/test_volume_type.py +1 -1
- openstackclient/tests/unit/api/fakes.py +1 -1
- openstackclient/tests/unit/api/test_api.py +2 -2
- openstackclient/tests/unit/api/test_compute_v2.py +522 -707
- openstackclient/tests/unit/api/test_image_v1.py +1 -1
- openstackclient/tests/unit/api/test_image_v2.py +1 -1
- openstackclient/tests/unit/api/test_object_store_v1.py +4 -4
- openstackclient/tests/unit/common/test_limits.py +73 -35
- openstackclient/tests/unit/common/test_logs.py +2 -2
- openstackclient/tests/unit/common/test_module.py +4 -2
- openstackclient/tests/unit/common/test_project_cleanup.py +31 -6
- openstackclient/tests/unit/common/test_quota.py +490 -630
- openstackclient/tests/unit/compute/v2/fakes.py +37 -286
- openstackclient/tests/unit/compute/v2/test_agent.py +189 -147
- openstackclient/tests/unit/compute/v2/test_aggregate.py +18 -16
- openstackclient/tests/unit/compute/v2/test_console.py +4 -5
- openstackclient/tests/unit/compute/v2/test_flavor.py +59 -68
- openstackclient/tests/unit/compute/v2/test_host.py +83 -54
- openstackclient/tests/unit/compute/v2/test_hypervisor.py +28 -31
- openstackclient/tests/unit/compute/v2/test_hypervisor_stats.py +2 -2
- openstackclient/tests/unit/compute/v2/test_keypair.py +65 -50
- openstackclient/tests/unit/compute/v2/test_server.py +2895 -2459
- openstackclient/tests/unit/compute/v2/test_server_backup.py +1 -1
- openstackclient/tests/unit/compute/v2/test_server_event.py +14 -39
- openstackclient/tests/unit/compute/v2/test_server_group.py +28 -29
- openstackclient/tests/unit/compute/v2/test_server_migration.py +43 -68
- openstackclient/tests/unit/compute/v2/test_server_volume.py +17 -34
- openstackclient/tests/unit/compute/v2/test_service.py +34 -52
- openstackclient/tests/unit/compute/v2/test_usage.py +4 -4
- openstackclient/tests/unit/fakes.py +11 -11
- openstackclient/tests/unit/identity/v2_0/fakes.py +27 -10
- openstackclient/tests/unit/identity/v2_0/test_catalog.py +3 -3
- openstackclient/tests/unit/identity/v2_0/test_endpoint.py +7 -7
- openstackclient/tests/unit/identity/v2_0/test_project.py +8 -8
- openstackclient/tests/unit/identity/v2_0/test_role.py +10 -10
- openstackclient/tests/unit/identity/v2_0/test_role_assignment.py +4 -4
- openstackclient/tests/unit/identity/v2_0/test_service.py +6 -6
- openstackclient/tests/unit/identity/v2_0/test_token.py +4 -4
- openstackclient/tests/unit/identity/v2_0/test_user.py +8 -8
- openstackclient/tests/unit/identity/v3/fakes.py +59 -20
- openstackclient/tests/unit/identity/v3/test_access_rule.py +5 -5
- openstackclient/tests/unit/identity/v3/test_application_credential.py +212 -235
- openstackclient/tests/unit/identity/v3/test_catalog.py +3 -3
- openstackclient/tests/unit/identity/v3/test_consumer.py +7 -8
- openstackclient/tests/unit/identity/v3/test_credential.py +9 -9
- openstackclient/tests/unit/identity/v3/test_domain.py +8 -8
- openstackclient/tests/unit/identity/v3/test_endpoint.py +13 -13
- openstackclient/tests/unit/identity/v3/test_endpoint_group.py +12 -14
- openstackclient/tests/unit/identity/v3/test_group.py +12 -12
- openstackclient/tests/unit/identity/v3/test_identity_provider.py +8 -8
- openstackclient/tests/unit/identity/v3/test_implied_role.py +5 -5
- openstackclient/tests/unit/identity/v3/test_limit.py +7 -7
- openstackclient/tests/unit/identity/v3/test_mappings.py +7 -7
- openstackclient/tests/unit/identity/v3/test_oauth.py +5 -5
- openstackclient/tests/unit/identity/v3/test_project.py +16 -16
- openstackclient/tests/unit/identity/v3/test_protocol.py +7 -7
- openstackclient/tests/unit/identity/v3/test_region.py +7 -7
- openstackclient/tests/unit/identity/v3/test_registered_limit.py +12 -13
- openstackclient/tests/unit/identity/v3/test_role.py +13 -13
- openstackclient/tests/unit/identity/v3/test_role_assignment.py +410 -331
- openstackclient/tests/unit/identity/v3/test_service.py +93 -97
- openstackclient/tests/unit/identity/v3/test_service_provider.py +7 -7
- openstackclient/tests/unit/identity/v3/test_token.py +4 -4
- openstackclient/tests/unit/identity/v3/test_trust.py +9 -9
- openstackclient/tests/unit/identity/v3/test_unscoped_saml.py +4 -4
- openstackclient/tests/unit/identity/v3/test_user.py +299 -327
- openstackclient/tests/unit/image/v1/test_image.py +6 -6
- openstackclient/tests/unit/image/v2/fakes.py +46 -9
- openstackclient/tests/unit/image/v2/test_cache.py +2 -2
- openstackclient/tests/unit/image/v2/test_image.py +3 -3
- openstackclient/tests/unit/image/v2/test_metadef_objects.py +62 -0
- openstackclient/tests/unit/image/v2/test_metadef_resource_type_association.py +131 -0
- openstackclient/tests/unit/integ/base.py +1 -1
- openstackclient/tests/unit/integ/cli/test_project.py +4 -4
- openstackclient/tests/unit/integ/cli/test_shell.py +7 -7
- openstackclient/tests/unit/network/test_common.py +12 -21
- openstackclient/tests/unit/network/v2/fakes.py +64 -130
- openstackclient/tests/unit/network/v2/test_address_group.py +15 -15
- openstackclient/tests/unit/network/v2/test_address_scope.py +13 -13
- openstackclient/tests/unit/network/v2/test_default_security_group_rule.py +49 -27
- openstackclient/tests/unit/network/v2/test_floating_ip_compute.py +40 -38
- openstackclient/tests/unit/network/v2/test_floating_ip_network.py +15 -15
- openstackclient/tests/unit/network/v2/test_floating_ip_pool_compute.py +4 -7
- openstackclient/tests/unit/network/v2/test_floating_ip_pool_network.py +3 -5
- openstackclient/tests/unit/network/v2/test_floating_ip_port_forwarding.py +11 -11
- openstackclient/tests/unit/network/v2/test_ip_availability.py +6 -6
- openstackclient/tests/unit/network/v2/test_l3_conntrack_helper.py +11 -21
- openstackclient/tests/unit/network/v2/test_local_ip.py +7 -7
- openstackclient/tests/unit/network/v2/test_local_ip_association.py +3 -5
- openstackclient/tests/unit/network/v2/test_ndp_proxy.py +13 -13
- openstackclient/tests/unit/network/v2/test_network.py +23 -28
- openstackclient/tests/unit/network/v2/test_network_agent.py +17 -21
- openstackclient/tests/unit/network/v2/test_network_auto_allocated_topology.py +8 -8
- openstackclient/tests/unit/network/v2/test_network_compute.py +66 -65
- openstackclient/tests/unit/network/v2/test_network_flavor.py +17 -19
- openstackclient/tests/unit/network/v2/test_network_flavor_profile.py +13 -13
- openstackclient/tests/unit/network/v2/test_network_meter.py +11 -11
- openstackclient/tests/unit/network/v2/test_network_meter_rule.py +11 -11
- openstackclient/tests/unit/network/v2/test_network_qos_policy.py +11 -21
- openstackclient/tests/unit/network/v2/test_network_qos_rule.py +51 -77
- openstackclient/tests/unit/network/v2/test_network_qos_rule_type.py +5 -9
- openstackclient/tests/unit/network/v2/test_network_rbac.py +12 -12
- openstackclient/tests/unit/network/v2/test_network_segment.py +11 -15
- openstackclient/tests/unit/network/v2/test_network_segment_range.py +11 -13
- openstackclient/tests/unit/network/v2/test_network_service_provider.py +3 -5
- openstackclient/tests/unit/network/v2/test_network_trunk.py +11 -11
- openstackclient/tests/unit/network/v2/test_port.py +22 -25
- openstackclient/tests/unit/network/v2/test_router.py +721 -51
- openstackclient/tests/unit/network/v2/test_security_group_compute.py +65 -49
- openstackclient/tests/unit/network/v2/test_security_group_network.py +15 -15
- openstackclient/tests/unit/network/v2/test_security_group_rule_compute.py +57 -45
- openstackclient/tests/unit/network/v2/test_security_group_rule_network.py +11 -19
- openstackclient/tests/unit/network/v2/test_subnet.py +29 -25
- openstackclient/tests/unit/network/v2/test_subnet_pool.py +15 -15
- openstackclient/tests/unit/object/v1/fakes.py +1 -1
- openstackclient/tests/unit/object/v1/test_container.py +5 -5
- openstackclient/tests/unit/object/v1/test_container_all.py +6 -6
- openstackclient/tests/unit/object/v1/test_object.py +3 -3
- openstackclient/tests/unit/object/v1/test_object_all.py +5 -5
- openstackclient/tests/unit/test_shell.py +5 -5
- openstackclient/tests/unit/utils.py +4 -1
- openstackclient/tests/unit/volume/test_find_resource.py +2 -2
- openstackclient/tests/unit/volume/v1/fakes.py +5 -6
- openstackclient/tests/unit/volume/v1/test_volume.py +5 -4
- openstackclient/tests/unit/volume/v2/fakes.py +39 -259
- openstackclient/tests/unit/volume/v2/test_consistency_group_snapshot.py +5 -5
- openstackclient/tests/unit/volume/v2/test_qos_specs.py +9 -9
- openstackclient/tests/unit/volume/v2/test_volume.py +21 -87
- openstackclient/tests/unit/volume/v2/test_volume_backup.py +7 -368
- openstackclient/tests/unit/volume/v2/test_volume_snapshot.py +1 -1
- openstackclient/tests/unit/volume/v2/test_volume_transfer_request.py +0 -44
- openstackclient/tests/unit/volume/v2/test_volume_type.py +6 -87
- openstackclient/tests/unit/volume/v3/fakes.py +505 -22
- openstackclient/tests/unit/volume/v3/test_block_storage_cleanup.py +2 -3
- openstackclient/tests/unit/volume/v3/test_block_storage_cluster.py +10 -11
- openstackclient/tests/unit/volume/v3/test_block_storage_log_level.py +10 -6
- openstackclient/tests/unit/volume/v3/test_block_storage_manage.py +25 -17
- openstackclient/tests/unit/volume/v3/test_block_storage_resource_filter.py +6 -32
- openstackclient/tests/unit/volume/v3/test_service.py +271 -0
- openstackclient/tests/unit/volume/v3/test_volume.py +2177 -33
- openstackclient/tests/unit/volume/v3/test_volume_attachment.py +48 -52
- openstackclient/tests/unit/volume/v3/test_volume_backup.py +892 -0
- openstackclient/tests/unit/volume/v3/test_volume_group.py +19 -20
- openstackclient/tests/unit/volume/v3/test_volume_group_snapshot.py +14 -34
- openstackclient/tests/unit/volume/v3/test_volume_group_type.py +13 -16
- openstackclient/tests/unit/volume/v3/test_volume_message.py +10 -11
- openstackclient/tests/unit/volume/v3/test_volume_snapshot.py +161 -0
- openstackclient/tests/unit/volume/v3/test_volume_transfer_request.py +425 -0
- openstackclient/tests/unit/volume/v3/test_volume_type.py +1109 -0
- openstackclient/volume/v1/qos_specs.py +7 -7
- openstackclient/volume/v1/service.py +2 -2
- openstackclient/volume/v1/volume.py +12 -12
- openstackclient/volume/v1/volume_backup.py +7 -7
- openstackclient/volume/v1/volume_snapshot.py +8 -8
- openstackclient/volume/v1/volume_transfer_request.py +5 -5
- openstackclient/volume/v1/volume_type.py +7 -7
- openstackclient/volume/v2/backup_record.py +2 -2
- openstackclient/volume/v2/consistency_group.py +7 -9
- openstackclient/volume/v2/consistency_group_snapshot.py +4 -12
- openstackclient/volume/v2/qos_specs.py +7 -7
- openstackclient/volume/v2/service.py +2 -2
- openstackclient/volume/v2/volume.py +80 -80
- openstackclient/volume/v2/volume_backend.py +2 -2
- openstackclient/volume/v2/volume_backup.py +7 -217
- openstackclient/volume/v2/volume_host.py +2 -2
- openstackclient/volume/v2/volume_snapshot.py +8 -8
- openstackclient/volume/v2/volume_transfer_request.py +5 -37
- openstackclient/volume/v2/volume_type.py +7 -89
- openstackclient/volume/v3/service.py +56 -0
- openstackclient/volume/v3/volume.py +971 -0
- openstackclient/volume/v3/volume_attachment.py +31 -29
- openstackclient/volume/v3/volume_backup.py +670 -0
- openstackclient/volume/v3/volume_message.py +1 -1
- openstackclient/volume/v3/volume_snapshot.py +97 -0
- openstackclient/volume/v3/volume_transfer_request.py +233 -0
- openstackclient/volume/v3/volume_type.py +967 -0
- {python_openstackclient-6.6.1.dist-info → python_openstackclient-7.0.0.dist-info}/AUTHORS +4 -0
- {python_openstackclient-6.6.1.dist-info → python_openstackclient-7.0.0.dist-info}/METADATA +2 -3
- python_openstackclient-7.0.0.dist-info/RECORD +502 -0
- {python_openstackclient-6.6.1.dist-info → python_openstackclient-7.0.0.dist-info}/entry_points.txt +33 -27
- python_openstackclient-7.0.0.dist-info/pbr.json +1 -0
- python_openstackclient-6.6.1.dist-info/RECORD +0 -489
- python_openstackclient-6.6.1.dist-info/pbr.json +0 -1
- {python_openstackclient-6.6.1.dist-info → python_openstackclient-7.0.0.dist-info}/LICENSE +0 -0
- {python_openstackclient-6.6.1.dist-info → python_openstackclient-7.0.0.dist-info}/WHEEL +0 -0
- {python_openstackclient-6.6.1.dist-info → python_openstackclient-7.0.0.dist-info}/top_level.txt +0 -0
|
@@ -33,7 +33,7 @@ class AssociateQos(command.Command):
|
|
|
33
33
|
_description = _("Associate a QoS specification to a volume type")
|
|
34
34
|
|
|
35
35
|
def get_parser(self, prog_name):
|
|
36
|
-
parser = super(
|
|
36
|
+
parser = super().get_parser(prog_name)
|
|
37
37
|
parser.add_argument(
|
|
38
38
|
'qos_spec',
|
|
39
39
|
metavar='<qos-spec>',
|
|
@@ -62,7 +62,7 @@ class CreateQos(command.ShowOne):
|
|
|
62
62
|
_description = _("Create new QoS specification")
|
|
63
63
|
|
|
64
64
|
def get_parser(self, prog_name):
|
|
65
|
-
parser = super(
|
|
65
|
+
parser = super().get_parser(prog_name)
|
|
66
66
|
parser.add_argument(
|
|
67
67
|
'name',
|
|
68
68
|
metavar='<name>',
|
|
@@ -116,7 +116,7 @@ class DeleteQos(command.Command):
|
|
|
116
116
|
_description = _("Delete QoS specification")
|
|
117
117
|
|
|
118
118
|
def get_parser(self, prog_name):
|
|
119
|
-
parser = super(
|
|
119
|
+
parser = super().get_parser(prog_name)
|
|
120
120
|
parser.add_argument(
|
|
121
121
|
'qos_specs',
|
|
122
122
|
metavar='<qos-spec>',
|
|
@@ -162,7 +162,7 @@ class DisassociateQos(command.Command):
|
|
|
162
162
|
_description = _("Disassociate a QoS specification from a volume type")
|
|
163
163
|
|
|
164
164
|
def get_parser(self, prog_name):
|
|
165
|
-
parser = super(
|
|
165
|
+
parser = super().get_parser(prog_name)
|
|
166
166
|
parser.add_argument(
|
|
167
167
|
'qos_spec',
|
|
168
168
|
metavar='<qos-spec>',
|
|
@@ -249,7 +249,7 @@ class SetQos(command.Command):
|
|
|
249
249
|
_description = _("Set QoS specification properties")
|
|
250
250
|
|
|
251
251
|
def get_parser(self, prog_name):
|
|
252
|
-
parser = super(
|
|
252
|
+
parser = super().get_parser(prog_name)
|
|
253
253
|
parser.add_argument(
|
|
254
254
|
'qos_spec',
|
|
255
255
|
metavar='<qos-spec>',
|
|
@@ -311,7 +311,7 @@ class ShowQos(command.ShowOne):
|
|
|
311
311
|
_description = _("Display QoS specification details")
|
|
312
312
|
|
|
313
313
|
def get_parser(self, prog_name):
|
|
314
|
-
parser = super(
|
|
314
|
+
parser = super().get_parser(prog_name)
|
|
315
315
|
parser.add_argument(
|
|
316
316
|
'qos_spec',
|
|
317
317
|
metavar='<qos-spec>',
|
|
@@ -348,7 +348,7 @@ class UnsetQos(command.Command):
|
|
|
348
348
|
_description = _("Unset QoS specification properties")
|
|
349
349
|
|
|
350
350
|
def get_parser(self, prog_name):
|
|
351
|
-
parser = super(
|
|
351
|
+
parser = super().get_parser(prog_name)
|
|
352
352
|
parser.add_argument(
|
|
353
353
|
'qos_spec',
|
|
354
354
|
metavar='<qos-spec>',
|
|
@@ -25,7 +25,7 @@ class ListService(command.Lister):
|
|
|
25
25
|
_description = _("List service command")
|
|
26
26
|
|
|
27
27
|
def get_parser(self, prog_name):
|
|
28
|
-
parser = super(
|
|
28
|
+
parser = super().get_parser(prog_name)
|
|
29
29
|
parser.add_argument(
|
|
30
30
|
"--host",
|
|
31
31
|
metavar="<host>",
|
|
@@ -86,7 +86,7 @@ class SetService(command.Command):
|
|
|
86
86
|
_description = _("Set volume service properties")
|
|
87
87
|
|
|
88
88
|
def get_parser(self, prog_name):
|
|
89
|
-
parser = super(
|
|
89
|
+
parser = super().get_parser(prog_name)
|
|
90
90
|
parser.add_argument("host", metavar="<host>", help=_("Name of host"))
|
|
91
91
|
parser.add_argument(
|
|
92
92
|
"service",
|
|
@@ -45,7 +45,7 @@ class AttachmentsColumn(cliff_columns.FormattableColumn):
|
|
|
45
45
|
"""
|
|
46
46
|
|
|
47
47
|
def __init__(self, value, server_cache=None):
|
|
48
|
-
super(
|
|
48
|
+
super().__init__(value)
|
|
49
49
|
self._server_cache = server_cache or {}
|
|
50
50
|
|
|
51
51
|
def human_readable(self):
|
|
@@ -60,7 +60,7 @@ class AttachmentsColumn(cliff_columns.FormattableColumn):
|
|
|
60
60
|
if server in self._server_cache.keys():
|
|
61
61
|
server = self._server_cache[server].name
|
|
62
62
|
device = attachment['device']
|
|
63
|
-
msg += 'Attached to
|
|
63
|
+
msg += f'Attached to {server} on {device} '
|
|
64
64
|
return msg
|
|
65
65
|
|
|
66
66
|
|
|
@@ -83,7 +83,7 @@ class CreateVolume(command.ShowOne):
|
|
|
83
83
|
_description = _("Create new volume")
|
|
84
84
|
|
|
85
85
|
def get_parser(self, prog_name):
|
|
86
|
-
parser = super(
|
|
86
|
+
parser = super().get_parser(prog_name)
|
|
87
87
|
parser.add_argument(
|
|
88
88
|
'name',
|
|
89
89
|
metavar='<name>',
|
|
@@ -298,7 +298,7 @@ class DeleteVolume(command.Command):
|
|
|
298
298
|
_description = _("Delete volume(s)")
|
|
299
299
|
|
|
300
300
|
def get_parser(self, prog_name):
|
|
301
|
-
parser = super(
|
|
301
|
+
parser = super().get_parser(prog_name)
|
|
302
302
|
parser.add_argument(
|
|
303
303
|
'volumes',
|
|
304
304
|
metavar='<volume>',
|
|
@@ -350,7 +350,7 @@ class ListVolume(command.Lister):
|
|
|
350
350
|
_description = _("List volumes")
|
|
351
351
|
|
|
352
352
|
def get_parser(self, prog_name):
|
|
353
|
-
parser = super(
|
|
353
|
+
parser = super().get_parser(prog_name)
|
|
354
354
|
parser.add_argument(
|
|
355
355
|
'--name',
|
|
356
356
|
metavar='<name>',
|
|
@@ -378,7 +378,6 @@ class ListVolume(command.Lister):
|
|
|
378
378
|
|
|
379
379
|
def take_action(self, parsed_args):
|
|
380
380
|
volume_client = self.app.client_manager.volume
|
|
381
|
-
compute_client = self.app.client_manager.compute
|
|
382
381
|
|
|
383
382
|
if parsed_args.long:
|
|
384
383
|
columns = (
|
|
@@ -420,11 +419,12 @@ class ListVolume(command.Lister):
|
|
|
420
419
|
# Cache the server list
|
|
421
420
|
server_cache = {}
|
|
422
421
|
try:
|
|
423
|
-
|
|
422
|
+
compute_client = self.app.client_manager.sdk_connection.compute
|
|
423
|
+
for s in compute_client.servers():
|
|
424
424
|
server_cache[s.id] = s
|
|
425
425
|
except Exception:
|
|
426
426
|
# Just forget it if there's any trouble
|
|
427
|
-
pass
|
|
427
|
+
pass # nosec: B110
|
|
428
428
|
AttachmentsColumnWithCache = functools.partial(
|
|
429
429
|
AttachmentsColumn, server_cache=server_cache
|
|
430
430
|
)
|
|
@@ -466,7 +466,7 @@ class MigrateVolume(command.Command):
|
|
|
466
466
|
_description = _("Migrate volume to a new host")
|
|
467
467
|
|
|
468
468
|
def get_parser(self, prog_name):
|
|
469
|
-
parser = super(
|
|
469
|
+
parser = super().get_parser(prog_name)
|
|
470
470
|
parser.add_argument(
|
|
471
471
|
'volume',
|
|
472
472
|
metavar="<volume>",
|
|
@@ -504,7 +504,7 @@ class SetVolume(command.Command):
|
|
|
504
504
|
_description = _("Set volume properties")
|
|
505
505
|
|
|
506
506
|
def get_parser(self, prog_name):
|
|
507
|
-
parser = super(
|
|
507
|
+
parser = super().get_parser(prog_name)
|
|
508
508
|
parser.add_argument(
|
|
509
509
|
'volume',
|
|
510
510
|
metavar='<volume>',
|
|
@@ -663,7 +663,7 @@ class ShowVolume(command.ShowOne):
|
|
|
663
663
|
_description = _("Show volume details")
|
|
664
664
|
|
|
665
665
|
def get_parser(self, prog_name):
|
|
666
|
-
parser = super(
|
|
666
|
+
parser = super().get_parser(prog_name)
|
|
667
667
|
parser.add_argument(
|
|
668
668
|
'volume',
|
|
669
669
|
metavar='<volume>',
|
|
@@ -706,7 +706,7 @@ class UnsetVolume(command.Command):
|
|
|
706
706
|
_description = _("Unset volume properties")
|
|
707
707
|
|
|
708
708
|
def get_parser(self, prog_name):
|
|
709
|
-
parser = super(
|
|
709
|
+
parser = super().get_parser(prog_name)
|
|
710
710
|
parser.add_argument(
|
|
711
711
|
'volume',
|
|
712
712
|
metavar='<volume>',
|
|
@@ -42,7 +42,7 @@ class VolumeIdColumn(cliff_columns.FormattableColumn):
|
|
|
42
42
|
"""
|
|
43
43
|
|
|
44
44
|
def __init__(self, value, volume_cache=None):
|
|
45
|
-
super(
|
|
45
|
+
super().__init__(value)
|
|
46
46
|
self._volume_cache = volume_cache or {}
|
|
47
47
|
|
|
48
48
|
def human_readable(self):
|
|
@@ -61,7 +61,7 @@ class CreateVolumeBackup(command.ShowOne):
|
|
|
61
61
|
_description = _("Create new volume backup")
|
|
62
62
|
|
|
63
63
|
def get_parser(self, prog_name):
|
|
64
|
-
parser = super(
|
|
64
|
+
parser = super().get_parser(prog_name)
|
|
65
65
|
parser.add_argument(
|
|
66
66
|
'volume',
|
|
67
67
|
metavar='<volume>',
|
|
@@ -105,7 +105,7 @@ class DeleteVolumeBackup(command.Command):
|
|
|
105
105
|
_description = _("Delete volume backup(s)")
|
|
106
106
|
|
|
107
107
|
def get_parser(self, prog_name):
|
|
108
|
-
parser = super(
|
|
108
|
+
parser = super().get_parser(prog_name)
|
|
109
109
|
parser.add_argument(
|
|
110
110
|
'backups',
|
|
111
111
|
metavar='<backup>',
|
|
@@ -145,7 +145,7 @@ class ListVolumeBackup(command.Lister):
|
|
|
145
145
|
_description = _("List volume backups")
|
|
146
146
|
|
|
147
147
|
def get_parser(self, prog_name):
|
|
148
|
-
parser = super(
|
|
148
|
+
parser = super().get_parser(prog_name)
|
|
149
149
|
parser.add_argument(
|
|
150
150
|
'--long',
|
|
151
151
|
action='store_true',
|
|
@@ -217,7 +217,7 @@ class ListVolumeBackup(command.Lister):
|
|
|
217
217
|
volume_cache[s.id] = s
|
|
218
218
|
except Exception:
|
|
219
219
|
# Just forget it if there's any trouble
|
|
220
|
-
pass
|
|
220
|
+
pass # nosec: B110
|
|
221
221
|
VolumeIdColumnWithCache = functools.partial(
|
|
222
222
|
VolumeIdColumn, volume_cache=volume_cache
|
|
223
223
|
)
|
|
@@ -254,7 +254,7 @@ class RestoreVolumeBackup(command.Command):
|
|
|
254
254
|
_description = _("Restore volume backup")
|
|
255
255
|
|
|
256
256
|
def get_parser(self, prog_name):
|
|
257
|
-
parser = super(
|
|
257
|
+
parser = super().get_parser(prog_name)
|
|
258
258
|
parser.add_argument(
|
|
259
259
|
'backup',
|
|
260
260
|
metavar='<backup>',
|
|
@@ -287,7 +287,7 @@ class ShowVolumeBackup(command.ShowOne):
|
|
|
287
287
|
_description = _("Display volume backup details")
|
|
288
288
|
|
|
289
289
|
def get_parser(self, prog_name):
|
|
290
|
-
parser = super(
|
|
290
|
+
parser = super().get_parser(prog_name)
|
|
291
291
|
parser.add_argument(
|
|
292
292
|
'backup',
|
|
293
293
|
metavar='<backup>',
|
|
@@ -44,7 +44,7 @@ class VolumeIdColumn(cliff_columns.FormattableColumn):
|
|
|
44
44
|
"""
|
|
45
45
|
|
|
46
46
|
def __init__(self, value, volume_cache=None):
|
|
47
|
-
super(
|
|
47
|
+
super().__init__(value)
|
|
48
48
|
self._volume_cache = volume_cache or {}
|
|
49
49
|
|
|
50
50
|
def human_readable(self):
|
|
@@ -63,7 +63,7 @@ class CreateVolumeSnapshot(command.ShowOne):
|
|
|
63
63
|
_description = _("Create new volume snapshot")
|
|
64
64
|
|
|
65
65
|
def get_parser(self, prog_name):
|
|
66
|
-
parser = super(
|
|
66
|
+
parser = super().get_parser(prog_name)
|
|
67
67
|
parser.add_argument(
|
|
68
68
|
'snapshot_name',
|
|
69
69
|
metavar='<snapshot-name>',
|
|
@@ -122,7 +122,7 @@ class DeleteVolumeSnapshot(command.Command):
|
|
|
122
122
|
_description = _("Delete volume snapshot(s)")
|
|
123
123
|
|
|
124
124
|
def get_parser(self, prog_name):
|
|
125
|
-
parser = super(
|
|
125
|
+
parser = super().get_parser(prog_name)
|
|
126
126
|
parser.add_argument(
|
|
127
127
|
'snapshots',
|
|
128
128
|
metavar='<snapshot>',
|
|
@@ -163,7 +163,7 @@ class ListVolumeSnapshot(command.Lister):
|
|
|
163
163
|
_description = _("List volume snapshots")
|
|
164
164
|
|
|
165
165
|
def get_parser(self, prog_name):
|
|
166
|
-
parser = super(
|
|
166
|
+
parser = super().get_parser(prog_name)
|
|
167
167
|
parser.add_argument(
|
|
168
168
|
'--all-projects',
|
|
169
169
|
action='store_true',
|
|
@@ -244,7 +244,7 @@ class ListVolumeSnapshot(command.Lister):
|
|
|
244
244
|
volume_cache[s.id] = s
|
|
245
245
|
except Exception:
|
|
246
246
|
# Just forget it if there's any trouble
|
|
247
|
-
pass
|
|
247
|
+
pass # nosec: B110
|
|
248
248
|
VolumeIdColumnWithCache = functools.partial(
|
|
249
249
|
VolumeIdColumn, volume_cache=volume_cache
|
|
250
250
|
)
|
|
@@ -283,7 +283,7 @@ class SetVolumeSnapshot(command.Command):
|
|
|
283
283
|
_description = _("Set volume snapshot properties")
|
|
284
284
|
|
|
285
285
|
def get_parser(self, prog_name):
|
|
286
|
-
parser = super(
|
|
286
|
+
parser = super().get_parser(prog_name)
|
|
287
287
|
parser.add_argument(
|
|
288
288
|
'snapshot',
|
|
289
289
|
metavar='<snapshot>',
|
|
@@ -374,7 +374,7 @@ class ShowVolumeSnapshot(command.ShowOne):
|
|
|
374
374
|
_description = _("Display volume snapshot details")
|
|
375
375
|
|
|
376
376
|
def get_parser(self, prog_name):
|
|
377
|
-
parser = super(
|
|
377
|
+
parser = super().get_parser(prog_name)
|
|
378
378
|
parser.add_argument(
|
|
379
379
|
'snapshot',
|
|
380
380
|
metavar='<snapshot>',
|
|
@@ -403,7 +403,7 @@ class UnsetVolumeSnapshot(command.Command):
|
|
|
403
403
|
_description = _("Unset volume snapshot properties")
|
|
404
404
|
|
|
405
405
|
def get_parser(self, prog_name):
|
|
406
|
-
parser = super(
|
|
406
|
+
parser = super().get_parser(prog_name)
|
|
407
407
|
parser.add_argument(
|
|
408
408
|
'snapshot',
|
|
409
409
|
metavar='<snapshot>',
|
|
@@ -30,7 +30,7 @@ class AcceptTransferRequest(command.ShowOne):
|
|
|
30
30
|
_description = _("Accept volume transfer request.")
|
|
31
31
|
|
|
32
32
|
def get_parser(self, prog_name):
|
|
33
|
-
parser = super(
|
|
33
|
+
parser = super().get_parser(prog_name)
|
|
34
34
|
parser.add_argument(
|
|
35
35
|
'transfer_request',
|
|
36
36
|
metavar="<transfer-request-id>",
|
|
@@ -72,7 +72,7 @@ class CreateTransferRequest(command.ShowOne):
|
|
|
72
72
|
_description = _("Create volume transfer request.")
|
|
73
73
|
|
|
74
74
|
def get_parser(self, prog_name):
|
|
75
|
-
parser = super(
|
|
75
|
+
parser = super().get_parser(prog_name)
|
|
76
76
|
parser.add_argument(
|
|
77
77
|
'--name',
|
|
78
78
|
metavar="<name>",
|
|
@@ -104,7 +104,7 @@ class DeleteTransferRequest(command.Command):
|
|
|
104
104
|
_description = _("Delete volume transfer request(s).")
|
|
105
105
|
|
|
106
106
|
def get_parser(self, prog_name):
|
|
107
|
-
parser = super(
|
|
107
|
+
parser = super().get_parser(prog_name)
|
|
108
108
|
parser.add_argument(
|
|
109
109
|
'transfer_request',
|
|
110
110
|
metavar="<transfer-request>",
|
|
@@ -147,7 +147,7 @@ class ListTransferRequest(command.Lister):
|
|
|
147
147
|
_description = _("Lists all volume transfer requests.")
|
|
148
148
|
|
|
149
149
|
def get_parser(self, prog_name):
|
|
150
|
-
parser = super(
|
|
150
|
+
parser = super().get_parser(prog_name)
|
|
151
151
|
parser.add_argument(
|
|
152
152
|
'--all-projects',
|
|
153
153
|
dest='all_projects',
|
|
@@ -181,7 +181,7 @@ class ShowTransferRequest(command.ShowOne):
|
|
|
181
181
|
_description = _("Show volume transfer request details.")
|
|
182
182
|
|
|
183
183
|
def get_parser(self, prog_name):
|
|
184
|
-
parser = super(
|
|
184
|
+
parser = super().get_parser(prog_name)
|
|
185
185
|
parser.add_argument(
|
|
186
186
|
'transfer_request',
|
|
187
187
|
metavar="<transfer-request>",
|
|
@@ -43,7 +43,7 @@ class EncryptionInfoColumn(cliff_columns.FormattableColumn):
|
|
|
43
43
|
"""
|
|
44
44
|
|
|
45
45
|
def __init__(self, value, encryption_data=None):
|
|
46
|
-
super(
|
|
46
|
+
super().__init__(value)
|
|
47
47
|
self._encryption_data = encryption_data or {}
|
|
48
48
|
|
|
49
49
|
def _get_encryption_info(self):
|
|
@@ -88,7 +88,7 @@ class CreateVolumeType(command.ShowOne):
|
|
|
88
88
|
_description = _("Create new volume type")
|
|
89
89
|
|
|
90
90
|
def get_parser(self, prog_name):
|
|
91
|
-
parser = super(
|
|
91
|
+
parser = super().get_parser(prog_name)
|
|
92
92
|
parser.add_argument(
|
|
93
93
|
'name',
|
|
94
94
|
metavar='<name>',
|
|
@@ -191,7 +191,7 @@ class DeleteVolumeType(command.Command):
|
|
|
191
191
|
_description = _("Delete volume type(s)")
|
|
192
192
|
|
|
193
193
|
def get_parser(self, prog_name):
|
|
194
|
-
parser = super(
|
|
194
|
+
parser = super().get_parser(prog_name)
|
|
195
195
|
parser.add_argument(
|
|
196
196
|
'volume_types',
|
|
197
197
|
metavar='<volume-type>',
|
|
@@ -233,7 +233,7 @@ class ListVolumeType(command.Lister):
|
|
|
233
233
|
_description = _("List volume types")
|
|
234
234
|
|
|
235
235
|
def get_parser(self, prog_name):
|
|
236
|
-
parser = super(
|
|
236
|
+
parser = super().get_parser(prog_name)
|
|
237
237
|
parser.add_argument(
|
|
238
238
|
'--long',
|
|
239
239
|
action='store_true',
|
|
@@ -306,7 +306,7 @@ class SetVolumeType(command.Command):
|
|
|
306
306
|
_description = _("Set volume type properties")
|
|
307
307
|
|
|
308
308
|
def get_parser(self, prog_name):
|
|
309
|
-
parser = super(
|
|
309
|
+
parser = super().get_parser(prog_name)
|
|
310
310
|
parser.add_argument(
|
|
311
311
|
'volume_type',
|
|
312
312
|
metavar='<volume-type>',
|
|
@@ -411,7 +411,7 @@ class ShowVolumeType(command.ShowOne):
|
|
|
411
411
|
_description = _("Display volume type details")
|
|
412
412
|
|
|
413
413
|
def get_parser(self, prog_name):
|
|
414
|
-
parser = super(
|
|
414
|
+
parser = super().get_parser(prog_name)
|
|
415
415
|
parser.add_argument(
|
|
416
416
|
"volume_type",
|
|
417
417
|
metavar="<volume-type>",
|
|
@@ -462,7 +462,7 @@ class UnsetVolumeType(command.Command):
|
|
|
462
462
|
_description = _("Unset volume type properties")
|
|
463
463
|
|
|
464
464
|
def get_parser(self, prog_name):
|
|
465
|
-
parser = super(
|
|
465
|
+
parser = super().get_parser(prog_name)
|
|
466
466
|
parser.add_argument(
|
|
467
467
|
'volume_type',
|
|
468
468
|
metavar='<volume-type>',
|
|
@@ -34,7 +34,7 @@ restore."""
|
|
|
34
34
|
)
|
|
35
35
|
|
|
36
36
|
def get_parser(self, prog_name):
|
|
37
|
-
parser = super(
|
|
37
|
+
parser = super().get_parser(prog_name)
|
|
38
38
|
parser.add_argument(
|
|
39
39
|
"backup",
|
|
40
40
|
metavar="<backup>",
|
|
@@ -65,7 +65,7 @@ rebuilt service instance"""
|
|
|
65
65
|
)
|
|
66
66
|
|
|
67
67
|
def get_parser(self, prog_name):
|
|
68
|
-
parser = super(
|
|
68
|
+
parser = super().get_parser(prog_name)
|
|
69
69
|
parser.add_argument(
|
|
70
70
|
"backup_service",
|
|
71
71
|
metavar="<backup_service>",
|
|
@@ -52,7 +52,7 @@ class AddVolumeToConsistencyGroup(command.Command):
|
|
|
52
52
|
_description = _("Add volume(s) to consistency group")
|
|
53
53
|
|
|
54
54
|
def get_parser(self, prog_name):
|
|
55
|
-
parser = super(
|
|
55
|
+
parser = super().get_parser(prog_name)
|
|
56
56
|
parser.add_argument(
|
|
57
57
|
'consistency_group',
|
|
58
58
|
metavar="<consistency-group>",
|
|
@@ -94,7 +94,7 @@ class CreateConsistencyGroup(command.ShowOne):
|
|
|
94
94
|
_description = _("Create new consistency group.")
|
|
95
95
|
|
|
96
96
|
def get_parser(self, prog_name):
|
|
97
|
-
parser = super(
|
|
97
|
+
parser = super().get_parser(prog_name)
|
|
98
98
|
parser.add_argument(
|
|
99
99
|
"name",
|
|
100
100
|
metavar="<name>",
|
|
@@ -196,7 +196,7 @@ class DeleteConsistencyGroup(command.Command):
|
|
|
196
196
|
_description = _("Delete consistency group(s).")
|
|
197
197
|
|
|
198
198
|
def get_parser(self, prog_name):
|
|
199
|
-
parser = super(
|
|
199
|
+
parser = super().get_parser(prog_name)
|
|
200
200
|
parser.add_argument(
|
|
201
201
|
'consistency_groups',
|
|
202
202
|
metavar='<consistency-group>',
|
|
@@ -246,7 +246,7 @@ class ListConsistencyGroup(command.Lister):
|
|
|
246
246
|
_description = _("List consistency groups.")
|
|
247
247
|
|
|
248
248
|
def get_parser(self, prog_name):
|
|
249
|
-
parser = super(
|
|
249
|
+
parser = super().get_parser(prog_name)
|
|
250
250
|
parser.add_argument(
|
|
251
251
|
'--all-projects',
|
|
252
252
|
action="store_true",
|
|
@@ -297,9 +297,7 @@ class RemoveVolumeFromConsistencyGroup(command.Command):
|
|
|
297
297
|
_description = _("Remove volume(s) from consistency group")
|
|
298
298
|
|
|
299
299
|
def get_parser(self, prog_name):
|
|
300
|
-
parser = super(
|
|
301
|
-
prog_name
|
|
302
|
-
)
|
|
300
|
+
parser = super().get_parser(prog_name)
|
|
303
301
|
parser.add_argument(
|
|
304
302
|
'consistency_group',
|
|
305
303
|
metavar="<consistency-group>",
|
|
@@ -341,7 +339,7 @@ class SetConsistencyGroup(command.Command):
|
|
|
341
339
|
_description = _("Set consistency group properties")
|
|
342
340
|
|
|
343
341
|
def get_parser(self, prog_name):
|
|
344
|
-
parser = super(
|
|
342
|
+
parser = super().get_parser(prog_name)
|
|
345
343
|
parser.add_argument(
|
|
346
344
|
'consistency_group',
|
|
347
345
|
metavar='<consistency-group>',
|
|
@@ -379,7 +377,7 @@ class ShowConsistencyGroup(command.ShowOne):
|
|
|
379
377
|
_description = _("Display consistency group details.")
|
|
380
378
|
|
|
381
379
|
def get_parser(self, prog_name):
|
|
382
|
-
parser = super(
|
|
380
|
+
parser = super().get_parser(prog_name)
|
|
383
381
|
parser.add_argument(
|
|
384
382
|
"consistency_group",
|
|
385
383
|
metavar="<consistency-group>",
|
|
@@ -30,9 +30,7 @@ class CreateConsistencyGroupSnapshot(command.ShowOne):
|
|
|
30
30
|
_description = _("Create new consistency group snapshot.")
|
|
31
31
|
|
|
32
32
|
def get_parser(self, prog_name):
|
|
33
|
-
parser = super(
|
|
34
|
-
prog_name
|
|
35
|
-
)
|
|
33
|
+
parser = super().get_parser(prog_name)
|
|
36
34
|
parser.add_argument(
|
|
37
35
|
"snapshot_name",
|
|
38
36
|
metavar="<snapshot-name>",
|
|
@@ -77,9 +75,7 @@ class DeleteConsistencyGroupSnapshot(command.Command):
|
|
|
77
75
|
_description = _("Delete consistency group snapshot(s).")
|
|
78
76
|
|
|
79
77
|
def get_parser(self, prog_name):
|
|
80
|
-
parser = super(
|
|
81
|
-
prog_name
|
|
82
|
-
)
|
|
78
|
+
parser = super().get_parser(prog_name)
|
|
83
79
|
parser.add_argument(
|
|
84
80
|
"consistency_group_snapshot",
|
|
85
81
|
metavar="<consistency-group-snapshot>",
|
|
@@ -122,9 +118,7 @@ class ListConsistencyGroupSnapshot(command.Lister):
|
|
|
122
118
|
_description = _("List consistency group snapshots.")
|
|
123
119
|
|
|
124
120
|
def get_parser(self, prog_name):
|
|
125
|
-
parser = super(
|
|
126
|
-
prog_name
|
|
127
|
-
)
|
|
121
|
+
parser = super().get_parser(prog_name)
|
|
128
122
|
parser.add_argument(
|
|
129
123
|
'--all-projects',
|
|
130
124
|
action="store_true",
|
|
@@ -202,9 +196,7 @@ class ShowConsistencyGroupSnapshot(command.ShowOne):
|
|
|
202
196
|
_description = _("Display consistency group snapshot details")
|
|
203
197
|
|
|
204
198
|
def get_parser(self, prog_name):
|
|
205
|
-
parser = super(
|
|
206
|
-
prog_name
|
|
207
|
-
)
|
|
199
|
+
parser = super().get_parser(prog_name)
|
|
208
200
|
parser.add_argument(
|
|
209
201
|
"consistency_group_snapshot",
|
|
210
202
|
metavar="<consistency-group-snapshot>",
|
|
@@ -33,7 +33,7 @@ class AssociateQos(command.Command):
|
|
|
33
33
|
_description = _("Associate a QoS specification to a volume type")
|
|
34
34
|
|
|
35
35
|
def get_parser(self, prog_name):
|
|
36
|
-
parser = super(
|
|
36
|
+
parser = super().get_parser(prog_name)
|
|
37
37
|
parser.add_argument(
|
|
38
38
|
'qos_spec',
|
|
39
39
|
metavar='<qos-spec>',
|
|
@@ -62,7 +62,7 @@ class CreateQos(command.ShowOne):
|
|
|
62
62
|
_description = _("Create new QoS specification")
|
|
63
63
|
|
|
64
64
|
def get_parser(self, prog_name):
|
|
65
|
-
parser = super(
|
|
65
|
+
parser = super().get_parser(prog_name)
|
|
66
66
|
parser.add_argument(
|
|
67
67
|
'name',
|
|
68
68
|
metavar='<name>',
|
|
@@ -117,7 +117,7 @@ class DeleteQos(command.Command):
|
|
|
117
117
|
_description = _("Delete QoS specification")
|
|
118
118
|
|
|
119
119
|
def get_parser(self, prog_name):
|
|
120
|
-
parser = super(
|
|
120
|
+
parser = super().get_parser(prog_name)
|
|
121
121
|
parser.add_argument(
|
|
122
122
|
'qos_specs',
|
|
123
123
|
metavar='<qos-spec>',
|
|
@@ -163,7 +163,7 @@ class DisassociateQos(command.Command):
|
|
|
163
163
|
_description = _("Disassociate a QoS specification from a volume type")
|
|
164
164
|
|
|
165
165
|
def get_parser(self, prog_name):
|
|
166
|
-
parser = super(
|
|
166
|
+
parser = super().get_parser(prog_name)
|
|
167
167
|
parser.add_argument(
|
|
168
168
|
'qos_spec',
|
|
169
169
|
metavar='<qos-spec>',
|
|
@@ -251,7 +251,7 @@ class SetQos(command.Command):
|
|
|
251
251
|
_description = _("Set QoS specification properties")
|
|
252
252
|
|
|
253
253
|
def get_parser(self, prog_name):
|
|
254
|
-
parser = super(
|
|
254
|
+
parser = super().get_parser(prog_name)
|
|
255
255
|
parser.add_argument(
|
|
256
256
|
'qos_spec',
|
|
257
257
|
metavar='<qos-spec>',
|
|
@@ -313,7 +313,7 @@ class ShowQos(command.ShowOne):
|
|
|
313
313
|
_description = _("Display QoS specification details")
|
|
314
314
|
|
|
315
315
|
def get_parser(self, prog_name):
|
|
316
|
-
parser = super(
|
|
316
|
+
parser = super().get_parser(prog_name)
|
|
317
317
|
parser.add_argument(
|
|
318
318
|
'qos_spec',
|
|
319
319
|
metavar='<qos-spec>',
|
|
@@ -350,7 +350,7 @@ class UnsetQos(command.Command):
|
|
|
350
350
|
_description = _("Unset QoS specification properties")
|
|
351
351
|
|
|
352
352
|
def get_parser(self, prog_name):
|
|
353
|
-
parser = super(
|
|
353
|
+
parser = super().get_parser(prog_name)
|
|
354
354
|
parser.add_argument(
|
|
355
355
|
'qos_spec',
|
|
356
356
|
metavar='<qos-spec>',
|
|
@@ -25,7 +25,7 @@ class ListService(command.Lister):
|
|
|
25
25
|
_description = _("List service command")
|
|
26
26
|
|
|
27
27
|
def get_parser(self, prog_name):
|
|
28
|
-
parser = super(
|
|
28
|
+
parser = super().get_parser(prog_name)
|
|
29
29
|
parser.add_argument(
|
|
30
30
|
"--host",
|
|
31
31
|
metavar="<host>",
|
|
@@ -86,7 +86,7 @@ class SetService(command.Command):
|
|
|
86
86
|
_description = _("Set volume service properties")
|
|
87
87
|
|
|
88
88
|
def get_parser(self, prog_name):
|
|
89
|
-
parser = super(
|
|
89
|
+
parser = super().get_parser(prog_name)
|
|
90
90
|
parser.add_argument("host", metavar="<host>", help=_("Name of host"))
|
|
91
91
|
parser.add_argument(
|
|
92
92
|
"service",
|