Hello community,
here is the log from the commit of package python-neutronclient for
openSUSE:Factory checked in at 2020-06-05 20:12:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-neutronclient (Old)
and /work/SRC/openSUSE:Factory/.python-neutronclient.new.3606 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-neutronclient"
Fri Jun 5 20:12:27 2020 rev:24 rq:803576 version:7.1.1
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-neutronclient/python-neutronclient.changes
2020-03-24 22:33:17.133116913 +0100
+++
/work/SRC/openSUSE:Factory/.python-neutronclient.new.3606/python-neutronclient.changes
2020-06-05 20:14:46.754663619 +0200
@@ -1,0 +2,20 @@
+Tue May 12 09:56:11 UTC 2020 - [email protected]
+
+- update to version 7.1.1
+ - Remove 'public' and 'private' parameters in fwaas_v2
+ - Switch to Ussuri jobs
+ - Fix pep8 errors with hacking 2.0.0
+ - Drop python 2.7 support
+ - Avoid py36 error when printing unicode chars in a stream
+ - Drop python3 hack for XML serializer
+ - fix a typo
+ - PDF documentation build
+ - Add support for port bindings
+ - Cleanup py27 support
+ - Update master for stable/train
+ - Drop lib-forward-testing
+ - Convert exception to string before passing it in
+ - Move grenade neutron-lib job to py3 and in python-neutronclient repo
+ - Replace 'bgp speaker show dragents' with 'bgp dragent list'
+
+-------------------------------------------------------------------
Old:
----
python-neutronclient-6.14.0.tar.gz
New:
----
python-neutronclient-7.1.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-neutronclient.spec ++++++
--- /var/tmp/diff_new_pack.N9mNtI/_old 2020-06-05 20:14:48.650670595 +0200
+++ /var/tmp/diff_new_pack.N9mNtI/_new 2020-06-05 20:14:48.654670610 +0200
@@ -17,13 +17,13 @@
Name: python-neutronclient
-Version: 6.14.0
+Version: 7.1.1
Release: 0
Summary: Python API and CLI for OpenStack Neutron
License: Apache-2.0
Group: Development/Languages/Python
URL: https://launchpad.net/%{name}
-Source0:
https://files.pythonhosted.org/packages/source/p/python-neutronclient/python-neutronclient-6.14.0.tar.gz
+Source0:
https://files.pythonhosted.org/packages/source/p/python-neutronclient/python-neutronclient-7.1.1.tar.gz
BuildRequires: openstack-macros
BuildRequires: python3-cliff >= 2.8.0
BuildRequires: python3-fixtures
@@ -100,8 +100,8 @@
%{py3_build}
# Build HTML docs and man page
-PBR_VERSION=6.14.0 %sphinx_build -b html doc/source doc/build/html
-PBR_VERSION=6.14.0 %sphinx_build -b man doc/source doc/build/man
+PBR_VERSION=7.1.1 %sphinx_build -b html doc/source doc/build/html
+PBR_VERSION=7.1.1 %sphinx_build -b man doc/source doc/build/man
rm -r doc/build/html/.{doctrees,buildinfo}
%install
++++++ _service ++++++
--- /var/tmp/diff_new_pack.N9mNtI/_old 2020-06-05 20:14:48.682670713 +0200
+++ /var/tmp/diff_new_pack.N9mNtI/_new 2020-06-05 20:14:48.682670713 +0200
@@ -1,8 +1,8 @@
<services>
<service mode="disabled" name="renderspec">
- <param
name="input-template">https://raw.githubusercontent.com/openstack/rpm-packaging/stable/train/openstack/python-neutronclient/python-neutronclient.spec.j2</param>
+ <param
name="input-template">https://opendev.org/openstack/rpm-packaging/raw/branch/stable/ussuri/openstack/python-neutronclient/python-neutronclient.spec.j2</param>
<param name="output-name">python-neutronclient.spec</param>
- <param
name="requirements">https://raw.githubusercontent.com/openstack/python-neutronclient/stable/train/requirements.txt</param>
+ <param
name="requirements">https://opendev.org/openstack/python-neutronclient/raw/branch/stable/ussuri/requirements.txt</param>
<param name="changelog-email">[email protected]</param>
<param name="changelog-provider">gh,openstack,python-neutronclient</param>
</service>
++++++ python-neutronclient-6.14.0.tar.gz -> python-neutronclient-7.1.1.tar.gz
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-neutronclient-6.14.0/.zuul.yaml
new/python-neutronclient-7.1.1/.zuul.yaml
--- old/python-neutronclient-6.14.0/.zuul.yaml 2019-09-13 19:00:21.000000000
+0200
+++ new/python-neutronclient-7.1.1/.zuul.yaml 2020-04-08 14:05:32.000000000
+0200
@@ -2,11 +2,9 @@
templates:
- openstack-cover-jobs
- openstack-lower-constraints-jobs
- - openstack-python-jobs
- - openstack-python3-train-jobs
+ - openstack-python3-ussuri-jobs
- publish-openstack-docs-pti
- check-requirements
- - lib-forward-testing
- lib-forward-testing-python3
- release-notes-jobs-python3
- openstackclient-plugin-jobs
@@ -18,7 +16,7 @@
- neutronclient-functional
experimental:
jobs:
- - legacy-grenade-dsvm-neutron-libs:
+ - neutron-lib-grenade-dsvm:
irrelevant-files:
- ^(test-|)requirements.txt$
- ^setup.cfg$
@@ -45,3 +43,29 @@
LIBS_FROM_GIT: python-neutronclient
devstack_plugins:
neutron-vpnaas: https://opendev.org/openstack/neutron-vpnaas
+
+- job:
+ name: neutron-lib-grenade-dsvm
+ # Old name: legacy-grenade-dsvm-neutron-libs
+ parent: legacy-dsvm-base
+ run: playbooks/legacy/grenade-dsvm-neutron-libs/run.yaml
+ post-run: playbooks/legacy/grenade-dsvm-neutron-libs/post.yaml
+ timeout: 10800
+ required-projects:
+ - openstack/grenade
+ - openstack/devstack-gate
+ - openstack/keystoneauth
+ - openstack/neutron
+ - openstack/neutron-lib
+ - openstack/os-client-config
+ - openstack/python-cinderclient
+ - openstack/python-glanceclient
+ - openstack/python-ironicclient
+ - openstack/python-keystoneclient
+ - openstack/python-neutronclient
+ - openstack/python-novaclient
+ # This is py3 version for ussuri onwards rest all branch needs to be py2
+ # version which is present in openstack-zuul-jobs.
+ # We need to take care of this branch variant and python version while
+ # migrating these jobs to zuulv3.
+ branches: ^(?!(stable/(ocata|pike|queens|rocky|stein|train))).*$
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-neutronclient-6.14.0/AUTHORS
new/python-neutronclient-7.1.1/AUTHORS
--- old/python-neutronclient-6.14.0/AUTHORS 2019-09-13 19:01:12.000000000
+0200
+++ new/python-neutronclient-7.1.1/AUTHORS 2020-04-08 14:06:45.000000000
+0200
@@ -115,6 +115,7 @@
Jason Zhang <[email protected]>
Jaspinder <[email protected]>
Jaume Devesa <[email protected]>
+Jay Faulkner <[email protected]>
Jens Harbott <[email protected]>
Jeremy Liu <[email protected]>
Jeremy Stanley <[email protected]>
@@ -185,6 +186,7 @@
Robert Collins <[email protected]>
Robert Li <[email protected]>
Rodion Tikunov <[email protected]>
+Rodolfo Alonso Hernandez <[email protected]>
Rodolfo Alonso Hernandez <[email protected]>
Roman Podolyaka <[email protected]>
Rudrajit Tapadar <[email protected]>
@@ -208,6 +210,7 @@
Stanislav Kudriashev <[email protected]>
Stanislaw Pitucha <[email protected]>
Stephen Balukoff <[email protected]>
+Stephen Finucane <[email protected]>
Stephen Ma <[email protected]>
Steve Martinelli <[email protected]>
Sudhakar Babu Gariganti <[email protected]>
@@ -281,6 +284,7 @@
ji-xuepeng <[email protected]>
jiasirui <[email protected]>
jichenjc <[email protected]>
+kangyufei <[email protected]>
karthik s <[email protected]>
kavithahr <[email protected]>
lilintan <[email protected]>
@@ -288,6 +292,7 @@
liu-sheng <[email protected]>
liujingzte <[email protected]>
liuqing <[email protected]>
+liushuobj <[email protected]>
liuweicai <[email protected]>
llg8212 <[email protected]>
mathieu-rohon <[email protected]>
@@ -324,6 +329,7 @@
yong sheng gong <[email protected]>
yuyangbj <[email protected]>
zengfagao <[email protected]>
+zhanghao <[email protected]>
zhanghao2 <[email protected]>
zhaojingjing0067370 <[email protected]>
zheng yin <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-neutronclient-6.14.0/ChangeLog
new/python-neutronclient-7.1.1/ChangeLog
--- old/python-neutronclient-6.14.0/ChangeLog 2019-09-13 19:01:12.000000000
+0200
+++ new/python-neutronclient-7.1.1/ChangeLog 2020-04-08 14:06:45.000000000
+0200
@@ -1,10 +1,37 @@
CHANGES
=======
+7.1.1
+-----
+
+* Cleanup py27 support
+
+7.1.0
+-----
+
+* Replace 'bgp speaker show dragents' with 'bgp dragent list'
+* Drop lib-forward-testing
+* Add support for port bindings
+
+7.0.0
+-----
+
+* Convert exception to string before passing it in
+* Avoid py36 error when printing unicode chars in a stream
+* fix a typo
+* Fix pep8 errors with hacking 2.0.0
+* Drop python 2.7 support
+* Drop python3 hack for XML serializer
+* Move grenade neutron-lib job to py3 and in python-neutronclient repo
+* Switch to Ussuri jobs
+* Remove 'public' and 'private' parameters in fwaas\_v2
+* Update master for stable/train
+
6.14.0
------
* Add router add/remove extra routes operations
+* PDF documentation build
* Improve help text
* Fix string in header
* Use secure sha256 instead of sha1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-neutronclient-6.14.0/PKG-INFO
new/python-neutronclient-7.1.1/PKG-INFO
--- old/python-neutronclient-6.14.0/PKG-INFO 2019-09-13 19:01:12.000000000
+0200
+++ new/python-neutronclient-7.1.1/PKG-INFO 2020-04-08 14:06:46.000000000
+0200
@@ -1,6 +1,6 @@
-Metadata-Version: 1.1
+Metadata-Version: 1.2
Name: python-neutronclient
-Version: 6.14.0
+Version: 7.1.1
Summary: CLI and Client Library for OpenStack Networking
Home-page: https://docs.openstack.org/python-neutronclient/latest/
Author: OpenStack Networking Project
@@ -53,8 +53,9 @@
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: Implementation :: CPython
+Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
+Requires-Python: >=3.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-neutronclient-6.14.0/doc/requirements.txt
new/python-neutronclient-7.1.1/doc/requirements.txt
--- old/python-neutronclient-6.14.0/doc/requirements.txt 2019-09-13
19:00:21.000000000 +0200
+++ new/python-neutronclient-7.1.1/doc/requirements.txt 2020-04-08
14:05:32.000000000 +0200
@@ -1,7 +1,6 @@
# The order of packages is significant, because pip processes them in the order
# of appearance. Changing the order has an impact on the overall integration
# process, which may cause wedges in the gate later.
-openstackdocstheme>=1.18.1 # Apache-2.0
+openstackdocstheme>=1.32.1 # Apache-2.0
reno>=2.5.0 # Apache-2.0
-sphinx!=1.6.6,!=1.6.7,>=1.6.2,<2.0.0;python_version=='2.7' # BSD
-sphinx!=1.6.6,!=1.6.7,>=1.6.2;python_version>='3.4' # BSD
+sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-neutronclient-6.14.0/doc/source/conf.py
new/python-neutronclient-7.1.1/doc/source/conf.py
--- old/python-neutronclient-6.14.0/doc/source/conf.py 2019-09-13
19:00:21.000000000 +0200
+++ new/python-neutronclient-7.1.1/doc/source/conf.py 2020-04-08
14:05:32.000000000 +0200
@@ -16,7 +16,6 @@
repository_name = 'openstack/python-neutronclient'
bug_project = 'python-neutronclient'
bug_tag = 'doc'
-html_last_updated_fmt = '%Y-%m-%d %H:%M'
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
@@ -49,6 +48,25 @@
# Output file base name for HTML help builder.
htmlhelp_basename = 'neutronclientdoc'
+# -- Options for LaTeX output ------------------------------------------------
+
+latex_documents = [
+ ('index', 'doc-python-neutronclient.tex',
+ u'python-neutronclient Documentation',
+ u'Neutron Contributors', 'manual'),
+]
+
+# Disable usage of xindy https://bugzilla.redhat.com/show_bug.cgi?id=1643664
+latex_use_xindy = False
+
+latex_domain_indices = False
+
+latex_elements = {
+ 'makeindex': '',
+ 'printindex': '',
+ 'preamble': r'\setcounter{tocdepth}{5}',
+}
+
# -- Options for cliff.sphinxext plugin ---------------------------------------
autoprogram_cliff_application = 'openstack'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-neutronclient-6.14.0/lower-constraints.txt
new/python-neutronclient-7.1.1/lower-constraints.txt
--- old/python-neutronclient-6.14.0/lower-constraints.txt 2019-09-13
19:00:21.000000000 +0200
+++ new/python-neutronclient-7.1.1/lower-constraints.txt 2020-04-08
14:05:32.000000000 +0200
@@ -46,7 +46,7 @@
munch==2.1.0
netaddr==0.7.18
netifaces==0.10.4
-openstackdocstheme==1.18.1
+openstackdocstheme==1.32.1
openstacksdk==0.11.2
os-client-config==1.28.0
os-service-types==1.2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-neutronclient-6.14.0/neutronclient/client.py
new/python-neutronclient-7.1.1/neutronclient/client.py
--- old/python-neutronclient-6.14.0/neutronclient/client.py 2019-09-13
19:00:21.000000000 +0200
+++ new/python-neutronclient-7.1.1/neutronclient/client.py 2020-04-08
14:05:32.000000000 +0200
@@ -104,13 +104,13 @@
try:
resp, body = self.request(*args, **kargs)
except requests.exceptions.SSLError as e:
- raise exceptions.SslCertificateValidationError(reason=e)
+ raise exceptions.SslCertificateValidationError(reason=str(e))
except Exception as e:
# Wrap the low-level connection error (socket timeout, redirect
# limit, decompression error, etc) into our custom high-level
# connection exception (it is excepted in the upper layers of code)
_logger.debug("throwing ConnectionFailed : %s", e)
- raise exceptions.ConnectionFailed(reason=e)
+ raise exceptions.ConnectionFailed(reason=str(e))
utils.http_log_resp(_logger, resp, body)
# log request-id for each api call
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-neutronclient-6.14.0/neutronclient/common/serializer.py
new/python-neutronclient-7.1.1/neutronclient/common/serializer.py
--- old/python-neutronclient-6.14.0/neutronclient/common/serializer.py
2019-09-13 19:00:21.000000000 +0200
+++ new/python-neutronclient-7.1.1/neutronclient/common/serializer.py
2020-04-08 14:05:32.000000000 +0200
@@ -20,10 +20,6 @@
from neutronclient.common import exceptions as exception
-if six.PY3:
- long = int
-
-
class ActionDispatcher(object):
"""Maps method name to local methods through action name."""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-neutronclient-6.14.0/neutronclient/osc/v2/dynamic_routing/bgp_dragent.py
new/python-neutronclient-7.1.1/neutronclient/osc/v2/dynamic_routing/bgp_dragent.py
---
old/python-neutronclient-6.14.0/neutronclient/osc/v2/dynamic_routing/bgp_dragent.py
2019-09-13 19:00:21.000000000 +0200
+++
new/python-neutronclient-7.1.1/neutronclient/osc/v2/dynamic_routing/bgp_dragent.py
2020-04-08 14:05:32.000000000 +0200
@@ -70,18 +70,25 @@
class ListDRAgentsHostingBgpSpeaker(command.Lister):
- """List dynamic routing agents hosting a BGP speaker"""
+ """(Deprecated) List dynamic routing agents hosting a BGP speaker
+
+ (Use "bgp dragent list" instead)
+ """
resource = 'agent'
list_columns = ['id', 'host', 'admin_state_up', 'alive']
unknown_parts_flag = False
def get_parser(self, prog_name):
+ self.log.warning("The 'openstack bgp speaker show dragents' CLI is "
+ "deprecated and will be removed in the future. Use "
+ "'openstack bgp dragent list' CLI instead.")
parser = super(ListDRAgentsHostingBgpSpeaker,
self).get_parser(prog_name)
parser.add_argument('bgp_speaker',
metavar='<bgp-speaker>',
- help=_("ID or name of the BGP speaker"))
+ help=_("List dynamic routing agents hosting a "
+ "BGP speaker (name or ID)"))
return parser
def take_action(self, parsed_args):
@@ -94,6 +101,42 @@
headers = ('ID', 'Host', 'State', 'Alive')
columns = ('id', 'host', 'admin_state_up', 'alive')
return (headers,
+ (utils.get_dict_properties(
+ s, columns, formatters=_formatters,
+ ) for s in data['agents']))
+
+
+class ListDRAgent(command.Lister):
+ """List dynamic routing agents"""
+
+ resource = 'agent'
+ list_columns = ['id', 'host', 'admin_state_up', 'alive']
+ unknown_parts_flag = False
+
+ def get_parser(self, prog_name):
+ parser = super(ListDRAgent,
+ self).get_parser(prog_name)
+ parser.add_argument('--bgp-speaker',
+ metavar='<bgp-speaker>',
+ help=_("List dynamic routing agents hosting a "
+ "BGP speaker (name or ID)"))
+ return parser
+
+ def take_action(self, parsed_args):
+ search_opts = {}
+ client = self.app.client_manager.neutronclient
+ if parsed_args.bgp_speaker is not None:
+ search_opts = {}
+ speaker_id = client.find_resource(constants.BGP_SPEAKER,
+ parsed_args.bgp_speaker)['id']
+ search_opts['bgp_speaker'] = speaker_id
+ data = client.list_dragents_hosting_bgp_speaker(**search_opts)
+ else:
+ attrs = {'agent_type': 'BGP dynamic routing agent'}
+ data = client.list_agents(**attrs)
+ headers = ('ID', 'Host', 'State', 'Alive')
+ columns = ('id', 'host', 'admin_state_up', 'alive')
+ return (headers,
(utils.get_dict_properties(
s, columns, formatters=_formatters,
) for s in data['agents']))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-neutronclient-6.14.0/neutronclient/osc/v2/fwaas/firewallgroup.py
new/python-neutronclient-7.1.1/neutronclient/osc/v2/fwaas/firewallgroup.py
--- old/python-neutronclient-6.14.0/neutronclient/osc/v2/fwaas/firewallgroup.py
2019-09-13 19:00:21.000000000 +0200
+++ new/python-neutronclient-7.1.1/neutronclient/osc/v2/fwaas/firewallgroup.py
2020-04-08 14:05:32.000000000 +0200
@@ -77,19 +77,6 @@
action='store_true',
help=_('Detach egress firewall policy from the firewall group'))
shared_group = parser.add_mutually_exclusive_group()
- shared_group.add_argument(
- '--public',
- action='store_true',
- help=_('Make the firewall group public, which allows it to be '
- 'used in all projects (as opposed to the default, '
- 'which is to restrict its use to the current project). '
- 'This option is deprecated and would be removed in R release.'))
- shared_group.add_argument(
- '--private',
- action='store_true',
- help=_('Restrict use of the firewall group to the '
- 'current project. This option is deprecated '
- 'and would be removed in R release.'))
shared_group.add_argument(
'--share',
@@ -147,9 +134,9 @@
cmd_resource=const.CMD_FWP)['id']
elif parsed_args.no_egress_firewall_policy:
attrs['egress_firewall_policy_id'] = None
- if parsed_args.share or parsed_args.public:
+ if parsed_args.share:
attrs['shared'] = True
- if parsed_args.no_share or parsed_args.private:
+ if parsed_args.no_share:
attrs['shared'] = False
if parsed_args.enable:
attrs['admin_state_up'] = True
@@ -350,14 +337,6 @@
help=_('Egress firewall policy (name or ID) to delete'))
shared_group = parser.add_mutually_exclusive_group()
shared_group.add_argument(
- '--public',
- action='store_true',
- help=_('Make the firewall group public, which allows it to be '
- 'used in all projects (as opposed to the default, '
- 'which is to restrict its use to the current project). '
- 'This option is deprecated and would be removed in R'
- ' release.'))
- shared_group.add_argument(
'--share',
action='store_true',
help=_('Restrict use of the firewall group to the '
@@ -375,7 +354,7 @@
attrs['ingress_firewall_policy_id'] = None
if parsed_args.egress_firewall_policy:
attrs['egress_firewall_policy_id'] = None
- if parsed_args.share or parsed_args.public:
+ if parsed_args.share:
attrs['shared'] = False
if parsed_args.enable:
attrs['admin_state_up'] = False
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-neutronclient-6.14.0/neutronclient/osc/v2/fwaas/firewallpolicy.py
new/python-neutronclient-7.1.1/neutronclient/osc/v2/fwaas/firewallpolicy.py
---
old/python-neutronclient-6.14.0/neutronclient/osc/v2/fwaas/firewallpolicy.py
2019-09-13 19:00:21.000000000 +0200
+++ new/python-neutronclient-7.1.1/neutronclient/osc/v2/fwaas/firewallpolicy.py
2020-04-08 14:05:32.000000000 +0200
@@ -80,9 +80,9 @@
attrs['name'] = str(parsed_args.name)
if parsed_args.description:
attrs['description'] = str(parsed_args.description)
- if parsed_args.share or parsed_args.public:
+ if parsed_args.share:
attrs['shared'] = True
- if parsed_args.no_share or parsed_args.private:
+ if parsed_args.no_share:
attrs['shared'] = False
return attrs
@@ -108,19 +108,6 @@
'(by default, it is restricted to be used by the '
'current project).'))
shared_group.add_argument(
- '--public',
- action='store_true',
- help=_('Make the firewall policy public, which allows it to be '
- 'used in all projects (as opposed to the default, which '
- 'is to restrict its use to the current project.) This '
- 'option is deprecated and would be removed in R release.'))
- shared_group.add_argument(
- '--private',
- action='store_true',
- help=_(
- 'Restrict use of the firewall policy to the current project.'
- 'This option is deprecated and would be removed in R release.'))
- shared_group.add_argument(
'--no-share',
action='store_true',
help=_('Restrict use of the firewall policy to the '
@@ -403,12 +390,6 @@
action='store_true',
help=_('Restrict use of the firewall policy to the '
'current project'))
- parser.add_argument(
- '--public',
- action='store_true',
- help=_('Restrict use of the firewall policy to the '
- 'current project. This option is deprecated '
- 'and would be removed in R release.'))
return parser
def _get_attrs(self, client_manager, parsed_args):
@@ -428,7 +409,7 @@
attrs[const.FWRS] = []
if parsed_args.audited:
attrs['audited'] = False
- if parsed_args.share or parsed_args.public:
+ if parsed_args.share:
attrs['shared'] = False
return attrs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-neutronclient-6.14.0/neutronclient/osc/v2/fwaas/firewallrule.py
new/python-neutronclient-7.1.1/neutronclient/osc/v2/fwaas/firewallrule.py
--- old/python-neutronclient-6.14.0/neutronclient/osc/v2/fwaas/firewallrule.py
2019-09-13 19:00:21.000000000 +0200
+++ new/python-neutronclient-7.1.1/neutronclient/osc/v2/fwaas/firewallrule.py
2020-04-08 14:05:32.000000000 +0200
@@ -118,19 +118,6 @@
help=_('Detach destination port number or range'))
shared_group = parser.add_mutually_exclusive_group()
shared_group.add_argument(
- '--public',
- action='store_true',
- help=_('Make the firewall policy public, which allows it to be '
- 'used in all projects (as opposed to the default, '
- 'which is to restrict its use to the current project). '
- 'This option is deprecated and would be removed in R Release'))
- shared_group.add_argument(
- '--private',
- action='store_true',
- help=_(
- 'Restrict use of the firewall rule to the current project.'
- 'This option is deprecated and would be removed in R release.'))
- shared_group.add_argument(
'--share',
action='store_true',
help=_('Share the firewall rule to be used in all projects '
@@ -212,9 +199,9 @@
attrs['enabled'] = True
if parsed_args.disable_rule:
attrs['enabled'] = False
- if parsed_args.share or parsed_args.public:
+ if parsed_args.share:
attrs['shared'] = True
- if parsed_args.no_share or parsed_args.private:
+ if parsed_args.no_share:
attrs['shared'] = False
if parsed_args.source_firewall_group:
attrs['source_firewall_group_id'] = client.find_resource(
@@ -417,12 +404,6 @@
action='store_true',
help=_('Restrict use of the firewall rule to the current project'))
parser.add_argument(
- '--public',
- action='store_true',
- help=_('Restrict use of the firewall rule to the current project. '
- 'This option is deprecated and would be removed in '
- 'R Release.'))
- parser.add_argument(
'--enable-rule',
action='store_true',
help=_('Disable this rule'))
@@ -448,7 +429,7 @@
attrs['destination_ip_address'] = None
if parsed_args.destination_port:
attrs['destination_port'] = None
- if parsed_args.share or parsed_args.public:
+ if parsed_args.share:
attrs['shared'] = False
if parsed_args.enable_rule:
attrs['enabled'] = False
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-neutronclient-6.14.0/neutronclient/tests/unit/osc/v2/dynamic_routing/fakes.py
new/python-neutronclient-7.1.1/neutronclient/tests/unit/osc/v2/dynamic_routing/fakes.py
---
old/python-neutronclient-6.14.0/neutronclient/tests/unit/osc/v2/dynamic_routing/fakes.py
2019-09-13 19:00:21.000000000 +0200
+++
new/python-neutronclient-7.1.1/neutronclient/tests/unit/osc/v2/dynamic_routing/fakes.py
2020-04-08 14:05:32.000000000 +0200
@@ -57,7 +57,7 @@
"""
bgp_speakers = []
- for i in range(0, count):
+ for i in range(count):
bgp_speaker = FakeBgpSpeaker.create_one_bgp_speaker(attrs)
bgp_speakers.append(bgp_speaker)
@@ -89,8 +89,42 @@
def create_bgp_peers(attrs=None, count=1):
"""Create one or multiple fake bgp peers."""
bgp_peers = []
- for i in range(0, count):
+ for i in range(count):
bgp_peer = FakeBgpPeer.create_one_bgp_peer(attrs)
bgp_peers.append(bgp_peer)
return {'bgp_peers': bgp_peers}
+
+
+class FakeDRAgent(object):
+ """Fake one or more dynamic routing agents."""
+
+ @staticmethod
+ def create_one_dragent(attrs=None):
+ attrs = attrs or {}
+ # Set default attributes.
+ dragent_attrs = {
+ 'binary': 'neutron-bgp-dragent',
+ 'admin_state_up': True,
+ 'alive': True,
+ 'topic': 'bgp_dragent',
+ 'host': 'network-' + uuid.uuid4().hex,
+ 'name': 'bgp-dragent-' + uuid.uuid4().hex,
+ 'agent_type': 'BGP dynamic routing agent',
+ 'id': uuid.uuid4().hex,
+ }
+
+ # Overwrite default attributes.
+ dragent_attrs.update(attrs)
+
+ return copy.deepcopy(dragent_attrs)
+
+ @staticmethod
+ def create_dragents(attrs=None, count=1):
+ """Create one or multiple fake dynamic routing agents."""
+ agents = []
+ for i in range(count):
+ agent = FakeDRAgent.create_one_dragent(attrs)
+ agents.append(agent)
+
+ return {'agents': agents}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-neutronclient-6.14.0/neutronclient/tests/unit/osc/v2/dynamic_routing/test_bgp_dragent.py
new/python-neutronclient-7.1.1/neutronclient/tests/unit/osc/v2/dynamic_routing/test_bgp_dragent.py
---
old/python-neutronclient-6.14.0/neutronclient/tests/unit/osc/v2/dynamic_routing/test_bgp_dragent.py
1970-01-01 01:00:00.000000000 +0100
+++
new/python-neutronclient-7.1.1/neutronclient/tests/unit/osc/v2/dynamic_routing/test_bgp_dragent.py
2020-04-08 14:05:32.000000000 +0200
@@ -0,0 +1,123 @@
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+import mock
+
+from neutronclient.osc.v2.dynamic_routing import bgp_dragent
+from neutronclient.tests.unit.osc.v2.dynamic_routing import fakes
+
+
+class TestAddBgpSpeakerToDRAgent(fakes.TestNeutronDynamicRoutingOSCV2):
+ _bgp_speaker = fakes.FakeBgpSpeaker.create_one_bgp_speaker()
+ _bgp_dragent = fakes.FakeDRAgent.create_one_dragent()
+ _bgp_speaker_id = _bgp_speaker['id']
+ _bgp_dragent_id = _bgp_dragent['id']
+
+ def setUp(self):
+ super(TestAddBgpSpeakerToDRAgent, self).setUp()
+
+ # Get the command object to test
+ self.cmd = bgp_dragent.AddBgpSpeakerToDRAgent(self.app, self.namespace)
+
+ def test_add_bgp_speaker_to_dragent(self):
+ arglist = [
+ self._bgp_dragent_id,
+ self._bgp_speaker_id,
+ ]
+ verifylist = [
+ ('dragent_id', self._bgp_dragent_id),
+ ('bgp_speaker', self._bgp_speaker_id),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ with mock.patch.object(self.neutronclient,
+ "add_bgp_speaker_to_dragent",
+ return_value=None):
+
+ result = self.cmd.take_action(parsed_args)
+ self.neutronclient.add_bgp_speaker_to_dragent.\
+ assert_called_once_with(
+ self._bgp_dragent_id,
+ {'bgp_speaker_id': self._bgp_speaker_id})
+ self.assertIsNone(result)
+
+
+class TestRemoveBgpSpeakerFromDRAgent(fakes.TestNeutronDynamicRoutingOSCV2):
+ _bgp_speaker = fakes.FakeBgpSpeaker.create_one_bgp_speaker()
+ _bgp_dragent = fakes.FakeDRAgent.create_one_dragent()
+ _bgp_speaker_id = _bgp_speaker['id']
+ _bgp_dragent_id = _bgp_dragent['id']
+
+ def setUp(self):
+ super(TestRemoveBgpSpeakerFromDRAgent, self).setUp()
+
+ # Get the command object to test
+ self.cmd = bgp_dragent.RemoveBgpSpeakerFromDRAgent(
+ self.app, self.namespace)
+
+ def test_remove_bgp_speaker_from_dragent(self):
+ arglist = [
+ self._bgp_dragent_id,
+ self._bgp_speaker_id,
+ ]
+ verifylist = [
+ ('dragent_id', self._bgp_dragent_id),
+ ('bgp_speaker', self._bgp_speaker_id),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ with mock.patch.object(self.neutronclient,
+ "remove_bgp_speaker_from_dragent",
+ return_value=None):
+ result = self.cmd.take_action(parsed_args)
+ self.neutronclient.remove_bgp_speaker_from_dragent.\
+ assert_called_once_with(self._bgp_dragent_id,
+ self._bgp_speaker_id)
+ self.assertIsNone(result)
+
+
+class TestListDRAgentsHostingBgpSpeaker(fakes.TestNeutronDynamicRoutingOSCV2):
+ _bgp_speaker = fakes.FakeBgpSpeaker.create_one_bgp_speaker()
+ _bgp_speaker_id = _bgp_speaker['id']
+ attrs = {'bgp_speaker_id': _bgp_speaker_id}
+ _bgp_dragents = fakes.FakeDRAgent.create_dragents(attrs)
+ columns = ('ID', 'Host', 'State', 'Alive')
+ data = [(_bgp_dragent['id'],
+ _bgp_dragent['host'],
+ _bgp_dragent['admin_state_up'],
+ ':-)' if _bgp_dragent['alive'] else 'XXX')
+ for _bgp_dragent in _bgp_dragents['agents']]
+
+ def setUp(self):
+ super(TestListDRAgentsHostingBgpSpeaker, self).setUp()
+
+ # Get the command object to test
+ self.cmd = bgp_dragent.ListDRAgent(self.app, self.namespace)
+
+ def test_list_dragents_hosting_bgp_speaker(self):
+ arglist = [
+ '--bgp-speaker', self._bgp_speaker_id,
+ ]
+ verifylist = [
+ ('bgp_speaker', self._bgp_speaker_id),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ with mock.patch.object(self.neutronclient,
+ "list_dragents_hosting_bgp_speaker",
+ return_value=self._bgp_dragents):
+ columns, data = self.cmd.take_action(parsed_args)
+ attrs = {'bgp_speaker': self._bgp_speaker_id}
+ self.neutronclient.list_dragents_hosting_bgp_speaker.\
+ assert_called_once_with(**attrs)
+ self.assertEqual(self.columns, columns)
+ self.assertListEqual(self.data, list(data))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-neutronclient-6.14.0/neutronclient/tests/unit/osc/v2/fwaas/common.py
new/python-neutronclient-7.1.1/neutronclient/tests/unit/osc/v2/fwaas/common.py
---
old/python-neutronclient-6.14.0/neutronclient/tests/unit/osc/v2/fwaas/common.py
2019-09-13 19:00:21.000000000 +0200
+++
new/python-neutronclient-7.1.1/neutronclient/tests/unit/osc/v2/fwaas/common.py
2020-04-08 14:05:32.000000000 +0200
@@ -120,20 +120,6 @@
target, {self.res: {'shared': True}})
self.assertIsNone(result)
- def test_set_public(self):
- target = self.resource['id']
- arglist = [target, '--public']
- verifylist = [
- (self.res, target),
- ('public', True),
- ]
- parsed_args = self.check_parser(self.cmd, arglist, verifylist)
- result = self.cmd.take_action(parsed_args)
-
- self.mocked.assert_called_once_with(
- target, {self.res: {'shared': True}})
- self.assertIsNone(result)
-
def test_set_duplicate_shared(self):
target = self.resource['id']
arglist = [target, '--share', '--share']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-neutronclient-6.14.0/neutronclient/tests/unit/osc/v2/logging/test_network_log.py
new/python-neutronclient-7.1.1/neutronclient/tests/unit/osc/v2/logging/test_network_log.py
---
old/python-neutronclient-6.14.0/neutronclient/tests/unit/osc/v2/logging/test_network_log.py
2019-09-13 19:00:21.000000000 +0200
+++
new/python-neutronclient-7.1.1/neutronclient/tests/unit/osc/v2/logging/test_network_log.py
2020-04-08 14:05:32.000000000 +0200
@@ -139,8 +139,8 @@
self.mocked = self.neutronclient.create_network_log
self.cmd = network_log.CreateNetworkLog(self.app, self.namespace)
loggables = {
- "loggable_resources": [{"type": RES_TYPE_SG,
- "type": RES_TYPE_FWG}]
+ "loggable_resources": [{"type": RES_TYPE_SG},
+ {"type": RES_TYPE_FWG}]
}
self.neutronclient.list_network_loggable_resources = mock.Mock(
return_value=loggables)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-neutronclient-6.14.0/neutronclient/tests/unit/qos/test_cli20_rule.py
new/python-neutronclient-7.1.1/neutronclient/tests/unit/qos/test_cli20_rule.py
---
old/python-neutronclient-6.14.0/neutronclient/tests/unit/qos/test_cli20_rule.py
2019-09-13 19:00:21.000000000 +0200
+++
new/python-neutronclient-7.1.1/neutronclient/tests/unit/qos/test_cli20_rule.py
2020-04-08 14:05:32.000000000 +0200
@@ -33,9 +33,9 @@
# qos_rule_types.
resources = 'rule_types'
cmd_resources = 'qos_rule_types'
- response_contents = [{'type': 'bandwidth_limit',
- 'type': 'dscp_marking',
- 'type': 'minimum_bandwidth'}]
+ response_contents = [{'type': 'bandwidth_limit'},
+ {'type': 'dscp_marking'},
+ {'type': 'minimum_bandwidth'}]
cmd = qos_rule.ListQoSRuleTypes(test_cli20.MyApp(sys.stdout),
None)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-neutronclient-6.14.0/neutronclient/tests/unit/test_exceptions.py
new/python-neutronclient-7.1.1/neutronclient/tests/unit/test_exceptions.py
--- old/python-neutronclient-6.14.0/neutronclient/tests/unit/test_exceptions.py
2019-09-13 19:00:21.000000000 +0200
+++ new/python-neutronclient-7.1.1/neutronclient/tests/unit/test_exceptions.py
2020-04-08 14:05:32.000000000 +0200
@@ -12,7 +12,9 @@
# License for the specific language governing permissions and limitations
# under the License.
-import fixtures
+import sys
+
+import mock
from oslo_utils import encodeutils
import six
import testtools
@@ -30,12 +32,11 @@
multibyte_unicode_string = u'\uff21\uff22\uff23'
e = TestException(reason=multibyte_unicode_string)
- fixture = fixtures.StringStream('stdout')
- self.useFixture(fixture)
- with fixtures.MonkeyPatch('sys.stdout', fixture.stream):
+ with mock.patch.object(sys, 'stdout') as mock_stdout:
print(e)
- self.assertEqual('Exception with %s' % multibyte_unicode_string,
- fixture.getDetails().get('stdout').as_text())
+
+ exc_str = 'Exception with %s' % multibyte_unicode_string
+ mock_stdout.assert_has_calls([mock.call.write(exc_str)])
def test_exception_message_with_encoded_unicode(self):
class TestException(exceptions.NeutronException):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-neutronclient-6.14.0/neutronclient/v2_0/client.py
new/python-neutronclient-7.1.1/neutronclient/v2_0/client.py
--- old/python-neutronclient-6.14.0/neutronclient/v2_0/client.py
2019-09-13 19:00:26.000000000 +0200
+++ new/python-neutronclient-7.1.1/neutronclient/v2_0/client.py 2020-04-08
14:05:32.000000000 +0200
@@ -492,6 +492,9 @@
network_path = "/networks/%s"
ports_path = "/ports"
port_path = "/ports/%s"
+ port_bindings_path = "/ports/%s/bindings"
+ port_binding_path = "/ports/%s/bindings/%s"
+ port_binding_path_activate = "/ports/%s/bindings/%s/activate"
subnets_path = "/subnets"
subnet_path = "/subnets/%s"
onboard_network_subnets_path = "/subnetpools/%s/onboard_network_subnets"
@@ -811,6 +814,28 @@
"""Deletes the specified port."""
return self.delete(self.port_path % (port))
+ def create_port_binding(self, port_id, body=None):
+ """Creates a new port binding."""
+ return self.post(self.port_bindings_path % port_id, body=body)
+
+ def delete_port_binding(self, port_id, host_id):
+ """Deletes the specified port binding."""
+ return self.delete(self.port_binding_path % (port_id, host_id))
+
+ def show_port_binding(self, port_id, host_id, **_params):
+ """Fetches information for a certain port binding."""
+ return self.get(self.port_binding_path % (port_id, host_id),
+ params=_params)
+
+ def list_port_bindings(self, port_id, retrieve_all=True, **_params):
+ """Fetches a list of all bindings for a certain port."""
+ return self.list('port_bindings', self.port_bindings_path % port_id,
+ retrieve_all, **_params)
+
+ def activate_port_binding(self, port_id, host_id):
+ """Activates a port binding."""
+ return self.put(self.port_binding_path_activate % (port_id, host_id))
+
def list_networks(self, retrieve_all=True, **_params):
"""Fetches a list of all networks for a project."""
# Pass filters in "params" argument to do_request
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-neutronclient-6.14.0/playbooks/legacy/grenade-dsvm-neutron-libs/post.yaml
new/python-neutronclient-7.1.1/playbooks/legacy/grenade-dsvm-neutron-libs/post.yaml
---
old/python-neutronclient-6.14.0/playbooks/legacy/grenade-dsvm-neutron-libs/post.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/python-neutronclient-7.1.1/playbooks/legacy/grenade-dsvm-neutron-libs/post.yaml
2020-04-08 14:05:32.000000000 +0200
@@ -0,0 +1,15 @@
+- hosts: primary
+ tasks:
+
+ - name: Copy files from {{ ansible_user_dir }}/workspace/ on node
+ synchronize:
+ src: '{{ ansible_user_dir }}/workspace/'
+ dest: '{{ zuul.executor.log_root }}'
+ mode: pull
+ copy_links: true
+ verify_host: true
+ rsync_opts:
+ - --include=/logs/**
+ - --include=*/
+ - --exclude=*
+ - --prune-empty-dirs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-neutronclient-6.14.0/playbooks/legacy/grenade-dsvm-neutron-libs/run.yaml
new/python-neutronclient-7.1.1/playbooks/legacy/grenade-dsvm-neutron-libs/run.yaml
---
old/python-neutronclient-6.14.0/playbooks/legacy/grenade-dsvm-neutron-libs/run.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/python-neutronclient-7.1.1/playbooks/legacy/grenade-dsvm-neutron-libs/run.yaml
2020-04-08 14:05:32.000000000 +0200
@@ -0,0 +1,52 @@
+- hosts: all
+ name: Autoconverted job legacy-grenade-dsvm-neutron-libs from old job
gate-grenade-dsvm-neutron-libs-ubuntu-xenial-nv
+ tasks:
+
+ - name: Ensure legacy workspace directory
+ file:
+ path: '{{ ansible_user_dir }}/workspace'
+ state: directory
+
+ - shell:
+ cmd: |
+ set -e
+ set -x
+ cat > clonemap.yaml << EOF
+ clonemap:
+ - name: openstack/devstack-gate
+ dest: devstack-gate
+ EOF
+ /usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \
+ https://opendev.org \
+ openstack/devstack-gate
+ executable: /bin/bash
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ set -e
+ set -x
+ export PROJECTS="openstack/grenade $PROJECTS"
+ export DEVSTACK_PROJECT_FROM_GIT="os-client-config"
+ export DEVSTACK_PROJECT_FROM_GIT+=",keystoneauth"
+ export DEVSTACK_PROJECT_FROM_GIT+=",python-novaclient"
+ export DEVSTACK_PROJECT_FROM_GIT+=",python-keystoneclient"
+ export DEVSTACK_PROJECT_FROM_GIT+=",python-glanceclient"
+ export DEVSTACK_PROJECT_FROM_GIT+=",python-cinderclient"
+ export DEVSTACK_PROJECT_FROM_GIT+=",python-neutronclient"
+ export DEVSTACK_PROJECT_FROM_GIT+=",python-ironicclient"
+ export PYTHONUNBUFFERED=true
+ export DEVSTACK_GATE_TEMPEST=1
+ export DEVSTACK_GATE_GRENADE=pullup
+ export DEVSTACK_GATE_USE_PYTHON3=True
+ export DEVSTACK_GATE_NEUTRON=1
+ export BRANCH_OVERRIDE=default
+ if [ "$BRANCH_OVERRIDE" != "default" ] ; then
+ export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
+ fi
+ cp devstack-gate/devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
+ ./safe-devstack-vm-gate-wrap.sh
+ executable: /bin/bash
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-neutronclient-6.14.0/python_neutronclient.egg-info/PKG-INFO
new/python-neutronclient-7.1.1/python_neutronclient.egg-info/PKG-INFO
--- old/python-neutronclient-6.14.0/python_neutronclient.egg-info/PKG-INFO
2019-09-13 19:01:12.000000000 +0200
+++ new/python-neutronclient-7.1.1/python_neutronclient.egg-info/PKG-INFO
2020-04-08 14:06:45.000000000 +0200
@@ -1,6 +1,6 @@
-Metadata-Version: 1.1
+Metadata-Version: 1.2
Name: python-neutronclient
-Version: 6.14.0
+Version: 7.1.1
Summary: CLI and Client Library for OpenStack Networking
Home-page: https://docs.openstack.org/python-neutronclient/latest/
Author: OpenStack Networking Project
@@ -53,8 +53,9 @@
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: Implementation :: CPython
+Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
+Requires-Python: >=3.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-neutronclient-6.14.0/python_neutronclient.egg-info/SOURCES.txt
new/python-neutronclient-7.1.1/python_neutronclient.egg-info/SOURCES.txt
--- old/python-neutronclient-6.14.0/python_neutronclient.egg-info/SOURCES.txt
2019-09-13 19:01:12.000000000 +0200
+++ new/python-neutronclient-7.1.1/python_neutronclient.egg-info/SOURCES.txt
2020-04-08 14:06:46.000000000 +0200
@@ -237,6 +237,7 @@
neutronclient/tests/unit/osc/v2/fakes.py
neutronclient/tests/unit/osc/v2/dynamic_routing/__init__.py
neutronclient/tests/unit/osc/v2/dynamic_routing/fakes.py
+neutronclient/tests/unit/osc/v2/dynamic_routing/test_bgp_dragent.py
neutronclient/tests/unit/osc/v2/dynamic_routing/test_bgp_peer.py
neutronclient/tests/unit/osc/v2/dynamic_routing/test_bgp_speaker.py
neutronclient/tests/unit/osc/v2/fwaas/__init__.py
@@ -289,6 +290,8 @@
neutronclient/tests/unit/vpn/test_utils.py
neutronclient/v2_0/__init__.py
neutronclient/v2_0/client.py
+playbooks/legacy/grenade-dsvm-neutron-libs/post.yaml
+playbooks/legacy/grenade-dsvm-neutron-libs/run.yaml
python_neutronclient.egg-info/PKG-INFO
python_neutronclient.egg-info/SOURCES.txt
python_neutronclient.egg-info/dependency_links.txt
@@ -320,10 +323,12 @@
releasenotes/notes/bug-1676922-81341b70bc6f055a.yaml
releasenotes/notes/bulk-delete-support-94a353db08efec8d.yaml
releasenotes/notes/default-subnetpool-support-c0d34870e9d3e814.yaml
+releasenotes/notes/deprecate-bgp-speaker-show-dragents-2fcce99cf6bb5b60.yaml
releasenotes/notes/deprecate-cli-7be1123817969439.yaml
releasenotes/notes/direct-physical-vnic-port-create-736d8b2600faf22b.yaml
releasenotes/notes/docs-improvements-17e31babe38e2962.yaml
releasenotes/notes/drop-nuage-commands-df10aab6ccd77ed2.yaml
+releasenotes/notes/drop-python-2.7-f615ebae463b2143.yaml
releasenotes/notes/drop-xml-support-41babecb1784d996.yaml
releasenotes/notes/dscp_qos-4a26d3c0363624b0.yaml
releasenotes/notes/extraroute-atomic-b11919d8e33b0d92.yaml
@@ -336,6 +341,7 @@
releasenotes/notes/log-request-id-64bef955b8292c18.yaml
releasenotes/notes/network-ip-availability-ac9a462f42fe9db4.yaml
releasenotes/notes/osprofiler-support-9ba539761ae437e9.yaml
+releasenotes/notes/port-bindings-c3f36bd76ece0a71.yaml
releasenotes/notes/qos_minimum_bandwidth-dc4adb23c51de30b.yaml
releasenotes/notes/quota-update-for-LB-b21e7bc9e4a10f3e.yaml
releasenotes/notes/quota-update-for-rbac-192a8e65bf481941.yaml
@@ -343,6 +349,7 @@
releasenotes/notes/remote_fwg-0f5362e5be8b2e84.yaml
releasenotes/notes/remove-case-dependency-773ccb3237c38e81.yaml
releasenotes/notes/remove-deprecated-option-b53f5d7e6a16ce95.yaml
+releasenotes/notes/remove-public-and-private-parameters-d683e7c30ecedc3b.yaml
releasenotes/notes/return-request-id-to-caller-15b1d23a4ddc27a3.yaml
releasenotes/notes/sfc-tap-service-function-support-a05242f25f79066b.yaml
releasenotes/notes/show-tenant-id-admin-listing-dc13ee7eb889d418.yaml
@@ -366,6 +373,7 @@
releasenotes/source/queens.rst
releasenotes/source/rocky.rst
releasenotes/source/stein.rst
+releasenotes/source/train.rst
releasenotes/source/unreleased.rst
releasenotes/source/_static/.placeholder
releasenotes/source/_templates/.placeholder
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-neutronclient-6.14.0/python_neutronclient.egg-info/entry_points.txt
new/python-neutronclient-7.1.1/python_neutronclient.egg-info/entry_points.txt
---
old/python-neutronclient-6.14.0/python_neutronclient.egg-info/entry_points.txt
2019-09-13 19:01:12.000000000 +0200
+++
new/python-neutronclient-7.1.1/python_neutronclient.egg-info/entry_points.txt
2020-04-08 14:06:45.000000000 +0200
@@ -260,6 +260,7 @@
[openstack.neutronclient.v2]
bgp_dragent_add_speaker =
neutronclient.osc.v2.dynamic_routing.bgp_dragent:AddBgpSpeakerToDRAgent
+bgp_dragent_list = neutronclient.osc.v2.dynamic_routing.bgp_dragent:ListDRAgent
bgp_dragent_remove_speaker =
neutronclient.osc.v2.dynamic_routing.bgp_dragent:RemoveBgpSpeakerFromDRAgent
bgp_peer_create = neutronclient.osc.v2.dynamic_routing.bgp_peer:CreateBgpPeer
bgp_peer_delete = neutronclient.osc.v2.dynamic_routing.bgp_peer:DeleteBgpPeer
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-neutronclient-6.14.0/python_neutronclient.egg-info/pbr.json
new/python-neutronclient-7.1.1/python_neutronclient.egg-info/pbr.json
--- old/python-neutronclient-6.14.0/python_neutronclient.egg-info/pbr.json
2019-09-13 19:01:12.000000000 +0200
+++ new/python-neutronclient-7.1.1/python_neutronclient.egg-info/pbr.json
2020-04-08 14:06:45.000000000 +0200
@@ -1 +1 @@
-{"git_version": "115f60f", "is_release": true}
\ No newline at end of file
+{"git_version": "ac04e5d", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-neutronclient-6.14.0/releasenotes/notes/deprecate-bgp-speaker-show-dragents-2fcce99cf6bb5b60.yaml
new/python-neutronclient-7.1.1/releasenotes/notes/deprecate-bgp-speaker-show-dragents-2fcce99cf6bb5b60.yaml
---
old/python-neutronclient-6.14.0/releasenotes/notes/deprecate-bgp-speaker-show-dragents-2fcce99cf6bb5b60.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/python-neutronclient-7.1.1/releasenotes/notes/deprecate-bgp-speaker-show-dragents-2fcce99cf6bb5b60.yaml
2020-04-08 14:05:32.000000000 +0200
@@ -0,0 +1,10 @@
+---
+deprecations:
+ - |
+ The ``openstack bgp speaker show dragents`` CLI is deprecated and
+ will be removed in the future. Use ``openstack bgp dragent list
+ --bgp-speaker <bgp-speaker>`` CLI instead.
+features:
+ - |
+ The ``openstack bgp dragent list`` CLI is added to support showing
+ the list of dynamic routing agents.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-neutronclient-6.14.0/releasenotes/notes/drop-python-2.7-f615ebae463b2143.yaml
new/python-neutronclient-7.1.1/releasenotes/notes/drop-python-2.7-f615ebae463b2143.yaml
---
old/python-neutronclient-6.14.0/releasenotes/notes/drop-python-2.7-f615ebae463b2143.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/python-neutronclient-7.1.1/releasenotes/notes/drop-python-2.7-f615ebae463b2143.yaml
2020-04-08 14:05:32.000000000 +0200
@@ -0,0 +1,5 @@
+---
+upgrade:
+ - |
+ Python 2.7 support has been dropped. The minimum version of Python now
+ supported by python-neutronclient is Python 3.6.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-neutronclient-6.14.0/releasenotes/notes/port-bindings-c3f36bd76ece0a71.yaml
new/python-neutronclient-7.1.1/releasenotes/notes/port-bindings-c3f36bd76ece0a71.yaml
---
old/python-neutronclient-6.14.0/releasenotes/notes/port-bindings-c3f36bd76ece0a71.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/python-neutronclient-7.1.1/releasenotes/notes/port-bindings-c3f36bd76ece0a71.yaml
2020-04-08 14:05:32.000000000 +0200
@@ -0,0 +1,5 @@
+---
+features:
+ - |
+ New client methods: ``create_port_binding``, ``delete_port_binding``,
+ ``show_port_binding``, ``list_port_bindings`` and
``activate_port_binding``.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-neutronclient-6.14.0/releasenotes/notes/relnotes-from-3.0.0-d7306f5af5e3868d.yaml
new/python-neutronclient-7.1.1/releasenotes/notes/relnotes-from-3.0.0-d7306f5af5e3868d.yaml
---
old/python-neutronclient-6.14.0/releasenotes/notes/relnotes-from-3.0.0-d7306f5af5e3868d.yaml
2019-09-13 19:00:21.000000000 +0200
+++
new/python-neutronclient-7.1.1/releasenotes/notes/relnotes-from-3.0.0-d7306f5af5e3868d.yaml
2020-04-08 14:05:32.000000000 +0200
@@ -2,7 +2,7 @@
features:
- Support os-client-config. OS_CLOUD environment variable is used for
selecting named cloud configuration.
- - Support keystoneauth1 library which brings us better kyestone v3 support.
+ - Support keystoneauth1 library which brings us better keystone v3 support.
- Client command extension now supports a child resource.
- New CLI for VPNaaS multiple local subnets.
- New CLI for VPNaaS endpoint group API.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-neutronclient-6.14.0/releasenotes/notes/remove-public-and-private-parameters-d683e7c30ecedc3b.yaml
new/python-neutronclient-7.1.1/releasenotes/notes/remove-public-and-private-parameters-d683e7c30ecedc3b.yaml
---
old/python-neutronclient-6.14.0/releasenotes/notes/remove-public-and-private-parameters-d683e7c30ecedc3b.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/python-neutronclient-7.1.1/releasenotes/notes/remove-public-and-private-parameters-d683e7c30ecedc3b.yaml
2020-04-08 14:05:32.000000000 +0200
@@ -0,0 +1,6 @@
+---
+upgrade:
+ - |
+ The deprecated options ``--public`` and ``--private`` were
+ dropped in FWaaS v2 related commands. Use ``--share`` and
+ ``--no-share`` instead.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-neutronclient-6.14.0/releasenotes/source/conf.py
new/python-neutronclient-7.1.1/releasenotes/source/conf.py
--- old/python-neutronclient-6.14.0/releasenotes/source/conf.py 2019-09-13
19:00:21.000000000 +0200
+++ new/python-neutronclient-7.1.1/releasenotes/source/conf.py 2020-04-08
14:05:32.000000000 +0200
@@ -46,7 +46,6 @@
repository_name = 'openstack/python-neutronclient'
bug_project = 'python-neutronclient'
bug_tag = 'doc'
-html_last_updated_fmt = '%Y-%m-%d %H:%M'
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-neutronclient-6.14.0/releasenotes/source/index.rst
new/python-neutronclient-7.1.1/releasenotes/source/index.rst
--- old/python-neutronclient-6.14.0/releasenotes/source/index.rst
2019-09-13 19:00:21.000000000 +0200
+++ new/python-neutronclient-7.1.1/releasenotes/source/index.rst
2020-04-08 14:05:32.000000000 +0200
@@ -6,6 +6,7 @@
:maxdepth: 1
unreleased
+ train
stein
rocky
queens
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-neutronclient-6.14.0/releasenotes/source/train.rst
new/python-neutronclient-7.1.1/releasenotes/source/train.rst
--- old/python-neutronclient-6.14.0/releasenotes/source/train.rst
1970-01-01 01:00:00.000000000 +0100
+++ new/python-neutronclient-7.1.1/releasenotes/source/train.rst
2020-04-08 14:05:32.000000000 +0200
@@ -0,0 +1,6 @@
+==========================
+Train Series Release Notes
+==========================
+
+.. release-notes::
+ :branch: stable/train
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-neutronclient-6.14.0/setup.cfg
new/python-neutronclient-7.1.1/setup.cfg
--- old/python-neutronclient-6.14.0/setup.cfg 2019-09-13 19:01:12.000000000
+0200
+++ new/python-neutronclient-7.1.1/setup.cfg 2020-04-08 14:06:46.000000000
+0200
@@ -6,6 +6,7 @@
author = OpenStack Networking Project
author-email = [email protected]
home-page = https://docs.openstack.org/python-neutronclient/latest/
+python-requires = >=3.6
classifier =
Environment :: OpenStack
Intended Audience :: Developers
@@ -14,8 +15,8 @@
License :: OSI Approved :: Apache Software License
Operating System :: POSIX :: Linux
Programming Language :: Python
- Programming Language :: Python :: 2
- Programming Language :: Python :: 2.7
+ Programming Language :: Python :: Implementation :: CPython
+ Programming Language :: Python :: 3 :: Only
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
@@ -24,10 +25,6 @@
packages =
neutronclient
-[global]
-setup-hooks =
- pbr.hooks.setup_hook
-
[entry_points]
console_scripts =
neutron = neutronclient.shell:main
@@ -70,6 +67,7 @@
sfc_service_graph_show =
neutronclient.osc.v2.sfc.sfc_service_graph:ShowSfcServiceGraph
bgp_dragent_add_speaker =
neutronclient.osc.v2.dynamic_routing.bgp_dragent:AddBgpSpeakerToDRAgent
+ bgp_dragent_list =
neutronclient.osc.v2.dynamic_routing.bgp_dragent:ListDRAgent
bgp_dragent_remove_speaker =
neutronclient.osc.v2.dynamic_routing.bgp_dragent:RemoveBgpSpeakerFromDRAgent
bgp_peer_create =
neutronclient.osc.v2.dynamic_routing.bgp_peer:CreateBgpPeer
bgp_peer_delete =
neutronclient.osc.v2.dynamic_routing.bgp_peer:DeleteBgpPeer
@@ -454,9 +452,6 @@
vpn-ikepolicy-update =
neutronclient.neutron.v2_0.vpn.ikepolicy:UpdateIKEPolicy
vpn-ikepolicy-delete =
neutronclient.neutron.v2_0.vpn.ikepolicy:DeleteIKEPolicy
-[wheel]
-universal = 1
-
[extract_messages]
keywords = _ gettext ngettext l_ lazy_gettext
mapping_file = babel.cfg
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-neutronclient-6.14.0/setup.py
new/python-neutronclient-7.1.1/setup.py
--- old/python-neutronclient-6.14.0/setup.py 2019-09-13 19:00:21.000000000
+0200
+++ new/python-neutronclient-7.1.1/setup.py 2020-04-08 14:05:32.000000000
+0200
@@ -13,17 +13,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-# THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT
import setuptools
-# In python < 2.7.4, a lazy loading of package `pbr` will break
-# setuptools if some other modules registered functions in `atexit`.
-# solution from: http://bugs.python.org/issue15881#msg170215
-try:
- import multiprocessing # noqa
-except ImportError:
- pass
-
setuptools.setup(
setup_requires=['pbr>=2.0.0'],
pbr=True)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-neutronclient-6.14.0/tox.ini
new/python-neutronclient-7.1.1/tox.ini
--- old/python-neutronclient-6.14.0/tox.ini 2019-09-13 19:00:21.000000000
+0200
+++ new/python-neutronclient-7.1.1/tox.ini 2020-04-08 14:05:32.000000000
+0200
@@ -1,10 +1,11 @@
[tox]
-# py3 first to avoid .testrepository incompatibility
-envlist = py37,py27,pypy,pep8
+envlist = py37,pep8
minversion = 2.3.2
skipsdist = True
+ignore_basepython_conflict = True
[testenv]
+basepython = python3
setenv = VIRTUAL_ENV={envdir}
LANG=en_US.UTF-8
LANGUAGE=en_US:en
@@ -25,24 +26,20 @@
whitelist_externals = sh
[testenv:pep8]
-basepython = python3
commands =
flake8
{[testenv:bandit]commands}
distribute = false
[testenv:venv]
-basepython = python3
commands = {posargs}
[testenv:functional]
-basepython = python3
setenv =
OS_TEST_PATH = ./neutronclient/tests/functional
OS_NEUTRONCLIENT_EXEC_DIR = {envdir}/bin
[testenv:cover]
-basepython = python3
setenv =
{[testenv]setenv}
PYTHON=coverage run --source neutronclient --parallel-mode
@@ -54,12 +51,19 @@
coverage report
[testenv:docs]
-basepython = python3
deps = -r{toxinidir}/doc/requirements.txt
commands = sphinx-build -W -b html doc/source doc/build/html
+[testenv:pdf-docs]
+envdir = {toxworkdir}/docs
+deps = {[testenv:docs]deps}
+whitelist_externals =
+ make
+commands =
+ sphinx-build -W -b latex doc/source doc/build/pdf
+ make -C doc/build/pdf
+
[testenv:releasenotes]
-basepython = python3
deps = -r{toxinidir}/doc/requirements.txt
commands = sphinx-build -a -E -d releasenotes/build/doctrees -b html
releasenotes/source releasenotes/build/html
@@ -72,13 +76,11 @@
enable-extensions=H904
[testenv:bandit]
-basepython = python3
# B303: blacklist calls: md5, sha1
deps = -r{toxinidir}/test-requirements.txt
commands = bandit -r neutronclient -x tests -n5 -s B303
[testenv:lower-constraints]
-basepython = python3
deps =
-c{toxinidir}/lower-constraints.txt
-r{toxinidir}/test-requirements.txt