Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-octaviaclient for
openSUSE:Factory checked in at 2021-12-12 00:57:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-octaviaclient (Old)
and /work/SRC/openSUSE:Factory/.python-octaviaclient.new.2520 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-octaviaclient"
Sun Dec 12 00:57:30 2021 rev:8 rq:939530 version:2.4.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-octaviaclient/python-octaviaclient.changes
2021-05-10 15:39:44.301476262 +0200
+++
/work/SRC/openSUSE:Factory/.python-octaviaclient.new.2520/python-octaviaclient.changes
2021-12-12 00:57:34.806583165 +0100
@@ -1,0 +2,11 @@
+Mon Dec 6 09:31:13 UTC 2021 - [email protected]
+
+- update to version 2.4.0
+ - Support pagination for 'list' API calls
+ - Improve the client performance on large clouds
+ - Update master for stable/wallaby
+ - Fix some typos
+ - Add Python3 xena unit tests
+ - setup.cfg: Replace dashes with underscores
+
+-------------------------------------------------------------------
Old:
----
python-octaviaclient-2.3.0.tar.gz
New:
----
python-octaviaclient-2.4.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-octaviaclient.spec ++++++
--- /var/tmp/diff_new_pack.LNDzOM/_old 2021-12-12 00:57:35.198583434 +0100
+++ /var/tmp/diff_new_pack.LNDzOM/_new 2021-12-12 00:57:35.202583437 +0100
@@ -17,13 +17,13 @@
Name: python-octaviaclient
-Version: 2.3.0
+Version: 2.4.0
Release: 0
Summary: Octavia Plugin for the OpenStack Command-line Client
License: Apache-2.0
Group: Development/Languages/Python
URL: https://docs.openstack.org/python-octaviaclient
-Source0:
https://files.pythonhosted.org/packages/source/p/python-octaviaclient/python-octaviaclient-2.3.0.tar.gz
+Source0:
https://files.pythonhosted.org/packages/source/p/python-octaviaclient/python-octaviaclient-2.4.0.tar.gz
BuildRequires: openstack-macros
BuildRequires: python3-mock
BuildRequires: python3-openstackclient >= 3.12.0
@@ -71,13 +71,13 @@
This package contains auto-generated documentation.
%prep
-%autosetup -p1 -n python-octaviaclient-2.3.0
+%autosetup -p1 -n python-octaviaclient-2.4.0
%py_req_cleanup
%build
%{py3_build}
-PBR_VERSION=2.3.0 %sphinx_build -b html doc/source doc/build/html
+PBR_VERSION=2.4.0 %sphinx_build -b html doc/source doc/build/html
# remove the sphinx-build leftovers
rm -rf doc/build/html/.{doctrees,buildinfo}
++++++ _service ++++++
--- /var/tmp/diff_new_pack.LNDzOM/_old 2021-12-12 00:57:35.230583456 +0100
+++ /var/tmp/diff_new_pack.LNDzOM/_new 2021-12-12 00:57:35.230583456 +0100
@@ -1,8 +1,8 @@
<services>
<service mode="disabled" name="renderspec">
- <param
name="input-template">https://opendev.org/openstack/rpm-packaging/raw/branch/stable/wallaby/openstack/python-octaviaclient/python-octaviaclient.spec.j2</param>
+ <param
name="input-template">https://opendev.org/openstack/rpm-packaging/raw/master/openstack/python-octaviaclient/python-octaviaclient.spec.j2</param>
<param name="output-name">python-octaviaclient.spec</param>
- <param
name="requirements">https://opendev.org/openstack/python-octaviaclient/raw/branch/stable/wallaby/requirements.txt</param>
+ <param
name="requirements">https://opendev.org/openstack/python-octaviaclient/raw/master/requirements.txt</param>
<param name="changelog-email">[email protected]</param>
<param name="changelog-provider">gh,openstack,python-octaviaclient</param>
</service>
++++++ python-octaviaclient-2.3.0.tar.gz -> python-octaviaclient-2.4.0.tar.gz
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-octaviaclient-2.3.0/AUTHORS
new/python-octaviaclient-2.4.0/AUTHORS
--- old/python-octaviaclient-2.3.0/AUTHORS 2021-03-11 12:09:14.000000000
+0100
+++ new/python-octaviaclient-2.4.0/AUTHORS 2021-07-15 12:27:16.000000000
+0200
@@ -33,6 +33,7 @@
Thomas Bechtold <[email protected]>
Tony Breeds <[email protected]>
Yang JianFeng <[email protected]>
+YuehuiLei <[email protected]>
Zane Bitter <[email protected]>
ZhaoBo <[email protected]>
ZhongShengping <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-octaviaclient-2.3.0/ChangeLog
new/python-octaviaclient-2.4.0/ChangeLog
--- old/python-octaviaclient-2.3.0/ChangeLog 2021-03-11 12:09:14.000000000
+0100
+++ new/python-octaviaclient-2.4.0/ChangeLog 2021-07-15 12:27:16.000000000
+0200
@@ -1,6 +1,16 @@
CHANGES
=======
+2.4.0
+-----
+
+* Fix some typos
+* Improve the client performance on large clouds
+* Support pagination for 'list' API calls
+* setup.cfg: Replace dashes with underscores
+* Add Python3 xena unit tests
+* Update master for stable/wallaby
+
2.3.0
-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-octaviaclient-2.3.0/PKG-INFO
new/python-octaviaclient-2.4.0/PKG-INFO
--- old/python-octaviaclient-2.3.0/PKG-INFO 2021-03-11 12:09:14.972966200
+0100
+++ new/python-octaviaclient-2.4.0/PKG-INFO 2021-07-15 12:27:17.029564100
+0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.2
Name: python-octaviaclient
-Version: 2.3.0
+Version: 2.4.0
Summary: Octavia client for OpenStack Load Balancing
Home-page: https://docs.openstack.org/python-octaviaclient/latest/
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-octaviaclient-2.3.0/octaviaclient/api/constants.py
new/python-octaviaclient-2.4.0/octaviaclient/api/constants.py
--- old/python-octaviaclient-2.3.0/octaviaclient/api/constants.py
2021-03-11 12:08:42.000000000 +0100
+++ new/python-octaviaclient-2.4.0/octaviaclient/api/constants.py
2021-07-15 12:26:46.000000000 +0200
@@ -11,54 +11,72 @@
# under the License.
#
+LOADBALANCER_RESOURCES = 'loadbalancers'
+LISTENER_RESOURCES = 'listeners'
+POOL_RESOURCES = 'pools'
+MEMBER_RESOURCES = 'members'
+HEALTH_MONITOR_RESOURCES = 'healthmonitors'
+L7POLICY_RESOURCES = 'l7policies'
+L7RULE_RESOURCES = 'rules'
+QUOTA_RESOURCES = 'quotas'
+AMPHORA_RESOURCES = 'amphorae'
+PROVIDER_RESOURCES = 'providers'
+PROVIDER_FLAVOR_CAPABILITY_RESOURCES = 'flavor_capabilities'
+PROVIDER_AVAILABILITY_ZONE_CAPABILITY_RESOURCES = (
+ 'availability_zone_capabilities')
+FLAVOR_RESOURCES = 'flavors'
+FLAVORPROFILE_RESOURCES = 'flavorprofiles'
+AVAILABILITYZONE_RESOURCES = 'availability_zones'
+AVAILABILITYZONEPROFILE_RESOURCES = 'availability_zone_profiles'
+
BASE_LBAAS_ENDPOINT = '/lbaas'
BASE_OCTAVIA_ENDPOINT = '/octavia'
-BASE_LOADBALANCER_URL = BASE_LBAAS_ENDPOINT + '/loadbalancers'
+BASE_LOADBALANCER_URL = BASE_LBAAS_ENDPOINT + '/' + LOADBALANCER_RESOURCES
BASE_SINGLE_LB_URL = BASE_LOADBALANCER_URL + '/{uuid}'
BASE_LB_STATS_URL = BASE_SINGLE_LB_URL + '/stats'
BASE_LOADBALANCER_STATUS_URL = BASE_SINGLE_LB_URL + '/status'
BASE_LOADBALANCER_FAILOVER_URL = BASE_SINGLE_LB_URL + '/failover'
-BASE_LISTENER_URL = BASE_LBAAS_ENDPOINT + '/listeners'
+BASE_LISTENER_URL = BASE_LBAAS_ENDPOINT + '/' + LISTENER_RESOURCES
BASE_SINGLE_LISTENER_URL = BASE_LISTENER_URL + '/{uuid}'
BASE_LISTENER_STATS_URL = BASE_SINGLE_LISTENER_URL + '/stats'
-BASE_POOL_URL = BASE_LBAAS_ENDPOINT + '/pools'
+BASE_POOL_URL = BASE_LBAAS_ENDPOINT + '/' + POOL_RESOURCES
BASE_SINGLE_POOL_URL = BASE_POOL_URL + '/{pool_id}'
-BASE_MEMBER_URL = BASE_SINGLE_POOL_URL + '/members'
+BASE_MEMBER_URL = BASE_SINGLE_POOL_URL + '/' + MEMBER_RESOURCES
BASE_SINGLE_MEMBER_URL = BASE_MEMBER_URL + '/{member_id}'
-BASE_HEALTH_MONITOR_URL = BASE_LBAAS_ENDPOINT + '/healthmonitors'
+BASE_HEALTH_MONITOR_URL = BASE_LBAAS_ENDPOINT + '/' + HEALTH_MONITOR_RESOURCES
BASE_SINGLE_HEALTH_MONITOR_URL = BASE_HEALTH_MONITOR_URL + '/{uuid}'
-BASE_L7POLICY_URL = BASE_LBAAS_ENDPOINT + '/l7policies'
+BASE_L7POLICY_URL = BASE_LBAAS_ENDPOINT + '/' + L7POLICY_RESOURCES
BASE_SINGLE_L7POLICY_URL = BASE_L7POLICY_URL + '/{policy_uuid}'
-BASE_L7RULE_URL = BASE_SINGLE_L7POLICY_URL + '/rules'
-BASE_SINGLE_L7RULE_URL = BASE_SINGLE_L7POLICY_URL + '/rules/{rule_uuid}'
+BASE_L7RULE_URL = BASE_SINGLE_L7POLICY_URL + '/' + L7RULE_RESOURCES
+BASE_SINGLE_L7RULE_URL = BASE_L7RULE_URL + '/{rule_uuid}'
-BASE_QUOTA_URL = BASE_LBAAS_ENDPOINT + '/quotas'
+BASE_QUOTA_URL = BASE_LBAAS_ENDPOINT + '/' + QUOTA_RESOURCES
BASE_SINGLE_QUOTA_URL = BASE_QUOTA_URL + '/{uuid}'
BASE_QUOTA_DEFAULT_URL = BASE_QUOTA_URL + '/defaults'
-BASE_AMPHORA_URL = BASE_OCTAVIA_ENDPOINT + "/amphorae"
+BASE_AMPHORA_URL = BASE_OCTAVIA_ENDPOINT + "/" + AMPHORA_RESOURCES
BASE_SINGLE_AMPHORA_URL = BASE_AMPHORA_URL + "/{uuid}"
BASE_AMPHORA_CONFIGURE_URL = BASE_SINGLE_AMPHORA_URL + '/config'
BASE_AMPHORA_FAILOVER_URL = BASE_SINGLE_AMPHORA_URL + '/failover'
BASE_AMPHORA_STATS_URL = BASE_SINGLE_AMPHORA_URL + '/stats'
-BASE_PROVIDER_URL = BASE_LBAAS_ENDPOINT + "/providers"
+BASE_PROVIDER_URL = BASE_LBAAS_ENDPOINT + "/" + PROVIDER_RESOURCES
BASE_PROVIDER_FLAVOR_CAPABILITY_URL = (
- BASE_LBAAS_ENDPOINT + "/providers/{provider}/flavor_capabilities")
+ BASE_PROVIDER_URL + "/{provider}/" + PROVIDER_FLAVOR_CAPABILITY_RESOURCES)
BASE_PROVIDER_AVAILABILITY_ZONE_CAPABILITY_URL = (
- BASE_LBAAS_ENDPOINT + "/providers/{provider}"
- "/availability_zone_capabilities"
+ BASE_PROVIDER_URL + "/{provider}/" +
+ PROVIDER_AVAILABILITY_ZONE_CAPABILITY_RESOURCES
)
-BASE_FLAVOR_URL = BASE_LBAAS_ENDPOINT + "/flavors"
+BASE_FLAVOR_URL = BASE_LBAAS_ENDPOINT + "/" + FLAVOR_RESOURCES
BASE_SINGLE_FLAVOR_URL = BASE_FLAVOR_URL + "/{uuid}"
-BASE_FLAVORPROFILE_URL = BASE_LBAAS_ENDPOINT + "/flavorprofiles"
+BASE_FLAVORPROFILE_URL = BASE_LBAAS_ENDPOINT + "/" + FLAVORPROFILE_RESOURCES
BASE_SINGLE_FLAVORPROFILE_URL = BASE_FLAVORPROFILE_URL + "/{uuid}"
BASE_AVAILABILITYZONE_URL = BASE_LBAAS_ENDPOINT + "/availabilityzones"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-octaviaclient-2.3.0/octaviaclient/api/v2/octavia.py
new/python-octaviaclient-2.4.0/octaviaclient/api/v2/octavia.py
--- old/python-octaviaclient-2.3.0/octaviaclient/api/v2/octavia.py
2021-03-11 12:08:42.000000000 +0100
+++ new/python-octaviaclient-2.4.0/octaviaclient/api/v2/octavia.py
2021-07-15 12:26:46.000000000 +0200
@@ -12,6 +12,7 @@
#
"""Octavia API Library"""
import functools
+import urllib.parse as urlparse
from osc_lib.api import api
from osc_lib import exceptions as osc_exc
@@ -66,17 +67,39 @@
_endpoint_suffix = '/v2.0'
+ # Make sure we are always requesting JSON responses
+ JSON_HEADER = {'Accept': 'application/json'}
+
def __init__(self, endpoint=None, **kwargs):
super().__init__(endpoint=endpoint, **kwargs)
self.endpoint = self.endpoint.rstrip('/')
self._build_url()
- # Make sure we are always requesting JSON responses
- JSON_HEADER = {'Accept': 'application/json'}
- self._create = functools.partial(self.create, headers=JSON_HEADER)
- self._delete = functools.partial(self.delete, headers=JSON_HEADER)
- self._find = functools.partial(self.find, headers=JSON_HEADER)
- self._list = functools.partial(self.list, headers=JSON_HEADER)
+ self._create = functools.partial(self.create, headers=self.JSON_HEADER)
+ self._delete = functools.partial(self.delete, headers=self.JSON_HEADER)
+ self._find = functools.partial(self.find, headers=self.JSON_HEADER)
+
+ def _list(self, path, **params):
+ get_all = params.pop('get_all', False)
+ if not get_all:
+ return self.list(path, **params, headers=self.JSON_HEADER)
+
+ # Enable pagination for 'resources'
+ resource_key = params.pop('resources')
+ res = []
+ while True:
+ response = self.list(path, **params, headers=self.JSON_HEADER)
+ res.extend(response[resource_key])
+
+ links = response.get("{}_links".format(resource_key), [])
+ for link in links:
+ if link.get('rel') == 'next':
+ query_str = urlparse.urlparse(link['href']).query
+ params = urlparse.parse_qs(query_str)
+ break
+ else:
+ break
+ return {resource_key: res}
def _build_url(self):
if not self.endpoint.endswith(self._endpoint_suffix):
@@ -92,7 +115,9 @@
List of load balancers
"""
url = const.BASE_LOADBALANCER_URL
- response = self._list(url, **params)
+ response = self._list(url, get_all=True,
+ resources=const.LOADBALANCER_RESOURCES,
+ **params)
return response
@@ -207,7 +232,9 @@
List of listeners
"""
url = const.BASE_LISTENER_URL
- response = self._list(url, **kwargs)
+ response = self._list(url, get_all=True,
+ resources=const.LISTENER_RESOURCES,
+ **kwargs)
return response
@@ -292,7 +319,9 @@
List of pools
"""
url = const.BASE_POOL_URL
- response = self._list(url, **kwargs)
+ response = self._list(url, get_all=True,
+ resources=const.POOL_RESOURCES,
+ **kwargs)
return response
@@ -365,7 +394,9 @@
Response list members
"""
url = const.BASE_MEMBER_URL.format(pool_id=pool_id)
- response = self._list(url, **kwargs)
+ response = self._list(url, get_all=True,
+ resources=const.MEMBER_RESOURCES,
+ **kwargs)
return response
@@ -449,7 +480,9 @@
List of l7policies
"""
url = const.BASE_L7POLICY_URL
- response = self._list(url, **kwargs)
+ response = self._list(url, get_all=True,
+ resources=const.L7POLICY_RESOURCES,
+ **kwargs)
return response
@@ -520,7 +553,9 @@
List of l7rules
"""
url = const.BASE_L7RULE_URL.format(policy_uuid=l7policy_id)
- response = self._list(url, **kwargs)
+ response = self._list(url, get_all=True,
+ resources=const.L7RULE_RESOURCES,
+ **kwargs)
return response
@@ -602,7 +637,9 @@
A dict containing a list of health monitors
"""
url = const.BASE_HEALTH_MONITOR_URL
- response = self._list(url, **kwargs)
+ response = self._list(url, get_all=True,
+ resources=const.HEALTH_MONITOR_RESOURCES,
+ **kwargs)
return response
@@ -676,7 +713,9 @@
A ``dict`` representing a list of quotas for the project
"""
url = const.BASE_QUOTA_URL
- response = self._list(url, **params)
+ response = self._list(url, get_all=True,
+ resources=const.QUOTA_RESOURCES,
+ **params)
return response
@@ -759,7 +798,9 @@
A ``dict`` containing a list of amphorae
"""
url = const.BASE_AMPHORA_URL
- response = self._list(path=url, **kwargs)
+ response = self._list(path=url, get_all=True,
+ resources=const.AMPHORA_RESOURCES,
+ **kwargs)
return response
@@ -827,7 +868,8 @@
A ``dict`` containing a list of provider
"""
url = const.BASE_PROVIDER_URL
- response = self._list(path=url)
+ response = self._list(path=url, get_all=True,
+ resources=const.PROVIDER_RESOURCES)
return response
@@ -842,7 +884,9 @@
"""
url = const.BASE_PROVIDER_FLAVOR_CAPABILITY_URL.format(
provider=provider)
- response = self._list(url)
+ resources = const.PROVIDER_FLAVOR_CAPABILITY_RESOURCES
+ response = self._list(url, get_all=True,
+ resources=resources)
return response
@@ -857,7 +901,9 @@
"""
url = const.BASE_PROVIDER_AVAILABILITY_ZONE_CAPABILITY_URL.format(
provider=provider)
- response = self._list(url)
+ resources = const.PROVIDER_AVAILABILITY_ZONE_CAPABILITY_RESOURCES
+ response = self._list(url, get_all=True,
+ resources=resources)
return response
@@ -871,7 +917,8 @@
A ``dict`` containing a list of flavor
"""
url = const.BASE_FLAVOR_URL
- response = self._list(path=url, **kwargs)
+ response = self._list(path=url, get_all=True,
+ resources=const.FLAVOR_RESOURCES, **kwargs)
return response
@@ -956,7 +1003,9 @@
List of flavor profile
"""
url = const.BASE_FLAVORPROFILE_URL
- response = self._list(url, **kwargs)
+ response = self._list(url, get_all=True,
+ resources=const.FLAVORPROFILE_RESOURCES,
+ **kwargs)
return response
@@ -1014,7 +1063,9 @@
A ``dict`` containing a list of availabilityzone
"""
url = const.BASE_AVAILABILITYZONE_URL
- response = self._list(path=url, **kwargs)
+ response = self._list(path=url, get_all=True,
+ resources=const.AVAILABILITYZONE_RESOURCES,
+ **kwargs)
return response
@@ -1103,7 +1154,10 @@
List of availabilityzone profile
"""
url = const.BASE_AVAILABILITYZONEPROFILE_URL
- response = self._list(url, **kwargs)
+ resources = const.AVAILABILITYZONEPROFILE_RESOURCES
+ response = self._list(url, get_all=True,
+ resources=resources,
+ **kwargs)
return response
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-octaviaclient-2.3.0/octaviaclient/osc/v2/amphora.py
new/python-octaviaclient-2.4.0/octaviaclient/osc/v2/amphora.py
--- old/python-octaviaclient-2.3.0/octaviaclient/osc/v2/amphora.py
2021-03-11 12:08:42.000000000 +0100
+++ new/python-octaviaclient-2.4.0/octaviaclient/osc/v2/amphora.py
2021-07-15 12:26:46.000000000 +0200
@@ -137,7 +137,7 @@
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for action to complete',
+ help='Wait for action to complete.',
)
return parser
@@ -176,7 +176,7 @@
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for action to complete',
+ help='Wait for action to complete.',
)
return parser
@@ -214,12 +214,12 @@
parser.add_argument(
'--listener',
metavar='<listener>',
- help='Filter by listener (name or ID)',
+ help='Filter by listener (name or ID).',
)
parser.add_argument(
'amphora_id',
metavar='<amphora-id>',
- help='UUID of the amphora'
+ help='UUID of the amphora.'
)
return parser
@@ -267,7 +267,7 @@
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for action to complete',
+ help='Wait for action to complete.',
)
return parser
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-octaviaclient-2.3.0/octaviaclient/osc/v2/availabilityzoneprofile.py
new/python-octaviaclient-2.4.0/octaviaclient/osc/v2/availabilityzoneprofile.py
---
old/python-octaviaclient-2.3.0/octaviaclient/osc/v2/availabilityzoneprofile.py
2021-03-11 12:08:42.000000000 +0100
+++
new/python-octaviaclient-2.4.0/octaviaclient/osc/v2/availabilityzoneprofile.py
2021-07-15 12:26:46.000000000 +0200
@@ -75,7 +75,7 @@
parser.add_argument(
'availabilityzoneprofile',
metavar='<availabilityzone_profile>',
- help="Availability zone profile to delete (name or ID)"
+ help="Availability zone profile to delete (name or ID)."
)
return parser
@@ -98,7 +98,7 @@
parser.add_argument(
'--name',
metavar='<name>',
- help="List availabilityzone profiles by profile name."
+ help="List availability zone profiles by profile name."
)
parser.add_argument(
'--provider',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-octaviaclient-2.3.0/octaviaclient/osc/v2/flavor.py
new/python-octaviaclient-2.4.0/octaviaclient/osc/v2/flavor.py
--- old/python-octaviaclient-2.3.0/octaviaclient/osc/v2/flavor.py
2021-03-11 12:08:42.000000000 +0100
+++ new/python-octaviaclient-2.4.0/octaviaclient/osc/v2/flavor.py
2021-07-15 12:26:46.000000000 +0200
@@ -90,7 +90,7 @@
parser.add_argument(
'flavor',
metavar='<flavor>',
- help="Flavor to delete (name or ID)"
+ help="Flavor to delete (name or ID)."
)
return parser
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-octaviaclient-2.3.0/octaviaclient/osc/v2/flavorprofile.py
new/python-octaviaclient-2.4.0/octaviaclient/osc/v2/flavorprofile.py
--- old/python-octaviaclient-2.3.0/octaviaclient/osc/v2/flavorprofile.py
2021-03-11 12:08:42.000000000 +0100
+++ new/python-octaviaclient-2.4.0/octaviaclient/osc/v2/flavorprofile.py
2021-07-15 12:26:46.000000000 +0200
@@ -74,7 +74,7 @@
parser.add_argument(
'flavorprofile',
metavar='<flavor_profile>',
- help="Flavor profiles to delete (name or ID)"
+ help="Flavor profiles to delete (name or ID)."
)
return parser
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-octaviaclient-2.3.0/octaviaclient/osc/v2/health_monitor.py
new/python-octaviaclient-2.4.0/octaviaclient/osc/v2/health_monitor.py
--- old/python-octaviaclient-2.3.0/octaviaclient/osc/v2/health_monitor.py
2021-03-11 12:08:42.000000000 +0100
+++ new/python-octaviaclient-2.4.0/octaviaclient/osc/v2/health_monitor.py
2021-07-15 12:26:46.000000000 +0200
@@ -138,7 +138,7 @@
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for action to complete',
+ help='Wait for action to complete.',
)
_tag.add_tag_option_to_parser_for_create(
@@ -191,7 +191,7 @@
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for action to complete',
+ help='Wait for action to complete.',
)
return parser
@@ -369,7 +369,7 @@
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for action to complete',
+ help='Wait for action to complete.',
)
_tag.add_tag_option_to_parser_for_set(parser, 'health monitor')
@@ -449,7 +449,7 @@
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for action to complete',
+ help='Wait for action to complete.',
)
_tag.add_tag_option_to_parser_for_unset(parser, 'health monitor')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-octaviaclient-2.3.0/octaviaclient/osc/v2/l7policy.py
new/python-octaviaclient-2.4.0/octaviaclient/osc/v2/l7policy.py
--- old/python-octaviaclient-2.3.0/octaviaclient/osc/v2/l7policy.py
2021-03-11 12:08:42.000000000 +0100
+++ new/python-octaviaclient-2.4.0/octaviaclient/osc/v2/l7policy.py
2021-07-15 12:26:46.000000000 +0200
@@ -85,7 +85,7 @@
metavar='<redirect_http_code>',
choices=REDIRECT_CODE_CHOICES,
type=int,
- help="Set the HTTP response code for REDIRECT_URL or"
+ help="Set the HTTP response code for REDIRECT_URL or "
"REDIRECT_PREFIX action."
)
parser.add_argument(
@@ -110,7 +110,7 @@
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for action to complete',
+ help='Wait for action to complete.',
)
_tag.add_tag_option_to_parser_for_create(
@@ -163,7 +163,7 @@
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for action to complete',
+ help='Wait for action to complete.',
)
return parser
@@ -305,7 +305,7 @@
metavar='<redirect_http_code>',
choices=REDIRECT_CODE_CHOICES,
type=int,
- help="Set the HTTP response code for REDIRECT_URL or"
+ help="Set the HTTP response code for REDIRECT_URL or "
"REDIRECT_PREFIX action."
)
parser.add_argument(
@@ -330,7 +330,7 @@
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for action to complete',
+ help='Wait for action to complete.',
)
_tag.add_tag_option_to_parser_for_set(parser, 'l7policy')
@@ -390,7 +390,7 @@
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for action to complete',
+ help='Wait for action to complete.',
)
_tag.add_tag_option_to_parser_for_unset(parser, 'l7policy')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-octaviaclient-2.3.0/octaviaclient/osc/v2/l7rule.py
new/python-octaviaclient-2.4.0/octaviaclient/osc/v2/l7rule.py
--- old/python-octaviaclient-2.3.0/octaviaclient/osc/v2/l7rule.py
2021-03-11 12:08:42.000000000 +0100
+++ new/python-octaviaclient-2.4.0/octaviaclient/osc/v2/l7rule.py
2021-07-15 12:26:46.000000000 +0200
@@ -93,7 +93,7 @@
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for action to complete',
+ help='Wait for action to complete.',
)
_tag.add_tag_option_to_parser_for_create(
@@ -155,7 +155,7 @@
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for action to complete',
+ help='Wait for action to complete.',
)
return parser
@@ -313,7 +313,7 @@
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for action to complete',
+ help='Wait for action to complete.',
)
_tag.add_tag_option_to_parser_for_set(parser, 'l7rule')
@@ -380,7 +380,7 @@
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for action to complete',
+ help='Wait for action to complete.',
)
_tag.add_tag_option_to_parser_for_unset(parser, 'l7rule')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-octaviaclient-2.3.0/octaviaclient/osc/v2/listener.py
new/python-octaviaclient-2.4.0/octaviaclient/osc/v2/listener.py
--- old/python-octaviaclient-2.3.0/octaviaclient/osc/v2/listener.py
2021-03-11 12:08:42.000000000 +0100
+++ new/python-octaviaclient-2.4.0/octaviaclient/osc/v2/listener.py
2021-07-15 12:26:46.000000000 +0200
@@ -174,7 +174,7 @@
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for action to complete',
+ help='Wait for action to complete.',
)
parser.add_argument(
'--tls-ciphers',
@@ -251,12 +251,12 @@
parser.add_argument(
'listener',
metavar="<listener>",
- help="Listener to delete (name or ID)"
+ help="Listener to delete (name or ID)."
)
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for action to complete',
+ help='Wait for action to complete.',
)
return parser
@@ -338,7 +338,7 @@
parser.add_argument(
'listener',
metavar='<listener>',
- help='Name or UUID of the listener'
+ help='Name or UUID of the listener.'
)
return parser
@@ -410,7 +410,7 @@
'--default-tls-container-ref',
metavar='<container-ref>',
help="The URI to the key manager service secrets container "
- "containing the certificate and key for TERMINATED_TLS"
+ "containing the certificate and key for TERMINATED_TLS "
"listeners."
)
parser.add_argument(
@@ -501,7 +501,7 @@
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for action to complete',
+ help='Wait for action to complete.',
)
parser.add_argument(
'--tls-ciphers',
@@ -702,7 +702,7 @@
parser.add_argument(
'listener',
metavar='<listener>',
- help='Name or UUID of the listener'
+ help='Name or UUID of the listener.'
)
return parser
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-octaviaclient-2.3.0/octaviaclient/osc/v2/load_balancer.py
new/python-octaviaclient-2.4.0/octaviaclient/osc/v2/load_balancer.py
--- old/python-octaviaclient-2.3.0/octaviaclient/osc/v2/load_balancer.py
2021-03-11 12:08:42.000000000 +0100
+++ new/python-octaviaclient-2.4.0/octaviaclient/osc/v2/load_balancer.py
2021-07-15 12:26:46.000000000 +0200
@@ -130,7 +130,7 @@
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for action to complete',
+ help='Wait for action to complete.',
)
_tag.add_tag_option_to_parser_for_create(
@@ -181,7 +181,7 @@
parser.add_argument(
'loadbalancer',
metavar='<load_balancer>',
- help="Load balancers to delete (name or ID)"
+ help="Load balancers to delete (name or ID)."
)
parser.add_argument(
'--cascade',
@@ -193,7 +193,7 @@
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for action to complete',
+ help='Wait for action to complete.',
)
return parser
@@ -228,7 +228,7 @@
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for action to complete',
+ help='Wait for action to complete.',
)
return parser
@@ -438,7 +438,7 @@
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for action to complete',
+ help='Wait for action to complete.',
)
_tag.add_tag_option_to_parser_for_set(parser, 'load balancer')
@@ -496,7 +496,7 @@
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for action to complete',
+ help='Wait for action to complete.',
)
_tag.add_tag_option_to_parser_for_unset(parser, 'load balancer')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-octaviaclient-2.3.0/octaviaclient/osc/v2/member.py
new/python-octaviaclient-2.4.0/octaviaclient/osc/v2/member.py
--- old/python-octaviaclient-2.3.0/octaviaclient/osc/v2/member.py
2021-03-11 12:08:42.000000000 +0100
+++ new/python-octaviaclient-2.4.0/octaviaclient/osc/v2/member.py
2021-07-15 12:26:46.000000000 +0200
@@ -126,13 +126,13 @@
'--disable-backup',
action='store_true',
default=None,
- help="Disable member backup (default)"
+ help="Disable member backup (default)."
)
backup.add_argument(
'--enable-backup',
action='store_true',
default=None,
- help="Enable member backup"
+ help="Enable member backup."
)
parser.add_argument(
'--weight',
@@ -145,7 +145,7 @@
parser.add_argument(
'--address',
metavar='<ip_address>',
- help="The IP address of the backend member server",
+ help="The IP address of the backend member server.",
required=True
)
parser.add_argument(
@@ -179,18 +179,18 @@
'--enable',
action='store_true',
default=None,
- help="Enable member (default)"
+ help="Enable member (default)."
)
admin_group.add_argument(
'--disable',
action='store_true',
default=None,
- help="Disable member"
+ help="Disable member."
)
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for action to complete',
+ help='Wait for action to complete.',
)
_tag.add_tag_option_to_parser_for_create(
@@ -246,38 +246,38 @@
parser.add_argument(
'member',
metavar='<member>',
- help="Name or ID of the member to update"
+ help="Name or ID of the member to update."
)
parser.add_argument(
'--name',
metavar='<name>',
- help="Set the name of the member"
+ help="Set the name of the member."
)
backup = parser.add_mutually_exclusive_group()
backup.add_argument(
'--disable-backup',
action='store_true',
default=None,
- help="Disable member backup (default)"
+ help="Disable member backup (default)."
)
backup.add_argument(
'--enable-backup',
action='store_true',
default=None,
- help="Enable member backup"
+ help="Enable member backup."
)
parser.add_argument(
'--weight',
metavar='<weight>',
type=int,
- help="Set the weight of member in the pool"
+ help="Set the weight of member in the pool."
)
parser.add_argument(
'--monitor-port',
metavar='<monitor_port>',
type=int,
help="An alternate protocol port used for health monitoring a "
- "backend member",
+ "backend member.",
)
parser.add_argument(
'--monitor-address',
@@ -290,17 +290,17 @@
'--enable',
action='store_true',
default=None,
- help="Set the admin_state_up to True"
+ help="Set the admin_state_up to True."
)
admin_group.add_argument(
'--disable',
action='store_true',
default=None,
- help="Set the admin_state_up to False")
+ help="Set the admin_state_up to False.")
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for action to complete',
+ help='Wait for action to complete.',
)
_tag.add_tag_option_to_parser_for_set(parser, 'member')
@@ -357,7 +357,7 @@
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for action to complete',
+ help='Wait for action to complete.',
)
return parser
@@ -427,7 +427,7 @@
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for action to complete',
+ help='Wait for action to complete.',
)
_tag.add_tag_option_to_parser_for_unset(parser, 'member')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-octaviaclient-2.3.0/octaviaclient/osc/v2/pool.py
new/python-octaviaclient-2.4.0/octaviaclient/osc/v2/pool.py
--- old/python-octaviaclient-2.3.0/octaviaclient/osc/v2/pool.py 2021-03-11
12:08:42.000000000 +0100
+++ new/python-octaviaclient-2.4.0/octaviaclient/osc/v2/pool.py 2021-07-15
12:26:46.000000000 +0200
@@ -64,7 +64,7 @@
parent_group.add_argument(
'--loadbalancer',
metavar='<load_balancer>',
- help="Load balncer to add the pool to (name or ID)"
+ help="Load balancer to add the pool to (name or ID)."
)
parser.add_argument(
'--session-persistence',
@@ -104,7 +104,7 @@
metavar='<ca_tls_container_ref>',
help="The reference to the key manager service secrets container "
"containing the CA certificate for ``tls_enabled`` pools "
- "to check the backend member servers certificates"
+ "to check the backend member servers certificates."
)
parser.add_argument(
'--crl-container-ref',
@@ -129,7 +129,7 @@
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for action to complete',
+ help='Wait for action to complete.',
)
parser.add_argument(
'--tls-ciphers',
@@ -206,7 +206,7 @@
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for action to complete',
+ help='Wait for action to complete.',
)
return parser
@@ -380,7 +380,7 @@
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for action to complete',
+ help='Wait for action to complete.',
)
parser.add_argument(
'--tls-ciphers',
@@ -487,7 +487,7 @@
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for action to complete',
+ help='Wait for action to complete.',
)
parser.add_argument(
'--alpn-protocols',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-octaviaclient-2.3.0/octaviaclient/osc/v2/quota.py
new/python-octaviaclient-2.4.0/octaviaclient/osc/v2/quota.py
--- old/python-octaviaclient-2.3.0/octaviaclient/osc/v2/quota.py
2021-03-11 12:08:42.000000000 +0100
+++ new/python-octaviaclient-2.4.0/octaviaclient/osc/v2/quota.py
2021-07-15 12:26:46.000000000 +0200
@@ -195,7 +195,7 @@
parser.add_argument(
'project',
metavar="<project>",
- help="Project to reset quotas (name or ID)"
+ help="Project to reset quotas (name or ID)."
)
return parser
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-octaviaclient-2.3.0/octaviaclient/osc/v2/utils.py
new/python-octaviaclient-2.4.0/octaviaclient/osc/v2/utils.py
--- old/python-octaviaclient-2.3.0/octaviaclient/osc/v2/utils.py
2021-03-11 12:08:42.000000000 +0100
+++ new/python-octaviaclient-2.4.0/octaviaclient/osc/v2/utils.py
2021-07-15 12:26:46.000000000 +0200
@@ -16,6 +16,7 @@
from openstackclient.identity import common as identity_common
from osc_lib import exceptions as osc_exc
from osc_lib import utils
+from oslo_utils import uuidutils
from octaviaclient.api import exceptions
from octaviaclient.osc.v2 import constants
@@ -62,6 +63,62 @@
return res
+def _find_resource(list_funct, resource_name, root_tag, name, parent=None):
+ """Search for a resource by name and ID.
+
+ This function will search for a resource by both the name and ID,
+ returning the resource once it finds a match. If no match is found,
+ an exception will be raised.
+
+ :param list_funct: The resource list method to call during searches.
+ :param resource_name: The name of the resource type we are searching for.
+ :param root_tag: The root tag of the resource returned from the API.
+ :param name: The value we are searching for, a resource name or ID.
+ :param parent: The parent resource ID, when required.
+ :return: The resource found for the name or ID.
+ :raises osc_exc.CommandError: If more than one match or none are found.
+ """
+ if parent:
+ parent_args = [parent]
+ else:
+ parent_args = []
+ # Optimize the API call order if we got a UUID-like name or not
+ if uuidutils.is_uuid_like(name):
+ # Try by ID first
+ resource = list_funct(*parent_args, id=name)[root_tag]
+ if len(resource) == 1:
+ return resource[0]
+
+ # Try by name next
+ resource = list_funct(*parent_args, name=name)[root_tag]
+ if len(resource) == 1:
+ return resource[0]
+ if len(resource) > 1:
+ msg = ("{0} {1} found with name or ID of {2}. Please try "
+ "again with UUID".format(len(resource), resource_name,
+ name))
+ raise osc_exc.CommandError(msg)
+ else:
+ # Try by name first
+ resource = list_funct(*parent_args, name=name)[root_tag]
+ if len(resource) == 1:
+ return resource[0]
+ if len(resource) > 1:
+ msg = ("{0} {1} found with name or ID of {2}. Please try "
+ "again with UUID".format(len(resource), resource_name,
+ name))
+ raise osc_exc.CommandError(msg)
+
+ # Try by ID next
+ resource = list_funct(*parent_args, id=name)[root_tag]
+ if len(resource) == 1:
+ return resource[0]
+
+ # We didn't find what we were looking for, raise a consistent error.
+ msg = "Unable to locate {0} in {1}".format(name, resource_name)
+ raise osc_exc.CommandError(msg)
+
+
def get_resource_id(resource, resource_name, name):
"""Converts a resource name into a UUID for consumption for the API
@@ -94,30 +151,20 @@
).id
return project_id
return 'non-uuid'
+
if resource_name == 'members':
- names = [re for re in resource(name['pool_id'])['members']
- if re.get('id') == name['member_id'] or
- re.get('name') == name['member_id']]
- name = name['member_id']
- if len(names) > 1:
- msg = ("{0} {1} found with name or ID of {2}. Please try "
- "again with UUID".format(len(names), resource_name,
- name))
- raise osc_exc.CommandError(msg)
- return names[0].get('id')
+ member = _find_resource(resource, resource_name, 'members',
+ name['member_id'], parent=name['pool_id'])
+ return member.get('id')
+
if resource_name == 'l7rules':
- names = [re for re in resource(name['l7policy_id'])['rules']
- if re.get('id') == name['l7rule_id']]
- name = name['l7rule_id']
- return names[0].get('id')
- names = [re for re in resource()[resource_name]
- if re.get('name') == name or re.get('id') == name]
- if len(names) > 1:
- msg = ("{0} {1} found with name or ID of {2}. Please try "
- "again with UUID".format(len(names), resource_name,
- name))
- raise osc_exc.CommandError(msg)
- return names[0].get(primary_key)
+ l7rule = _find_resource(resource, resource_name, 'rules',
+ name['l7rule_id'],
+ parent=name['l7policy_id'])
+ return l7rule.get('id')
+
+ resource = _find_resource(resource, resource_name, resource_name, name)
+ return resource.get(primary_key)
except IndexError as e:
msg = "Unable to locate {0} in {1}".format(name, resource_name)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-octaviaclient-2.3.0/octaviaclient/tests/unit/api/test_octavia.py
new/python-octaviaclient-2.4.0/octaviaclient/tests/unit/api/test_octavia.py
--- old/python-octaviaclient-2.3.0/octaviaclient/tests/unit/api/test_octavia.py
2021-03-11 12:08:42.000000000 +0100
+++ new/python-octaviaclient-2.4.0/octaviaclient/tests/unit/api/test_octavia.py
2021-07-15 12:26:46.000000000 +0200
@@ -68,10 +68,11 @@
{'name': 'mem2'}]
}
-LIST_L7PO_RESP = [
- {'name': 'l71'},
- {'name': 'l72'},
-]
+LIST_L7PO_RESP = {
+ 'l7policies':
+ [{'name': 'l71'},
+ {'name': 'l72'}]
+}
LIST_L7RU_RESP = {
'rules':
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-octaviaclient-2.3.0/octaviaclient/tests/unit/osc/v2/test_availabilityzone.py
new/python-octaviaclient-2.4.0/octaviaclient/tests/unit/osc/v2/test_availabilityzone.py
---
old/python-octaviaclient-2.3.0/octaviaclient/tests/unit/osc/v2/test_availabilityzone.py
2021-03-11 12:08:42.000000000 +0100
+++
new/python-octaviaclient-2.4.0/octaviaclient/tests/unit/osc/v2/test_availabilityzone.py
2021-07-15 12:26:46.000000000 +0200
@@ -94,6 +94,8 @@
verifylist = [
('availabilityzone', 'unknown_availabilityzone')
]
+ self.api_mock.availabilityzone_list.return_value = {
+ 'availability_zones': []}
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.assertRaises(exceptions.CommandError, self.cmd.take_action,
parsed_args)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-octaviaclient-2.3.0/octaviaclient/tests/unit/osc/v2/test_availabilityzoneprofile.py
new/python-octaviaclient-2.4.0/octaviaclient/tests/unit/osc/v2/test_availabilityzoneprofile.py
---
old/python-octaviaclient-2.3.0/octaviaclient/tests/unit/osc/v2/test_availabilityzoneprofile.py
2021-03-11 12:08:42.000000000 +0100
+++
new/python-octaviaclient-2.4.0/octaviaclient/tests/unit/osc/v2/test_availabilityzoneprofile.py
2021-07-15 12:26:46.000000000 +0200
@@ -99,6 +99,8 @@
verifylist = [
('availabilityzoneprofile', 'unknown_availabilityzoneprofile')
]
+ self.api_mock.availabilityzoneprofile_list.return_value = {
+ 'availability_zone_profiles': []}
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.assertRaises(exceptions.CommandError, self.cmd.take_action,
parsed_args)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-octaviaclient-2.3.0/octaviaclient/tests/unit/osc/v2/test_flavor.py
new/python-octaviaclient-2.4.0/octaviaclient/tests/unit/osc/v2/test_flavor.py
---
old/python-octaviaclient-2.3.0/octaviaclient/tests/unit/osc/v2/test_flavor.py
2021-03-11 12:08:42.000000000 +0100
+++
new/python-octaviaclient-2.4.0/octaviaclient/tests/unit/osc/v2/test_flavor.py
2021-07-15 12:26:46.000000000 +0200
@@ -92,6 +92,7 @@
verifylist = [
('flavor', 'unknown_flavor')
]
+ self.api_mock.flavor_list.return_value = {'flavors': []}
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.assertRaises(exceptions.CommandError, self.cmd.take_action,
parsed_args)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-octaviaclient-2.3.0/octaviaclient/tests/unit/osc/v2/test_flavorprofile.py
new/python-octaviaclient-2.4.0/octaviaclient/tests/unit/osc/v2/test_flavorprofile.py
---
old/python-octaviaclient-2.3.0/octaviaclient/tests/unit/osc/v2/test_flavorprofile.py
2021-03-11 12:08:42.000000000 +0100
+++
new/python-octaviaclient-2.4.0/octaviaclient/tests/unit/osc/v2/test_flavorprofile.py
2021-07-15 12:26:46.000000000 +0200
@@ -94,6 +94,8 @@
verifylist = [
('flavorprofile', 'unknown_flavorprofile')
]
+ self.api_mock.flavorprofile_list.return_value = {
+ 'flavorprofiles': []}
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.assertRaises(exceptions.CommandError, self.cmd.take_action,
parsed_args)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-octaviaclient-2.3.0/octaviaclient/tests/unit/osc/v2/test_health_monitor.py
new/python-octaviaclient-2.4.0/octaviaclient/tests/unit/osc/v2/test_health_monitor.py
---
old/python-octaviaclient-2.3.0/octaviaclient/tests/unit/osc/v2/test_health_monitor.py
2021-03-11 12:08:42.000000000 +0100
+++
new/python-octaviaclient-2.4.0/octaviaclient/tests/unit/osc/v2/test_health_monitor.py
2021-07-15 12:26:46.000000000 +0200
@@ -157,6 +157,8 @@
verifylist = [
('health_monitor', 'unknown_hm')
]
+ self.api_mock.health_monitor_list.return_value = {
+ 'healthmonitors': []}
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.assertRaises(exceptions.CommandError, self.cmd.take_action,
parsed_args)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-octaviaclient-2.3.0/octaviaclient/tests/unit/osc/v2/test_l7policy.py
new/python-octaviaclient-2.4.0/octaviaclient/tests/unit/osc/v2/test_l7policy.py
---
old/python-octaviaclient-2.3.0/octaviaclient/tests/unit/osc/v2/test_l7policy.py
2021-03-11 12:08:42.000000000 +0100
+++
new/python-octaviaclient-2.4.0/octaviaclient/tests/unit/osc/v2/test_l7policy.py
2021-07-15 12:26:46.000000000 +0200
@@ -173,6 +173,7 @@
verifylist = [
('l7policy', 'unknown_policy')
]
+ self.api_mock.l7policy_list.return_value = {'l7policies': []}
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.assertRaises(exceptions.CommandError, self.cmd.take_action,
parsed_args)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-octaviaclient-2.3.0/octaviaclient/tests/unit/osc/v2/test_listener.py
new/python-octaviaclient-2.4.0/octaviaclient/tests/unit/osc/v2/test_listener.py
---
old/python-octaviaclient-2.3.0/octaviaclient/tests/unit/osc/v2/test_listener.py
2021-03-11 12:08:42.000000000 +0100
+++
new/python-octaviaclient-2.4.0/octaviaclient/tests/unit/osc/v2/test_listener.py
2021-07-15 12:26:46.000000000 +0200
@@ -162,6 +162,7 @@
verifylist = [
('listener', 'unknown_lb')
]
+ self.api_mock.listener_list.return_value = {'listeners': []}
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.assertRaises(exceptions.CommandError, self.cmd.take_action,
parsed_args)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-octaviaclient-2.3.0/octaviaclient/tests/unit/osc/v2/test_load_balancer.py
new/python-octaviaclient-2.4.0/octaviaclient/tests/unit/osc/v2/test_load_balancer.py
---
old/python-octaviaclient-2.3.0/octaviaclient/tests/unit/osc/v2/test_load_balancer.py
2021-03-11 12:08:42.000000000 +0100
+++
new/python-octaviaclient-2.4.0/octaviaclient/tests/unit/osc/v2/test_load_balancer.py
2021-07-15 12:26:46.000000000 +0200
@@ -305,6 +305,8 @@
verifylist = [
('loadbalancer', 'unknown_lb')
]
+ self.api_mock.load_balancer_list.return_value = {
+ 'loadbalancers': []}
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.assertRaises(exceptions.CommandError, self.cmd.take_action,
parsed_args)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-octaviaclient-2.3.0/octaviaclient/tests/unit/osc/v2/test_pool.py
new/python-octaviaclient-2.4.0/octaviaclient/tests/unit/osc/v2/test_pool.py
--- old/python-octaviaclient-2.3.0/octaviaclient/tests/unit/osc/v2/test_pool.py
2021-03-11 12:08:42.000000000 +0100
+++ new/python-octaviaclient-2.4.0/octaviaclient/tests/unit/osc/v2/test_pool.py
2021-07-15 12:26:46.000000000 +0200
@@ -155,6 +155,7 @@
verifylist = [
('pool', 'unknown_pool')
]
+ self.api_mock.pool_list.return_value = {'pools': []}
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.assertRaises(exceptions.CommandError, self.cmd.take_action,
parsed_args)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-octaviaclient-2.3.0/python_octaviaclient.egg-info/PKG-INFO
new/python-octaviaclient-2.4.0/python_octaviaclient.egg-info/PKG-INFO
--- old/python-octaviaclient-2.3.0/python_octaviaclient.egg-info/PKG-INFO
2021-03-11 12:09:14.000000000 +0100
+++ new/python-octaviaclient-2.4.0/python_octaviaclient.egg-info/PKG-INFO
2021-07-15 12:27:16.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.2
Name: python-octaviaclient
-Version: 2.3.0
+Version: 2.4.0
Summary: Octavia client for OpenStack Load Balancing
Home-page: https://docs.openstack.org/python-octaviaclient/latest/
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-octaviaclient-2.3.0/python_octaviaclient.egg-info/SOURCES.txt
new/python-octaviaclient-2.4.0/python_octaviaclient.egg-info/SOURCES.txt
--- old/python-octaviaclient-2.3.0/python_octaviaclient.egg-info/SOURCES.txt
2021-03-11 12:09:14.000000000 +0100
+++ new/python-octaviaclient-2.4.0/python_octaviaclient.egg-info/SOURCES.txt
2021-07-15 12:27:17.000000000 +0200
@@ -95,6 +95,7 @@
releasenotes/notes/Add-support-for-UDP-5476caa65b1253a6.yaml
releasenotes/notes/Add-unset-commands-15490df414a70df0.yaml
releasenotes/notes/Client-to-request-JSON-responses-8d942dafca785c70.yaml
+releasenotes/notes/Improve-client-performance-when-using-a-name-instead-of-ID-51a6637050386a90.yaml
releasenotes/notes/add-ability-set-listener-cipher-list-fe379d0d0821ed42.yaml
releasenotes/notes/add-ability-set-pool-cipher-list-70128f983506fbdb.yaml
releasenotes/notes/add-alpn-support-listeners-6508704b5c8944d2.yaml
@@ -126,6 +127,7 @@
releasenotes/notes/amphora-list-long-option-55390b5abef5b82e.yaml
releasenotes/notes/drop-python-2-7-7b427838d72ef248.yaml
releasenotes/notes/exposed-timeouts-eb29f55de5e56261.yaml
+releasenotes/notes/fix-cli-pagination-792ad8cd386eb0e7.yaml
releasenotes/notes/improve-error-messages-for-invalid-calls-bc9eb3d18d3e4fdf.yaml
releasenotes/notes/initial-list-command-90c9fa39fc10540e.yaml
releasenotes/notes/list-l7policies-by-listener-a11322c8e03a11e9.yaml
@@ -142,6 +144,7 @@
releasenotes/source/unreleased.rst
releasenotes/source/ussuri.rst
releasenotes/source/victoria.rst
+releasenotes/source/wallaby.rst
releasenotes/source/_static/.placeholder
releasenotes/source/_templates/.placeholder
tools/coding-checks.sh
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-octaviaclient-2.3.0/python_octaviaclient.egg-info/pbr.json
new/python-octaviaclient-2.4.0/python_octaviaclient.egg-info/pbr.json
--- old/python-octaviaclient-2.3.0/python_octaviaclient.egg-info/pbr.json
2021-03-11 12:09:14.000000000 +0100
+++ new/python-octaviaclient-2.4.0/python_octaviaclient.egg-info/pbr.json
2021-07-15 12:27:16.000000000 +0200
@@ -1 +1 @@
-{"git_version": "e7922ac", "is_release": true}
\ No newline at end of file
+{"git_version": "6ef3eed", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-octaviaclient-2.3.0/releasenotes/notes/Improve-client-performance-when-using-a-name-instead-of-ID-51a6637050386a90.yaml
new/python-octaviaclient-2.4.0/releasenotes/notes/Improve-client-performance-when-using-a-name-instead-of-ID-51a6637050386a90.yaml
---
old/python-octaviaclient-2.3.0/releasenotes/notes/Improve-client-performance-when-using-a-name-instead-of-ID-51a6637050386a90.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/python-octaviaclient-2.4.0/releasenotes/notes/Improve-client-performance-when-using-a-name-instead-of-ID-51a6637050386a90.yaml
2021-07-15 12:26:46.000000000 +0200
@@ -0,0 +1,5 @@
+---
+fixes:
+ - |
+ Improved the client performance when using a name instead of the
+ resource ID.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-octaviaclient-2.3.0/releasenotes/notes/fix-cli-pagination-792ad8cd386eb0e7.yaml
new/python-octaviaclient-2.4.0/releasenotes/notes/fix-cli-pagination-792ad8cd386eb0e7.yaml
---
old/python-octaviaclient-2.3.0/releasenotes/notes/fix-cli-pagination-792ad8cd386eb0e7.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/python-octaviaclient-2.4.0/releasenotes/notes/fix-cli-pagination-792ad8cd386eb0e7.yaml
2021-07-15 12:26:46.000000000 +0200
@@ -0,0 +1,6 @@
+---
+fixes:
+ - |
+ Fixed some issues when the number of Octavia resources exceeded the
+ 'pagination_max_limit' parameter in Octavia API. The list calls now support
+ pagination.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-octaviaclient-2.3.0/releasenotes/source/index.rst
new/python-octaviaclient-2.4.0/releasenotes/source/index.rst
--- old/python-octaviaclient-2.3.0/releasenotes/source/index.rst
2021-03-11 12:08:42.000000000 +0100
+++ new/python-octaviaclient-2.4.0/releasenotes/source/index.rst
2021-07-15 12:26:46.000000000 +0200
@@ -6,6 +6,7 @@
:maxdepth: 1
unreleased
+ wallaby
victoria
ussuri
train
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-octaviaclient-2.3.0/releasenotes/source/wallaby.rst
new/python-octaviaclient-2.4.0/releasenotes/source/wallaby.rst
--- old/python-octaviaclient-2.3.0/releasenotes/source/wallaby.rst
1970-01-01 01:00:00.000000000 +0100
+++ new/python-octaviaclient-2.4.0/releasenotes/source/wallaby.rst
2021-07-15 12:26:46.000000000 +0200
@@ -0,0 +1,6 @@
+============================
+Wallaby Series Release Notes
+============================
+
+.. release-notes::
+ :branch: stable/wallaby
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-octaviaclient-2.3.0/setup.cfg
new/python-octaviaclient-2.4.0/setup.cfg
--- old/python-octaviaclient-2.3.0/setup.cfg 2021-03-11 12:09:14.972966200
+0100
+++ new/python-octaviaclient-2.4.0/setup.cfg 2021-07-15 12:27:17.029564100
+0200
@@ -1,12 +1,12 @@
[metadata]
name = python-octaviaclient
summary = Octavia client for OpenStack Load Balancing
-description-file =
+description_file =
README.rst
author = OpenStack
-author-email = [email protected]
-home-page = https://docs.openstack.org/python-octaviaclient/latest/
-python-requires = >=3.6
+author_email = [email protected]
+home_page = https://docs.openstack.org/python-octaviaclient/latest/
+python_requires = >=3.6
classifier =
Environment :: OpenStack
Intended Audience :: Information Technology
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-octaviaclient-2.3.0/zuul.d/projects.yaml
new/python-octaviaclient-2.4.0/zuul.d/projects.yaml
--- old/python-octaviaclient-2.3.0/zuul.d/projects.yaml 2021-03-11
12:08:42.000000000 +0100
+++ new/python-octaviaclient-2.4.0/zuul.d/projects.yaml 2021-07-15
12:26:46.000000000 +0200
@@ -3,7 +3,7 @@
- check-requirements
- openstack-cover-jobs
- openstack-lower-constraints-jobs
- - openstack-python3-wallaby-jobs
+ - openstack-python3-xena-jobs
- openstackclient-plugin-jobs
- publish-openstack-docs-pti
- release-notes-jobs-python3