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
Christian Berendt
Chuck Fouts
+Clifford Emeka
Clinton Knight
Cloud User
Corey Bryant
@@ -118,6 +119,7 @@
Yulia Portnova
altanai
andrebeltrami
+annwesha.das
archanaserver
ashrod98
binean
@@ -143,6 +145,7 @@
howardlee
iswarya_vakati
jacky06
+jayaanand.borra@netapp.com
ji-xuepeng
junboli
kafilat-adeleke
@@ -159,6 +162,7 @@
luke.li
maaoyu
mark.sturdevant
+melakualehegn
melissaml
namrata
nidhimittalhada
@@ -175,6 +179,7 @@
sunjia
ting.wang
tpsilva
+tspyderboy
venkatamahesh
vik
vkmc
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="",
+ 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='',
- 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='',
@@ -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