summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.zuul.yaml22
-rw-r--r--doc/source/contributor/transition_to_osc.rst6
-rw-r--r--neutronclient/shell.py2
-rw-r--r--neutronclient/tests/functional/core/test_readonly_neutron.py4
-rw-r--r--neutronclient/tests/unit/test_client_extension.py2
-rw-r--r--neutronclient/tests/unit/test_command_meta.py5
-rw-r--r--releasenotes/notes/neutron-cli-deprecation-398823c87270a296.yaml10
-rw-r--r--setup.cfg8
-rw-r--r--tox.ini6
9 files changed, 50 insertions, 15 deletions
diff --git a/.zuul.yaml b/.zuul.yaml
index 061a600..58f54df 100644
--- a/.zuul.yaml
+++ b/.zuul.yaml
@@ -38,9 +38,31 @@
# NOTE: neutronclient.tests.functional.base.ClientTestBase does not
# support HTTPS endpoints now, so tls-proxy needs to be disabled.
tls-proxy: false
+ # Disable OVN services
+ br-ex-tcpdump: false
+ br-int-flows: false
+ ovn-controller: false
+ ovn-northd: false
+ ovs-vswitchd: false
+ ovsdb-server: false
+ q-ovn-metadata-agent: false
+ # Neutron services
+ q-agt: true
+ q-dhcp: true
+ q-l3: true
+ q-meta: true
+ neutron-network-segment-range: true
+ neutron-segments: true
+ q-metering: true
+ q-qos: true
+ neutron-tag-ports-during-bulk-creation: true
+ neutron-conntrack-helper: true
devstack_localrc:
USE_PYTHON3: true
LIBS_FROM_GIT: python-neutronclient
+ Q_AGENT: openvswitch
+ Q_ML2_TENANT_NETWORK_TYPE: vxlan
+ Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
devstack_plugins:
neutron-vpnaas: https://opendev.org/openstack/neutron-vpnaas
diff --git a/doc/source/contributor/transition_to_osc.rst b/doc/source/contributor/transition_to_osc.rst
index b745d2f..334f2e5 100644
--- a/doc/source/contributor/transition_to_osc.rst
+++ b/doc/source/contributor/transition_to_osc.rst
@@ -91,17 +91,17 @@ Transition Steps
* **Done** `Security Group Rule CRUD <https://bugs.launchpad.net/python-openstackclient/+bug/1519512>`_
-6. **In Progress:** OSC continues enhancing its networking support.
+6. **Done** OSC continues enhancing its networking support.
At this point and when applicable, enhancements to the ``neutron``
CLI must also be made to the ``openstack`` CLI and possibly the
OpenStack Python SDK. Users of the neutron client's command extensions
should start their transition to the OSC plugin system. See the
developer guide section below for more information on this step.
-7. **In Progress:** Deprecate the ``neutron`` CLI. Running the CLI after
+7. **Done** Deprecate the ``neutron`` CLI. Running the CLI after
it has been `deprecated <https://review.opendev.org/#/c/393903/>`_
will issue a warning message:
- ``neutron CLI is deprecated and will be removed in the future. Use openstack CLI instead.``
+ ``neutron CLI is deprecated and will be removed in the Z cycle. Use openstack CLI instead.``
In addition, no new features will be added to the CLI, though fixes to
the CLI will be assessed on a case by case basis.
diff --git a/neutronclient/shell.py b/neutronclient/shell.py
index aed4c8f..13cd0fa 100644
--- a/neutronclient/shell.py
+++ b/neutronclient/shell.py
@@ -637,7 +637,7 @@ class NeutronShell(app.App):
def main(argv=sys.argv[1:]):
try:
print(_("neutron CLI is deprecated and will be removed "
- "in the future. Use openstack CLI instead."), file=sys.stderr)
+ "in the Z cycle. Use openstack CLI instead."), file=sys.stderr)
return NeutronShell(NEUTRON_API_VERSION).run(
list(map(encodeutils.safe_decode, argv)))
except KeyboardInterrupt:
diff --git a/neutronclient/tests/functional/core/test_readonly_neutron.py b/neutronclient/tests/functional/core/test_readonly_neutron.py
index 20e1484..4fe9897 100644
--- a/neutronclient/tests/functional/core/test_readonly_neutron.py
+++ b/neutronclient/tests/functional/core/test_readonly_neutron.py
@@ -64,9 +64,13 @@ class SimpleReadOnlyNeutronClientTest(base.ClientTestBase):
self.neutron('floatingip-list')
def test_neutron_meter_label_list(self):
+ if not self.is_extension_enabled('metering'):
+ self.skipTest('metering is not enabled')
self.neutron('meter-label-list')
def test_neutron_meter_label_rule_list(self):
+ if not self.is_extension_enabled('metering'):
+ self.skipTest('metering is not enabled')
self.neutron('meter-label-rule-list')
def test_neutron_net_external_list(self):
diff --git a/neutronclient/tests/unit/test_client_extension.py b/neutronclient/tests/unit/test_client_extension.py
index 7137ae7..871e7a6 100644
--- a/neutronclient/tests/unit/test_client_extension.py
+++ b/neutronclient/tests/unit/test_client_extension.py
@@ -217,5 +217,5 @@ class CLITestV20ExtensionJSONChildResource(test_cli20.CLITestV20Base):
self.client.delete_parents_child,
self.client.create_parents_child)
for method in methods:
- argspec = inspect.getargspec(method)
+ argspec = inspect.getfullargspec(method)
self.assertIn("parent_id", argspec.args)
diff --git a/neutronclient/tests/unit/test_command_meta.py b/neutronclient/tests/unit/test_command_meta.py
index 184f366..dedc3dd 100644
--- a/neutronclient/tests/unit/test_command_meta.py
+++ b/neutronclient/tests/unit/test_command_meta.py
@@ -20,7 +20,6 @@
import logging
import testtools
-from testtools import helpers
from neutronclient.neutron import v2_0 as neutronV20
@@ -30,7 +29,7 @@ class TestCommandMeta(testtools.TestCase):
class FakeCommand(neutronV20.NeutronCommand):
pass
- self.assertTrue(helpers.safe_hasattr(FakeCommand, 'log'))
+ self.assertTrue(hasattr(FakeCommand, 'log'))
self.assertIsInstance(FakeCommand.log, logging.getLoggerClass())
self.assertEqual(__name__ + ".FakeCommand", FakeCommand.log.name)
@@ -38,5 +37,5 @@ class TestCommandMeta(testtools.TestCase):
class FakeCommand(neutronV20.NeutronCommand):
log = None
- self.assertTrue(helpers.safe_hasattr(FakeCommand, 'log'))
+ self.assertTrue(hasattr(FakeCommand, 'log'))
self.assertIsNone(FakeCommand.log)
diff --git a/releasenotes/notes/neutron-cli-deprecation-398823c87270a296.yaml b/releasenotes/notes/neutron-cli-deprecation-398823c87270a296.yaml
new file mode 100644
index 0000000..a806594
--- /dev/null
+++ b/releasenotes/notes/neutron-cli-deprecation-398823c87270a296.yaml
@@ -0,0 +1,10 @@
+---
+deprecations:
+ - |
+ ``neutron`` CLI will be removed in 'Z' release.
+ While it has been marked as deprecated for removal for long,
+ all features in ``neutron`` CLI have been supported in ``openstack`` CLI
+ (OpenStackClient) as of Xena release and the neutron team plans to
+ remove it in 'Z' release. Consider using ``openstack`` CLI and
+ `Mapping Guide <https://docs.openstack.org/python-openstackclient/latest/cli/decoder.html#neutron-cli>`__
+ in the OSC documentation would help you.
diff --git a/setup.cfg b/setup.cfg
index ad537f7..9f06b5c 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,12 +1,12 @@
[metadata]
name = python-neutronclient
summary = CLI and Client Library for OpenStack Networking
-description-file =
+description_file =
README.rst
author = OpenStack Networking Project
-author-email = openstack-discuss@lists.openstack.org
-home-page = https://docs.openstack.org/python-neutronclient/latest/
-python-requires = >=3.6
+author_email = openstack-discuss@lists.openstack.org
+home_page = https://docs.openstack.org/python-neutronclient/latest/
+python_requires = >=3.6
classifier =
Environment :: OpenStack
Intended Audience :: Developers
diff --git a/tox.ini b/tox.ini
index a5d8ab1..8020b35 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,6 +1,6 @@
[tox]
envlist = py38,pep8
-minversion = 2.3.2
+minversion = 3.18.0
skipsdist = True
ignore_basepython_conflict = True
@@ -23,7 +23,7 @@ commands = sh -c "find . -type d -name '.?*' -prune -o \
\( -type d -name '__pycache__' -o -type f -name '*.py[co]' \) \
-print0 | xargs -0 rm -rf"
stestr run {posargs}
-whitelist_externals = sh
+allowlist_externals = sh
[testenv:pep8]
commands =
@@ -59,7 +59,7 @@ commands = sphinx-build -W -b html doc/source doc/build/html
[testenv:pdf-docs]
envdir = {toxworkdir}/docs
deps = {[testenv:docs]deps}
-whitelist_externals =
+allowlist_externals =
make
commands =
sphinx-build -W -b latex doc/source doc/build/pdf