Compare commits
14 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c4d823cbcc | ||
| 1e8f0cdae8 | |||
| 8adfc9d1e5 | |||
|
|
983f0abc58 | ||
|
|
f83108d858 | ||
|
|
e647baf4ca | ||
|
|
2f047b1595 | ||
|
|
23fb666f92 | ||
|
|
a1ebfaa7f2 | ||
|
|
adf21f0288 | ||
|
|
ae397565be | ||
|
|
d6c211c139 | ||
|
|
76dd26f9fd | ||
|
|
439e290e95 |
@@ -2,3 +2,4 @@
|
||||
host=review.opendev.org
|
||||
port=29418
|
||||
project=openstack/python-neutronclient.git
|
||||
defaultbranch=stable/xena
|
||||
|
||||
23
.zuul.yaml
23
.zuul.yaml
@@ -1,7 +1,6 @@
|
||||
- project:
|
||||
templates:
|
||||
- openstack-cover-jobs
|
||||
- openstack-lower-constraints-jobs
|
||||
- openstack-python3-xena-jobs
|
||||
- publish-openstack-docs-pti
|
||||
- check-requirements
|
||||
@@ -38,9 +37,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
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -43,7 +43,7 @@ class TestCLIFormatter(base.ClientTestBase):
|
||||
result = self._create_net('yaml', ['name', 'admin_state_up'])
|
||||
self.assertDictEqual({'name': self.net_name,
|
||||
'admin_state_up': True},
|
||||
yaml.load(result))
|
||||
yaml.safe_load(result))
|
||||
|
||||
def test_net_create_with_value_formatter(self):
|
||||
# NOTE(amotoki): In 'value' formatter, there is no guarantee
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -1159,7 +1159,7 @@ class CLITestV20OutputFormatter(CLITestV20Base):
|
||||
|
||||
def test_create_resource_yaml(self):
|
||||
self._test_create_resource_with_formatter('yaml')
|
||||
data = yaml.load(self.fake_stdout.make_string())
|
||||
data = yaml.safe_load(self.fake_stdout.make_string())
|
||||
self.assertEqual('myname', data['name'])
|
||||
self.assertEqual('myid', data['id'])
|
||||
|
||||
@@ -1184,7 +1184,7 @@ class CLITestV20OutputFormatter(CLITestV20Base):
|
||||
|
||||
def test_show_resource_yaml(self):
|
||||
self._test_show_resource_with_formatter('yaml')
|
||||
data = yaml.load(''.join(self.fake_stdout.content))
|
||||
data = yaml.safe_load(''.join(self.fake_stdout.content))
|
||||
self.assertEqual('myname', data['name'])
|
||||
self.assertEqual('myid', data['id'])
|
||||
|
||||
@@ -1211,5 +1211,5 @@ class CLITestV20OutputFormatter(CLITestV20Base):
|
||||
|
||||
def test_list_resources_yaml(self):
|
||||
self._test_list_resources_with_formatter('yaml')
|
||||
data = yaml.load(''.join(self.fake_stdout.content))
|
||||
data = yaml.safe_load(''.join(self.fake_stdout.content))
|
||||
self.assertEqual(['myid1', 'myid2'], [d['id'] for d in data])
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
#!/usr/bin/env python
|
||||
# Copyright 2012 Red Hat
|
||||
# All Rights Reserved.
|
||||
#
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
#!/usr/bin/env python
|
||||
# Copyright 2012 Red Hat
|
||||
# All Rights Reserved.
|
||||
#
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
#!/usr/bin/env python
|
||||
# Copyright (C) 2013 Yahoo! Inc.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
|
||||
@@ -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.
|
||||
17
tox.ini
17
tox.ini
@@ -1,6 +1,6 @@
|
||||
[tox]
|
||||
envlist = py38,pep8
|
||||
minversion = 2.3.2
|
||||
minversion = 3.18.0
|
||||
skipsdist = True
|
||||
ignore_basepython_conflict = True
|
||||
|
||||
@@ -13,7 +13,7 @@ setenv = VIRTUAL_ENV={envdir}
|
||||
PYTHONWARNINGS=default::DeprecationWarning
|
||||
usedevelop = True
|
||||
install_command = pip install {opts} {packages}
|
||||
deps = -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
||||
deps = -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/xena}
|
||||
-r{toxinidir}/requirements.txt
|
||||
-r{toxinidir}/test-requirements.txt
|
||||
# Delete bytecodes from normal directories before running tests.
|
||||
@@ -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 =
|
||||
@@ -52,14 +52,14 @@ commands =
|
||||
|
||||
[testenv:docs]
|
||||
deps =
|
||||
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
||||
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/xena}
|
||||
-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 =
|
||||
allowlist_externals =
|
||||
make
|
||||
commands =
|
||||
sphinx-build -W -b latex doc/source doc/build/pdf
|
||||
@@ -67,7 +67,7 @@ commands =
|
||||
|
||||
[testenv:releasenotes]
|
||||
deps =
|
||||
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
||||
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/xena}
|
||||
-r{toxinidir}/doc/requirements.txt
|
||||
commands = sphinx-build -a -E -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
||||
|
||||
@@ -81,8 +81,11 @@ enable-extensions=H904
|
||||
|
||||
[testenv:bandit]
|
||||
# B303: blacklist calls: md5, sha1
|
||||
# B105: The software contains a hard-coded password, which it uses for its own
|
||||
# inbound authentication or for outbound communication to external
|
||||
# components.
|
||||
deps = -r{toxinidir}/test-requirements.txt
|
||||
commands = bandit -r neutronclient -x tests -n5 -s B303
|
||||
commands = bandit -r neutronclient -x tests -n5 -s B303,B105
|
||||
|
||||
[testenv:lower-constraints]
|
||||
deps =
|
||||
|
||||
Reference in New Issue
Block a user