commit python-manilaclient for openSUSE:Factory
Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-manilaclient for openSUSE:Factory checked in at 2024-06-05 17:42:08 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-manilaclient (Old) and /work/SRC/openSUSE:Factory/.python-manilaclient.new.24587 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "python-manilaclient" Wed Jun 5 17:42:08 2024 rev:25 rq:1178610 version:4.9.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-manilaclient/python-manilaclient.changes 2024-03-25 21:18:05.455214338 +0100 +++ /work/SRC/openSUSE:Factory/.python-manilaclient.new.24587/python-manilaclient.changes 2024-06-05 17:42:46.270916096 +0200 @@ -1,0 +2,15 @@ +Tue Jun 4 20:07:23 UTC 2024 - cloud-devel@suse.de + +- update to version 4.9.0 + - Update master for stable/2024.1 + - [OSC] Fix output format for osc share subnet create + - reno: Update master for unmaintained/xena + - Human readable export location CLI changes + - Add new-note tox environment + - "--wait" option added for snapshot create/revert/delete commands + - "--wait" option added for managing/unmanaging a share snapshot + - adds bandit testing and Zuul CI job. + - reno: Update master for unmaintained/wallaby + - Remove --nova-net-id option + +------------------------------------------------------------------- Old: ---- python-manilaclient-4.8.0.tar.gz New: ---- python-manilaclient-4.9.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-manilaclient.spec ++++++ --- /var/tmp/diff_new_pack.Xjl5jA/_old 2024-06-05 17:42:46.962941297 +0200 +++ /var/tmp/diff_new_pack.Xjl5jA/_new 2024-06-05 17:42:46.962941297 +0200 @@ -17,13 +17,13 @@ Name: python-manilaclient -Version: 4.8.0 +Version: 4.9.0 Release: 0 Summary: Client Library for OpenStack Share API License: Apache-2.0 Group: Development/Languages/Python URL: https://docs.openstack.org/python-manilaclient -Source0: https://files.pythonhosted.org/packages/source/p/python-manilaclient/python-... +Source0: https://files.pythonhosted.org/packages/source/p/python-manilaclient/python-... BuildRequires: openstack-macros BuildRequires: python3-ddt BuildRequires: python3-fixtures @@ -31,7 +31,7 @@ BuildRequires: python3-osc-lib >= 1.10.0 BuildRequires: python3-oslo.config >= 5.2.0 BuildRequires: python3-oslo.log >= 3.36.0 -BuildRequires: python3-oslo.serialization >= 2.18.0 +BuildRequires: python3-oslo.serialization >= 2.20.0 BuildRequires: python3-oslo.utils >= 3.33.0 BuildRequires: python3-stestr BuildRequires: python3-testrepository @@ -44,14 +44,14 @@ %package -n python3-manilaclient Summary: Client Library for OpenStack Share API -Requires: python3-Babel >= 2.3.4 +Requires: python3-Babel >= 2.5.0 Requires: python3-PrettyTable >= 0.7.1 Requires: python3-debtcollector >= 1.2.0 Requires: python3-keystoneclient >= 3.8.0 Requires: python3-osc-lib >= 1.10.0 Requires: python3-oslo.config >= 5.2.0 Requires: python3-oslo.log >= 3.36.0 -Requires: python3-oslo.serialization >= 2.18.0 +Requires: python3-oslo.serialization >= 2.20.0 Requires: python3-oslo.utils >= 3.33.0 Requires: python3-requests >= 2.14.2 Requires: python3-simplejson >= 3.5.1 @@ -76,13 +76,13 @@ This package contains auto-generated documentation. %prep -%autosetup -p1 -n python-manilaclient-4.8.0 +%autosetup -p1 -n python-manilaclient-4.9.0 %py_req_cleanup %build %{py3_build} -PBR_VERSION=4.8.0 %sphinx_build -b html doc/source doc/build/html +PBR_VERSION=4.9.0 %sphinx_build -b html doc/source doc/build/html # remove the sphinx-build leftovers rm -rf doc/build/html/.{doctrees,buildinfo} ++++++ python-manilaclient-4.8.0.tar.gz -> python-manilaclient-4.9.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-manilaclient-4.8.0/AUTHORS new/python-manilaclient-4.9.0/AUTHORS --- old/python-manilaclient-4.8.0/AUTHORS 2024-03-01 10:55:55.000000000 +0100 +++ new/python-manilaclient-4.9.0/AUTHORS 2024-05-16 15:02:55.000000000 +0200 @@ -22,6 +22,7 @@ Chris MacNaughton <chris.macnaughton@canonical.com> Christian Berendt <berendt@b1-systems.de> Chuck Fouts <fchuck@netapp.com> +Clifford Emeka <emclidon@gmail.com> Clinton Knight <cknight@netapp.com> Cloud User <stack@devstack-maari.novalocal> Corey Bryant <corey.bryant@canonical.com> @@ -118,6 +119,7 @@ Yulia Portnova <yportnova@mirantis.com> altanai <tara181989@gmail.com> andrebeltrami <andreluizbeltrami@hotmail.com> +annwesha.das <annwesha.das@ndsu.edu> archanaserver <ak31960466@gmail.com> ashrod98 <ashrod98@gmail.com> binean <ting.wang@easystack.cn> @@ -143,6 +145,7 @@ howardlee <lihongweibj@inspur.com> iswarya_vakati <v.iswarya@nectechnologies.in> jacky06 <zhang.min@99cloud.net> +jayaanand.borra@netapp.com <jayaanand.borra@netapp.com> ji-xuepeng <ji.xuepeng@zte.com.cn> junboli <junbo85.li@gmail.com> kafilat-adeleke <adelekekafilatadenike@gmail.com> @@ -159,6 +162,7 @@ luke.li <lilu7189@fiberhome.com> maaoyu <maaoyu@inspur.com> mark.sturdevant <mark.sturdevant@hpe.com> +melakualehegn <melakualehegn34@gmail.com> melissaml <ma.lei@99cloud.net> namrata <namrata.sitlani@citynetwork.eu> nidhimittalhada <nidhimittal19@gmail.com> @@ -175,6 +179,7 @@ sunjia <sunjia@inspur.com> ting.wang <ting.wang@easystack.cn> tpsilva <tiago.pasqualini@gmail.com> +tspyderboy <tspyderboy@gmail.com> venkatamahesh <venkatamaheshkotha@gmail.com> vik <vik@ubuntu.(none)> vkmc <victoria@redhat.com> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-manilaclient-4.8.0/ChangeLog new/python-manilaclient-4.9.0/ChangeLog --- old/python-manilaclient-4.8.0/ChangeLog 2024-03-01 10:55:55.000000000 +0100 +++ new/python-manilaclient-4.9.0/ChangeLog 2024-05-16 15:02:55.000000000 +0200 @@ -1,9 +1,22 @@ CHANGES ======= +4.9.0 +----- + +* adds bandit testing and Zuul CI job +* Remove --nova-net-id option +* "--wait" option added for snapshot create/revert/delete commands +* "--wait" option added for managing/unmanaging a share snapshot +* Human readable export location CLI changes +* Update master for stable/2024.1 +* reno: Update master for unmaintained/xena +* reno: Update master for unmaintained/wallaby + 4.8.0 ----- +* Add new-note tox environment * CLI for disable service reason * reno: Update master for unmaintained/yoga * Fix share force delete case @@ -42,6 +55,7 @@ ----- * Metadata for Share Network Subnets +* [OSC] Fix output format for osc share subnet create * Use suitable api version for OSC * Fix share network create command with the AZ option * Add defaultadsite to security service diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-manilaclient-4.8.0/PKG-INFO new/python-manilaclient-4.9.0/PKG-INFO --- old/python-manilaclient-4.8.0/PKG-INFO 2024-03-01 10:55:55.633288000 +0100 +++ new/python-manilaclient-4.9.0/PKG-INFO 2024-05-16 15:02:55.670791100 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.2 Name: python-manilaclient -Version: 4.8.0 +Version: 4.9.0 Summary: Client library for OpenStack Manila API. Home-page: https://docs.openstack.org/python-manilaclient/latest/ Author: OpenStack diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-manilaclient-4.8.0/doc/source/contributor/adding_release_notes.rst new/python-manilaclient-4.9.0/doc/source/contributor/adding_release_notes.rst --- old/python-manilaclient-4.8.0/doc/source/contributor/adding_release_notes.rst 1970-01-01 01:00:00.000000000 +0100 +++ new/python-manilaclient-4.9.0/doc/source/contributor/adding_release_notes.rst 2024-05-16 15:02:24.000000000 +0200 @@ -0,0 +1,160 @@ +.. _adding_release_notes: + +Release Notes +============= + +What are release notes? +~~~~~~~~~~~~~~~~~~~~~~~ + +Release notes are important for change management within manila. Since manila +follows a release cycle with milestones, release notes provide a way for the +community and users to quickly grasp what changes occurred within a development +milestone. To the OpenStack release management and documentation teams, +release notes are a way to compile changes per milestone. These notes are +published on the `OpenStack Releases website <http://releases.openstack.org>`_. +Automated tooling is built around ``releasenotes`` and they get appropriately +handled per release milestone, including any back-ports to stable releases. + +What needs a release note? +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +* Changes that impact an upgrade, most importantly, those that require a + deployer to take some action while upgrading + +* A new feature is implemented +* An existing feature is deprecated +* An existing feature is removed +* Behavior of an existing feature has changed in a discernible way to an end + user or administrator +* A security bug is fixed +* New configuration option is added + +What does not need a release note? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +* A code change that doesn't change the general behavior of any + feature such as code refactor or logging changes. One case of this could be + the removal of the python 2.x compatibility layer, i.e., the "six" library + from code. +* Functional or unit test coverage enhancement +* Any change submitted with a justified TrivialFix flag added in the commit + message +* Adding or changing documentation within in-tree documentation guides + +How do I add a release note? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +We use `Reno <https://docs.openstack.org/reno/latest/>`_ to create and manage +release notes. The new subcommand combines a random suffix with a "slug" value +to make the new file with a unique name that is easy to identify again later. +To create a release note for your change, use: + +.. code-block:: console + + $ reno new slug-goes-here + +If reno is not installed globally on your system, you can use a tox +environment in manila: + +.. code-block:: console + + $ tox -e newnote -- slug-goes-here + +.. note:: + + When you are adding a bug-fix reno, name your file using the template: + "bug-<launchpad-bug-id>-slug-goes-here". + +Then add the notes in ``yaml`` format in the file created. Pay attention to the +type of section. The following are general sections to use: + +prelude + + General comments about the change. The prelude from all notes in a + release are combined, in note order, to produce a single prelude + introducing the release. + +features + + New features introduced + +issues + + A list of known issues with respect to the change being introduced. For + example, if the new feature in the change is experimental or known to not + work in some cases, it should be mentioned here. + +upgrade + + A list of upgrade notes in the release. Any removals that affect upgrades are + to be noted here. + +deprecations + + Any features, APIs, configuration options that the change has deprecated. + Deprecations are not removals. Deprecations suggest that there will be + support for a certain timeline. Deprecation should allow time for users + to make necessary changes for the removal to happen in a future release. + It is important to note the timeline of deprecation in this section. + +critical + + A list of *fixed* critical bugs (descriptions only). + +security + + A list of *fixed* security issues (descriptions only). + +fixes + + A list of other *fixed* bugs (descriptions only). + +other + + Other notes that are important but do not fall into any of the given + categories. + +:: + + --- + prelude: > + Replace this text with content to appear at the + top of the section for this change. + features: + - List new features here, or remove this section. + issues: + - List known issues here, or remove this section. + upgrade: + - List upgrade notes here, or remove this section. + deprecations: + - List deprecation notes here, or remove this section + critical: + - Add critical notes here, or remove this section. + security: + - Add security notes here, or remove this section. + fixes: + - Add normal bug fixes here, or remove this section. + other: + - Add other notes here, or remove this section. + + +Dos and Don'ts +~~~~~~~~~~~~~~ +* Release notes need to be succinct. Short and unambiguous descriptions are + preferred +* Write in past tense, unless you are writing an imperative statement +* Do not have blank sections in the file +* Do not include code or links +* Avoid special rst formatting unless absolutely necessary +* Always prefer including a release note in the same patch +* Release notes are not a replacement for developer/user/admin documentation +* Release notes are not a way of conveying behavior of any features or usage of + any APIs +* Limit a release note to fewer than 2-3 lines per change per section +* OpenStack prefers atomic changes. So remember that your change may need the + fewest sections possible +* General writing guidelines can be found + `here <https://docs.openstack + .org/doc-contrib-guide/writing-style/general-writing-guidelines.html>`_ +* Proofread your note. Pretend you are a user or a deployer who is reading + the note after a milestone or a release has been cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-manilaclient-4.8.0/doc/source/contributor/index.rst new/python-manilaclient-4.9.0/doc/source/contributor/index.rst --- old/python-manilaclient-4.8.0/doc/source/contributor/index.rst 2024-03-01 10:55:26.000000000 +0100 +++ new/python-manilaclient-4.9.0/doc/source/contributor/index.rst 2024-05-16 15:02:24.000000000 +0200 @@ -9,6 +9,13 @@ contributing +Programming HowTos and Tutorials +-------------------------------- +.. toctree:: + :maxdepth: 3 + + adding_release_notes + Testing ------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-manilaclient-4.8.0/manilaclient/api_versions.py new/python-manilaclient-4.9.0/manilaclient/api_versions.py --- old/python-manilaclient-4.8.0/manilaclient/api_versions.py 2024-03-01 10:55:26.000000000 +0100 +++ new/python-manilaclient-4.9.0/manilaclient/api_versions.py 2024-05-16 15:02:24.000000000 +0200 @@ -27,7 +27,7 @@ LOG = logging.getLogger(__name__) -MAX_VERSION = '2.83' +MAX_VERSION = '2.84' MIN_VERSION = '2.0' DEPRECATED_VERSION = '1.0' _VERSIONED_METHOD_MAP = {} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-manilaclient-4.8.0/manilaclient/base.py new/python-manilaclient-4.9.0/manilaclient/base.py --- old/python-manilaclient-4.8.0/manilaclient/base.py 2024-03-01 10:55:26.000000000 +0100 +++ new/python-manilaclient-4.9.0/manilaclient/base.py 2024-05-16 15:02:24.000000000 +0200 @@ -129,8 +129,8 @@ # pair username = cliutils.env('OS_USERNAME', 'MANILA_USERNAME') url = cliutils.env('OS_URL', 'MANILA_URL') - uniqifier = hashlib.sha1(username.encode('utf-8') + - url.encode('utf-8')).hexdigest() + uniqifier = hashlib.sha256(username.encode('utf-8') + + url.encode('utf-8')).hexdigest() cache_dir = os.path.expanduser(os.path.join(base_dir, uniqifier)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-manilaclient-4.8.0/manilaclient/osc/v2/share.py new/python-manilaclient-4.9.0/manilaclient/osc/v2/share.py --- old/python-manilaclient-4.8.0/manilaclient/osc/v2/share.py 2024-03-01 10:55:26.000000000 +0100 +++ new/python-manilaclient-4.9.0/manilaclient/osc/v2/share.py 2024-05-16 15:02:24.000000000 +0200 @@ -188,6 +188,13 @@ "possible keys are same_host, different_host." "(repeat option to set multiple hints)"), ) + parser.add_argument( + '--mount-point-name', + metavar="<mount_point_name>", + default=None, + help=_('Optional custom export location. Available for ' + 'microversion >= 2.84') + ) return parser @@ -232,6 +239,15 @@ snapshot_id = snapshot.id size = max(size or 0, snapshot.size) + mount_point_name = None + if parsed_args.mount_point_name: + if share_client.api_version < api_versions.APIVersion('2.84'): + raise exceptions.CommandError( + 'Setting share mount point name is ' + 'available only for API microversion >= 2.84') + else: + mount_point_name = parsed_args.mount_point_name + scheduler_hints = {} if parsed_args.scheduler_hint: if share_client.api_version < api_versions.APIVersion('2.65'): @@ -271,7 +287,8 @@ 'is_public': parsed_args.public, 'availability_zone': parsed_args.availability_zone, 'share_group_id': share_group, - 'scheduler_hints': scheduler_hints + 'scheduler_hints': scheduler_hints, + 'mount_point_name': mount_point_name, } share = share_client.shares.create(**body) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-manilaclient-4.8.0/manilaclient/osc/v2/share_network_subnets.py new/python-manilaclient-4.9.0/manilaclient/osc/v2/share_network_subnets.py --- old/python-manilaclient-4.8.0/manilaclient/osc/v2/share_network_subnets.py 2024-03-01 10:55:26.000000000 +0100 +++ new/python-manilaclient-4.9.0/manilaclient/osc/v2/share_network_subnets.py 2024-05-16 15:02:24.000000000 +0200 @@ -21,6 +21,7 @@ from manilaclient import api_versions from manilaclient.common._i18n import _ +from manilaclient.common import cliutils LOG = logging.getLogger(__name__) @@ -135,6 +136,15 @@ share_network_id=share_network_id) ) subnet_data = subnet_create_check[1] + if subnet_data: + if parsed_args.formatter == 'table': + for k, v in subnet_data.items(): + if isinstance(v, dict): + capabilities_list = [v] + dict_values = cliutils.convert_dict_list_to_string( + capabilities_list + ) + subnet_data[k] = dict_values else: share_network_subnet = share_client.share_network_subnets.create( neutron_net_id=parsed_args.neutron_net_id, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-manilaclient-4.8.0/manilaclient/tests/functional/client.py new/python-manilaclient-4.9.0/manilaclient/tests/functional/client.py --- old/python-manilaclient-4.8.0/manilaclient/tests/functional/client.py 2024-03-01 10:55:26.000000000 +0100 +++ new/python-manilaclient-4.9.0/manilaclient/tests/functional/client.py 2024-05-16 15:02:24.000000000 +0200 @@ -453,24 +453,19 @@ # Share networks def create_share_network(self, name=None, description=None, - nova_net_id=None, neutron_net_id=None, - neutron_subnet_id=None, availability_zone=None, + neutron_net_id=None, neutron_subnet_id=None, + availability_zone=None, microversion=None): """Creates share network. :param name: text -- desired name of new share network :param description: text -- desired description of new share network - :param nova_net_id: text -- ID of Nova network :param neutron_net_id: text -- ID of Neutron network :param neutron_subnet_id: text -- ID of Neutron subnet - - NOTE: 'nova_net_id' and 'neutron_net_id'/'neutron_subnet_id' are - mutually exclusive. """ params = self._combine_share_network_data( name=name, description=description, - nova_net_id=nova_net_id, neutron_net_id=neutron_net_id, neutron_subnet_id=neutron_subnet_id, availability_zone=availability_zone @@ -481,7 +476,7 @@ return share_network def _combine_share_network_data(self, name=None, description=None, - nova_net_id=None, neutron_net_id=None, + neutron_net_id=None, neutron_subnet_id=None, availability_zone=None): """Combines params for share network operations 'create' and 'update'. @@ -493,8 +488,6 @@ data['--name'] = name if description is not None: data['--description'] = description - if nova_net_id is not None: - data['--nova_net_id'] = nova_net_id if neutron_net_id is not None: data['--neutron_net_id'] = neutron_net_id if neutron_subnet_id is not None: @@ -516,23 +509,18 @@ @not_found_wrapper def update_share_network(self, share_network, name=None, description=None, - nova_net_id=None, neutron_net_id=None, + neutron_net_id=None, neutron_subnet_id=None, microversion=None): """Updates share-network by its name or ID. :param name: text -- new name for share network :param description: text -- new description for share network - :param nova_net_id: text -- ID of some Nova network :param neutron_net_id: text -- ID of some Neutron network :param neutron_subnet_id: text -- ID of some Neutron subnet - - NOTE: 'nova_net_id' and 'neutron_net_id'/'neutron_subnet_id' are - mutually exclusive. """ sn_params = self._combine_share_network_data( name=name, description=description, - nova_net_id=nova_net_id, neutron_net_id=neutron_net_id, neutron_subnet_id=neutron_subnet_id) share_network_raw = self.manila( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-manilaclient-4.8.0/manilaclient/tests/functional/osc/test_share_network_subnets.py new/python-manilaclient-4.9.0/manilaclient/tests/functional/osc/test_share_network_subnets.py --- old/python-manilaclient-4.8.0/manilaclient/tests/functional/osc/test_share_network_subnets.py 2024-03-01 10:55:26.000000000 +0100 +++ new/python-manilaclient-4.9.0/manilaclient/tests/functional/osc/test_share_network_subnets.py 2024-05-16 15:02:24.000000000 +0200 @@ -25,7 +25,7 @@ share_network['id']) self.assertEqual('True', check_result['compatible']) - self.assertEqual('{}', check_result['hosts_check_result']) + self.assertEqual('', check_result['hosts_check_result']) def test_openstack_share_network_create_check_restart(self): share_network = self.create_share_network() @@ -34,4 +34,4 @@ share_network['id'], restart_check=True) self.assertEqual('True', check_result['compatible']) - self.assertEqual('{}', check_result['hosts_check_result']) + self.assertEqual('', check_result['hosts_check_result']) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-manilaclient-4.8.0/manilaclient/tests/unit/osc/v2/fakes.py new/python-manilaclient-4.9.0/manilaclient/tests/unit/osc/v2/fakes.py --- old/python-manilaclient-4.8.0/manilaclient/tests/unit/osc/v2/fakes.py 2024-03-01 10:55:26.000000000 +0100 +++ new/python-manilaclient-4.9.0/manilaclient/tests/unit/osc/v2/fakes.py 2024-05-16 15:02:24.000000000 +0200 @@ -139,6 +139,7 @@ "revert_to_snapshot_support": False, "source_share_group_snapshot_member_id": None, "scheduler_hints": {}, + "mount_point_name": None, } # Overwrite default attributes. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-manilaclient-4.8.0/manilaclient/tests/unit/osc/v2/test_share.py new/python-manilaclient-4.9.0/manilaclient/tests/unit/osc/v2/test_share.py --- old/python-manilaclient-4.8.0/manilaclient/tests/unit/osc/v2/test_share.py 2024-03-01 10:55:26.000000000 +0100 +++ new/python-manilaclient-4.9.0/manilaclient/tests/unit/osc/v2/test_share.py 2024-05-16 15:02:24.000000000 +0200 @@ -132,7 +132,8 @@ share_type=self.share_type.id, size=self.new_share.size, snapshot_id=None, - scheduler_hints={} + scheduler_hints={}, + mount_point_name=None, ) self.assertCountEqual(self.columns, columns) @@ -180,7 +181,8 @@ share_type=self.share_type.id, size=self.new_share.size, snapshot_id=None, - scheduler_hints={} + scheduler_hints={}, + mount_point_name=None, ) self.assertCountEqual(self.columns, columns) @@ -227,6 +229,49 @@ snapshot_id=None, scheduler_hints={'same_host': shares[0].id, 'different_host': shares[1].id}, + mount_point_name=None, + ) + + self.assertCountEqual(self.columns, columns) + self.assertCountEqual(self.datalist, data) + + def test_share_create_mount_point_name(self): + """Verifies that the mount point name has been passed correctly.""" + self.app.client_manager.share.api_version = api_versions.APIVersion( + "2.84") + + mount_point_name = "fake_mp" + + arglist = [ + self.new_share.share_proto, + str(self.new_share.size), + '--share-type', self.share_type.id, + '--mount-point-name', mount_point_name, + ] + verifylist = [ + ('share_proto', self.new_share.share_proto), + ('size', self.new_share.size), + ('mount_point_name', mount_point_name), + ('share_type', self.share_type.id), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + columns, data = self.cmd.take_action(parsed_args) + + self.shares_mock.create.assert_called_with( + availability_zone=None, + description=None, + is_public=False, + metadata={}, + name=None, + share_group_id=None, + share_network=None, + share_proto=self.new_share.share_proto, + share_type=self.share_type.id, + size=self.new_share.size, + snapshot_id=None, + scheduler_hints={}, + mount_point_name='fake_mp', ) self.assertCountEqual(self.columns, columns) @@ -269,7 +314,8 @@ share_type=None, size=self.new_share.size, snapshot_id=self.share_snapshot.id, - scheduler_hints={} + scheduler_hints={}, + mount_point_name=None, ) self.assertCountEqual(self.columns, columns) self.assertCountEqual(self.datalist, data) @@ -305,7 +351,8 @@ share_type=self.share_type.id, size=self.new_share.size, snapshot_id=None, - scheduler_hints={} + scheduler_hints={}, + mount_point_name=None, ) self.shares_mock.get.assert_called_with(self.new_share.id) @@ -345,7 +392,8 @@ share_type=self.share_type.id, size=self.new_share.size, snapshot_id=None, - scheduler_hints={} + scheduler_hints={}, + mount_point_name=None, ) mock_logger.error.assert_called_with( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-manilaclient-4.8.0/manilaclient/tests/unit/v2/fakes.py new/python-manilaclient-4.9.0/manilaclient/tests/unit/v2/fakes.py --- old/python-manilaclient-4.8.0/manilaclient/tests/unit/v2/fakes.py 2024-03-01 10:55:26.000000000 +0100 +++ new/python-manilaclient-4.9.0/manilaclient/tests/unit/v2/fakes.py 2024-05-16 15:02:24.000000000 +0200 @@ -250,7 +250,8 @@ return (200, {}, shares) def get_snapshots_1234(self, **kw): - snapshot = {'snapshot': {'id': 1234, 'name': 'sharename'}} + snapshot = {'snapshot': {'id': 1234, 'name': 'sharename', + 'status': 'available'}} return (200, {}, snapshot) def get_share_servers(self, **kw): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-manilaclient-4.8.0/manilaclient/tests/unit/v2/test_shares.py new/python-manilaclient-4.9.0/manilaclient/tests/unit/v2/test_shares.py --- old/python-manilaclient-4.8.0/manilaclient/tests/unit/v2/test_shares.py 2024-03-01 10:55:26.000000000 +0100 +++ new/python-manilaclient-4.9.0/manilaclient/tests/unit/v2/test_shares.py 2024-05-16 15:02:24.000000000 +0200 @@ -140,6 +140,29 @@ availability_zone=availability_zone) cs.assert_called('POST', '/shares', body) + @ddt.data({'mount_point_name': 'fake_mount_pt1'}, + {'mount_point_name': 'fake_mount_pt2'}) + @ddt.unpack + def test_create_share_with_mount_point_name(self, mount_point_name): + body = { + 'share': { + 'is_public': False, + 'share_type': None, + 'name': None, + 'snapshot_id': None, + 'description': None, + 'metadata': {}, + 'share_proto': 'nfs', + 'share_network_id': None, + 'size': 1, + 'availability_zone': None, + 'scheduler_hints': {}, + 'mount_point_name': mount_point_name, + } + } + cs.shares.create('nfs', 1, mount_point_name=mount_point_name) + cs.assert_called('POST', '/shares', body) + @ddt.data( type('ShareUUID', (object, ), {'uuid': '1234'}), type('ShareID', (object, ), {'id': '1234'}), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-manilaclient-4.8.0/manilaclient/tests/unit/v2/test_shell.py new/python-manilaclient-4.9.0/manilaclient/tests/unit/v2/test_shell.py --- old/python-manilaclient-4.8.0/manilaclient/tests/unit/v2/test_shell.py 2024-03-01 10:55:26.000000000 +0100 +++ new/python-manilaclient-4.9.0/manilaclient/tests/unit/v2/test_shell.py 2024-05-16 15:02:24.000000000 +0200 @@ -981,13 +981,15 @@ ) @ddt.unpack @mock.patch.object(shell_v2, '_find_share', mock.Mock()) + @mock.patch.object(shell_v2, '_wait_for_resource_status', mock.Mock()) def test_snapshot_manage(self, cmd_args, valid_params): - shell_v2._find_share.return_value = 'fake_share' + share_containing_snapshot = shares.Share('fake_share', {'id': '1234'}) + shell_v2._find_share.return_value = share_containing_snapshot self.run_command('snapshot-manage fake_share fake_provider_location ' + cmd_args) expected = { 'snapshot': { - 'share_id': 'fake_share', + 'share_id': '1234', 'provider_location': 'fake_provider_location', 'name': None, 'description': None, @@ -995,12 +997,64 @@ } expected['snapshot'].update(valid_params) self.assert_called('POST', '/snapshots/manage', body=expected) + # _wait_for_resource_status should not be triggered + self.assertEqual(0, shell_v2._wait_for_resource_status.call_count) + @mock.patch.object(shell_v2, '_find_share', mock.Mock()) + @mock.patch.object(shell_v2, '_wait_for_resource_status', mock.Mock()) + def test_snapshot_manage_with_wait(self): + share_containing_snapshot = shares.Share('fake_share', {'id': '1234'}) + shell_v2._find_share.return_value = share_containing_snapshot + cmd_args = '--wait --driver_options opt1=opt1 opt2=opt2' + self.run_command('snapshot-manage fake_share fake_provider_location ' + + cmd_args) + expected = { + 'snapshot': { + 'share_id': '1234', + 'provider_location': 'fake_provider_location', + 'name': None, + 'description': None, + } + } + valid_params = {'driver_options': {'opt1': 'opt1', 'opt2': 'opt2'}} + expected['snapshot'].update(valid_params) + self.assert_called('POST', '/snapshots/manage', body=expected) + + shell_v2._find_share.assert_has_calls( + [mock.call(self.shell.cs, 'fake_share')]) + self.assertEqual(1, shell_v2._find_share.call_count) + # _wait_for_resource_status should be triggered once + shell_v2._wait_for_resource_status.assert_called_once_with( + self.shell.cs, mock.ANY, 'available', resource_type='snapshot') + + @mock.patch.object(shell_v2, '_find_share', mock.Mock()) + @mock.patch.object(shell_v2, '_wait_for_resource_status', mock.Mock()) def test_snapshot_unmanage(self): + share_containing_snapshot = shares.Share('fake_share', {'id': '1234'}) + shell_v2._find_share.return_value = share_containing_snapshot self.run_command('snapshot-unmanage 1234') + self.assert_called('POST', '/snapshots/1234/action', body={'unmanage': None}) + self.assertEqual(0, shell_v2._wait_for_resource_status.call_count) + @mock.patch.object(shell_v2, '_find_share', mock.Mock()) + @mock.patch.object(shell_v2, '_wait_for_resource_status', mock.Mock()) + def test_snapshot_unmanage_with_wait(self): + share_containing_snapshot = shares.Share('fake_share', {'id': '1234'}) + shell_v2._find_share.return_value = share_containing_snapshot + self.run_command('snapshot-unmanage 1234 --wait') + + self.assert_called('POST', '/snapshots/1234/action', + body={'unmanage': None}) + expected_snapshot = shell_v2._find_share_snapshot( + self.shell.cs, '1234') + # _wait_for_resource_status should be trigerred once + shell_v2._wait_for_resource_status.assert_called_once_with( + self.shell.cs, expected_snapshot, 'deleted', + resource_type='snapshot') + + @mock.patch.object(shell_v2, '_wait_for_share_status', mock.Mock()) def test_revert_to_snapshot(self): fake_share_snapshot = type( @@ -1013,6 +1067,25 @@ self.assert_called('POST', '/shares/1234/action', body={'revert': {'snapshot_id': '5678'}}) + # _wait_for_share_status should not be trigerred + self.assertEqual(0, shell_v2._wait_for_share_status.call_count) + + @mock.patch.object(shell_v2, '_wait_for_share_status', mock.Mock()) + def test_revert_to_snapshot_with_wait(self): + + fake_share_snapshot = type( + 'FakeShareSnapshot', (object,), {'id': '5678', 'share_id': '1234'}) + self.mock_object( + shell_v2, '_find_share_snapshot', + mock.Mock(return_value=fake_share_snapshot)) + + self.run_command('revert-to-snapshot 5678 --wait') + + self.assert_called('POST', '/shares/1234/action', + body={'revert': {'snapshot_id': '5678'}}) + # _wait_for_share_status should be trigerred once + shell_v2._wait_for_share_status.assert_called_once_with( + self.shell.cs, mock.ANY) def test_delete(self): self.run_command('delete 1234') @@ -3640,6 +3713,39 @@ 'DELETE', '/share-networks/%s' % sn.id, clear_callstack=False) + @mock.patch.object(shell_v2, '_find_share', mock.Mock()) + @mock.patch.object(shell_v2, '_wait_for_snapshot_status', mock.Mock()) + def test_snapshot_create(self): + share_to_create_snapshot = shares.Share('fake_share', {'id': '1234'}) + shell_v2._find_share.return_value = share_to_create_snapshot + + self.run_command( + 'snapshot-create fake_share --name testshare1snapshot') + + shell_v2._find_share.assert_has_calls([ + mock.call(self.shell.cs, 'fake_share')]) + self.assert_called_anytime( + 'POST', '/snapshots', clear_callstack=False) + # _wait_for_snapshot_status should not be trigerred + self.assertEqual(0, shell_v2._wait_for_snapshot_status.call_count) + + @mock.patch.object(shell_v2, '_find_share', mock.Mock()) + @mock.patch.object(shell_v2, '_wait_for_snapshot_status', mock.Mock()) + def test_snapshot_create_with_wait(self): + share_to_create_snapshot = shares.Share('fake_share', {'id': '1234'}) + shell_v2._find_share.return_value = share_to_create_snapshot + + self.run_command( + 'snapshot-create fake_share --name testshare1snapshot --wait') + + shell_v2._find_share.assert_has_calls([ + mock.call(self.shell.cs, 'fake_share')]) + self.assert_called_anytime( + 'POST', '/snapshots', clear_callstack=False) + # _wait_for_snapshot_status should be trigerred once + shell_v2._wait_for_snapshot_status.assert_called_once_with( + self.shell.cs, mock.ANY, expected_status='available') + @ddt.data(('fake_snapshot1', ), ('fake_snapshot1', 'fake_snapshot2')) def test_snapshot_delete(self, snapshot_ids): fake_snapshots = [ @@ -3660,6 +3766,23 @@ 'DELETE', '/snapshots/%s' % snapshot.id, clear_callstack=False) + @mock.patch.object(shell_v2, '_find_share_snapshot', mock.Mock()) + @mock.patch.object(shell_v2, '_wait_for_snapshot_status', mock.Mock()) + def test_snapshot_delete_with_wait(self): + fake_snapshot = share_snapshots.ShareSnapshot( + 'fake', {'id': 'fake_snapshot1'}, True) + shell_v2._find_share_snapshot.return_value = fake_snapshot + + self.run_command('snapshot-delete fake_snapshot1 --wait') + + shell_v2._find_share_snapshot.assert_has_calls([ + mock.call(self.shell.cs, 'fake_snapshot1')]) + self.assert_called_anytime( + 'DELETE', '/snapshots/fake_snapshot1', clear_callstack=False) + # _wait_for_resource_status should be trigerred once + shell_v2._wait_for_snapshot_status.assert_called_once_with( + self.shell.cs, 'fake_snapshot1', expected_status='deleted') + @ddt.data(('snapshot_xyz', ), ('snapshot_abc', 'snapshot_xyz')) def test_snapshot_force_delete_wait(self, snapshots_to_delete): fake_manager = mock.Mock() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-manilaclient-4.8.0/manilaclient/v2/shares.py new/python-manilaclient-4.9.0/manilaclient/v2/shares.py --- old/python-manilaclient-4.8.0/manilaclient/v2/shares.py 2024-03-01 10:55:26.000000000 +0100 +++ new/python-manilaclient-4.9.0/manilaclient/v2/shares.py 2024-05-16 15:02:24.000000000 +0200 @@ -124,7 +124,8 @@ def create(self, share_proto, size, snapshot_id=None, name=None, description=None, metadata=None, share_network=None, share_type=None, is_public=False, availability_zone=None, - share_group_id=None, scheduler_hints=None, return_raw=False): + share_group_id=None, scheduler_hints=None, return_raw=False, + mount_point_name=None): """Create a share. :param share_proto: text - share protocol for new share available @@ -142,6 +143,9 @@ :param scheduler_hints: dict - hints for the scheduler to place share on most appropriate host e.g. keys are same_host for affinity and different_host for anti-affinity + :param mount_point_name: text - share human-readable mount point name. + This name will be reflected in export location once + share is created. :rtype: :class:`Share` """ share_metadata = metadata if metadata is not None else dict() @@ -163,6 +167,9 @@ if share_group_id: body['share_group_id'] = share_group_id + if mount_point_name: + body['mount_point_name'] = mount_point_name + return self._create('/shares', {'share': body}, 'share', return_raw=return_raw) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-manilaclient-4.8.0/manilaclient/v2/shell.py new/python-manilaclient-4.9.0/manilaclient/v2/shell.py --- old/python-manilaclient-4.8.0/manilaclient/v2/shell.py 2024-03-01 10:55:26.000000000 +0100 +++ new/python-manilaclient-4.9.0/manilaclient/v2/shell.py 2024-05-16 15:02:24.000000000 +0200 @@ -326,6 +326,11 @@ cliutils.print_dict(info.get('members', {})) +def _wait_for_snapshot_status(cs, snapshot, expected_status='available'): + return _wait_for_resource_status( + cs, snapshot, expected_status, resource_type='snapshot') + + def _find_share_snapshot(cs, snapshot): """Get a snapshot by ID.""" return apiclient_utils.find_resource(cs.share_snapshots, snapshot) @@ -1704,10 +1709,14 @@ action='single_alias', help='Optional driver options as key=value pairs (Default=None).', default=None) +@cliutils.arg( + '--wait', + action='store_true', + default=False, + help='Wait for share snapshot to be managed') def do_snapshot_manage(cs, args): """Manage share snapshot not handled by Manila (Admin only).""" share_ref = _find_share(cs, args.share) - driver_options = _extract_key_value_options(args, 'driver_options') share_snapshot = cs.share_snapshots.manage( @@ -1716,6 +1725,12 @@ name=args.name, description=args.description ) + if args.wait: + try: + _wait_for_snapshot_status(cs, share_snapshot, + expected_status='available') + except exceptions.CommandError as e: + print(e, file=sys.stderr) _print_share_snapshot(cs, share_snapshot) @@ -1771,6 +1786,11 @@ metavar='<snapshot>', nargs='+', help='Name or ID of the snapshot(s).') +@cliutils.arg( + '--wait', + action='store_true', + default=False, + help='Wait for share snapshot to be unmanaged') def do_snapshot_unmanage(cs, args): """Unmanage one or more share snapshots (Admin only).""" failure_count = 0 @@ -1778,6 +1798,9 @@ try: snapshot_ref = _find_share_snapshot(cs, snapshot) snapshot_ref.unmanage_snapshot() + if args.wait: + _wait_for_snapshot_status(cs, snapshot_ref, + expected_status='deleted') except Exception as e: failure_count += 1 print("Unmanage for share snapshot %s failed: %s" % (snapshot, e), @@ -1794,11 +1817,18 @@ metavar='<snapshot>', help='Name or ID of the snapshot to restore. The snapshot must be the ' 'most recent one known to manila.') +@cliutils.arg( + '--wait', + action='store_true', + default=False, + help='Wait for share to be reverted from snapshot.') def do_revert_to_snapshot(cs, args): """Revert a share to the specified snapshot.""" snapshot = _find_share_snapshot(cs, args.snapshot) share = _find_share(cs, snapshot.share_id) share.revert_to_snapshot(snapshot) + if args.wait: + _wait_for_share_status(cs, share) @cliutils.arg( @@ -3038,6 +3068,11 @@ metavar='<description>', default=None, help='Optional snapshot description. (Default=None)') +@cliutils.arg( + '--wait', + action='store_true', + default=False, + help='Wait for snapshot to be created.') def do_snapshot_create(cs, args): """Add a new snapshot.""" share = _find_share(cs, args.share) @@ -3045,6 +3080,12 @@ args.force, args.name, args.description) + if args.wait: + try: + _wait_for_snapshot_status(cs, snapshot, + expected_status='available') + except exceptions.CommandError as e: + print(e, file=sys.stderr) _print_share_snapshot(cs, snapshot) @@ -3120,6 +3161,11 @@ metavar='<snapshot>', nargs='+', help='Name or ID of the snapshot(s) to delete.') +@cliutils.arg( + '--wait', + action='store_true', + default=False, + help='Wait for snapshot to be deleted') def do_snapshot_delete(cs, args): """Remove one or more snapshots.""" failure_count = 0 @@ -3129,6 +3175,9 @@ snapshot_ref = _find_share_snapshot( cs, snapshot) cs.share_snapshots.delete(snapshot_ref) + if args.wait: + _wait_for_snapshot_status(cs, snapshot, + expected_status='deleted') except Exception as e: failure_count += 1 print("Delete for snapshot %s failed: %s" % ( @@ -3291,15 +3340,6 @@ @api_versions.wraps("1.0", "2.25") @cliutils.arg( - '--nova-net-id', - '--nova-net_id', '--nova_net_id', '--nova_net-id', # aliases - metavar='<nova-net-id>', - default=None, - action='single_alias', - help="Nova net ID. Used to set up network for share servers. This " - "option is deprecated and will be rejected in newer releases " - "of OpenStack Manila.") -@cliutils.arg( '--neutron-net-id', '--neutron-net_id', '--neutron_net_id', '--neutron_net-id', metavar='<neutron-net-id>', @@ -3329,7 +3369,6 @@ values = { 'neutron_net_id': args.neutron_net_id, 'neutron_subnet_id': args.neutron_subnet_id, - 'nova_net_id': args.nova_net_id, 'name': args.name, 'description': args.description, } @@ -3399,15 +3438,6 @@ metavar='<share-network>', help='Name or ID of share network to update.') @cliutils.arg( - '--nova-net-id', - '--nova-net_id', '--nova_net_id', '--nova_net-id', # aliases - metavar='<nova-net-id>', - default=None, - action='single_alias', - help="Nova net ID. Used to set up network for share servers. This " - "option is deprecated and will be rejected in newer releases " - "of OpenStack Manila.") -@cliutils.arg( '--neutron-net-id', '--neutron-net_id', '--neutron_net_id', '--neutron_net-id', metavar='<neutron-net-id>', @@ -3437,7 +3467,6 @@ values = { 'neutron_net_id': args.neutron_net_id, 'neutron_subnet_id': args.neutron_subnet_id, - 'nova_net_id': args.nova_net_id, 'name': args.name, 'description': args.description, } @@ -3552,14 +3581,6 @@ default=None, help='Filter results by attached security service.') @cliutils.arg( - '--nova-net-id', - '--nova_net_id', '--nova_net-id', '--nova-net_id', # aliases - metavar='<nova_net_id>', - action='single_alias', - default=None, - help='Filter results by Nova net ID. This option is deprecated and will ' - 'be rejected in newer releases of OpenStack Manila.') -@cliutils.arg( '--neutron-net-id', '--neutron_net_id', '--neutron_net-id', '--neutron-net_id', # aliases metavar='<neutron_net_id>', @@ -3634,7 +3655,6 @@ 'name': args.name, 'created_since': args.created_since, 'created_before': args.created_before, - 'nova_net_id': args.nova_net_id, 'neutron_net_id': args.neutron_net_id, 'neutron_subnet_id': args.neutron_subnet_id, 'network_type': args.network_type, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-manilaclient-4.8.0/python_manilaclient.egg-info/PKG-INFO new/python-manilaclient-4.9.0/python_manilaclient.egg-info/PKG-INFO --- old/python-manilaclient-4.8.0/python_manilaclient.egg-info/PKG-INFO 2024-03-01 10:55:55.000000000 +0100 +++ new/python-manilaclient-4.9.0/python_manilaclient.egg-info/PKG-INFO 2024-05-16 15:02:55.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.2 Name: python-manilaclient -Version: 4.8.0 +Version: 4.9.0 Summary: Client library for OpenStack Manila API. Home-page: https://docs.openstack.org/python-manilaclient/latest/ Author: OpenStack diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-manilaclient-4.8.0/python_manilaclient.egg-info/SOURCES.txt new/python-manilaclient-4.9.0/python_manilaclient.egg-info/SOURCES.txt --- old/python-manilaclient-4.8.0/python_manilaclient.egg-info/SOURCES.txt 2024-03-01 10:55:55.000000000 +0100 +++ new/python-manilaclient-4.9.0/python_manilaclient.egg-info/SOURCES.txt 2024-05-16 15:02:55.000000000 +0200 @@ -21,6 +21,7 @@ doc/source/cli/osc_plugin_cli.rst doc/source/cli/osc/manila.csv doc/source/cli/osc/v2/index.rst +doc/source/contributor/adding_release_notes.rst doc/source/contributor/contributing.rst doc/source/contributor/functional-tests.rst doc/source/contributor/index.rst @@ -343,6 +344,7 @@ releasenotes/notes/bug-1855391-support-force-extend-share-6b5ebcfe1de0ca7b.yaml releasenotes/notes/bug-1871252-update-default-quotas-via-quota-class-share-groups-share-group-snapshots-20ec1dfcc0a7e81c.yaml releasenotes/notes/bug-1898304-add-wait-to-share-create-delete-f121073f2f4402ff.yaml +releasenotes/notes/bug-1898307-add-wait-to-create-revert-delete-a-snapshot-20271b8ebb60ade5.yaml releasenotes/notes/bug-1898308-add-wait-to-share-extend-shrink-c9cc413c50d9832a.yaml releasenotes/notes/bug-1898309-add-wait-to-share-manage-unmanage-d2060c61cc295bfd.yaml releasenotes/notes/bug-1898315-add-wait-flag-to-manage-share-server-operation-be6488c2a57536e1.yaml @@ -362,10 +364,12 @@ releasenotes/notes/bug-1962288-fixed-share-network-create-command-879dc3deca131ef9.yaml releasenotes/notes/bug-1975488-skip-force-kwarg-if-unspecified-f98c717df1d6e364.yaml releasenotes/notes/bug-1980985-dont-use-share-type-with-snapshot-ref-de0331c640afbbd3.yaml +releasenotes/notes/bug-1989818-fix-share-network-output-format-93d997f0f4a33fab.yaml releasenotes/notes/bug-1999775-add-os-key-0cfc95c7b480df05.yaml releasenotes/notes/bug-2030686-fix-default-share-lookup-cc7e592a0dc855e1.yaml releasenotes/notes/bug-2047249-fix-osc-quota-set-per-share-gigabytes-fcff7f8ce2cc3c75.yaml releasenotes/notes/bug-2051737-fix-share-force-delete-request-6d2578fb7da61e3f.yaml +releasenotes/notes/bug-913201-add-wait-to-manage-unmanage-snapshot-9cc017a15733120f.yaml releasenotes/notes/bug-share-access-list-3cf3114doe40k599.yaml releasenotes/notes/bug_1570085_fix-905786b797379309.yaml releasenotes/notes/bug_1603387_fix_env_variable_8ed5450aab41aa5f.yaml @@ -382,6 +386,7 @@ releasenotes/notes/fix-is-default-empty-557844001e0401e2.yaml releasenotes/notes/graduate-share-replication-feature-49770e921b4338fb.yaml releasenotes/notes/handle-missing-api-minor-version-5a6d242f28883442.yaml +releasenotes/notes/human-readable-export-location-share-support-d156f23669e458fa.yaml releasenotes/notes/manage-unmanage-share-servers-8c7b27a1fe80e5fa.yaml releasenotes/notes/manila-client-support-recycle-bin-4ecb5de770bd525f.yaml releasenotes/notes/manila-openstackclient-bf61ceb270d3afb7.yaml @@ -389,6 +394,7 @@ releasenotes/notes/mountable_snapshot-ced01da7dffc6d7e.yaml releasenotes/notes/newton-migration-improvements-166a03472948bdef.yaml releasenotes/notes/remove-experimental-flag-from-share-groups-feature-dcf2b0b67fe4cac4.yaml +releasenotes/notes/remove-nova-net-id-arg-5b01f0077be171ed.yaml releasenotes/notes/remove-nova-net-id-option-for-share-nets-82e424b75221528b.yaml releasenotes/notes/share-backup-98e11c6a28897e94.yaml releasenotes/notes/share-network-multiple-subnets-732309abfbf5987c.yaml @@ -404,6 +410,7 @@ releasenotes/notes/v2-0-0-deprecated-opts-removal-863565618535733d.yaml releasenotes/source/2023.1.rst releasenotes/source/2023.2.rst +releasenotes/source/2024.1.rst releasenotes/source/conf.py releasenotes/source/index.rst releasenotes/source/newton.rst diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-manilaclient-4.8.0/python_manilaclient.egg-info/pbr.json new/python-manilaclient-4.9.0/python_manilaclient.egg-info/pbr.json --- old/python-manilaclient-4.8.0/python_manilaclient.egg-info/pbr.json 2024-03-01 10:55:55.000000000 +0100 +++ new/python-manilaclient-4.9.0/python_manilaclient.egg-info/pbr.json 2024-05-16 15:02:55.000000000 +0200 @@ -1 +1 @@ -{"git_version": "06e96b7", "is_release": true} \ No newline at end of file +{"git_version": "56ba694", "is_release": true} \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-manilaclient-4.8.0/releasenotes/notes/bug-1898307-add-wait-to-create-revert-delete-a-snapshot-20271b8ebb60ade5.yaml new/python-manilaclient-4.9.0/releasenotes/notes/bug-1898307-add-wait-to-create-revert-delete-a-snapshot-20271b8ebb60ade5.yaml --- old/python-manilaclient-4.8.0/releasenotes/notes/bug-1898307-add-wait-to-create-revert-delete-a-snapshot-20271b8ebb60ade5.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/python-manilaclient-4.9.0/releasenotes/notes/bug-1898307-add-wait-to-create-revert-delete-a-snapshot-20271b8ebb60ade5.yaml 2024-05-16 15:02:24.000000000 +0200 @@ -0,0 +1,6 @@ +--- +features: + - | + The commands "snapshot-create", "snapshot-delete" and "revert-to-snapshot" + now accept an optional "--wait" option that allows users to let the + client poll for the completion of the operation. \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-manilaclient-4.8.0/releasenotes/notes/bug-1989818-fix-share-network-output-format-93d997f0f4a33fab.yaml new/python-manilaclient-4.9.0/releasenotes/notes/bug-1989818-fix-share-network-output-format-93d997f0f4a33fab.yaml --- old/python-manilaclient-4.8.0/releasenotes/notes/bug-1989818-fix-share-network-output-format-93d997f0f4a33fab.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/python-manilaclient-4.9.0/releasenotes/notes/bug-1989818-fix-share-network-output-format-93d997f0f4a33fab.yaml 2024-05-16 15:02:24.000000000 +0200 @@ -0,0 +1,6 @@ +--- +fixes: + - | + The format of the osc share network subnet create command output has been + updated to return a list of hosts instead of a dictionary, as we do for + other commands in the client. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-manilaclient-4.8.0/releasenotes/notes/bug-913201-add-wait-to-manage-unmanage-snapshot-9cc017a15733120f.yaml new/python-manilaclient-4.9.0/releasenotes/notes/bug-913201-add-wait-to-manage-unmanage-snapshot-9cc017a15733120f.yaml --- old/python-manilaclient-4.8.0/releasenotes/notes/bug-913201-add-wait-to-manage-unmanage-snapshot-9cc017a15733120f.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/python-manilaclient-4.9.0/releasenotes/notes/bug-913201-add-wait-to-manage-unmanage-snapshot-9cc017a15733120f.yaml 2024-05-16 15:02:24.000000000 +0200 @@ -0,0 +1,6 @@ +--- +features: + - | + The commands "snapshot-manage" and "snapshot-unmanage" now accept + an optional "--wait" option that allows users to let the client + poll for the completion of the operation. \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-manilaclient-4.8.0/releasenotes/notes/human-readable-export-location-share-support-d156f23669e458fa.yaml new/python-manilaclient-4.9.0/releasenotes/notes/human-readable-export-location-share-support-d156f23669e458fa.yaml --- old/python-manilaclient-4.8.0/releasenotes/notes/human-readable-export-location-share-support-d156f23669e458fa.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/python-manilaclient-4.9.0/releasenotes/notes/human-readable-export-location-share-support-d156f23669e458fa.yaml 2024-05-16 15:02:24.000000000 +0200 @@ -0,0 +1,19 @@ +--- +features: + - In the 2.84 API version, a new option, ``mount_point_name``, has been + introduced to the share creation command. This option allow users + to specify a more intuitive ``mount_point_name`` that will be reflected + in the share's export location. However, for this feature to be available + to users, administrators must first enable an extra-spec in the + share type. In addition, administrators need to set an extra-spec named + ``provisioning:mount_point_prefix``. The Manila service will combine + this prefix with the mount point name that user provides during share + creation. If the ``provisioning:mount_point_prefix`` is not set for + a share type, but ``mount_point_name_support`` is enabled, the share's + export location will default to using the project_id as a prefix. + Please note that shares created with a project_id prefix cannot be + transferred. To move these shares to a different project, + an admin must manually unmount them from the current project and mount + them to the target project. A new capability, ``mount_point_name_support``, + allows the driver to inform the scheduler about its support for the + mount_point_name feature. \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-manilaclient-4.8.0/releasenotes/notes/remove-nova-net-id-arg-5b01f0077be171ed.yaml new/python-manilaclient-4.9.0/releasenotes/notes/remove-nova-net-id-arg-5b01f0077be171ed.yaml --- old/python-manilaclient-4.8.0/releasenotes/notes/remove-nova-net-id-arg-5b01f0077be171ed.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/python-manilaclient-4.9.0/releasenotes/notes/remove-nova-net-id-arg-5b01f0077be171ed.yaml 2024-05-16 15:02:24.000000000 +0200 @@ -0,0 +1,4 @@ +--- +upgrade: + - | + The ``--nova-net-id`` option has been removed from the ``manila`` CLI. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-manilaclient-4.8.0/releasenotes/source/2024.1.rst new/python-manilaclient-4.9.0/releasenotes/source/2024.1.rst --- old/python-manilaclient-4.8.0/releasenotes/source/2024.1.rst 1970-01-01 01:00:00.000000000 +0100 +++ new/python-manilaclient-4.9.0/releasenotes/source/2024.1.rst 2024-05-16 15:02:24.000000000 +0200 @@ -0,0 +1,6 @@ +=========================== +2024.1 Series Release Notes +=========================== + +.. release-notes:: + :branch: stable/2024.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-manilaclient-4.8.0/releasenotes/source/index.rst new/python-manilaclient-4.9.0/releasenotes/source/index.rst --- old/python-manilaclient-4.8.0/releasenotes/source/index.rst 2024-03-01 10:55:26.000000000 +0100 +++ new/python-manilaclient-4.9.0/releasenotes/source/index.rst 2024-05-16 15:02:24.000000000 +0200 @@ -7,6 +7,7 @@ :maxdepth: 1 unreleased + 2024.1 2023.2 2023.1 zed diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-manilaclient-4.8.0/releasenotes/source/wallaby.rst new/python-manilaclient-4.9.0/releasenotes/source/wallaby.rst --- old/python-manilaclient-4.8.0/releasenotes/source/wallaby.rst 2024-03-01 10:55:26.000000000 +0100 +++ new/python-manilaclient-4.9.0/releasenotes/source/wallaby.rst 2024-05-16 15:02:24.000000000 +0200 @@ -3,4 +3,4 @@ ============================ .. release-notes:: - :branch: stable/wallaby + :branch: unmaintained/wallaby diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-manilaclient-4.8.0/releasenotes/source/xena.rst new/python-manilaclient-4.9.0/releasenotes/source/xena.rst --- old/python-manilaclient-4.8.0/releasenotes/source/xena.rst 2024-03-01 10:55:26.000000000 +0100 +++ new/python-manilaclient-4.9.0/releasenotes/source/xena.rst 2024-05-16 15:02:24.000000000 +0200 @@ -3,4 +3,4 @@ ========================= .. release-notes:: - :branch: stable/xena + :branch: unmaintained/xena diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-manilaclient-4.8.0/tox.ini new/python-manilaclient-4.9.0/tox.ini --- old/python-manilaclient-4.8.0/tox.ini 2024-03-01 10:55:26.000000000 +0100 +++ new/python-manilaclient-4.9.0/tox.ini 2024-05-16 15:02:24.000000000 +0200 @@ -24,6 +24,12 @@ [testenv:debug] commands = oslo_debug_helper -t manilaclient/tests {posargs} +[testenv:newnote] +deps = + -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} + -r{toxinidir}/doc/requirements.txt +commands = reno new {posargs} + [testenv:pep8] commands = flake8 @@ -84,6 +90,10 @@ coverage xml -o cover/coverage.xml coverage report +[testenv:bandit] +deps = bandit +commands = bandit -r manilaclient -x manilaclient/tests/* -n5 -ll + [flake8] # F821: undefined name # W503 line break before binary operator diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-manilaclient-4.8.0/zuul.d/project.yaml new/python-manilaclient-4.9.0/zuul.d/project.yaml --- old/python-manilaclient-4.8.0/zuul.d/project.yaml 2024-03-01 10:55:26.000000000 +0100 +++ new/python-manilaclient-4.9.0/zuul.d/project.yaml 2024-05-16 15:02:24.000000000 +0200 @@ -8,6 +8,7 @@ check: jobs: - python-manilaclient-functional + - python-manilaclient-tox-bandit - manila-rally-ss: voting: false - python-manilaclient-functional-fips: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-manilaclient-4.8.0/zuul.d/python-manilaclient-jobs.yaml new/python-manilaclient-4.9.0/zuul.d/python-manilaclient-jobs.yaml --- old/python-manilaclient-4.8.0/zuul.d/python-manilaclient-jobs.yaml 2024-03-01 10:55:26.000000000 +0100 +++ new/python-manilaclient-4.9.0/zuul.d/python-manilaclient-jobs.yaml 2024-05-16 15:02:24.000000000 +0200 @@ -92,3 +92,10 @@ vars: configure_swap_size: 4096 nslookup_target: 'opendev.org' + +- job: + name: python-manilaclient-tox-bandit + parent: openstack-tox + timeout: 2400 + vars: + tox_envlist: bandit
participants (1)
-
Source-Sync