diff options
-rw-r--r-- | .zuul.yaml | 22 | ||||
-rw-r--r-- | doc/source/contributor/transition_to_osc.rst | 6 | ||||
-rw-r--r-- | neutronclient/shell.py | 2 | ||||
-rw-r--r-- | neutronclient/tests/functional/core/test_readonly_neutron.py | 4 | ||||
-rw-r--r-- | neutronclient/tests/unit/test_client_extension.py | 2 | ||||
-rw-r--r-- | neutronclient/tests/unit/test_command_meta.py | 5 | ||||
-rw-r--r-- | releasenotes/notes/neutron-cli-deprecation-398823c87270a296.yaml | 10 | ||||
-rw-r--r-- | setup.cfg | 8 | ||||
-rw-r--r-- | tox.ini | 6 |
9 files changed, 50 insertions, 15 deletions
@@ -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. @@ -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 @@ -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 |