diff -Nru neutron-13.0.0~b2/debian/changelog neutron-13.0.0~b2/debian/changelog --- neutron-13.0.0~b2/debian/changelog 2018-06-13 16:01:20.000000000 +0000 +++ neutron-13.0.0~b2/debian/changelog 2018-06-18 21:10:43.000000000 +0000 @@ -1,3 +1,19 @@ +neutron (2:13.0.0~b2-0ubuntu2) cosmic; urgency=medium + + * Add Python 3 support: + - d/control: Add BD's for Python 3 support. + - d/control: Add python3-neutron, alternative to python-neutron. + - d/control,*.install: Move all py binaries to python{3}-neutron. + - d/rules: Use pkgos-dh_auto_install for py2/py3 install. + - d/*.postinst,prerm,postrm: Manage py binaries using alternatives. + - d/rules: Execute py2 and py3 unit tests. + - d/p/py36-fixes.patch: Cherry pick fix to correctly patch sys.argv, + resolving unit test failures under Python 3.6. + - d/*.manpages,control: Move manpages to -common package. + * Drop old transitional packages which are no longer needed. + + -- James Page Mon, 18 Jun 2018 22:10:43 +0100 + neutron (2:13.0.0~b2-0ubuntu1) cosmic; urgency=medium * New upstream milestone for OpenStack Rocky. diff -Nru neutron-13.0.0~b2/debian/control neutron-13.0.0~b2/debian/control --- neutron-13.0.0~b2/debian/control 2018-06-13 16:01:20.000000000 +0000 +++ neutron-13.0.0~b2/debian/control 2018-06-18 21:10:43.000000000 +0000 @@ -10,6 +10,9 @@ python-all, python-pbr (>= 2.0.0), python-setuptools, + python3-all, + python3-pbr (>= 2.0.0), + python3-setuptools, Build-Depends-Indep: crudini, python-alembic (>= 0.8.10), @@ -77,30 +80,94 @@ python-weakrefmethod (>= 1.0.2), python-webob (>= 1:1.7.1), python-webtest (>= 2.0.27), + python3-alembic (>= 0.8.10), + python3-coverage (>= 4.0), + python3-ddt (>= 1.0.1), + python3-debtcollector (>= 1.2.0), + python3-designateclient (>= 2.7.0), + python3-eventlet (>= 0.18.2), + python3-fixtures (>= 3.0.0), + python3-hacking (>= 0.12.0), + python3-httplib2 (>= 0.9.1), + python3-jinja2 (>= 2.10), + python3-keystoneauth1 (>= 3.4.0), + python3-keystonemiddleware (>= 4.17.0), + python3-mock (>= 2.0.0), + python3-netaddr (>= 0.7.18), + python3-netifaces (>= 0.10.4), + python3-neutron-lib (>= 1.14.0), + python3-neutronclient (>= 1:6.7.0), + python3-novaclient (>= 2:9.1.0), + python3-openstackdocstheme (>= 1.18.1), + python3-openvswitch (>= 2.8.0), + python3-os-testr (>= 1.0.0), + python3-os-xenapi (>= 0.3.1), + python3-oslo.cache (>= 1.26.0), + python3-oslo.concurrency (>= 3.25.0), + python3-oslo.config (>= 1:5.1.0), + python3-oslo.context (>= 1:2.19.2), + python3-oslo.db (>= 4.27.0), + python3-oslo.i18n (>= 3.15.3), + python3-oslo.log (>= 3.36.0), + python3-oslo.messaging (>= 5.29.0), + python3-oslo.middleware (>= 3.31.0), + python3-oslo.policy (>= 1.30.0), + python3-oslo.privsep (>= 1.23.0), + python3-oslo.reports (>= 1.18.0), + python3-oslo.rootwrap (>= 5.8.0), + python3-oslo.serialization (>= 2.18.0), + python3-oslo.service (>= 1.24.0), + python3-oslo.utils (>= 3.33.0), + python3-oslo.versionedobjects (>= 1.31.2), + python3-oslotest (>= 1:3.2.0), + python3-osprofiler (>= 1.4.0), + python3-ovsdbapp (>= 0.9.1), + python3-paste (>= 2.0.2), + python3-pastedeploy (>= 1.5.0), + python3-pecan (>= 1.0.0), + python3-pep8, + python3-psutil (>= 3.2.2), + python3-pymysql (>= 0.7.6), + python3-pyroute2 (>= 0.4.21), + python3-requests (>= 2.10.0), + python3-routes (>= 2.3.1), + python3-ryu (>= 4.24), + python3-six (>= 1.10.0), python3-sphinx (>= 1.6.2), + python3-sqlalchemy (>= 1.2.0), + python3-stevedore (>= 1:1.20.0), + python3-subunit (>= 1.0.0), + python3-tempest (>= 1:16.1.0), + python3-tenacity (>= 3.2.1), + python3-testrepository (>= 0.0.18), + python3-testresources (>= 2.0.0), + python3-testscenarios (>= 0.4), + python3-testtools (>= 2.2.0), + python3-webob (>= 1:1.7.1), + python3-webtest (>= 2.0.27), rename, -XS-Python-Version: >= 2.7 Standards-Version: 4.1.4 Vcs-Browser: https://git.launchpad.net/~ubuntu-server-dev/ubuntu/+source/neutron Vcs-Git: https://git.launchpad.net/~ubuntu-server-dev/ubuntu/+source/neutron Homepage: https://docs.openstack.org/neutron -Testsuite: autopkgtest-pkg-python Package: neutron-common Architecture: all Depends: adduser, ipset, - python-neutron (= ${source:Version}), - python-neutron-fwaas (>= 1:9.0.0~b3), + python-neutron-fwaas (>= 1:13.0.0~) | python3-neutron-fwaas (>= 1:13.0.0~), + python-neutron (= ${source:Version}) | python3-neutron (= ${source:Version}), ${misc:Depends}, ${python:Depends}, Breaks: - neutron-l3-agent (<< 1:2014.1~rc2-0ubuntu3~), - neutron-vpn-agent (<< 1:2014.1~rc2-0ubuntu3~), + neutron-server (<= 1:13.0.0~b2-0ubuntu2~), + neutron-linuxbridge-agent (<= 1:13.0.0~b2-0ubuntu2~), + neutron-openvswitch-agent (<= 1:13.0.0~b2-0ubuntu2~), Replaces: - neutron-l3-agent (<< 1:2014.1~rc2-0ubuntu3~), - neutron-vpn-agent (<< 1:2014.1~rc2-0ubuntu3~), + neutron-server (<= 1:13.0.0~b2-0ubuntu2~), + neutron-linuxbridge-agent (<= 1:13.0.0~b2-0ubuntu2~), + neutron-openvswitch-agent (<= 1:13.0.0~b2-0ubuntu2~), Description: Neutron is a virtual network service for Openstack - common Neutron is a virtual network service for Openstack, and a part of Netstack. Just like OpenStack Nova provides an API to dynamically @@ -277,26 +344,6 @@ . This package provides the Open vSwitch plugin agent. -Package: neutron-plugin-linuxbridge-agent -Architecture: all -Section: oldlibs -Priority: extra -Depends: - neutron-linuxbridge-agent (= ${source:Version}), - ${misc:Depends}, - ${python:Depends}, -Description: Transitional package for neutron-linuxbridge-agent - Neutron is a virtual network service for Openstack, and a part of - Netstack. Just like OpenStack Nova provides an API to dynamically - request and configure virtual servers, Neutron provides an API to - dynamically request and configure virtual networks. These networks - connect "interfaces" from other OpenStack services (e.g., virtual NICs - from Nova VMs). The Neutron API supports extensions to provide - advanced network capabilities (e.g., QoS, ACLs, network monitoring, - etc.) - . - This package is a transitional package and can be safely removed. - Package: neutron-plugin-ml2 Architecture: all Provides: @@ -318,46 +365,6 @@ . This package provides the Modular Layer 2 plugin. -Package: neutron-plugin-openvswitch-agent -Section: oldlibs -Priority: extra -Architecture: all -Depends: - neutron-openvswitch-agent (= ${source:Version}), - ${misc:Depends}, - ${python:Depends}, -Description: Transitional package for neutron-openvswitch-agent - Neutron is a virtual network service for Openstack, and a part of - Netstack. Just like OpenStack Nova provides an API to dynamically - request and configure virtual servers, Neutron provides an API to - dynamically request and configure virtual networks. These networks - connect "interfaces" from other OpenStack services (e.g., virtual NICs - from Nova VMs). The Neutron API supports extensions to provide - advanced network capabilities (e.g., QoS, ACLs, network monitoring, - etc.) - . - This package is a transitional package and can be safely removed. - -Package: neutron-plugin-sriov-agent -Section: oldlibs -Priority: extra -Architecture: all -Depends: - neutron-sriov-agent (= ${source:Version}), - ${misc:Depends}, - ${python:Depends}, -Description: Transitional package for neutron-sriov-agent - Neutron is a virtual network service for Openstack, and a part of - Netstack. Just like OpenStack Nova provides an API to dynamically - request and configure virtual servers, Neutron provides an API to - dynamically request and configure virtual networks. These networks - connect "interfaces" from other OpenStack services (e.g., virtual NICs - from Nova VMs). The Neutron API supports extensions to provide - advanced network capabilities (e.g., QoS, ACLs, network monitoring, - etc.) - . - This package is a transitional package and can be safely removed. - Package: neutron-server Architecture: all Depends: @@ -462,7 +469,96 @@ ${python:Depends}, Provides: ${python:Provides}, -XB-Python-Version: ${python:Versions} +Breaks: + neutron-dhcp-agent (<= 1:13.0.0~b2-0ubuntu2~), + neutron-l3-agent (<= 1:13.0.0~b2-0ubuntu2~), + neutron-linuxbridge-agent (<= 1:13.0.0~b2-0ubuntu2~), + neutron-macvtap-agent (<= 1:13.0.0~b2-0ubuntu2~), + neutron-metadata-agent (<= 1:13.0.0~b2-0ubuntu2~), + neutron-metering-agent (<= 1:13.0.0~b2-0ubuntu2~), + neutron-openvswitch-agent (<= 1:13.0.0~b2-0ubuntu2~), + neutron-server (<= 1:13.0.0~b2-0ubuntu2~), + neutron-sriov-agent (<= 1:13.0.0~b2-0ubuntu2~), +Replaces: + neutron-dhcp-agent (<= 1:13.0.0~b2-0ubuntu2~), + neutron-l3-agent (<= 1:13.0.0~b2-0ubuntu2~), + neutron-linuxbridge-agent (<= 1:13.0.0~b2-0ubuntu2~), + neutron-macvtap-agent (<= 1:13.0.0~b2-0ubuntu2~), + neutron-metadata-agent (<= 1:13.0.0~b2-0ubuntu2~), + neutron-metering-agent (<= 1:13.0.0~b2-0ubuntu2~), + neutron-openvswitch-agent (<= 1:13.0.0~b2-0ubuntu2~), + neutron-server (<= 1:13.0.0~b2-0ubuntu2~), + neutron-sriov-agent (<= 1:13.0.0~b2-0ubuntu2~), +Description: Neutron is a virtual network service for Openstack - Python library + Neutron is a virtual network service for Openstack, and a part of + Netstack. Just like OpenStack Nova provides an API to dynamically + request and configure virtual servers, Neutron provides an API to + dynamically request and configure virtual networks. These networks + connect "interfaces" from other OpenStack services (e.g., virtual NICs + from Nova VMs). The Neutron API supports extensions to provide + advanced network capabilities (e.g., QoS, ACLs, network monitoring, + etc.) + . + This package provides the Python 2.x library. + +Package: python3-neutron +Architecture: all +Section: python +Depends: + iproute2, + python3-alembic (>= 0.8.10), + python3-debtcollector (>= 1.2.0), + python3-designateclient (>= 2.7.0), + python3-eventlet (>= 0.18.2), + python3-httplib2 (>= 0.9.1), + python3-jinja2 (>= 2.10), + python3-keystoneauth1 (>= 3.4.0), + python3-keystonemiddleware (>= 4.17.0), + python3-netaddr (>= 0.7.18), + python3-netifaces (>= 0.10.4), + python3-neutron-lib (>= 1.14.0), + python3-neutronclient (>= 1:6.7.0), + python3-novaclient (>= 2:9.1.0), + python3-openvswitch (>= 2.8.0), + python3-os-xenapi (>= 0.3.1), + python3-oslo.cache (>= 1.26.0), + python3-oslo.concurrency (>= 3.25.0), + python3-oslo.config (>= 1:5.1.0), + python3-oslo.context (>= 1:2.19.2), + python3-oslo.db (>= 4.27.0), + python3-oslo.i18n (>= 3.15.3), + python3-oslo.log (>= 3.36.0), + python3-oslo.messaging (>= 5.29.0), + python3-oslo.middleware (>= 3.31.0), + python3-oslo.policy (>= 1.30.0), + python3-oslo.privsep (>= 1.23.0), + python3-oslo.reports (>= 1.18.0), + python3-oslo.rootwrap (>= 5.8.0), + python3-oslo.serialization (>= 2.18.0), + python3-oslo.service (>= 1.24.0), + python3-oslo.utils (>= 3.33.0), + python3-oslo.versionedobjects (>= 1.31.2), + python3-osprofiler (>= 1.4.0), + python3-ovsdbapp (>= 0.9.1), + python3-paste (>= 2.0.2), + python3-pastedeploy (>= 1.5.0), + python3-pbr (>= 2.0.0), + python3-pecan (>= 1.0.0), + python3-psutil (>= 3.2.2), + python3-pymysql, + python3-pyroute2 (>= 0.4.21), + python3-requests (>= 2.10.0), + python3-routes (>= 2.3.1), + python3-ryu (>= 4.24), + python3-six (>= 1.10.0), + python3-sqlalchemy (>= 1.2.0), + python3-stevedore (>= 1:1.20.0), + python3-tenacity (>= 3.2.1), + python3-webob (>= 1:1.7.1), + ${misc:Depends}, + ${python3:Depends}, +Provides: + ${python3:Provides}, Description: Neutron is a virtual network service for Openstack - Python library Neutron is a virtual network service for Openstack, and a part of Netstack. Just like OpenStack Nova provides an API to dynamically @@ -473,4 +569,4 @@ advanced network capabilities (e.g., QoS, ACLs, network monitoring, etc.) . - This package provides the Python library. + This package provides the Python 3.x library. diff -Nru neutron-13.0.0~b2/debian/mans/neutron-nec-agent.8 neutron-13.0.0~b2/debian/mans/neutron-nec-agent.8 --- neutron-13.0.0~b2/debian/mans/neutron-nec-agent.8 2018-06-13 16:01:20.000000000 +0000 +++ neutron-13.0.0~b2/debian/mans/neutron-nec-agent.8 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ -.TH neutron\-nec\-agent 8 -.SH NAME -neutron\-nec\-agent \- OpenStack Virtual network service \- nec agent - -.SH SYNOPSIS -.B neutron\-nec\-agent - -.SH DESCRIPTION -.B neutron\-nec\-agent - -This man page is a stub. Please contribute. diff -Nru neutron-13.0.0~b2/debian/mans/neutron-ryu-agent.8 neutron-13.0.0~b2/debian/mans/neutron-ryu-agent.8 --- neutron-13.0.0~b2/debian/mans/neutron-ryu-agent.8 2018-06-13 16:01:20.000000000 +0000 +++ neutron-13.0.0~b2/debian/mans/neutron-ryu-agent.8 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ -.TH neutron\-ryu\-agent 8 -.SH NAME -neutron\-ryu\-agent \- OpenStack Virtual network service \- ryu agent - -.SH SYNOPSIS -.B neutron\-ryu\-agent - -.SH DESCRIPTION -.B neutron\-ryu\-agent - -This man page is a stub. Please contribute. diff -Nru neutron-13.0.0~b2/debian/neutron-common.install neutron-13.0.0~b2/debian/neutron-common.install --- neutron-13.0.0~b2/debian/neutron-common.install 2018-06-13 16:01:20.000000000 +0000 +++ neutron-13.0.0~b2/debian/neutron-common.install 2018-06-18 21:10:43.000000000 +0000 @@ -10,17 +10,3 @@ etc/neutron/rootwrap.d/l3.filters etc/neutron/rootwrap.d etc/policy.json etc/neutron etc/rootwrap.conf etc/neutron -usr/bin/neutron-db-manage usr/bin -usr/bin/neutron-debug usr/bin -usr/bin/neutron-ipset-cleanup usr/bin -usr/bin/neutron-keepalived-state-change usr/bin -usr/bin/neutron-linuxbridge-cleanup usr/bin -usr/bin/neutron-netns-cleanup usr/bin -usr/bin/neutron-ovs-cleanup usr/bin -usr/bin/neutron-pd-notify usr/bin -usr/bin/neutron-rootwrap usr/bin -usr/bin/neutron-rootwrap-daemon usr/bin -usr/bin/neutron-rootwrap-xen-dom0 usr/bin -usr/bin/neutron-rpc-server usr/bin -usr/bin/neutron-sanity-check usr/bin -usr/bin/neutron-usage-audit usr/bin diff -Nru neutron-13.0.0~b2/debian/neutron-common.manpages neutron-13.0.0~b2/debian/neutron-common.manpages --- neutron-13.0.0~b2/debian/neutron-common.manpages 1970-01-01 00:00:00.000000000 +0000 +++ neutron-13.0.0~b2/debian/neutron-common.manpages 2018-06-18 21:10:43.000000000 +0000 @@ -0,0 +1,4 @@ +debian/mans/neutron-linuxbridge-agent.8 +debian/mans/neutron-openvswitch-agent.8 +debian/mans/neutron-rootwrap.8 +debian/mans/neutron-server.8 diff -Nru neutron-13.0.0~b2/debian/neutron-dhcp-agent.install neutron-13.0.0~b2/debian/neutron-dhcp-agent.install --- neutron-13.0.0~b2/debian/neutron-dhcp-agent.install 2018-06-13 16:01:20.000000000 +0000 +++ neutron-13.0.0~b2/debian/neutron-dhcp-agent.install 2018-06-18 21:10:43.000000000 +0000 @@ -1,3 +1,2 @@ etc/dhcp_agent.ini etc/neutron etc/neutron/rootwrap.d/dhcp.filters etc/neutron/rootwrap.d -usr/bin/neutron-dhcp-agent usr/bin diff -Nru neutron-13.0.0~b2/debian/neutron-l3-agent.install neutron-13.0.0~b2/debian/neutron-l3-agent.install --- neutron-13.0.0~b2/debian/neutron-l3-agent.install 2018-06-13 16:01:20.000000000 +0000 +++ neutron-13.0.0~b2/debian/neutron-l3-agent.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -usr/bin/neutron-l3-agent usr/bin diff -Nru neutron-13.0.0~b2/debian/neutron-linuxbridge-agent.install neutron-13.0.0~b2/debian/neutron-linuxbridge-agent.install --- neutron-13.0.0~b2/debian/neutron-linuxbridge-agent.install 2018-06-13 16:01:20.000000000 +0000 +++ neutron-13.0.0~b2/debian/neutron-linuxbridge-agent.install 2018-06-18 21:10:43.000000000 +0000 @@ -1,3 +1,2 @@ etc/neutron/plugins/ml2/linuxbridge_agent.ini etc/neutron/rootwrap.d/linuxbridge-plugin.filters -usr/bin/neutron-linuxbridge-agent diff -Nru neutron-13.0.0~b2/debian/neutron-linuxbridge-agent.manpages neutron-13.0.0~b2/debian/neutron-linuxbridge-agent.manpages --- neutron-13.0.0~b2/debian/neutron-linuxbridge-agent.manpages 2018-06-13 16:01:20.000000000 +0000 +++ neutron-13.0.0~b2/debian/neutron-linuxbridge-agent.manpages 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -debian/mans/neutron-linuxbridge-agent.8 diff -Nru neutron-13.0.0~b2/debian/neutron-macvtap-agent.install neutron-13.0.0~b2/debian/neutron-macvtap-agent.install --- neutron-13.0.0~b2/debian/neutron-macvtap-agent.install 2018-06-13 16:01:20.000000000 +0000 +++ neutron-13.0.0~b2/debian/neutron-macvtap-agent.install 2018-06-18 21:10:43.000000000 +0000 @@ -1,2 +1 @@ etc/neutron/plugins/ml2/macvtap_agent.ini -usr/bin/neutron-macvtap-agent usr/bin diff -Nru neutron-13.0.0~b2/debian/neutron-metadata-agent.install neutron-13.0.0~b2/debian/neutron-metadata-agent.install --- neutron-13.0.0~b2/debian/neutron-metadata-agent.install 2018-06-13 16:01:20.000000000 +0000 +++ neutron-13.0.0~b2/debian/neutron-metadata-agent.install 2018-06-18 21:10:43.000000000 +0000 @@ -1,2 +1 @@ etc/metadata_agent.ini etc/neutron -usr/bin/neutron-metadata-agent usr/bin diff -Nru neutron-13.0.0~b2/debian/neutron-metering-agent.install neutron-13.0.0~b2/debian/neutron-metering-agent.install --- neutron-13.0.0~b2/debian/neutron-metering-agent.install 2018-06-13 16:01:20.000000000 +0000 +++ neutron-13.0.0~b2/debian/neutron-metering-agent.install 2018-06-18 21:10:43.000000000 +0000 @@ -1,2 +1 @@ etc/metering_agent.ini etc/neutron -usr/bin/neutron-metering-agent usr/bin diff -Nru neutron-13.0.0~b2/debian/neutron-openvswitch-agent.install neutron-13.0.0~b2/debian/neutron-openvswitch-agent.install --- neutron-13.0.0~b2/debian/neutron-openvswitch-agent.install 2018-06-13 16:01:20.000000000 +0000 +++ neutron-13.0.0~b2/debian/neutron-openvswitch-agent.install 2018-06-18 21:10:43.000000000 +0000 @@ -1,3 +1,2 @@ etc/neutron/plugins/ml2/openvswitch_agent.ini etc/neutron/rootwrap.d/openvswitch-plugin.filters -usr/bin/neutron-openvswitch-agent diff -Nru neutron-13.0.0~b2/debian/neutron-openvswitch-agent.manpages neutron-13.0.0~b2/debian/neutron-openvswitch-agent.manpages --- neutron-13.0.0~b2/debian/neutron-openvswitch-agent.manpages 2018-06-13 16:01:20.000000000 +0000 +++ neutron-13.0.0~b2/debian/neutron-openvswitch-agent.manpages 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -debian/mans/neutron-openvswitch-agent.8 diff -Nru neutron-13.0.0~b2/debian/neutron-server.install neutron-13.0.0~b2/debian/neutron-server.install --- neutron-13.0.0~b2/debian/neutron-server.install 2018-06-13 16:01:20.000000000 +0000 +++ neutron-13.0.0~b2/debian/neutron-server.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -usr/bin/neutron-server usr/bin diff -Nru neutron-13.0.0~b2/debian/neutron-server.manpages neutron-13.0.0~b2/debian/neutron-server.manpages --- neutron-13.0.0~b2/debian/neutron-server.manpages 2018-06-13 16:01:20.000000000 +0000 +++ neutron-13.0.0~b2/debian/neutron-server.manpages 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -debian/mans/neutron-rootwrap.8 -debian/mans/neutron-server.8 diff -Nru neutron-13.0.0~b2/debian/neutron-sriov-agent.install neutron-13.0.0~b2/debian/neutron-sriov-agent.install --- neutron-13.0.0~b2/debian/neutron-sriov-agent.install 2018-06-13 16:01:20.000000000 +0000 +++ neutron-13.0.0~b2/debian/neutron-sriov-agent.install 2018-06-18 21:10:43.000000000 +0000 @@ -1,2 +1 @@ etc/neutron/plugins/ml2/sriov_agent.ini -usr/bin/neutron-sriov-nic-agent diff -Nru neutron-13.0.0~b2/debian/patches/py36-fixes.patch neutron-13.0.0~b2/debian/patches/py36-fixes.patch --- neutron-13.0.0~b2/debian/patches/py36-fixes.patch 1970-01-01 00:00:00.000000000 +0000 +++ neutron-13.0.0~b2/debian/patches/py36-fixes.patch 2018-06-18 21:10:43.000000000 +0000 @@ -0,0 +1,39 @@ +From b9ef56202132d921cc136f35db81fd000ca00599 Mon Sep 17 00:00:00 2001 +From: James Page +Date: Fri, 15 Jun 2018 14:50:14 +0100 +Subject: [PATCH] Improve patching of sys.argv + +More in-depth type checking of args in Python 3.6 causes issues +with the current approach to patching sys.argv for agent unit +tests; Directly patch argv with the required test arguments +rather than using return_value (which does not really do what +the test assumes it does). + +Change-Id: I88b32e4bacf0041453b8e95e8df7ca9193877f95 +--- + neutron/tests/unit/agent/dhcp/test_agent.py | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/neutron/tests/unit/agent/dhcp/test_agent.py b/neutron/tests/unit/agent/dhcp/test_agent.py +index 56c0b803f..088ce3dd1 100644 +--- a/neutron/tests/unit/agent/dhcp/test_agent.py ++++ b/neutron/tests/unit/agent/dhcp/test_agent.py +@@ -255,10 +255,11 @@ class TestDhcpAgent(base.BaseTestCase): + 'periodic_resync', + autospec=True) as mock_periodic_resync: + with mock.patch(state_rpc_str) as state_rpc: +- with mock.patch.object(sys, 'argv') as sys_argv: +- sys_argv.return_value = [ +- 'dhcp', '--config-file', +- base.etcdir('neutron.conf')] ++ test_args = [ ++ 'dhcp', '--config-file', ++ base.etcdir('neutron.conf') ++ ] ++ with mock.patch.object(sys, 'argv', test_args): + cfg.CONF.register_opts(dhcp_config.DHCP_AGENT_OPTS) + config.register_interface_driver_opts_helper(cfg.CONF) + config.register_agent_state_opts_helper(cfg.CONF) +-- +2.17.0 + diff -Nru neutron-13.0.0~b2/debian/patches/series neutron-13.0.0~b2/debian/patches/series --- neutron-13.0.0~b2/debian/patches/series 2018-06-13 16:01:20.000000000 +0000 +++ neutron-13.0.0~b2/debian/patches/series 2018-06-18 21:10:43.000000000 +0000 @@ -1,2 +1,3 @@ skip-iptest.patch flake8-legacy.patch +py36-fixes.patch diff -Nru neutron-13.0.0~b2/debian/python3-neutron.postinst neutron-13.0.0~b2/debian/python3-neutron.postinst --- neutron-13.0.0~b2/debian/python3-neutron.postinst 1970-01-01 00:00:00.000000000 +0000 +++ neutron-13.0.0~b2/debian/python3-neutron.postinst 2018-06-18 21:10:43.000000000 +0000 @@ -0,0 +1,34 @@ +#!/bin/sh + +set -e + +if [ "$1" = "configure" ] ; then + update-alternatives --install /usr/bin/neutron-api neutron-api /usr/bin/python3-neutron-api 200 + update-alternatives --install /usr/bin/neutron-db-manage neutron-db-manage /usr/bin/python3-neutron-db-manage 200 + update-alternatives --install /usr/bin/neutron-debug neutron-debug /usr/bin/python3-neutron-debug 200 + update-alternatives --install /usr/bin/neutron-dhcp-agent neutron-dhcp-agent /usr/bin/python3-neutron-dhcp-agent 200 + update-alternatives --install /usr/bin/neutron-ipset-cleanup neutron-ipset-cleanup /usr/bin/python3-neutron-ipset-cleanup 200 + update-alternatives --install /usr/bin/neutron-keepalived-state-change neutron-keepalived-state-change /usr/bin/python3-neutron-keepalived-state-change 200 + update-alternatives --install /usr/bin/neutron-l3-agent neutron-l3-agent /usr/bin/python3-neutron-l3-agent 200 + update-alternatives --install /usr/bin/neutron-linuxbridge-agent neutron-linuxbridge-agent /usr/bin/python3-neutron-linuxbridge-agent 200 + update-alternatives --install /usr/bin/neutron-linuxbridge-cleanup neutron-linuxbridge-cleanup /usr/bin/python3-neutron-linuxbridge-cleanup 200 + update-alternatives --install /usr/bin/neutron-macvtap-agent neutron-macvtap-agent /usr/bin/python3-neutron-macvtap-agent 200 + update-alternatives --install /usr/bin/neutron-metadata-agent neutron-metadata-agent /usr/bin/python3-neutron-metadata-agent 200 + update-alternatives --install /usr/bin/neutron-metering-agent neutron-metering-agent /usr/bin/python3-neutron-metering-agent 200 + update-alternatives --install /usr/bin/neutron-netns-cleanup neutron-netns-cleanup /usr/bin/python3-neutron-netns-cleanup 200 + update-alternatives --install /usr/bin/neutron-openvswitch-agent neutron-openvswitch-agent /usr/bin/python3-neutron-openvswitch-agent 200 + update-alternatives --install /usr/bin/neutron-ovs-cleanup neutron-ovs-cleanup /usr/bin/python3-neutron-ovs-cleanup 200 + update-alternatives --install /usr/bin/neutron-pd-notify neutron-pd-notify /usr/bin/python3-neutron-pd-notify 200 + update-alternatives --install /usr/bin/neutron-rootwrap neutron-rootwrap /usr/bin/python3-neutron-rootwrap 200 + update-alternatives --install /usr/bin/neutron-rootwrap-daemon neutron-rootwrap-daemon /usr/bin/python3-neutron-rootwrap-daemon 200 + update-alternatives --install /usr/bin/neutron-rootwrap-xen-dom0 neutron-rootwrap-xen-dom0 /usr/bin/python3-neutron-rootwrap-xen-dom0 200 + update-alternatives --install /usr/bin/neutron-rpc-server neutron-rpc-server /usr/bin/python3-neutron-rpc-server 200 + update-alternatives --install /usr/bin/neutron-sanity-check neutron-sanity-check /usr/bin/python3-neutron-sanity-check 200 + update-alternatives --install /usr/bin/neutron-server neutron-server /usr/bin/python3-neutron-server 200 + update-alternatives --install /usr/bin/neutron-sriov-nic-agent neutron-sriov-nic-agent /usr/bin/python3-neutron-sriov-nic-agent 200 + update-alternatives --install /usr/bin/neutron-usage-audit neutron-usage-audit /usr/bin/python3-neutron-usage-audit 200 +fi + +#DEBHELPER# + +exit 0 diff -Nru neutron-13.0.0~b2/debian/python3-neutron.postrm neutron-13.0.0~b2/debian/python3-neutron.postrm --- neutron-13.0.0~b2/debian/python3-neutron.postrm 1970-01-01 00:00:00.000000000 +0000 +++ neutron-13.0.0~b2/debian/python3-neutron.postrm 2018-06-18 21:10:43.000000000 +0000 @@ -0,0 +1,34 @@ +#!/bin/sh + +set -e + +if [ "$1" = "remove" ] || [ "$1" = "disappear" ] ; then + update-alternatives --remove neutron-api /usr/bin/python3-neutron-api + update-alternatives --remove neutron-db-manage /usr/bin/python3-neutron-db-manage + update-alternatives --remove neutron-debug /usr/bin/python3-neutron-debug + update-alternatives --remove neutron-dhcp-agent /usr/bin/python3-neutron-dhcp-agent + update-alternatives --remove neutron-ipset-cleanup /usr/bin/python3-neutron-ipset-cleanup + update-alternatives --remove neutron-keepalived-state-change /usr/bin/python3-neutron-keepalived-state-change + update-alternatives --remove neutron-l3-agent /usr/bin/python3-neutron-l3-agent + update-alternatives --remove neutron-linuxbridge-agent /usr/bin/python3-neutron-linuxbridge-agent + update-alternatives --remove neutron-linuxbridge-cleanup /usr/bin/python3-neutron-linuxbridge-cleanup + update-alternatives --remove neutron-macvtap-agent /usr/bin/python3-neutron-macvtap-agent + update-alternatives --remove neutron-metadata-agent /usr/bin/python3-neutron-metadata-agent + update-alternatives --remove neutron-metering-agent /usr/bin/python3-neutron-metering-agent + update-alternatives --remove neutron-netns-cleanup /usr/bin/python3-neutron-netns-cleanup + update-alternatives --remove neutron-openvswitch-agent /usr/bin/python3-neutron-openvswitch-agent + update-alternatives --remove neutron-ovs-cleanup /usr/bin/python3-neutron-ovs-cleanup + update-alternatives --remove neutron-pd-notify /usr/bin/python3-neutron-pd-notify + update-alternatives --remove neutron-rootwrap /usr/bin/python3-neutron-rootwrap + update-alternatives --remove neutron-rootwrap-daemon /usr/bin/python3-neutron-rootwrap-daemon + update-alternatives --remove neutron-rootwrap-xen-dom0 /usr/bin/python3-neutron-rootwrap-xen-dom0 + update-alternatives --remove neutron-rpc-server /usr/bin/python3-neutron-rpc-server + update-alternatives --remove neutron-sanity-check /usr/bin/python3-neutron-sanity-check + update-alternatives --remove neutron-server /usr/bin/python3-neutron-server + update-alternatives --remove neutron-sriov-nic-agent /usr/bin/python3-neutron-sriov-nic-agent + update-alternatives --remove neutron-usage-audit /usr/bin/python3-neutron-usage-audit +fi + +#DEBHELPER# + +exit 0 diff -Nru neutron-13.0.0~b2/debian/python3-neutron.prerm neutron-13.0.0~b2/debian/python3-neutron.prerm --- neutron-13.0.0~b2/debian/python3-neutron.prerm 1970-01-01 00:00:00.000000000 +0000 +++ neutron-13.0.0~b2/debian/python3-neutron.prerm 2018-06-18 21:10:43.000000000 +0000 @@ -0,0 +1,34 @@ +#!/bin/sh + +set -e + +if [ "$1" = "remove" ] ; then + update-alternatives --remove neutron-api /usr/bin/python3-neutron-api + update-alternatives --remove neutron-db-manage /usr/bin/python3-neutron-db-manage + update-alternatives --remove neutron-debug /usr/bin/python3-neutron-debug + update-alternatives --remove neutron-dhcp-agent /usr/bin/python3-neutron-dhcp-agent + update-alternatives --remove neutron-ipset-cleanup /usr/bin/python3-neutron-ipset-cleanup + update-alternatives --remove neutron-keepalived-state-change /usr/bin/python3-neutron-keepalived-state-change + update-alternatives --remove neutron-l3-agent /usr/bin/python3-neutron-l3-agent + update-alternatives --remove neutron-linuxbridge-agent /usr/bin/python3-neutron-linuxbridge-agent + update-alternatives --remove neutron-linuxbridge-cleanup /usr/bin/python3-neutron-linuxbridge-cleanup + update-alternatives --remove neutron-macvtap-agent /usr/bin/python3-neutron-macvtap-agent + update-alternatives --remove neutron-metadata-agent /usr/bin/python3-neutron-metadata-agent + update-alternatives --remove neutron-metering-agent /usr/bin/python3-neutron-metering-agent + update-alternatives --remove neutron-netns-cleanup /usr/bin/python3-neutron-netns-cleanup + update-alternatives --remove neutron-openvswitch-agent /usr/bin/python3-neutron-openvswitch-agent + update-alternatives --remove neutron-ovs-cleanup /usr/bin/python3-neutron-ovs-cleanup + update-alternatives --remove neutron-pd-notify /usr/bin/python3-neutron-pd-notify + update-alternatives --remove neutron-rootwrap /usr/bin/python3-neutron-rootwrap + update-alternatives --remove neutron-rootwrap-daemon /usr/bin/python3-neutron-rootwrap-daemon + update-alternatives --remove neutron-rootwrap-xen-dom0 /usr/bin/python3-neutron-rootwrap-xen-dom0 + update-alternatives --remove neutron-rpc-server /usr/bin/python3-neutron-rpc-server + update-alternatives --remove neutron-sanity-check /usr/bin/python3-neutron-sanity-check + update-alternatives --remove neutron-server /usr/bin/python3-neutron-server + update-alternatives --remove neutron-sriov-nic-agent /usr/bin/python3-neutron-sriov-nic-agent + update-alternatives --remove neutron-usage-audit /usr/bin/python3-neutron-usage-audit +fi + +#DEBHELPER# + +exit 0 diff -Nru neutron-13.0.0~b2/debian/python-neutron.install neutron-13.0.0~b2/debian/python-neutron.install --- neutron-13.0.0~b2/debian/python-neutron.install 2018-06-13 16:01:20.000000000 +0000 +++ neutron-13.0.0~b2/debian/python-neutron.install 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -usr/bin/neutron-api -usr/lib/python*/dist-packages/* diff -Nru neutron-13.0.0~b2/debian/python-neutron.postinst neutron-13.0.0~b2/debian/python-neutron.postinst --- neutron-13.0.0~b2/debian/python-neutron.postinst 1970-01-01 00:00:00.000000000 +0000 +++ neutron-13.0.0~b2/debian/python-neutron.postinst 2018-06-18 21:10:43.000000000 +0000 @@ -0,0 +1,34 @@ +#!/bin/sh + +set -e + +if [ "$1" = "configure" ] ; then + update-alternatives --install /usr/bin/neutron-api neutron-api /usr/bin/python2-neutron-api 300 + update-alternatives --install /usr/bin/neutron-db-manage neutron-db-manage /usr/bin/python2-neutron-db-manage 300 + update-alternatives --install /usr/bin/neutron-debug neutron-debug /usr/bin/python2-neutron-debug 300 + update-alternatives --install /usr/bin/neutron-dhcp-agent neutron-dhcp-agent /usr/bin/python2-neutron-dhcp-agent 300 + update-alternatives --install /usr/bin/neutron-ipset-cleanup neutron-ipset-cleanup /usr/bin/python2-neutron-ipset-cleanup 300 + update-alternatives --install /usr/bin/neutron-keepalived-state-change neutron-keepalived-state-change /usr/bin/python2-neutron-keepalived-state-change 300 + update-alternatives --install /usr/bin/neutron-l3-agent neutron-l3-agent /usr/bin/python2-neutron-l3-agent 300 + update-alternatives --install /usr/bin/neutron-linuxbridge-agent neutron-linuxbridge-agent /usr/bin/python2-neutron-linuxbridge-agent 300 + update-alternatives --install /usr/bin/neutron-linuxbridge-cleanup neutron-linuxbridge-cleanup /usr/bin/python2-neutron-linuxbridge-cleanup 300 + update-alternatives --install /usr/bin/neutron-macvtap-agent neutron-macvtap-agent /usr/bin/python2-neutron-macvtap-agent 300 + update-alternatives --install /usr/bin/neutron-metadata-agent neutron-metadata-agent /usr/bin/python2-neutron-metadata-agent 300 + update-alternatives --install /usr/bin/neutron-metering-agent neutron-metering-agent /usr/bin/python2-neutron-metering-agent 300 + update-alternatives --install /usr/bin/neutron-netns-cleanup neutron-netns-cleanup /usr/bin/python2-neutron-netns-cleanup 300 + update-alternatives --install /usr/bin/neutron-openvswitch-agent neutron-openvswitch-agent /usr/bin/python2-neutron-openvswitch-agent 300 + update-alternatives --install /usr/bin/neutron-ovs-cleanup neutron-ovs-cleanup /usr/bin/python2-neutron-ovs-cleanup 300 + update-alternatives --install /usr/bin/neutron-pd-notify neutron-pd-notify /usr/bin/python2-neutron-pd-notify 300 + update-alternatives --install /usr/bin/neutron-rootwrap neutron-rootwrap /usr/bin/python2-neutron-rootwrap 300 + update-alternatives --install /usr/bin/neutron-rootwrap-daemon neutron-rootwrap-daemon /usr/bin/python2-neutron-rootwrap-daemon 300 + update-alternatives --install /usr/bin/neutron-rootwrap-xen-dom0 neutron-rootwrap-xen-dom0 /usr/bin/python2-neutron-rootwrap-xen-dom0 300 + update-alternatives --install /usr/bin/neutron-rpc-server neutron-rpc-server /usr/bin/python2-neutron-rpc-server 300 + update-alternatives --install /usr/bin/neutron-sanity-check neutron-sanity-check /usr/bin/python2-neutron-sanity-check 300 + update-alternatives --install /usr/bin/neutron-server neutron-server /usr/bin/python2-neutron-server 300 + update-alternatives --install /usr/bin/neutron-sriov-nic-agent neutron-sriov-nic-agent /usr/bin/python2-neutron-sriov-nic-agent 300 + update-alternatives --install /usr/bin/neutron-usage-audit neutron-usage-audit /usr/bin/python2-neutron-usage-audit 300 +fi + +#DEBHELPER# + +exit 0 diff -Nru neutron-13.0.0~b2/debian/python-neutron.postrm neutron-13.0.0~b2/debian/python-neutron.postrm --- neutron-13.0.0~b2/debian/python-neutron.postrm 1970-01-01 00:00:00.000000000 +0000 +++ neutron-13.0.0~b2/debian/python-neutron.postrm 2018-06-18 21:10:43.000000000 +0000 @@ -0,0 +1,34 @@ +#!/bin/sh + +set -e + +if [ "$1" = "remove" ] || [ "$1" = "disappear" ] ; then + update-alternatives --remove neutron-api /usr/bin/python2-neutron-api + update-alternatives --remove neutron-db-manage /usr/bin/python2-neutron-db-manage + update-alternatives --remove neutron-debug /usr/bin/python2-neutron-debug + update-alternatives --remove neutron-dhcp-agent /usr/bin/python2-neutron-dhcp-agent + update-alternatives --remove neutron-ipset-cleanup /usr/bin/python2-neutron-ipset-cleanup + update-alternatives --remove neutron-keepalived-state-change /usr/bin/python2-neutron-keepalived-state-change + update-alternatives --remove neutron-l3-agent /usr/bin/python2-neutron-l3-agent + update-alternatives --remove neutron-linuxbridge-agent /usr/bin/python2-neutron-linuxbridge-agent + update-alternatives --remove neutron-linuxbridge-cleanup /usr/bin/python2-neutron-linuxbridge-cleanup + update-alternatives --remove neutron-macvtap-agent /usr/bin/python2-neutron-macvtap-agent + update-alternatives --remove neutron-metadata-agent /usr/bin/python2-neutron-metadata-agent + update-alternatives --remove neutron-metering-agent /usr/bin/python2-neutron-metering-agent + update-alternatives --remove neutron-netns-cleanup /usr/bin/python2-neutron-netns-cleanup + update-alternatives --remove neutron-openvswitch-agent /usr/bin/python2-neutron-openvswitch-agent + update-alternatives --remove neutron-ovs-cleanup /usr/bin/python2-neutron-ovs-cleanup + update-alternatives --remove neutron-pd-notify /usr/bin/python2-neutron-pd-notify + update-alternatives --remove neutron-rootwrap /usr/bin/python2-neutron-rootwrap + update-alternatives --remove neutron-rootwrap-daemon /usr/bin/python2-neutron-rootwrap-daemon + update-alternatives --remove neutron-rootwrap-xen-dom0 /usr/bin/python2-neutron-rootwrap-xen-dom0 + update-alternatives --remove neutron-rpc-server /usr/bin/python2-neutron-rpc-server + update-alternatives --remove neutron-sanity-check /usr/bin/python2-neutron-sanity-check + update-alternatives --remove neutron-server /usr/bin/python2-neutron-server + update-alternatives --remove neutron-sriov-nic-agent /usr/bin/python2-neutron-sriov-nic-agent + update-alternatives --remove neutron-usage-audit /usr/bin/python2-neutron-usage-audit +fi + +#DEBHELPER# + +exit 0 diff -Nru neutron-13.0.0~b2/debian/python-neutron.prerm neutron-13.0.0~b2/debian/python-neutron.prerm --- neutron-13.0.0~b2/debian/python-neutron.prerm 1970-01-01 00:00:00.000000000 +0000 +++ neutron-13.0.0~b2/debian/python-neutron.prerm 2018-06-18 21:10:43.000000000 +0000 @@ -0,0 +1,34 @@ +#!/bin/sh + +set -e + +if [ "$1" = "remove" ] ; then + update-alternatives --remove neutron-api /usr/bin/python2-neutron-api + update-alternatives --remove neutron-db-manage /usr/bin/python2-neutron-db-manage + update-alternatives --remove neutron-debug /usr/bin/python2-neutron-debug + update-alternatives --remove neutron-dhcp-agent /usr/bin/python2-neutron-dhcp-agent + update-alternatives --remove neutron-ipset-cleanup /usr/bin/python2-neutron-ipset-cleanup + update-alternatives --remove neutron-keepalived-state-change /usr/bin/python2-neutron-keepalived-state-change + update-alternatives --remove neutron-l3-agent /usr/bin/python2-neutron-l3-agent + update-alternatives --remove neutron-linuxbridge-agent /usr/bin/python2-neutron-linuxbridge-agent + update-alternatives --remove neutron-linuxbridge-cleanup /usr/bin/python2-neutron-linuxbridge-cleanup + update-alternatives --remove neutron-macvtap-agent /usr/bin/python2-neutron-macvtap-agent + update-alternatives --remove neutron-metadata-agent /usr/bin/python2-neutron-metadata-agent + update-alternatives --remove neutron-metering-agent /usr/bin/python2-neutron-metering-agent + update-alternatives --remove neutron-netns-cleanup /usr/bin/python2-neutron-netns-cleanup + update-alternatives --remove neutron-openvswitch-agent /usr/bin/python2-neutron-openvswitch-agent + update-alternatives --remove neutron-ovs-cleanup /usr/bin/python2-neutron-ovs-cleanup + update-alternatives --remove neutron-pd-notify /usr/bin/python2-neutron-pd-notify + update-alternatives --remove neutron-rootwrap /usr/bin/python2-neutron-rootwrap + update-alternatives --remove neutron-rootwrap-daemon /usr/bin/python2-neutron-rootwrap-daemon + update-alternatives --remove neutron-rootwrap-xen-dom0 /usr/bin/python2-neutron-rootwrap-xen-dom0 + update-alternatives --remove neutron-rpc-server /usr/bin/python2-neutron-rpc-server + update-alternatives --remove neutron-sanity-check /usr/bin/python2-neutron-sanity-check + update-alternatives --remove neutron-server /usr/bin/python2-neutron-server + update-alternatives --remove neutron-sriov-nic-agent /usr/bin/python2-neutron-sriov-nic-agent + update-alternatives --remove neutron-usage-audit /usr/bin/python2-neutron-usage-audit +fi + +#DEBHELPER# + +exit 0 diff -Nru neutron-13.0.0~b2/debian/rules neutron-13.0.0~b2/debian/rules --- neutron-13.0.0~b2/debian/rules 2018-06-13 16:01:20.000000000 +0000 +++ neutron-13.0.0~b2/debian/rules 2018-06-18 21:10:43.000000000 +0000 @@ -10,7 +10,11 @@ include /usr/share/openstack-pkg-tools/pkgos.make %: - dh $@ --with python2,systemd + dh $@ --with python2,python3,systemd + +override_dh_auto_install: + pkgos-dh_auto_install + rm -rf $(CURDIR)/debian/python*-neutron/usr/etc/neutron override_dh_install: PYTHONPATH=$(CURDIR) $(CURDIR)/tools/generate_config_file_samples.sh @@ -38,5 +42,6 @@ ifeq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS))) override_dh_auto_test: - PYTHONPATH=$(CURDIR) ostestr + PYTHON=python PYTHONPATH=$(CURDIR) python2-ostestr + PYTHON=python3 PYTHONPATH=$(CURDIR) python3-ostestr endif diff -Nru neutron-13.0.0~b2/debian/tests/control neutron-13.0.0~b2/debian/tests/control --- neutron-13.0.0~b2/debian/tests/control 2018-06-13 16:01:20.000000000 +0000 +++ neutron-13.0.0~b2/debian/tests/control 2018-06-18 21:10:43.000000000 +0000 @@ -1,3 +1,3 @@ Tests: neutron-server neutron-agents -Depends: neutron-server, rabbitmq-server, mysql-server +Depends: python-neutron, python-neutron-fwaas, neutron-server, rabbitmq-server, mysql-server Restrictions: needs-root allow-stderr needs-recommends