We jubilantly announce the release of: python-openstackclient 6.1.0: OpenStack Command-line Client This release is part of the antelope release series. The source is available from: https://opendev.org/openstack/python-openstackclient Download the package from: https://pypi.org/project/python-openstackclient Please report issues through: https://storyboard.openstack.org/#!/project/openstack/python- openstackclient For more details, please see below. 6.1.0 ^^^^^ New Features ************ * Added "--backup" option to the "volume create" command. * Add "baremetal" agent type to "--agent-type" option for "network agent list" command. * Added "block storage volume manageable list" and "block storage snapshot manageable list" commands that allow operators to list the volumes and snapshots on a particular host or cluster for management under OpenStack. * Added "--source-group" and "--group-snapshot" options to the "volume group create" command to allow creating group from a source group or a group snapshot. * Adds "openstack image metadef namespace list". The output is equivalent to glance md-namespace-list. * Add "image task show" command to show a task for the image service. * Add "image task list" command to list tasks for the image service. * Add missing "--trustee", "--trustee-domain", "--trustor", "-- trustor-domain" options to "trust list" command, to allow filtering trusts by trustee and trustor. * Add "--authuser" option to "trust list" command, to allow displaying only trusts related to current authenticated user * Add a new argument "--target-project" to the "network rbac list" command to filter for a specific target project. * The "server rebuild" commands now accept two optional "--reimage- boot-volume" and "--no-reimage-boot-volume``option. Passing these parameter will allow/disallow a user to rebuild a volume backed server. This is available from Compute microversion ``2.93" and onwards. * Added "block storage log level list" and "block storage log level set" commands that allows operators to list and set log levels for cinder services. * Added "volume revert" command that reverts the volume to the given snapshot. * Added "volume summary" command to show the total size, total count and metadata of volumes. * Added "block storage cleanup" command that allows cleanup of resources (volumes and snapshots) by services in other nodes in a cluster in an Active-Active deployments. * Support of two commands was added in volume v3: "volume backend capability show" and "volume backend pool list". These commands are present in v2 volume, but still absent in v3. * The "server create" command now accepts two new options, "--no- network" and "--auto-network". These are aliases for "--nic none" and "--nic auto", respectively. * Add "--host" and "--no-availability-zone" options to the "server unshelve" command to enable administrators to specify a destination host or unset the availability zone during a server unshelve, respectively. Both options require the server to be shelved offload and "--os-compute-api-version 2.91" or greater. * The "quota list" command can now provide detailed quotas for the volume service, e.g.: $ openstack quota list --detail --volume * "identity provider create" and "identity provider set" commands now accept the "--authorization-ttl <VALUE>" argument, with "<VALUE>" being a non-negative integer. See note (https://docs.openstack.org/keystone/latest/admin/federati on/configure_federation.html#create-a-mapping) in Keystone documentations for more details on the meaning of this option. * Add "image import" command, allowing users to take advantage of the interoperable image import functionality first introduced in Glance 16.0.0 (Queens). * Add "openstack image metadef namespace create" command to create metadef namespace for the image service. * Add "openstack image metadef namespace delete" command to delete image metadef namespace. * Add "openstack image metadef namespace set" command to update metadef namespace for the image service. * Add "openstack image metadef namespace show" command to show metadef namespace for the image service. * Added a new command, "image stage", that will allow users to upload data for an image to staging. * Add new commands "router ndp proxy create", "router ndp proxy set", "router ndp proxy show", "router ndp proxy list" and "router ndp proxy delete" to support Neutron NDP proxy CRUD operations. * Add new options "--enable-ndp-proxy" and "--disable-ndp-proxy" to command "router create" and "router set" to support Neutron NDP proxy feature. * Added two new filter flags to "openstack network qos rule type list": "--all-supported", to return any QoS rule type supported by at least one loaded driver; "--all-rules", to return all QoS rule types supported by the current version of Neutron server, regardless of the loaded drivers. * Add "--no-force" option to the "openstack quota set" command (only for compute and network commands). When specified, the compute and network quota engine will check the resource usage before setting the new quota limit. This is the default behavior of the compute quota engine and will become the default for the network quota engine in a future release. * The "server list" command now uses the OpenStack SDK instead of the Python nova bindings. * The "<name>" argument for the "volume create" command is now optional. * Added a new command, "quota delete", that will allow admins delete quotas set for projects. Supported by the compute, volume, and network services. * The "quota show" command now allows you to show quotas for a specific service using the "--compute", "--volume", or "--network" options. * The "quota show" command now supports a "--usage" option. When provided, this will result in the command returning usage information for each quota. This replaces the "quota list --detail" command which is now deprecated for removal. * The "server list" needs to query the image service API to retrieve image names as part of the response. This command will now retrieve only the images that are relevant, i.e. those used by the server included in the output. This should result in signficantly faster responses when using a deployment with a large number of public images. * Switch hypervisor to the OpenStackSDK * Switch hypervisor operations to consume OpenStackSDK * The "server migration *" commands now use the OpenStackSDK instead of novaclient. * The "server show" command now uses the OpenStack SDK instead of the Python nova bindings. The command prints data fields both by their novaclient names used in previous releases as well as the names used in the SDK. Deprecation Notes ***************** * The "--class" options of the "quota show" and "quota set" commands are now deprecated. Quota classes were never fully implemented and the compute and volume services only support a single "default" quota class while the network service does not support quota classes at all. The default quotas can be changed on a deployment-wide basis via configuration and can be inspected using the "openstack quota show --default" command. Quotas can still be set on a project- specific basis using the "quota set" command. * The "openstack quota set" command currently defaults to "--force" behavior for network quotas. This behavior is now deprecated and a future release will switch to "--no-force" behavior. Users should explicitly specify one of these options to prevent a potentially breaking change in behavior. * The "--detail" option for the "quota list" command has been deprecated for removal. When used without the "--detail" option, the "quota list" command returned quota information for multiple projects yet when used with this option it only returned (detailed) quota information for a single project. This detailed quota information is now available via the "quota show --usage" command. * The "--project" option for the "quota list" command has been deprecated for removal. Use the "quota show" command instead. Bug Fixes ********* * The "server create" command will no longer insist on an "--image", " --image-property", "--volume" or "--snapshot" argument when a volume is provided with a boot index of "0" via the "--block-device" option. * The "flavor list" command will no longer attempt to fetch extra specs unless they are actually required (by using the "--long") option. This should significantly improve performance on clouds with a large number of flavors. [Story 2010343 (https://storyboard.openstack.org/#!/story/2010343)] Changes in python-openstackclient 6.0.0..6.1.0 ---------------------------------------------- ec01268e Add options to create volume group from source 73b4ce88 Add block storage manageable list commands 2be35967 Add block storage cleanup command a9e3049e Add block storage log level {list, set} commands e7ebf754 Add volume revert command 7f1c21b2 Move network trunk commands from python-neutronclient 77266bd9 Add volume summary command 7985d496 Excluding test code from coverage reports 5501ac7d Fix tox v4 compatibility 7f89b109 Add plugin doc page for cyborg c47998c5 Switch server dump create to using sdk 794334ec Fix server list error with --long and -c options 318df521 Create a functional test case for hypervisor list and show b52ae93c Fix functional-tips job 992cfdfb Migrate hypervisor stats commands to SDK f23322c5 Fix parameter handling in server add fixed ip cmd 70dbb01e Use the SDK for server show bfab0199 Add qos rule type filtering 38f972fa Add image metadef namespace command 576e9a01 Updating the glanceclient reference doc 4cf22b3d docs: Fix typos 91277e7e compute: Allow users to manually specify bootable volumes e7bc6873 tests: Add test for multiple blocks devices 799a073b image: Fail if we can't find an image a538104a image: Rename import 6dea276e image: Add support for additional image import methods 85254fbe Revert "Don't look up project by id if given id" 86c54701 Use the SDK in server migration list 199ba0bc docs: Document how we manage API versions bb5b2904 docs: Describe common actions found in OSC c97f73ce Use the compute SDK in server list 50aed3fe tests: Convert network tests to use 'parse_output' 874519e9 tests: Convert compute tests to use 'parse_output' 6daa6be3 tests: Convert identity tests to use 'parse_output' 686fabef tests: Convert volume tests to use 'parse_output' dc03ce98 tests: Convert image tests to use 'parse_output' f0f54f01 Adding volume backend commands to volume v3 94819864 docs: Typo fix abf1a7cc docs: Small cleanup of human interface guide 4710cbec Add test for creating volume from source 96162c24 Change --size helptext to include backup bd0727c4 Add option to create volume from backup 348eb796 Docstring fix for CreateVolumeAttachment class 006e3550 Moved hypervisor to the SDK 4eea3408 image: Add 'image import' command 1fb8d1f4 image: Add 'image stage' command 3d9a9df9 image: Simplify handling of data provided via stdin bafece76 image: Ignore '--progress' if providing image data from stdin b7d01833 Add baremetal agent type list filtering 38e39b6d tests: Convert more functional tests to use 'parse_output' a244bb84 tests: Move json decoding to base test class ffb69116 compute: Add missing microversion check for networks ed0d568b compute: Fix '--network none/auto' handling 1d71479a zuul: Remove nova-network tests d7aa53b9 Add note about microversion 2.87 in server rescue help a7975c42 compute: Add '--no-network', '--auto-network' flags e7660965 Improve `server dump create` helptext a726d84f Added "openstack image metadefs namespace list" command ce4cbeab Use the compute SDK in usage commands 09ff9a0f quota: Deprecate "force" behavior for network quotas 2da4aa99 quota: Fix issues with delete quota command 1aaaa6f1 tests: Remove unnecessary nesting of volume resources d7f431be tests: Remove duplicate FakeImagev1Client e2940eea tests: Move fake clients to top of file 1ff839da quota: Trivial style fixups b6202126 quota: Deprecate 'quota show --class', 'quota set --class' arguments 00e70190 quota: Allow showing project-specific quotas 04e68e0d quota: Add 'quota show --usage' option 47e667e7 quota: Simplify logic used to list, show quotas 4592d2c7 Fix server evacuate command ec8dba29 Speed up standard flavor list command 44443f78 quota: Add support for detailed volume quotas 45bec041 quota: Add 'quota delete' command bfdf900d doc: Update cinder command mapping 390f8135 Improve help text for network create --external 00d8d945 Switch to 2023.1 Python3 unit tests and generic template name 1b0d2dde Update master for stable/zed ff273909 Fix wrong assertion methods c9d445fc image: Add 'image task list' command d163a209 image: Add 'image task show' commands 28ac0141 Run swift in -tips job 7e5b528e Replace assertItemsEqual with assertCountEqual a9b9252d Adding missing command mapping in docs 3fc58533 volume: Volume names are optional 4024bdb3 compute: Add support for microversion 2.93 1f630344 compute: Require image when rebuilding a volume-backed server c6065c7a Add address-scope to NDP proxy tests 4d7d7e62 network: Add tenant project filter for RBAC list b36cd0f4 Add router ndp proxy commands 2093a5b6 Fix missing closing brackets in metavar 8b0e4673 Remove invalid note from requirements files 84003aa6 Bump python-novaclient version 6e0699c1 Microversion 2.91: Support specifying destination host to unshelve dd648dcb remove unicode prefix from code 701dd67d Fix documents for replaced configuration name 62c52f5e config: Also mask non-prefix config 167cf11e Add authorization_ttl for identity providers 722d3216 docs: Add missing command mappings 725b7de1 compute: Only retrieve necessary images 64e4520b Add trustor and trustee filtering to trusts list Diffstat (except docs and test files) ------------------------------------- .coveragerc | 1 + .zuul.yaml | 54 +- .../cli/command-objects/block-storage-cleanup.rst | 8 + .../command-objects/block-storage-log-level.rst | 8 + .../cli/command-objects/block-storage-manage.rst | 11 + .../cli/command-objects/router-ndp-proxy.rst | 12 + openstackclient/common/configuration.py | 6 +- openstackclient/common/quota.py | 791 ++++--- openstackclient/compute/v2/flavor.py | 2 +- openstackclient/compute/v2/hypervisor.py | 137 +- openstackclient/compute/v2/hypervisor_stats.py | 40 +- openstackclient/compute/v2/server.py | 546 +++-- openstackclient/compute/v2/server_migration.py | 48 +- openstackclient/compute/v2/usage.py | 69 +- openstackclient/identity/v3/identity_provider.py | 45 +- openstackclient/identity/v3/trust.py | 87 +- openstackclient/image/v2/image.py | 483 ++++- openstackclient/image/v2/metadef_namespaces.py | 312 +++ openstackclient/image/v2/task.py | 179 ++ openstackclient/network/v2/ndp_proxy.py | 269 +++ openstackclient/network/v2/network.py | 16 +- openstackclient/network/v2/network_agent.py | 7 +- .../network/v2/network_qos_rule_type.py | 25 +- openstackclient/network/v2/network_rbac.py | 15 + openstackclient/network/v2/network_trunk.py | 402 ++++ openstackclient/network/v2/router.py | 41 + .../functional/common/test_availability_zone.py | 8 +- .../functional/compute/v2/test_server_event.py | 44 +- .../functional/compute/v2/test_server_group.py | 55 +- .../functional/network/v2/test_address_group.py | 89 +- .../functional/network/v2/test_address_scope.py | 74 +- .../functional/network/v2/test_floating_ip.py | 125 +- .../functional/network/v2/test_ip_availability.py | 20 +- .../network/v2/test_l3_conntrack_helper.py | 48 +- .../functional/network/v2/test_network_agent.py | 70 +- .../functional/network/v2/test_network_flavor.py | 89 +- .../network/v2/test_network_flavor_profile.py | 68 +- .../functional/network/v2/test_network_meter.py | 62 +- .../network/v2/test_network_meter_rule.py | 60 +- .../network/v2/test_network_ndp_proxy.py | 217 ++ .../network/v2/test_network_qos_policy.py | 46 +- .../functional/network/v2/test_network_qos_rule.py | 167 +- .../network/v2/test_network_qos_rule_type.py | 43 +- .../functional/network/v2/test_network_rbac.py | 35 +- .../functional/network/v2/test_network_segment.py | 58 +- .../network/v2/test_network_segment_range.py | 54 +- .../network/v2/test_network_service_provider.py | 14 +- .../functional/network/v2/test_network_trunk.py | 149 ++ .../functional/network/v2/test_security_group.py | 24 +- .../network/v2/test_security_group_rule.py | 31 +- .../functional/network/v2/test_subnet_pool.py | 59 +- .../functional/volume/v1/test_transfer_request.py | 57 +- .../functional/volume/v2/test_transfer_request.py | 62 +- .../functional/volume/v2/test_volume_backup.py | 29 +- .../functional/volume/v2/test_volume_snapshot.py | 118 +- .../functional/volume/v3/test_transfer_request.py | 66 +- .../functional/volume/v3/test_volume_snapshot.py | 109 +- .../unit/identity/v3/test_identity_provider.py | 170 ++ .../unit/network/v2/test_network_qos_rule_type.py | 34 + .../volume/v2/test_consistency_group_snapshot.py | 26 +- .../unit/volume/v2/test_volume_transfer_request.py | 47 +- .../unit/volume/v3/test_block_storage_cleanup.py | 178 ++ .../unit/volume/v3/test_block_storage_cluster.py | 6 +- .../unit/volume/v3/test_block_storage_log_level.py | 233 +++ .../unit/volume/v3/test_block_storage_manage.py | 411 ++++ .../v3/test_block_storage_resource_filter.py | 6 +- .../unit/volume/v3/test_volume_group_snapshot.py | 9 +- openstackclient/volume/v2/volume.py | 49 +- openstackclient/volume/v3/block_storage_cleanup.py | 146 ++ .../volume/v3/block_storage_log_level.py | 147 ++ openstackclient/volume/v3/block_storage_manage.py | 258 +++ openstackclient/volume/v3/volume.py | 114 + openstackclient/volume/v3/volume_attachment.py | 2 +- openstackclient/volume/v3/volume_group.py | 117 +- ...ckup-option-to-create-vol-fc36c2c745ebcff5.yaml | 4 + .../add-baremetal-agent-type-7c46365e8d457ac8.yaml | 5 + ...k-storage-manage-commands-6ebf029bd7a67bb3.yaml | 7 + ...te-group-from-src-options-6fcb0c87f617ca91.yaml | 6 + ...metadef-namespace-support-4ba37ec3a1a72185.yaml | 4 + .../add-image-task-commands-50c3643ebfd0421f.yaml | 6 + ...d-missing-trust-list-opts-500fd1e4c14e1504.yaml | 9 + ...ist-tenant-project-filter-1228f2287284e33c.yaml | 5 + ...-reimage-param-to-rebuild-606dd331677b5954.yaml | 8 + ...vice-get-set-log-commands-f9420e5061d994b5.yaml | 6 + ...add-volume-revert-command-1c8f695420acbe7e.yaml | 5 + ...dd-volume-summary-command-b2175b48af3ccab1.yaml | 5 + ...d-workers-cleanup-command-720573c0f642efe9.yaml | 6 + ...kend_commands_to_volumeV3-145b114e40ab8615.yaml | 6 + .../auto-no-network-options-f4ddb2bb7544d2f5.yaml | 6 + .../bp-unshelve-to-host-9ce4b7abf81aeedf.yaml | 7 + .../notes/bug-2010376-e15362bdd6c8d6ec.yaml | 7 + ...cated-quota-class-options-ba33a45caedbdf3e.yaml | 11 + .../detailed-volume-quotas-198dc2e8f57ce1e7.yaml | 7 + .../notes/idp-auth-ttl-6632df5db65a3bdd.yaml | 9 + .../notes/image-import-d5da3e5ce8733fb0.yaml | 6 + .../image-metadef-namespace-b940206bece64f97.yaml | 10 + .../notes/image-stage-ac19c47e6a52ffeb.yaml | 5 + .../network-ndp-proxy-cli-19afc530fc7061e2.yaml | 10 + ...ork-qos-rule-type-filters-47f4911a02011501.yaml | 8 + .../no-force-limit-quota-cc7f291dd1b537c1.yaml | 13 + ...a-gaps-server-list-to-sdk-88c8bfc10a9e3032.yaml | 5 + .../optional-volume-name-ffbefe463a598b6c.yaml | 4 + .../notes/quota-delete-947df66ae5341cbf.yaml | 5 + ...uota-show-service-options-ba48d6eca8ffc4f9.yaml | 5 + .../quota-show-usage-option-19b1f59fb5f3498f.yaml | 18 + ...rver-list-restrict-images-c0b2c4de6f93df33.yaml | 8 + .../notes/story-2010343-b5eb4ed593f51d3f.yaml | 8 + .../switch-hypervisor-to-sdk-2e90b26a14ffcef3.yaml | 3 + .../switch-hypervisor-to-sdk-f6495f070b034718.yaml | 3 + ...h-server-migration-to-sdk-4e4530f787f90fd2.yaml | 5 + ...switch-server-show-to-sdk-44a614aebf2c6da6.yaml | 7 + releasenotes/source/conf.py | 16 +- releasenotes/source/index.rst | 1 + releasenotes/source/zed.rst | 6 + requirements.txt | 7 +- setup.cfg | 35 + test-requirements.txt | 3 - tox.ini | 39 +- 217 files changed, 15739 insertions(+), 6320 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 118b7b95..1ae8cec4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,3 +4,0 @@ -# The order of packages is significant, because pip processes them in the order -# of appearance. Changing the order has an impact on the overall integration -# process, which may cause wedges in the gate later. @@ -12 +9 @@ iso8601>=0.1.11 # MIT -openstacksdk>=0.61.0 # Apache-2.0 +openstacksdk>=0.103.0 # Apache-2.0 @@ -17 +14 @@ python-keystoneclient>=3.22.0 # Apache-2.0 -python-novaclient>=17.0.0 # Apache-2.0 +python-novaclient>=18.1.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index 8b61a5c0..275c2ff1 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,3 +0,0 @@ -# The order of packages is significant, because pip processes them in the order -# of appearance. Changing the order has an impact on the overall integration -# process, which may cause wedges in the gate later.