Browse Source

Make master working again

Changes:
- Use privsep execution.
- Streamline tox.ini and setup.cfg
- Remove lower-constraints job

Depends-On: https://review.opendev.org/c/openstack/neutron/+/764015
Change-Id: I0017028ff35fe1f375d67e15e9f03f6917f8ccff
changes/21/773921/3
elajkat 7 months ago
committed by Lajos Katona
parent
commit
51b36d9c9c
  1. 3
      .zuul.yaml
  2. 199
      lower-constraints.txt
  3. 4
      neutron_taas/services/taas/drivers/linux/ovs_taas.py
  4. 9
      neutron_taas/services/taas/drivers/linux/sriov_nic_utils.py
  5. 10
      neutron_taas/tests/unit/services/drivers/test_linux_sriov_utils.py
  6. 2
      requirements.txt
  7. 1
      setup.cfg
  8. 17
      tox.ini

3
.zuul.yaml

@ -1,10 +1,9 @@
- project:
templates:
- openstack-lower-constraints-jobs
- openstack-cover-jobs-neutron
- build-openstack-docs-pti
- check-requirements
- openstack-python3-ussuri-jobs-neutron
- openstack-python3-wallaby-jobs-neutron
- tap-as-a-service-tempest-plugin-jobs
check:
jobs:

199
lower-constraints.txt

@ -1,199 +0,0 @@
alabaster==0.7.10
alembic==1.4.2
amqp==2.6.1
appdirs==1.4.4
asn1crypto==0.23.0
Babel==2.8.0
beautifulsoup4==4.9.1
blockdiag==1.5.3
cachetools==4.1.1
cffi==1.14.2
cliff==3.4.0
cmd2==1.3.8
contextlib2==0.4.0
coverage==5.2.1
cryptography==3.1
debtcollector==1.2.0
decorator==4.4.2
deprecation==1.0
Django==2.2
django-appconf==1.0.2
django-babel==0.6.2
django-compressor==2.0
django-pyscss==2.0.2
docutils==0.11
dogpile.cache==1.0.2
eventlet==0.26.1
exabgp==4.0.4
extras==1.0.0
fasteners==0.14.1
fixtures==3.0.0
funcparserlib==0.3.6
future==0.18.2
futurist==2.3.0
greenlet==0.4.16
horizon==17.1.0
httplib2==0.18.1
idna==2.10
imagesize==0.7.1
iso8601==0.1.12
isort==4.3.21
Jinja2==2.11.2
jmespath==0.10.0
jsonpatch==1.26
jsonpointer==2.0
jsonschema==3.2.0
keystoneauth1==4.2.1
keystonemiddleware==9.1.0
kombu==5.0.1
linecache2==1.0.0
logilab-common==1.4.1
logutils==0.3.5
Mako==1.1.3
MarkupSafe==1.1.1
mock==3.0.0
monotonic==1.5
mox3==0.20.0
msgpack-python==0.4.0
munch==2.5.0
netaddr==0.8.0
netifaces==0.10.9
neutron==16.0.0.0b1
neutron-lib==2.6.0
openstacksdk==0.49.0
os-client-config==2.1.0
os-ken==1.2.0
os-service-types==1.7.0
os-testr==1.0.0
os-traits==2.4.0
os-xenapi==0.3.4
os-vif==1.15.1
osc-lib==2.2.1
oslo.cache==2.6.1
oslo.concurrency==4.3.0
oslo.config==8.3.2
oslo.context==3.1.1
oslo.db==8.4.0
oslo.i18n==5.0.1
oslo.log==4.4.0
oslo.messaging==12.5.0
oslo.middleware==4.1.1
oslo.policy==3.5.0
oslo.privsep==2.4.0
oslo.reports==2.2.0
oslo.rootwrap==6.2.0
oslo.serialization==4.0.1
oslo.service==2.4.0
oslo.upgradecheck==1.1.1
oslo.utils==4.6.0
oslo.versionedobjects==2.3.0
oslotest==4.4.1
osprofiler==3.4.0
ovs==2.13.0
ovsdbapp==1.5.0
packaging==20.4
paramiko==2.7.2
Paste==3.4.3
PasteDeploy==2.1.0
pbr==5.5.0
pecan==1.3.3
pika==0.10.0
pika-pool==0.1.3
Pillow==2.4.0
Pint==0.5
positional==1.2.1
prettytable==0.7.2
psutil==5.7.2
psycopg2==2.8.5
pycadf==3.1.1
pycodestyle==2.5.0
pycparser==2.20
pyflakes==2.1.1
pyinotify==0.9.6
pylint==2.2.0
PyMySQL==0.10.0
pyOpenSSL==19.1.0
pyparsing==2.4.7
pyperclip==1.8.0
pyroute2==0.5.14
pyScss==1.3.7
pytest==5.3.5
python-cinderclient==5.0.0
python-dateutil==2.5.3
python-designateclient==4.1.0
python-editor==1.0.4
python-glanceclient==2.8.0
python-keystoneclient==4.1.1
python-mimeparse==1.6.0
python-neutronclient==7.2.1
python-novaclient==17.2.1
python-subunit==1.4.0
python-swiftclient==3.2.0
pytz==2020.1
PyYAML==5.3.1
rcssmin==1.0.6
repoze.lru==0.7
requests==2.23.0
requestsexceptions==1.4.0
rfc3986==1.4.0
rjsmin==1.0.12
Routes==2.4.1
ryu==4.24
semantic-version==2.3.1
seqdiag==0.9.5
simplejson==3.17.2
snowballstemmer==1.2.1
Sphinx==2.0.0
SQLAlchemy==1.3.19
sqlalchemy-migrate==0.13.0
sqlparse==0.3.1
statsd==3.3.0
stestr==3.0.1
stevedore==3.2.2
tempest==17.1.0
Tempita==0.5.2
tenacity==6.2.0
testrepository==0.0.18
testresources==2.0.1
testscenarios==0.5.0
testtools==2.4.0
tinyrpc==1.0.4
tooz==2.7.1
traceback2==1.4.0
urllib3==1.25.10
vine==1.3.0
waitress==1.4.4
warlock==1.2.0
webcolors==1.7
WebOb==1.8.6
websocket-client==0.40.0
WebTest==2.0.35
wrapt==1.12.1
XStatic==1.0.0
XStatic-Angular==1.5.8.0
XStatic-Angular-Bootstrap==2.2.0.0
XStatic-Angular-FileUpload==12.0.4.0
XStatic-Angular-Gettext==2.3.8.0
XStatic-Angular-lrdragndrop==1.0.2.2
XStatic-Angular-Schema-Form==0.8.13.0
XStatic-Bootstrap-Datepicker==1.3.1.0
XStatic-Bootstrap-SCSS==3.3.7.1
XStatic-bootswatch==3.3.7.0
XStatic-D3==3.5.17.0
XStatic-Font-Awesome==4.7.0.0
XStatic-Hogan==2.0.0.2
XStatic-Jasmine==2.4.1.1
XStatic-jQuery==1.8.2.1
XStatic-JQuery-Migrate==1.2.1.1
XStatic-jquery-ui==1.10.4.1
XStatic-JQuery.quicksearch==2.0.3.1
XStatic-JQuery.TableSorter==2.14.5.1
XStatic-JSEncrypt==2.3.1.1
XStatic-mdi==1.4.57.0
XStatic-objectpath==1.2.1.0
XStatic-Rickshaw==1.5.0.0
XStatic-roboto-fontface==0.5.0.0
XStatic-smart-table==1.4.13.2
XStatic-Spin==1.2.5.2
XStatic-term.js==0.0.7.0
XStatic-tv4==1.2.7.0

4
neutron_taas/services/taas/drivers/linux/ovs_taas.py

@ -265,7 +265,7 @@ class OvsTaasDriver(taas_base.TaasAgentDriver):
ovs_port_name = ovs_port.port_name
linux_br_name = ovs_port_name.replace('qvo', 'qbr')
utils.execute(['brctl', 'setageing', linux_br_name, 0],
run_as_root=True)
run_as_root=True, privsep_exec=True)
return
@ -425,7 +425,7 @@ class OvsTaasDriver(taas_base.TaasAgentDriver):
def _create_tunnel_flood_flow_action(self):
args = ["ovs-vsctl", "list-ports", "br-tun"]
res = utils.execute(args, run_as_root=True)
res = utils.execute(args, run_as_root=True, privsep_exec=True)
port_name_list = res.splitlines()

9
neutron_taas/services/taas/drivers/linux/sriov_nic_utils.py

@ -88,7 +88,8 @@ class SriovNicUtils(object):
try:
LOG.info("TaaS executing sysfs_command %(command)s",
{'command': commit_cmd})
utils.execute(commit_cmd, run_as_root=True)
utils.execute(commit_cmd, run_as_root=True,
privsep_exec=True)
except (OSError, RuntimeError, IndexError, ValueError) as e:
LOG.error("Exception while executing Sysfs command "
"Exception: %s", e)
@ -105,7 +106,8 @@ class SriovNicUtils(object):
try:
LOG.info("TaaS executing sysfs_command %(command)s",
{'command': commit_cmd})
utils.execute(commit_cmd, run_as_root=True)
utils.execute(commit_cmd, run_as_root=True,
privsep_exec=True)
except (OSError, RuntimeError, IndexError, ValueError) as e:
LOG.error("Exception while executing Sysfs command "
"Exception: %s", e)
@ -125,7 +127,8 @@ class SriovNicUtils(object):
try:
LOG.info("TaaS executing sysfs_command %(command)s",
{'command': commit_cmd})
utils.execute(commit_cmd, run_as_root=True)
utils.execute(commit_cmd, run_as_root=True,
privsep_exec=True)
except (OSError, RuntimeError, IndexError, ValueError) as e:
LOG.error("Exception while executing Sysfs command "
"Exception: %s", e)

10
neutron_taas/tests/unit/services/drivers/test_linux_sriov_utils.py

@ -200,7 +200,7 @@ class TestSriovNicUtils(base.TaasTestCase):
egress_cmd = ['i40e_sysfs_command', 'p2p1', '18',
'egress_mirror', 'add', '9']
mock_neutron_utils.execute.assert_called_once_with(
egress_cmd, run_as_root=True)
egress_cmd, run_as_root=True, privsep_exec=True)
@mock.patch.object(sriov_nic_utils, 'utils')
@mock.patch.object(sriov_nic_utils, 'os')
@ -212,7 +212,7 @@ class TestSriovNicUtils(base.TaasTestCase):
ingress_cmd = ['i40e_sysfs_command', 'p2p1', '18',
'ingress_mirror', 'add', '9']
mock_neutron_utils.execute.assert_called_once_with(
ingress_cmd, run_as_root=True)
ingress_cmd, run_as_root=True, privsep_exec=True)
@mock.patch.object(sriov_nic_utils, 'utils')
@mock.patch.object(sriov_nic_utils, 'os')
@ -233,7 +233,7 @@ class TestSriovNicUtils(base.TaasTestCase):
egress_cmd = ['i40e_sysfs_command', 'p2p1', '18',
'egress_mirror', 'rem', '9']
mock_neutron_utils.execute.assert_called_once_with(
egress_cmd, run_as_root=True)
egress_cmd, run_as_root=True, privsep_exec=True)
@mock.patch.object(sriov_nic_utils, 'utils')
@mock.patch.object(sriov_nic_utils, 'os')
@ -245,7 +245,7 @@ class TestSriovNicUtils(base.TaasTestCase):
ingress_cmd = ['i40e_sysfs_command', 'p2p1', '18',
'ingress_mirror', 'rem', '9']
mock_neutron_utils.execute.assert_called_once_with(
ingress_cmd, run_as_root=True)
ingress_cmd, run_as_root=True, privsep_exec=True)
@mock.patch.object(sriov_nic_utils, 'utils')
@mock.patch.object(sriov_nic_utils, 'os')
@ -266,4 +266,4 @@ class TestSriovNicUtils(base.TaasTestCase):
'rem', {'pf_device': 'p2p1', 'vf_index': '9'}, {'vf_index': '18'},
"4,11-13", False, "FAKE")
mock_neutron_utils.execute.assert_called_once_with(
cmd, run_as_root=True)
cmd, run_as_root=True, privsep_exec=True)

2
requirements.txt

@ -4,7 +4,7 @@
pbr>=5.5.0 # Apache-2.0
Babel>=2.8.0 # BSD
neutron>=16.0.0 # Apache-2.0
neutron>=16.0.0.0b1 # Apache-2.0
neutron-lib>=2.6.0 # Apache-2.0
# Opt-in for neutron-lib consumption patches

1
setup.cfg

@ -17,6 +17,7 @@ classifier =
Programming Language :: Python :: 3.5
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
[files]
packages =

17
tox.ini

@ -1,12 +1,16 @@
[tox]
envlist = docs,py35,py27,pep8
minversion = 1.8
envlist = docs,py38,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
LC_ALL=C
EDITOR=vi
PYTHONWARNINGS=default::DeprecationWarning
usedevelop = True
install_command = pip install {opts} {packages}
@ -22,9 +26,6 @@ whitelist_externals = find
[tox:jenkins]
sitepackages = True
[testenv:py27]
setenv = OS_FAIL_ON_MISSING_DEPS=1
[testenv:pep8]
commands =
flake8
@ -81,12 +82,6 @@ extension =
[hacking]
import_exceptions = neutron_taas._i18n
[testenv:lower-constraints]
deps =
-c{toxinidir}/lower-constraints.txt
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt
[testenv:dev]
# run locally (not in the gate) using editable mode
# https://pip.pypa.io/en/stable/reference/pip_install/#editable-installs

Loading…
Cancel
Save