python-openstackclient 9.0.0__py3-none-any.whl → 10.1.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/__init__.py +2 -6
- openstackclient/api/api.py +41 -23
- openstackclient/api/compute_v2.py +44 -25
- openstackclient/api/object_store_v1.py +75 -97
- openstackclient/api/volume_v2.py +2 -1
- openstackclient/api/volume_v3.py +2 -1
- openstackclient/common/availability_zone.py +59 -43
- openstackclient/common/clientmanager.py +56 -29
- openstackclient/common/configuration.py +10 -3
- openstackclient/common/envvars.py +2 -2
- openstackclient/common/extension.py +14 -5
- openstackclient/common/limits.py +10 -5
- openstackclient/common/module.py +36 -34
- openstackclient/common/pagination.py +50 -6
- openstackclient/common/progressbar.py +7 -6
- openstackclient/common/project_cleanup.py +11 -6
- openstackclient/common/quota.py +105 -103
- openstackclient/common/versions.py +8 -2
- openstackclient/compute/client.py +7 -3
- openstackclient/compute/v2/agent.py +17 -10
- openstackclient/compute/v2/aggregate.py +36 -22
- openstackclient/compute/v2/console.py +14 -8
- openstackclient/compute/v2/console_connection.py +11 -3
- openstackclient/compute/v2/flavor.py +42 -22
- openstackclient/compute/v2/host.py +14 -6
- openstackclient/compute/v2/hypervisor.py +16 -5
- openstackclient/compute/v2/hypervisor_stats.py +10 -2
- openstackclient/compute/v2/keypair.py +35 -16
- openstackclient/compute/v2/server.py +268 -179
- openstackclient/compute/v2/server_backup.py +10 -4
- openstackclient/compute/v2/server_event.py +28 -12
- openstackclient/compute/v2/server_group.py +23 -11
- openstackclient/compute/v2/server_image.py +19 -10
- openstackclient/compute/v2/server_migration.py +27 -10
- openstackclient/compute/v2/server_share.py +274 -0
- openstackclient/compute/v2/server_volume.py +13 -5
- openstackclient/compute/v2/service.py +17 -8
- openstackclient/compute/v2/usage.py +28 -23
- openstackclient/identity/client.py +8 -3
- openstackclient/identity/common.py +82 -47
- openstackclient/identity/v2_0/catalog.py +14 -7
- openstackclient/identity/v2_0/ec2creds.py +21 -10
- openstackclient/identity/v2_0/endpoint.py +23 -11
- openstackclient/identity/v2_0/project.py +25 -14
- openstackclient/identity/v2_0/role.py +28 -14
- openstackclient/identity/v2_0/role_assignment.py +9 -3
- openstackclient/identity/v2_0/service.py +23 -11
- openstackclient/identity/v2_0/token.py +12 -5
- openstackclient/identity/v2_0/user.py +26 -15
- openstackclient/identity/v3/access_rule.py +32 -12
- openstackclient/identity/v3/application_credential.py +66 -24
- openstackclient/identity/v3/catalog.py +14 -7
- openstackclient/identity/v3/consumer.py +22 -11
- openstackclient/identity/v3/credential.py +39 -17
- openstackclient/identity/v3/domain.py +40 -19
- openstackclient/identity/v3/ec2creds.py +25 -12
- openstackclient/identity/v3/endpoint.py +98 -64
- openstackclient/identity/v3/endpoint_group.py +28 -17
- openstackclient/identity/v3/federation_protocol.py +44 -20
- openstackclient/identity/v3/group.py +64 -40
- openstackclient/identity/v3/identity_provider.py +95 -57
- openstackclient/identity/v3/implied_role.py +21 -9
- openstackclient/identity/v3/limit.py +42 -17
- openstackclient/identity/v3/mapping.py +58 -28
- openstackclient/identity/v3/policy.py +23 -12
- openstackclient/identity/v3/project.py +59 -26
- openstackclient/identity/v3/region.py +39 -17
- openstackclient/identity/v3/registered_limit.py +41 -16
- openstackclient/identity/v3/role.py +62 -31
- openstackclient/identity/v3/role_assignment.py +25 -7
- openstackclient/identity/v3/service.py +39 -17
- openstackclient/identity/v3/service_provider.py +40 -16
- openstackclient/identity/v3/tag.py +23 -6
- openstackclient/identity/v3/token.py +30 -14
- openstackclient/identity/v3/trust.py +39 -18
- openstackclient/identity/v3/unscoped_saml.py +10 -2
- openstackclient/identity/v3/user.py +86 -36
- openstackclient/image/client.py +7 -3
- openstackclient/image/v1/image.py +33 -26
- openstackclient/image/v2/cache.py +16 -11
- openstackclient/image/v2/image.py +88 -56
- openstackclient/image/v2/info.py +7 -1
- openstackclient/image/v2/metadef_namespaces.py +117 -20
- openstackclient/image/v2/metadef_objects.py +32 -19
- openstackclient/image/v2/metadef_properties.py +30 -16
- openstackclient/image/v2/metadef_resource_type_association.py +14 -7
- openstackclient/image/v2/metadef_resource_types.py +7 -1
- openstackclient/image/v2/task.py +25 -27
- openstackclient/locale/tr_TR/LC_MESSAGES/openstackclient.po +7 -192
- openstackclient/network/client.py +7 -2
- openstackclient/network/common.py +16 -241
- openstackclient/network/utils.py +27 -54
- openstackclient/network/v2/address_group.py +39 -16
- openstackclient/network/v2/address_scope.py +36 -20
- openstackclient/network/v2/bgpvpn/bgpvpn.py +477 -0
- openstackclient/network/v2/bgpvpn/constants.py +30 -0
- openstackclient/network/v2/bgpvpn/network_association.py +226 -0
- openstackclient/network/v2/bgpvpn/port_association.py +504 -0
- openstackclient/network/v2/bgpvpn/router_association.py +301 -0
- openstackclient/network/v2/default_security_group_rule.py +31 -14
- openstackclient/network/v2/floating_ip.py +121 -162
- openstackclient/network/v2/floating_ip_port_forwarding.py +41 -19
- openstackclient/network/v2/fwaas/__init__.py +0 -0
- openstackclient/network/v2/fwaas/group.py +499 -0
- openstackclient/network/v2/fwaas/policy.py +518 -0
- openstackclient/network/v2/fwaas/rule.py +610 -0
- openstackclient/network/v2/ip_availability.py +25 -8
- openstackclient/network/v2/l3_conntrack_helper.py +35 -13
- openstackclient/network/v2/local_ip.py +27 -13
- openstackclient/network/v2/local_ip_association.py +17 -7
- openstackclient/network/v2/ndp_proxy.py +23 -11
- openstackclient/network/v2/network.py +213 -213
- openstackclient/network/v2/network_agent.py +77 -34
- openstackclient/network/v2/network_auto_allocated_topology.py +27 -15
- openstackclient/network/v2/network_flavor.py +45 -21
- openstackclient/network/v2/network_flavor_profile.py +42 -17
- openstackclient/network/v2/network_meter.py +39 -15
- openstackclient/network/v2/network_meter_rule.py +40 -12
- openstackclient/network/v2/network_qos_policy.py +39 -21
- openstackclient/network/v2/network_qos_rule.py +48 -18
- openstackclient/network/v2/network_qos_rule_type.py +28 -9
- openstackclient/network/v2/network_rbac.py +34 -16
- openstackclient/network/v2/network_segment.py +32 -11
- openstackclient/network/v2/network_segment_range.py +70 -31
- openstackclient/network/v2/network_service_provider.py +7 -1
- openstackclient/network/v2/network_trunk.py +41 -22
- openstackclient/network/v2/port.py +141 -40
- openstackclient/network/v2/router.py +101 -67
- openstackclient/network/v2/security_group.py +97 -198
- openstackclient/network/v2/security_group_rule.py +115 -282
- openstackclient/network/v2/subnet.py +63 -34
- openstackclient/network/v2/subnet_pool.py +42 -24
- openstackclient/network/v2/taas/tap_flow.py +35 -14
- openstackclient/network/v2/taas/tap_mirror.py +28 -14
- openstackclient/network/v2/taas/tap_service.py +26 -12
- openstackclient/object/client.py +7 -2
- openstackclient/object/v1/account.py +13 -6
- openstackclient/object/v1/container.py +28 -16
- openstackclient/object/v1/object.py +28 -16
- openstackclient/py.typed +0 -0
- openstackclient/shell.py +46 -10
- openstackclient/tests/functional/base.py +55 -20
- openstackclient/tests/functional/common/test_extension.py +4 -0
- openstackclient/tests/functional/common/test_quota.py +3 -1
- openstackclient/tests/functional/compute/v2/common.py +14 -13
- openstackclient/tests/functional/compute/v2/test_flavor.py +3 -1
- openstackclient/tests/functional/compute/v2/test_server.py +3 -0
- openstackclient/tests/functional/identity/v2/common.py +10 -6
- openstackclient/tests/functional/identity/v2/test_role.py +4 -4
- openstackclient/tests/functional/identity/v3/common.py +59 -19
- openstackclient/tests/functional/identity/v3/test_application_credential.py +1 -1
- openstackclient/tests/functional/identity/v3/test_group.py +20 -20
- openstackclient/tests/functional/identity/v3/test_idp.py +3 -1
- openstackclient/tests/functional/identity/v3/test_mapping.py +81 -0
- openstackclient/tests/functional/identity/v3/test_project.py +10 -10
- openstackclient/tests/functional/identity/v3/test_role.py +18 -18
- openstackclient/tests/functional/identity/v3/test_role_assignment.py +12 -12
- openstackclient/tests/functional/identity/v3/test_user.py +8 -8
- openstackclient/tests/functional/image/base.py +1 -6
- openstackclient/tests/functional/network/v2/common.py +5 -2
- openstackclient/tests/functional/network/v2/test_floating_ip.py +10 -4
- openstackclient/tests/functional/network/v2/test_ip_availability.py +4 -0
- openstackclient/tests/functional/network/v2/test_network_meter_rule.py +3 -2
- openstackclient/tests/functional/network/v2/test_network_segment.py +5 -0
- openstackclient/tests/functional/network/v2/test_subnet.py +13 -9
- openstackclient/tests/functional/object/v1/common.py +4 -0
- openstackclient/tests/functional/volume/v2/common.py +4 -0
- openstackclient/tests/functional/volume/v2/test_volume_snapshot.py +27 -11
- openstackclient/tests/functional/volume/v2/test_volume_type.py +2 -2
- openstackclient/tests/functional/volume/v3/common.py +4 -0
- openstackclient/tests/functional/volume/v3/test_volume_group.py +163 -0
- openstackclient/tests/functional/volume/v3/test_volume_snapshot.py +11 -7
- openstackclient/tests/functional/volume/v3/test_volume_type.py +2 -2
- openstackclient/tests/unit/common/test_availability_zone.py +35 -49
- openstackclient/tests/unit/common/test_extension.py +2 -2
- openstackclient/tests/unit/common/test_limits.py +1 -1
- openstackclient/tests/unit/common/test_module.py +82 -44
- openstackclient/tests/unit/common/test_project_cleanup.py +3 -1
- openstackclient/tests/unit/common/test_quota.py +15 -26
- openstackclient/tests/unit/compute/v2/fakes.py +26 -57
- openstackclient/tests/unit/compute/v2/test_agent.py +4 -4
- openstackclient/tests/unit/compute/v2/test_aggregate.py +1 -1
- openstackclient/tests/unit/compute/v2/test_console.py +2 -2
- openstackclient/tests/unit/compute/v2/test_console_connection.py +1 -1
- openstackclient/tests/unit/compute/v2/test_flavor.py +29 -3
- openstackclient/tests/unit/compute/v2/test_host.py +3 -3
- openstackclient/tests/unit/compute/v2/test_hypervisor.py +2 -2
- openstackclient/tests/unit/compute/v2/test_hypervisor_stats.py +1 -1
- openstackclient/tests/unit/compute/v2/test_keypair.py +7 -7
- openstackclient/tests/unit/compute/v2/test_server.py +26 -111
- openstackclient/tests/unit/compute/v2/test_server_backup.py +1 -1
- openstackclient/tests/unit/compute/v2/test_server_event.py +2 -2
- openstackclient/tests/unit/compute/v2/test_server_group.py +1 -1
- openstackclient/tests/unit/compute/v2/test_server_image.py +1 -1
- openstackclient/tests/unit/compute/v2/test_server_migration.py +4 -4
- openstackclient/tests/unit/compute/v2/test_server_share.py +287 -0
- openstackclient/tests/unit/compute/v2/test_server_volume.py +2 -2
- openstackclient/tests/unit/compute/v2/test_service.py +3 -3
- openstackclient/tests/unit/compute/v2/test_usage.py +1 -1
- openstackclient/tests/unit/identity/v2_0/fakes.py +3 -7
- openstackclient/tests/unit/identity/v2_0/test_endpoint.py +1 -1
- openstackclient/tests/unit/identity/v2_0/test_project.py +1 -1
- openstackclient/tests/unit/identity/v2_0/test_role.py +1 -1
- openstackclient/tests/unit/identity/v2_0/test_role_assignment.py +1 -1
- openstackclient/tests/unit/identity/v2_0/test_service.py +1 -1
- openstackclient/tests/unit/identity/v2_0/test_token.py +2 -2
- openstackclient/tests/unit/identity/v2_0/test_user.py +1 -1
- openstackclient/tests/unit/identity/v3/fakes.py +8 -38
- openstackclient/tests/unit/identity/v3/test_access_rule.py +3 -3
- openstackclient/tests/unit/identity/v3/test_application_credential.py +4 -4
- openstackclient/tests/unit/identity/v3/test_credential.py +5 -5
- openstackclient/tests/unit/identity/v3/test_domain.py +5 -5
- openstackclient/tests/unit/identity/v3/test_endpoint.py +6 -6
- openstackclient/tests/unit/identity/v3/test_endpoint_group.py +1 -1
- openstackclient/tests/unit/identity/v3/test_group.py +12 -22
- openstackclient/tests/unit/identity/v3/test_identity_provider.py +303 -299
- openstackclient/tests/unit/identity/v3/test_implied_role.py +1 -1
- openstackclient/tests/unit/identity/v3/test_limit.py +5 -5
- openstackclient/tests/unit/identity/v3/test_mappings.py +163 -79
- openstackclient/tests/unit/identity/v3/test_project.py +28 -5
- openstackclient/tests/unit/identity/v3/test_protocol.py +3 -3
- openstackclient/tests/unit/identity/v3/test_region.py +5 -5
- openstackclient/tests/unit/identity/v3/test_registered_limit.py +5 -5
- openstackclient/tests/unit/identity/v3/test_role.py +8 -8
- openstackclient/tests/unit/identity/v3/test_role_assignment.py +1 -1
- openstackclient/tests/unit/identity/v3/test_service.py +5 -5
- openstackclient/tests/unit/identity/v3/test_token.py +2 -2
- openstackclient/tests/unit/identity/v3/test_trust.py +4 -4
- openstackclient/tests/unit/identity/v3/test_user.py +77 -10
- openstackclient/tests/unit/image/v2/test_image.py +11 -11
- openstackclient/tests/unit/image/v2/test_metadef_namespaces.py +105 -6
- openstackclient/tests/unit/network/test_common.py +0 -155
- openstackclient/tests/unit/network/v2/bgpvpn/__init__.py +0 -0
- openstackclient/tests/unit/network/v2/bgpvpn/fakes.py +179 -0
- openstackclient/tests/unit/network/v2/bgpvpn/test_bgpvpn.py +584 -0
- openstackclient/tests/unit/network/v2/bgpvpn/test_network_association.py +285 -0
- openstackclient/tests/unit/network/v2/bgpvpn/test_port_association.py +384 -0
- openstackclient/tests/unit/network/v2/bgpvpn/test_router_association.py +297 -0
- openstackclient/tests/unit/network/v2/fakes.py +5 -77
- openstackclient/tests/unit/network/v2/fwaas/__init__.py +0 -0
- openstackclient/tests/unit/network/v2/fwaas/test_group.py +923 -0
- openstackclient/tests/unit/network/v2/fwaas/test_policy.py +869 -0
- openstackclient/tests/unit/network/v2/fwaas/test_rule.py +1005 -0
- openstackclient/tests/unit/network/v2/taas/{test_osc_tap_flow.py → test_tap_flow.py} +18 -25
- openstackclient/tests/unit/network/v2/taas/{test_osc_tap_mirror.py → test_tap_mirror.py} +19 -29
- openstackclient/tests/unit/network/v2/taas/{test_osc_tap_service.py → test_tap_service.py} +19 -29
- openstackclient/tests/unit/network/v2/test_address_group.py +26 -2
- openstackclient/tests/unit/network/v2/test_address_scope.py +24 -0
- openstackclient/tests/unit/network/v2/{test_floating_ip_network.py → test_floating_ip.py} +27 -2
- openstackclient/tests/unit/network/v2/test_floating_ip_port_forwarding.py +37 -13
- openstackclient/tests/unit/network/v2/test_ip_availability.py +25 -0
- openstackclient/tests/unit/network/v2/test_l3_conntrack_helper.py +29 -3
- openstackclient/tests/unit/network/v2/test_network.py +74 -12
- openstackclient/tests/unit/network/v2/test_network_agent.py +58 -5
- openstackclient/tests/unit/network/v2/test_network_auto_allocated_topology.py +3 -3
- openstackclient/tests/unit/network/v2/test_network_flavor.py +26 -2
- openstackclient/tests/unit/network/v2/test_network_flavor_profile.py +24 -0
- openstackclient/tests/unit/network/v2/test_network_meter.py +24 -0
- openstackclient/tests/unit/network/v2/test_network_qos_policy.py +25 -1
- openstackclient/tests/unit/network/v2/test_network_qos_rule.py +2 -2
- openstackclient/tests/unit/network/v2/test_network_qos_rule_type.py +24 -0
- openstackclient/tests/unit/network/v2/test_network_rbac.py +25 -1
- openstackclient/tests/unit/network/v2/test_network_segment.py +25 -1
- openstackclient/tests/unit/network/v2/test_network_segment_range.py +31 -10
- openstackclient/tests/unit/network/v2/test_network_trunk.py +1 -1
- openstackclient/tests/unit/network/v2/test_port.py +166 -0
- openstackclient/tests/unit/network/v2/test_router.py +36 -16
- openstackclient/tests/unit/network/v2/{test_security_group_network.py → test_security_group.py} +11 -8
- openstackclient/tests/unit/network/v2/{test_security_group_rule_network.py → test_security_group_rule.py} +28 -37
- openstackclient/tests/unit/network/v2/test_subnet.py +30 -5
- openstackclient/tests/unit/network/v2/test_subnet_pool.py +26 -1
- openstackclient/tests/unit/object/v1/fakes.py +8 -7
- openstackclient/tests/unit/object/v1/test_container.py +65 -101
- openstackclient/tests/unit/object/v1/test_container_all.py +8 -1
- openstackclient/tests/unit/object/v1/test_object.py +44 -84
- openstackclient/tests/unit/object/v1/test_object_all.py +8 -1
- openstackclient/tests/unit/test_hacking.py +108 -0
- openstackclient/tests/unit/volume/v2/fakes.py +21 -140
- openstackclient/tests/unit/volume/v2/test_volume_backup.py +6 -14
- openstackclient/tests/unit/volume/v2/test_volume_snapshot.py +8 -1
- openstackclient/tests/unit/volume/v2/test_volume_type.py +2 -4
- openstackclient/tests/unit/volume/v3/fakes.py +205 -100
- openstackclient/tests/unit/volume/v3/test_backup_record.py +114 -0
- openstackclient/tests/unit/volume/v3/test_consistency_group.py +720 -0
- openstackclient/tests/unit/volume/v3/test_consistency_group_snapshot.py +354 -0
- openstackclient/tests/unit/volume/v3/test_qos_specs.py +455 -0
- openstackclient/tests/unit/volume/v3/test_volume.py +60 -3
- openstackclient/tests/unit/volume/v3/test_volume_attachment.py +3 -1
- openstackclient/tests/unit/volume/v3/test_volume_backend.py +158 -0
- openstackclient/tests/unit/volume/v3/test_volume_backup.py +6 -14
- openstackclient/tests/unit/volume/v3/test_volume_group_type.py +65 -0
- openstackclient/tests/unit/volume/v3/test_volume_host.py +115 -0
- openstackclient/tests/unit/volume/v3/test_volume_snapshot.py +61 -1
- openstackclient/tests/unit/volume/v3/test_volume_type.py +2 -4
- openstackclient/volume/client.py +7 -3
- openstackclient/volume/v2/backup_record.py +15 -6
- openstackclient/volume/v2/consistency_group.py +29 -17
- openstackclient/volume/v2/consistency_group_snapshot.py +25 -10
- openstackclient/volume/v2/qos_specs.py +28 -17
- openstackclient/volume/v2/service.py +17 -6
- openstackclient/volume/v2/volume.py +60 -30
- openstackclient/volume/v2/volume_backend.py +19 -6
- openstackclient/volume/v2/volume_backup.py +48 -23
- openstackclient/volume/v2/volume_host.py +6 -4
- openstackclient/volume/v2/volume_snapshot.py +49 -24
- openstackclient/volume/v2/volume_transfer_request.py +31 -13
- openstackclient/volume/v2/volume_type.py +43 -24
- openstackclient/volume/v3/backup_record.py +94 -0
- openstackclient/volume/v3/block_storage_cleanup.py +11 -3
- openstackclient/volume/v3/block_storage_cluster.py +19 -7
- openstackclient/volume/v3/block_storage_log_level.py +15 -6
- openstackclient/volume/v3/block_storage_manage.py +10 -4
- openstackclient/volume/v3/block_storage_resource_filter.py +17 -5
- openstackclient/volume/v3/consistency_group.py +400 -0
- openstackclient/volume/v3/consistency_group_snapshot.py +225 -0
- openstackclient/volume/v3/qos_specs.py +389 -0
- openstackclient/volume/v3/service.py +16 -6
- openstackclient/volume/v3/volume.py +92 -40
- openstackclient/volume/v3/volume_attachment.py +47 -21
- openstackclient/volume/v3/volume_backend.py +130 -0
- openstackclient/volume/v3/volume_backup.py +55 -27
- openstackclient/volume/v3/volume_group.py +23 -13
- openstackclient/volume/v3/volume_group_snapshot.py +34 -17
- openstackclient/volume/v3/volume_group_type.py +27 -14
- openstackclient/volume/v3/volume_host.py +74 -0
- openstackclient/volume/v3/volume_message.py +18 -8
- openstackclient/volume/v3/volume_snapshot.py +70 -32
- openstackclient/volume/v3/volume_transfer_request.py +31 -13
- openstackclient/volume/v3/volume_type.py +42 -24
- {python_openstackclient-9.0.0.dist-info → python_openstackclient-10.1.0.dist-info}/METADATA +7 -8
- python_openstackclient-10.1.0.dist-info/RECORD +524 -0
- {python_openstackclient-9.0.0.dist-info → python_openstackclient-10.1.0.dist-info}/WHEEL +1 -1
- {python_openstackclient-9.0.0.dist-info → python_openstackclient-10.1.0.dist-info}/entry_points.txt +77 -25
- {python_openstackclient-9.0.0.dist-info → python_openstackclient-10.1.0.dist-info}/licenses/AUTHORS +9 -0
- python_openstackclient-10.1.0.dist-info/pbr.json +1 -0
- openstackclient/api/image_v1.py +0 -69
- openstackclient/api/image_v2.py +0 -79
- openstackclient/network/v2/floating_ip_pool.py +0 -38
- openstackclient/tests/functional/image/v1/test_image.py +0 -97
- openstackclient/tests/unit/api/test_image_v1.py +0 -96
- openstackclient/tests/unit/api/test_image_v2.py +0 -96
- openstackclient/tests/unit/network/v2/test_floating_ip_compute.py +0 -248
- openstackclient/tests/unit/network/v2/test_floating_ip_pool_compute.py +0 -49
- openstackclient/tests/unit/network/v2/test_floating_ip_pool_network.py +0 -39
- openstackclient/tests/unit/network/v2/test_network_compute.py +0 -404
- openstackclient/tests/unit/network/v2/test_security_group_compute.py +0 -392
- openstackclient/tests/unit/network/v2/test_security_group_rule_compute.py +0 -555
- python_openstackclient-9.0.0.dist-info/RECORD +0 -499
- python_openstackclient-9.0.0.dist-info/pbr.json +0 -1
- /openstackclient/{tests/functional/image/v1 → network/v2/bgpvpn}/__init__.py +0 -0
- {python_openstackclient-9.0.0.dist-info → python_openstackclient-10.1.0.dist-info}/licenses/LICENSE +0 -0
- {python_openstackclient-9.0.0.dist-info → python_openstackclient-10.1.0.dist-info}/top_level.txt +0 -0
|
@@ -155,7 +155,7 @@ class TestListL3ConntrackHelper(TestConntrackHelper):
|
|
|
155
155
|
def setUp(self):
|
|
156
156
|
super().setUp()
|
|
157
157
|
attrs = {'router_id': self.router.id}
|
|
158
|
-
|
|
158
|
+
self.conntrack_helpers = (
|
|
159
159
|
network_fakes.FakeL3ConntrackHelper.create_l3_conntrack_helpers(
|
|
160
160
|
attrs, count=3
|
|
161
161
|
)
|
|
@@ -168,7 +168,7 @@ class TestListL3ConntrackHelper(TestConntrackHelper):
|
|
|
168
168
|
'Port',
|
|
169
169
|
)
|
|
170
170
|
self.data = []
|
|
171
|
-
for ct_helper in
|
|
171
|
+
for ct_helper in self.conntrack_helpers:
|
|
172
172
|
self.data.append(
|
|
173
173
|
(
|
|
174
174
|
ct_helper.id,
|
|
@@ -178,7 +178,9 @@ class TestListL3ConntrackHelper(TestConntrackHelper):
|
|
|
178
178
|
ct_helper.port,
|
|
179
179
|
)
|
|
180
180
|
)
|
|
181
|
-
self.network_client.conntrack_helpers.return_value =
|
|
181
|
+
self.network_client.conntrack_helpers.return_value = (
|
|
182
|
+
self.conntrack_helpers
|
|
183
|
+
)
|
|
182
184
|
|
|
183
185
|
# Get the command object to test
|
|
184
186
|
self.cmd = l3_conntrack_helper.ListConntrackHelper(self.app, None)
|
|
@@ -201,6 +203,30 @@ class TestListL3ConntrackHelper(TestConntrackHelper):
|
|
|
201
203
|
for index in range(len(list_data)):
|
|
202
204
|
self.assertEqual(self.data[index], list_data[index])
|
|
203
205
|
|
|
206
|
+
def test_conntrack_helpers_list_pagination(self):
|
|
207
|
+
arglist = [
|
|
208
|
+
'--marker',
|
|
209
|
+
self.conntrack_helpers[0].id,
|
|
210
|
+
'--limit',
|
|
211
|
+
'1',
|
|
212
|
+
self.router.id,
|
|
213
|
+
]
|
|
214
|
+
verifylist = [
|
|
215
|
+
('marker', self.conntrack_helpers[0].id),
|
|
216
|
+
('limit', 1),
|
|
217
|
+
('router', self.router.id),
|
|
218
|
+
]
|
|
219
|
+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
220
|
+
|
|
221
|
+
columns, data = self.cmd.take_action(parsed_args)
|
|
222
|
+
|
|
223
|
+
self.network_client.conntrack_helpers.assert_called_once_with(
|
|
224
|
+
self.router.id,
|
|
225
|
+
**{'marker': self.conntrack_helpers[0].id, 'limit': 1},
|
|
226
|
+
)
|
|
227
|
+
self.assertEqual(self.columns, columns)
|
|
228
|
+
self.assertEqual(self.data, list(data))
|
|
229
|
+
|
|
204
230
|
|
|
205
231
|
class TestSetL3ConntrackHelper(TestConntrackHelper):
|
|
206
232
|
def setUp(self):
|
|
@@ -70,6 +70,7 @@ class TestCreateNetworkIdentityV3(TestNetwork):
|
|
|
70
70
|
'provider:network_type',
|
|
71
71
|
'provider:physical_network',
|
|
72
72
|
'provider:segmentation_id',
|
|
73
|
+
'pvlan',
|
|
73
74
|
'qos_policy_id',
|
|
74
75
|
'router:external',
|
|
75
76
|
'shared',
|
|
@@ -99,6 +100,7 @@ class TestCreateNetworkIdentityV3(TestNetwork):
|
|
|
99
100
|
_network.provider_network_type,
|
|
100
101
|
_network.provider_physical_network,
|
|
101
102
|
_network.provider_segmentation_id,
|
|
103
|
+
_network.pvlan,
|
|
102
104
|
_network.qos_policy_id,
|
|
103
105
|
network.RouterExternalColumn(_network.is_router_external),
|
|
104
106
|
_network.is_shared,
|
|
@@ -189,6 +191,7 @@ class TestCreateNetworkIdentityV3(TestNetwork):
|
|
|
189
191
|
self.qos_policy.id,
|
|
190
192
|
"--transparent-vlan",
|
|
191
193
|
"--no-qinq-vlan",
|
|
194
|
+
"--no-pvlan",
|
|
192
195
|
"--enable-port-security",
|
|
193
196
|
"--dns-domain",
|
|
194
197
|
"example.org.",
|
|
@@ -210,6 +213,7 @@ class TestCreateNetworkIdentityV3(TestNetwork):
|
|
|
210
213
|
('qos_policy', self.qos_policy.id),
|
|
211
214
|
('transparent_vlan', True),
|
|
212
215
|
('qinq_vlan', False),
|
|
216
|
+
('pvlan', False),
|
|
213
217
|
('enable_port_security', True),
|
|
214
218
|
('name', self._network.name),
|
|
215
219
|
('dns_domain', 'example.org.'),
|
|
@@ -235,6 +239,7 @@ class TestCreateNetworkIdentityV3(TestNetwork):
|
|
|
235
239
|
'qos_policy_id': self.qos_policy.id,
|
|
236
240
|
'vlan_transparent': True,
|
|
237
241
|
'vlan_qinq': False,
|
|
242
|
+
'pvlan': False,
|
|
238
243
|
'port_security_enabled': True,
|
|
239
244
|
'dns_domain': 'example.org.',
|
|
240
245
|
}
|
|
@@ -326,6 +331,19 @@ class TestCreateNetworkIdentityV3(TestNetwork):
|
|
|
326
331
|
exceptions.CommandError, self.cmd.take_action, parsed_args
|
|
327
332
|
)
|
|
328
333
|
|
|
334
|
+
def test_create_with_pvlan_and_port_security_disabled(self):
|
|
335
|
+
arglist = [
|
|
336
|
+
"--disable-port-security",
|
|
337
|
+
"--pvlan",
|
|
338
|
+
self._network.name,
|
|
339
|
+
]
|
|
340
|
+
verifylist = [('disable_port_security', True), ('pvlan', True)]
|
|
341
|
+
|
|
342
|
+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
343
|
+
self.assertRaises(
|
|
344
|
+
exceptions.CommandError, self.cmd.take_action, parsed_args
|
|
345
|
+
)
|
|
346
|
+
|
|
329
347
|
def test_create_with_provider_segment_without_provider_type(self):
|
|
330
348
|
arglist = [
|
|
331
349
|
"--provider-segment",
|
|
@@ -371,6 +389,7 @@ class TestCreateNetworkIdentityV2(
|
|
|
371
389
|
'name',
|
|
372
390
|
'port_security_enabled',
|
|
373
391
|
'project_id',
|
|
392
|
+
'pvlan',
|
|
374
393
|
'provider:network_type',
|
|
375
394
|
'provider:physical_network',
|
|
376
395
|
'provider:segmentation_id',
|
|
@@ -400,6 +419,7 @@ class TestCreateNetworkIdentityV2(
|
|
|
400
419
|
_network.name,
|
|
401
420
|
_network.is_port_security_enabled,
|
|
402
421
|
_network.project_id,
|
|
422
|
+
_network.pvlan,
|
|
403
423
|
_network.provider_network_type,
|
|
404
424
|
_network.provider_physical_network,
|
|
405
425
|
_network.provider_segmentation_id,
|
|
@@ -576,7 +596,7 @@ class TestDeleteNetwork(TestNetwork):
|
|
|
576
596
|
|
|
577
597
|
class TestListNetwork(TestNetwork):
|
|
578
598
|
# The networks going to be listed up.
|
|
579
|
-
|
|
599
|
+
_networks = network_fakes.create_networks(count=3)
|
|
580
600
|
|
|
581
601
|
columns = (
|
|
582
602
|
'ID',
|
|
@@ -598,7 +618,7 @@ class TestListNetwork(TestNetwork):
|
|
|
598
618
|
)
|
|
599
619
|
|
|
600
620
|
data = []
|
|
601
|
-
for net in
|
|
621
|
+
for net in _networks:
|
|
602
622
|
data.append(
|
|
603
623
|
(
|
|
604
624
|
net.id,
|
|
@@ -608,7 +628,7 @@ class TestListNetwork(TestNetwork):
|
|
|
608
628
|
)
|
|
609
629
|
|
|
610
630
|
data_long = []
|
|
611
|
-
for net in
|
|
631
|
+
for net in _networks:
|
|
612
632
|
data_long.append(
|
|
613
633
|
(
|
|
614
634
|
net.id,
|
|
@@ -631,13 +651,13 @@ class TestListNetwork(TestNetwork):
|
|
|
631
651
|
# Get the command object to test
|
|
632
652
|
self.cmd = network.ListNetwork(self.app, None)
|
|
633
653
|
|
|
634
|
-
self.network_client.networks.return_value = self.
|
|
654
|
+
self.network_client.networks.return_value = self._networks
|
|
635
655
|
|
|
636
656
|
self._agent = network_fakes.create_one_network_agent()
|
|
637
657
|
self.network_client.get_agent.return_value = self._agent
|
|
638
658
|
|
|
639
659
|
self.network_client.dhcp_agent_hosting_networks.return_value = (
|
|
640
|
-
self.
|
|
660
|
+
self._networks
|
|
641
661
|
)
|
|
642
662
|
|
|
643
663
|
# TestListTagMixin
|
|
@@ -660,7 +680,31 @@ class TestListNetwork(TestNetwork):
|
|
|
660
680
|
self.assertEqual(self.columns, columns)
|
|
661
681
|
self.assertCountEqual(self.data, list(data))
|
|
662
682
|
|
|
663
|
-
def
|
|
683
|
+
def test_network_list_pagination(self):
|
|
684
|
+
arglist = [
|
|
685
|
+
'--marker',
|
|
686
|
+
self._networks[0].id,
|
|
687
|
+
'--limit',
|
|
688
|
+
'1',
|
|
689
|
+
]
|
|
690
|
+
verifylist = [
|
|
691
|
+
('marker', self._networks[0].id),
|
|
692
|
+
('limit', 1),
|
|
693
|
+
]
|
|
694
|
+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
695
|
+
|
|
696
|
+
columns, data = self.cmd.take_action(parsed_args)
|
|
697
|
+
|
|
698
|
+
self.network_client.networks.assert_called_once_with(
|
|
699
|
+
**{
|
|
700
|
+
'marker': self._networks[0].id,
|
|
701
|
+
'limit': 1,
|
|
702
|
+
}
|
|
703
|
+
)
|
|
704
|
+
self.assertEqual(self.columns, columns)
|
|
705
|
+
self.assertEqual(self.data, list(data))
|
|
706
|
+
|
|
707
|
+
def test_network_list_external(self):
|
|
664
708
|
arglist = [
|
|
665
709
|
'--external',
|
|
666
710
|
]
|
|
@@ -681,7 +725,7 @@ class TestListNetwork(TestNetwork):
|
|
|
681
725
|
self.assertEqual(self.columns, columns)
|
|
682
726
|
self.assertCountEqual(self.data, list(data))
|
|
683
727
|
|
|
684
|
-
def
|
|
728
|
+
def test_network_list_internal(self):
|
|
685
729
|
arglist = [
|
|
686
730
|
'--internal',
|
|
687
731
|
]
|
|
@@ -717,7 +761,7 @@ class TestListNetwork(TestNetwork):
|
|
|
717
761
|
self.assertEqual(self.columns_long, columns)
|
|
718
762
|
self.assertCountEqual(self.data_long, list(data))
|
|
719
763
|
|
|
720
|
-
def
|
|
764
|
+
def test_network_list_name(self):
|
|
721
765
|
test_name = "fakename"
|
|
722
766
|
arglist = [
|
|
723
767
|
'--name',
|
|
@@ -865,7 +909,7 @@ class TestListNetwork(TestNetwork):
|
|
|
865
909
|
self.assertCountEqual(self.data, list(data))
|
|
866
910
|
|
|
867
911
|
def test_network_list_provider_network_type(self):
|
|
868
|
-
network_type = self.
|
|
912
|
+
network_type = self._networks[0].provider_network_type
|
|
869
913
|
arglist = [
|
|
870
914
|
'--provider-network-type',
|
|
871
915
|
network_type,
|
|
@@ -886,7 +930,7 @@ class TestListNetwork(TestNetwork):
|
|
|
886
930
|
self.assertCountEqual(self.data, list(data))
|
|
887
931
|
|
|
888
932
|
def test_network_list_provider_physical_network(self):
|
|
889
|
-
physical_network = self.
|
|
933
|
+
physical_network = self._networks[0].provider_physical_network
|
|
890
934
|
arglist = [
|
|
891
935
|
'--provider-physical-network',
|
|
892
936
|
physical_network,
|
|
@@ -907,7 +951,7 @@ class TestListNetwork(TestNetwork):
|
|
|
907
951
|
self.assertCountEqual(self.data, list(data))
|
|
908
952
|
|
|
909
953
|
def test_network_list_provider_segment(self):
|
|
910
|
-
segmentation_id = self.
|
|
954
|
+
segmentation_id = self._networks[0].provider_segmentation_id
|
|
911
955
|
arglist = [
|
|
912
956
|
'--provider-segment',
|
|
913
957
|
segmentation_id,
|
|
@@ -996,6 +1040,23 @@ class TestSetNetwork(TestNetwork):
|
|
|
996
1040
|
# Get the command object to test
|
|
997
1041
|
self.cmd = network.SetNetwork(self.app, None)
|
|
998
1042
|
|
|
1043
|
+
def test_set_with_pvlan_and_port_security_disabled(self):
|
|
1044
|
+
arglist = [
|
|
1045
|
+
self._network.name,
|
|
1046
|
+
'--disable-port-security',
|
|
1047
|
+
'--pvlan',
|
|
1048
|
+
]
|
|
1049
|
+
verifylist = [
|
|
1050
|
+
('network', self._network.name),
|
|
1051
|
+
('disable_port_security', True),
|
|
1052
|
+
('pvlan', True),
|
|
1053
|
+
]
|
|
1054
|
+
|
|
1055
|
+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
1056
|
+
self.assertRaises(
|
|
1057
|
+
exceptions.CommandError, self.cmd.take_action, parsed_args
|
|
1058
|
+
)
|
|
1059
|
+
|
|
999
1060
|
def test_set_this(self):
|
|
1000
1061
|
arglist = [
|
|
1001
1062
|
self._network.name,
|
|
@@ -1189,6 +1250,7 @@ class TestShowNetwork(TestNetwork):
|
|
|
1189
1250
|
'provider:network_type',
|
|
1190
1251
|
'provider:physical_network',
|
|
1191
1252
|
'provider:segmentation_id',
|
|
1253
|
+
'pvlan',
|
|
1192
1254
|
'qos_policy_id',
|
|
1193
1255
|
'router:external',
|
|
1194
1256
|
'shared',
|
|
@@ -1218,6 +1280,7 @@ class TestShowNetwork(TestNetwork):
|
|
|
1218
1280
|
_network.provider_network_type,
|
|
1219
1281
|
_network.provider_physical_network,
|
|
1220
1282
|
_network.provider_segmentation_id,
|
|
1283
|
+
_network.pvlan,
|
|
1221
1284
|
_network.qos_policy_id,
|
|
1222
1285
|
network.RouterExternalColumn(_network.is_router_external),
|
|
1223
1286
|
_network.is_shared,
|
|
@@ -1265,7 +1328,6 @@ class TestShowNetwork(TestNetwork):
|
|
|
1265
1328
|
self.network_client.find_network.assert_called_once_with(
|
|
1266
1329
|
self._network.name, ignore_missing=False
|
|
1267
1330
|
)
|
|
1268
|
-
|
|
1269
1331
|
self.assertEqual(set(self.columns), set(columns))
|
|
1270
1332
|
self.assertCountEqual(self.data, data)
|
|
1271
1333
|
|
|
@@ -109,7 +109,32 @@ class TestAddRouterAgent(TestNetworkAgent):
|
|
|
109
109
|
result = self.cmd.take_action(parsed_args)
|
|
110
110
|
|
|
111
111
|
self.network_client.add_router_to_agent.assert_called_with(
|
|
112
|
-
self._agent, self._router
|
|
112
|
+
self._agent, self._router, ha_chassis_priority=None
|
|
113
|
+
)
|
|
114
|
+
self.assertIsNone(result)
|
|
115
|
+
|
|
116
|
+
def test_add_router_with_ha_chassis_priority(self):
|
|
117
|
+
arglist = [
|
|
118
|
+
self._agent.id,
|
|
119
|
+
self._router.id,
|
|
120
|
+
'--l3',
|
|
121
|
+
'--ha-chassis-priority',
|
|
122
|
+
'100',
|
|
123
|
+
]
|
|
124
|
+
verifylist = [
|
|
125
|
+
('l3', True),
|
|
126
|
+
('agent_id', self._agent.id),
|
|
127
|
+
('router', self._router.id),
|
|
128
|
+
('ha_chassis_priority', 100),
|
|
129
|
+
]
|
|
130
|
+
|
|
131
|
+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
132
|
+
result = self.cmd.take_action(parsed_args)
|
|
133
|
+
|
|
134
|
+
self.network_client.add_router_to_agent.assert_called_with(
|
|
135
|
+
self._agent,
|
|
136
|
+
self._router,
|
|
137
|
+
ha_chassis_priority=100,
|
|
113
138
|
)
|
|
114
139
|
self.assertIsNone(result)
|
|
115
140
|
|
|
@@ -249,6 +274,30 @@ class TestListNetworkAgent(TestNetworkAgent):
|
|
|
249
274
|
self.assertEqual(self.columns, columns)
|
|
250
275
|
self.assertCountEqual(self.data, list(data))
|
|
251
276
|
|
|
277
|
+
def test_network_agents_list_pagination(self):
|
|
278
|
+
arglist = [
|
|
279
|
+
'--marker',
|
|
280
|
+
self.network_agents[0].id,
|
|
281
|
+
'--limit',
|
|
282
|
+
'1',
|
|
283
|
+
]
|
|
284
|
+
verifylist = [
|
|
285
|
+
('marker', self.network_agents[0].id),
|
|
286
|
+
('limit', 1),
|
|
287
|
+
]
|
|
288
|
+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
289
|
+
|
|
290
|
+
columns, data = self.cmd.take_action(parsed_args)
|
|
291
|
+
|
|
292
|
+
self.network_client.agents.assert_called_once_with(
|
|
293
|
+
**{
|
|
294
|
+
'marker': self.network_agents[0].id,
|
|
295
|
+
'limit': 1,
|
|
296
|
+
}
|
|
297
|
+
)
|
|
298
|
+
self.assertEqual(self.columns, columns)
|
|
299
|
+
self.assertEqual(self.data, list(data))
|
|
300
|
+
|
|
252
301
|
def test_network_agents_list_agent_type(self):
|
|
253
302
|
arglist = [
|
|
254
303
|
'--agent-type',
|
|
@@ -340,8 +389,8 @@ class TestListNetworkAgent(TestNetworkAgent):
|
|
|
340
389
|
)
|
|
341
390
|
|
|
342
391
|
# Add a column 'HA State' and corresponding data.
|
|
343
|
-
router_agent_columns = self.columns
|
|
344
|
-
router_agent_data = [d
|
|
392
|
+
router_agent_columns = (*self.columns, 'HA State')
|
|
393
|
+
router_agent_data = [(*d, '') for d in self.data]
|
|
345
394
|
|
|
346
395
|
self.assertEqual(router_agent_columns, columns)
|
|
347
396
|
self.assertEqual(len(router_agent_data), len(list(data)))
|
|
@@ -541,8 +590,9 @@ class TestShowNetworkAgent(TestNetworkAgent):
|
|
|
541
590
|
'configuration',
|
|
542
591
|
'created_at',
|
|
543
592
|
'description',
|
|
544
|
-
'
|
|
593
|
+
'ha_chassis_priority',
|
|
545
594
|
'ha_state',
|
|
595
|
+
'host',
|
|
546
596
|
'id',
|
|
547
597
|
'last_heartbeat_at',
|
|
548
598
|
'resources_synced',
|
|
@@ -558,6 +608,9 @@ class TestShowNetworkAgent(TestNetworkAgent):
|
|
|
558
608
|
format_columns.DictColumn(_network_agent.configuration),
|
|
559
609
|
_network_agent.created_at,
|
|
560
610
|
_network_agent.description,
|
|
611
|
+
# NOTE(ralonsoh): `ha_chassis_priority` column is still not supported
|
|
612
|
+
# by the API. See LP#2103521.
|
|
613
|
+
None,
|
|
561
614
|
_network_agent.ha_state,
|
|
562
615
|
_network_agent.host,
|
|
563
616
|
_network_agent.id,
|
|
@@ -601,5 +654,5 @@ class TestShowNetworkAgent(TestNetworkAgent):
|
|
|
601
654
|
self.network_client.get_agent.assert_called_once_with(
|
|
602
655
|
self._network_agent.id
|
|
603
656
|
)
|
|
604
|
-
self.
|
|
657
|
+
self.assertCountEqual(self.columns, columns)
|
|
605
658
|
self.assertEqual(len(list(self.data)), len(list(data)))
|
|
@@ -167,7 +167,7 @@ class TestValidateAutoAllocatedTopology(TestAutoAllocatedTopology):
|
|
|
167
167
|
]
|
|
168
168
|
|
|
169
169
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
170
|
-
|
|
170
|
+
_columns, _data = self.cmd.take_action(parsed_args)
|
|
171
171
|
|
|
172
172
|
self.network_client.validate_auto_allocated_topology.assert_called_with(
|
|
173
173
|
None
|
|
@@ -185,7 +185,7 @@ class TestValidateAutoAllocatedTopology(TestAutoAllocatedTopology):
|
|
|
185
185
|
]
|
|
186
186
|
|
|
187
187
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
188
|
-
|
|
188
|
+
_columns, _data = self.cmd.take_action(parsed_args)
|
|
189
189
|
|
|
190
190
|
self.network_client.validate_auto_allocated_topology.assert_called_with(
|
|
191
191
|
self.project.id
|
|
@@ -206,7 +206,7 @@ class TestValidateAutoAllocatedTopology(TestAutoAllocatedTopology):
|
|
|
206
206
|
]
|
|
207
207
|
|
|
208
208
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
209
|
-
|
|
209
|
+
_columns, _data = self.cmd.take_action(parsed_args)
|
|
210
210
|
|
|
211
211
|
self.network_client.validate_auto_allocated_topology.assert_called_with(
|
|
212
212
|
self.project.id
|
|
@@ -71,7 +71,7 @@ class TestAddNetworkFlavorToProfile(TestNetworkFlavor):
|
|
|
71
71
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
72
72
|
self.cmd.take_action(parsed_args)
|
|
73
73
|
|
|
74
|
-
self.network_client.associate_flavor_with_service_profile.assert_called_once_with(
|
|
74
|
+
self.network_client.associate_flavor_with_service_profile.assert_called_once_with(
|
|
75
75
|
self.network_flavor, self.service_profile
|
|
76
76
|
)
|
|
77
77
|
|
|
@@ -335,6 +335,30 @@ class TestListNetworkFlavor(TestNetworkFlavor):
|
|
|
335
335
|
self.assertEqual(set(self.columns), set(columns))
|
|
336
336
|
self.assertEqual(self.data, list(data))
|
|
337
337
|
|
|
338
|
+
def test_network_flavor_list_pagination(self):
|
|
339
|
+
arglist = [
|
|
340
|
+
'--marker',
|
|
341
|
+
self._network_flavors[0].id,
|
|
342
|
+
'--limit',
|
|
343
|
+
'1',
|
|
344
|
+
]
|
|
345
|
+
verifylist = [
|
|
346
|
+
('marker', self._network_flavors[0].id),
|
|
347
|
+
('limit', 1),
|
|
348
|
+
]
|
|
349
|
+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
350
|
+
|
|
351
|
+
columns, data = self.cmd.take_action(parsed_args)
|
|
352
|
+
|
|
353
|
+
self.network_client.flavors.assert_called_once_with(
|
|
354
|
+
**{
|
|
355
|
+
'marker': self._network_flavors[0].id,
|
|
356
|
+
'limit': 1,
|
|
357
|
+
}
|
|
358
|
+
)
|
|
359
|
+
self.assertEqual(self.columns, columns)
|
|
360
|
+
self.assertEqual(self.data, list(data))
|
|
361
|
+
|
|
338
362
|
|
|
339
363
|
class TestRemoveNetworkFlavorFromProfile(TestNetworkFlavor):
|
|
340
364
|
network_flavor = network_fakes.create_one_network_flavor()
|
|
@@ -377,7 +401,7 @@ class TestRemoveNetworkFlavorFromProfile(TestNetworkFlavor):
|
|
|
377
401
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
378
402
|
self.cmd.take_action(parsed_args)
|
|
379
403
|
|
|
380
|
-
self.network_client.disassociate_flavor_from_service_profile.assert_called_once_with(
|
|
404
|
+
self.network_client.disassociate_flavor_from_service_profile.assert_called_once_with(
|
|
381
405
|
self.network_flavor, self.service_profile
|
|
382
406
|
)
|
|
383
407
|
|
|
@@ -332,6 +332,30 @@ class TestListFlavorProfile(TestFlavorProfile):
|
|
|
332
332
|
self.assertEqual(self.columns, columns)
|
|
333
333
|
self.assertEqual(self.data, list(data))
|
|
334
334
|
|
|
335
|
+
def test_network_flavor_profile_list_pagination(self):
|
|
336
|
+
arglist = [
|
|
337
|
+
'--marker',
|
|
338
|
+
self._network_flavor_profiles[0].id,
|
|
339
|
+
'--limit',
|
|
340
|
+
'1',
|
|
341
|
+
]
|
|
342
|
+
verifylist = [
|
|
343
|
+
('marker', self._network_flavor_profiles[0].id),
|
|
344
|
+
('limit', 1),
|
|
345
|
+
]
|
|
346
|
+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
347
|
+
|
|
348
|
+
columns, data = self.cmd.take_action(parsed_args)
|
|
349
|
+
|
|
350
|
+
self.network_client.service_profiles.assert_called_once_with(
|
|
351
|
+
**{
|
|
352
|
+
'marker': self._network_flavor_profiles[0].id,
|
|
353
|
+
'limit': 1,
|
|
354
|
+
}
|
|
355
|
+
)
|
|
356
|
+
self.assertEqual(self.columns, columns)
|
|
357
|
+
self.assertEqual(self.data, list(data))
|
|
358
|
+
|
|
335
359
|
|
|
336
360
|
class TestShowFlavorProfile(TestFlavorProfile):
|
|
337
361
|
# The network flavor profile to show.
|
|
@@ -250,6 +250,30 @@ class TestListMeter(TestMeter):
|
|
|
250
250
|
self.assertEqual(self.columns, columns)
|
|
251
251
|
self.assertEqual(self.data, list(data))
|
|
252
252
|
|
|
253
|
+
def test_meter_list_pagination(self):
|
|
254
|
+
arglist = [
|
|
255
|
+
'--marker',
|
|
256
|
+
self.meter_list[0].id,
|
|
257
|
+
'--limit',
|
|
258
|
+
'1',
|
|
259
|
+
]
|
|
260
|
+
verifylist = [
|
|
261
|
+
('marker', self.meter_list[0].id),
|
|
262
|
+
('limit', 1),
|
|
263
|
+
]
|
|
264
|
+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
265
|
+
|
|
266
|
+
columns, data = self.cmd.take_action(parsed_args)
|
|
267
|
+
|
|
268
|
+
self.network_client.metering_labels.assert_called_once_with(
|
|
269
|
+
**{
|
|
270
|
+
'marker': self.meter_list[0].id,
|
|
271
|
+
'limit': 1,
|
|
272
|
+
}
|
|
273
|
+
)
|
|
274
|
+
self.assertEqual(self.columns, columns)
|
|
275
|
+
self.assertEqual(self.data, list(data))
|
|
276
|
+
|
|
253
277
|
|
|
254
278
|
class TestShowMeter(TestMeter):
|
|
255
279
|
new_meter = network_fakes.FakeNetworkMeter.create_one_meter()
|
|
@@ -28,7 +28,7 @@ class TestQosPolicy(network_fakes.TestNetworkV2):
|
|
|
28
28
|
def setUp(self):
|
|
29
29
|
super().setUp()
|
|
30
30
|
# Get a shortcut to the ProjectManager Mock
|
|
31
|
-
self.projects_mock = self.
|
|
31
|
+
self.projects_mock = self.identity_client.projects
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
class TestCreateNetworkQosPolicy(TestQosPolicy):
|
|
@@ -280,6 +280,30 @@ class TestListNetworkQosPolicy(TestQosPolicy):
|
|
|
280
280
|
self.assertEqual(self.columns, columns)
|
|
281
281
|
self.assertEqual(self.data, list(data))
|
|
282
282
|
|
|
283
|
+
def test_qos_policy_list_pagination(self):
|
|
284
|
+
arglist = [
|
|
285
|
+
'--marker',
|
|
286
|
+
self.qos_policies[0].id,
|
|
287
|
+
'--limit',
|
|
288
|
+
'1',
|
|
289
|
+
]
|
|
290
|
+
verifylist = [
|
|
291
|
+
('marker', self.qos_policies[0].id),
|
|
292
|
+
('limit', 1),
|
|
293
|
+
]
|
|
294
|
+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
295
|
+
|
|
296
|
+
columns, data = self.cmd.take_action(parsed_args)
|
|
297
|
+
|
|
298
|
+
self.network_client.qos_policies.assert_called_once_with(
|
|
299
|
+
**{
|
|
300
|
+
'marker': self.qos_policies[0].id,
|
|
301
|
+
'limit': 1,
|
|
302
|
+
}
|
|
303
|
+
)
|
|
304
|
+
self.assertEqual(self.columns, columns)
|
|
305
|
+
self.assertEqual(self.data, list(data))
|
|
306
|
+
|
|
283
307
|
def test_qos_policy_list_share(self):
|
|
284
308
|
arglist = [
|
|
285
309
|
'--share',
|
|
@@ -226,7 +226,7 @@ class TestCreateNetworkQosRuleMinimumPacketRate(TestNetworkQosRule):
|
|
|
226
226
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
227
227
|
columns, data = self.cmd.take_action(parsed_args)
|
|
228
228
|
|
|
229
|
-
self.network_client.create_qos_minimum_packet_rate_rule.assert_called_once_with(
|
|
229
|
+
self.network_client.create_qos_minimum_packet_rate_rule.assert_called_once_with(
|
|
230
230
|
self.qos_policy.id,
|
|
231
231
|
**{
|
|
232
232
|
'min_kpps': self.new_rule.min_kpps,
|
|
@@ -613,7 +613,7 @@ class TestDeleteNetworkQosRuleMinimumPacketRate(TestNetworkQosRule):
|
|
|
613
613
|
self.network_client.find_qos_policy.assert_called_once_with(
|
|
614
614
|
self.qos_policy.id, ignore_missing=False
|
|
615
615
|
)
|
|
616
|
-
self.network_client.delete_qos_minimum_packet_rate_rule.assert_called_once_with(
|
|
616
|
+
self.network_client.delete_qos_minimum_packet_rate_rule.assert_called_once_with(
|
|
617
617
|
self.new_rule.id, self.qos_policy.id
|
|
618
618
|
)
|
|
619
619
|
self.assertIsNone(result)
|
|
@@ -126,3 +126,27 @@ class TestListNetworkQosRuleType(TestNetworkQosRuleType):
|
|
|
126
126
|
)
|
|
127
127
|
self.assertEqual(self.columns, columns)
|
|
128
128
|
self.assertEqual(self.data, list(data))
|
|
129
|
+
|
|
130
|
+
def test_qos_rule_type_list_pagination(self):
|
|
131
|
+
arglist = [
|
|
132
|
+
'--marker',
|
|
133
|
+
self.qos_rule_types[0].type,
|
|
134
|
+
'--limit',
|
|
135
|
+
'1',
|
|
136
|
+
]
|
|
137
|
+
verifylist = [
|
|
138
|
+
('marker', self.qos_rule_types[0].type),
|
|
139
|
+
('limit', 1),
|
|
140
|
+
]
|
|
141
|
+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
142
|
+
|
|
143
|
+
columns, data = self.cmd.take_action(parsed_args)
|
|
144
|
+
|
|
145
|
+
self.network_client.qos_rule_types.assert_called_once_with(
|
|
146
|
+
**{
|
|
147
|
+
'marker': self.qos_rule_types[0].type,
|
|
148
|
+
'limit': 1,
|
|
149
|
+
}
|
|
150
|
+
)
|
|
151
|
+
self.assertEqual(self.columns, columns)
|
|
152
|
+
self.assertEqual(self.data, list(data))
|
|
@@ -224,7 +224,7 @@ class TestCreateNetworkRBAC(TestNetworkRBAC):
|
|
|
224
224
|
]
|
|
225
225
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
226
226
|
|
|
227
|
-
|
|
227
|
+
_columns, _data = self.cmd.take_action(parsed_args)
|
|
228
228
|
|
|
229
229
|
self.network_client.create_rbac_policy.assert_called_with(
|
|
230
230
|
**{
|
|
@@ -469,6 +469,30 @@ class TestListNetworkRABC(TestNetworkRBAC):
|
|
|
469
469
|
self.assertEqual(self.columns, columns)
|
|
470
470
|
self.assertEqual(self.data, list(data))
|
|
471
471
|
|
|
472
|
+
def test_network_rbac_list_pagination(self):
|
|
473
|
+
arglist = [
|
|
474
|
+
'--marker',
|
|
475
|
+
self.rbac_policies[0].id,
|
|
476
|
+
'--limit',
|
|
477
|
+
'1',
|
|
478
|
+
]
|
|
479
|
+
verifylist = [
|
|
480
|
+
('marker', self.rbac_policies[0].id),
|
|
481
|
+
('limit', 1),
|
|
482
|
+
]
|
|
483
|
+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
484
|
+
|
|
485
|
+
columns, data = self.cmd.take_action(parsed_args)
|
|
486
|
+
|
|
487
|
+
self.network_client.rbac_policies.assert_called_once_with(
|
|
488
|
+
**{
|
|
489
|
+
'marker': self.rbac_policies[0].id,
|
|
490
|
+
'limit': 1,
|
|
491
|
+
}
|
|
492
|
+
)
|
|
493
|
+
self.assertEqual(self.columns, columns)
|
|
494
|
+
self.assertEqual(self.data, list(data))
|
|
495
|
+
|
|
472
496
|
def test_network_rbac_list_type_opt(self):
|
|
473
497
|
arglist = [
|
|
474
498
|
'--type',
|