[ovs-dev,v2,python3,0/6] Remove Python 2 support
mbox series

Message ID 20190918233322.24305-1-blp@ovn.org
Headers show
Series
  • Remove Python 2 support
Related show

Message

Ben Pfaff Sept. 18, 2019, 11:33 p.m. UTC
Python 2 will reach end-of-life at the beginning of 2020, in only
a few months.  This series removes support for Python 2 from OVS
and requires Python 3.

v1->v2:
- Fixed build problems found by travis.
- Added a couple of commits at the beginning to make travis
  failures more debuggable.
- Fix test for sphinx-build, which always treated it as present.
- Use pip3 on Mac OSX instead of pip2.
- Fix "#! @PYTHON@" lines in numerous scripts to read "#! @PYTHON3@".

Ben Pfaff (6):
  travis: Obtain testsuite logs from the correct directory.
  travis: Dump config.log if make fails.
  Documentation: Work with sphinx-build for Python 3 also.
  Recommend Sphinx from Python 3 in documentation and packaging.
  xenserver: Make Python files parse in Python 3 also.
  Require Python 3 and remove support for Python 2.

 .cirrus.yml                                   |   3 +-
 .travis.yml                                   |   2 +-
 .travis/linux-build.sh                        |   4 +-
 .travis/osx-build.sh                          |  10 +-
 .travis/osx-prepare.sh                        |   4 +-
 Documentation/automake.mk                     |   1 -
 Documentation/intro/install/documentation.rst |   6 +-
 Documentation/intro/install/fedora.rst        |   4 +-
 Documentation/intro/install/general.rst       |   8 +-
 Documentation/intro/install/netbsd.rst        |  10 +-
 Documentation/intro/install/rhel.rst          |   4 +-
 Documentation/intro/install/windows.rst       |   4 +-
 Documentation/intro/install/xenserver.rst     |   4 +-
 Makefile.am                                   |  12 +-
 Vagrantfile                                   |  24 +-
 Vagrantfile-FreeBSD                           |   2 +-
 appveyor.yml                                  |   2 +-
 build-aux/check-structs                       |   2 +-
 build-aux/dpdkstrip.py                        |   2 +-
 build-aux/extract-ofp-actions                 |   2 +-
 build-aux/extract-ofp-errors                  |   2 +-
 build-aux/extract-ofp-fields                  |   2 +-
 build-aux/extract-ofp-msgs                    |   2 +-
 build-aux/sodepends.py                        |   2 +-
 build-aux/soexpand.py                         |   2 +-
 build-aux/text2c                              |   2 +-
 build-aux/xml2nroff                           |   2 +-
 configure.ac                                  |   3 +-
 debian/.gitignore                             |   1 +
 debian/automake.mk                            |   4 +-
 debian/control                                |  35 +-
 debian/openvswitch-test.install               |   2 +-
 debian/python-openvswitch.install             |   1 -
 ...nvswitch.dirs => python3-openvswitch.dirs} |   0
 debian/python3-openvswitch.install            |   1 +
 debian/rules                                  |   2 +-
 include/openflow/automake.mk                  |   2 -
 ipsec/ovs-monitor-ipsec.in                    |   2 +-
 m4/openvswitch.m4                             | 112 +----
 manpages.mk                                   |   6 -
 ovn/automake.mk                               |   8 +-
 ovsdb/ovsdb-dot.in                            |   2 +-
 ovsdb/ovsdb-idlc.in                           |   2 +-
 python/automake.mk                            |   9 +-
 rhel/openvswitch-fedora.spec.in               |   2 +-
 rhel/openvswitch.spec.in                      |   2 +-
 tests/atlocal.in                              |  42 +-
 tests/automake.mk                             |   2 +-
 tests/check-structs.at                        |   3 +-
 tests/checkpatch.at                           |  17 +-
 tests/daemon-py.at                            | 453 ++++++++----------
 tests/flowgen.py                              |   2 +-
 tests/interface-reconfigure.at                |   2 +-
 tests/json.at                                 |  57 +--
 tests/jsonrpc-py.at                           |  67 +--
 tests/library.at                              |  42 +-
 tests/ofproto-dpif.at                         |  10 +-
 tests/ofproto.at                              |   4 +-
 tests/ovs-macros.at                           |   2 +-
 tests/ovs-xapi-sync.at                        |   3 +-
 tests/ovsdb-data.at                           |   9 +-
 tests/ovsdb-idl.at                            | 188 ++------
 tests/ovsdb-macros.at                         |  52 +-
 tests/ovsdb-monitor.at                        |  20 +-
 tests/reconnect.at                            |  13 +-
 tests/system-common-macros.at                 |   2 +-
 tests/system-kmod-macros.at                   |   3 +-
 tests/system-traffic.at                       |  16 +-
 tests/system-userspace-macros.at              |   4 +-
 tests/unixctl-py.at                           | 208 ++++----
 tests/vlog.at                                 | 219 ++++-----
 utilities/automake.mk                         |   5 +-
 utilities/bugtool/automake.mk                 |   2 -
 utilities/bugtool/ovs-bugtool.in              |   2 +-
 utilities/checkpatch.py                       |   2 +-
 utilities/ovs-check-dead-ifs.in               |   2 +-
 utilities/ovs-dpctl-top.in                    |   2 +-
 utilities/ovs-l3ping.in                       |   2 +-
 utilities/ovs-parse-backtrace.in              |   2 +-
 utilities/ovs-pcap.in                         |   2 +-
 utilities/ovs-tcpdump.in                      |   2 +-
 utilities/ovs-tcpundump.in                    |   2 +-
 utilities/ovs-test.in                         |   2 +-
 utilities/ovs-vlan-test.in                    |   2 +-
 vswitchd/automake.mk                          |   4 +-
 vtep/automake.mk                              |   4 +-
 vtep/ovs-vtep.in                              |   2 +-
 ...urce_libexec_InterfaceReconfigureBridge.py |  10 +-
 ...xsconsole_plugins-base_XSFeatureVSwitch.py |  14 +-
 89 files changed, 679 insertions(+), 1144 deletions(-)
 delete mode 100644 debian/python-openvswitch.install
 rename debian/{python-openvswitch.dirs => python3-openvswitch.dirs} (100%)
 create mode 100644 debian/python3-openvswitch.install

Comments

Numan Siddique Sept. 20, 2019, 5:39 a.m. UTC | #1
On Thu, Sep 19, 2019 at 7:29 AM Ben Pfaff <blp@ovn.org> wrote:

> Python 2 will reach end-of-life at the beginning of 2020, in only
> a few months.  This series removes support for Python 2 from OVS
> and requires Python 3.
>
> v1->v2:
> - Fixed build problems found by travis.
> - Added a couple of commits at the beginning to make travis
>   failures more debuggable.
> - Fix test for sphinx-build, which always treated it as present.
> - Use pip3 on Mac OSX instead of pip2.
> - Fix "#! @PYTHON@" lines in numerous scripts to read "#! @PYTHON3@".
>
> Ben Pfaff (6):
>   travis: Obtain testsuite logs from the correct directory.
>   travis: Dump config.log if make fails.
>   Documentation: Work with sphinx-build for Python 3 also.
>   Recommend Sphinx from Python 3 in documentation and packaging.
>   xenserver: Make Python files parse in Python 3 also.
>   Require Python 3 and remove support for Python 2.
>

(I accidently replied to v1 of this series instead of v2, so replying
again).

I tested this series and it builds fine for me.
Acked-by: Numan Siddique <nusididq@redhat.com> for the whole series with
one correction in patch 4 - which I replied separately.

Thanks
Numan



>  .cirrus.yml                                   |   3 +-
>  .travis.yml                                   |   2 +-
>  .travis/linux-build.sh                        |   4 +-
>  .travis/osx-build.sh                          |  10 +-
>  .travis/osx-prepare.sh                        |   4 +-
>  Documentation/automake.mk                     |   1 -
>  Documentation/intro/install/documentation.rst |   6 +-
>  Documentation/intro/install/fedora.rst        |   4 +-
>  Documentation/intro/install/general.rst       |   8 +-
>  Documentation/intro/install/netbsd.rst        |  10 +-
>  Documentation/intro/install/rhel.rst          |   4 +-
>  Documentation/intro/install/windows.rst       |   4 +-
>  Documentation/intro/install/xenserver.rst     |   4 +-
>  Makefile.am                                   |  12 +-
>  Vagrantfile                                   |  24 +-
>  Vagrantfile-FreeBSD                           |   2 +-
>  appveyor.yml                                  |   2 +-
>  build-aux/check-structs                       |   2 +-
>  build-aux/dpdkstrip.py                        |   2 +-
>  build-aux/extract-ofp-actions                 |   2 +-
>  build-aux/extract-ofp-errors                  |   2 +-
>  build-aux/extract-ofp-fields                  |   2 +-
>  build-aux/extract-ofp-msgs                    |   2 +-
>  build-aux/sodepends.py                        |   2 +-
>  build-aux/soexpand.py                         |   2 +-
>  build-aux/text2c                              |   2 +-
>  build-aux/xml2nroff                           |   2 +-
>  configure.ac                                  |   3 +-
>  debian/.gitignore                             |   1 +
>  debian/automake.mk                            |   4 +-
>  debian/control                                |  35 +-
>  debian/openvswitch-test.install               |   2 +-
>  debian/python-openvswitch.install             |   1 -
>  ...nvswitch.dirs => python3-openvswitch.dirs} |   0
>  debian/python3-openvswitch.install            |   1 +
>  debian/rules                                  |   2 +-
>  include/openflow/automake.mk                  |   2 -
>  ipsec/ovs-monitor-ipsec.in                    |   2 +-
>  m4/openvswitch.m4                             | 112 +----
>  manpages.mk                                   |   6 -
>  ovn/automake.mk                               |   8 +-
>  ovsdb/ovsdb-dot.in                            |   2 +-
>  ovsdb/ovsdb-idlc.in                           |   2 +-
>  python/automake.mk                            |   9 +-
>  rhel/openvswitch-fedora.spec.in               |   2 +-
>  rhel/openvswitch.spec.in                      |   2 +-
>  tests/atlocal.in                              |  42 +-
>  tests/automake.mk                             |   2 +-
>  tests/check-structs.at                        |   3 +-
>  tests/checkpatch.at                           |  17 +-
>  tests/daemon-py.at                            | 453 ++++++++----------
>  tests/flowgen.py                              |   2 +-
>  tests/interface-reconfigure.at                |   2 +-
>  tests/json.at                                 |  57 +--
>  tests/jsonrpc-py.at                           |  67 +--
>  tests/library.at                              |  42 +-
>  tests/ofproto-dpif.at                         |  10 +-
>  tests/ofproto.at                              |   4 +-
>  tests/ovs-macros.at                           |   2 +-
>  tests/ovs-xapi-sync.at                        |   3 +-
>  tests/ovsdb-data.at                           |   9 +-
>  tests/ovsdb-idl.at                            | 188 ++------
>  tests/ovsdb-macros.at                         |  52 +-
>  tests/ovsdb-monitor.at                        |  20 +-
>  tests/reconnect.at                            |  13 +-
>  tests/system-common-macros.at                 |   2 +-
>  tests/system-kmod-macros.at                   |   3 +-
>  tests/system-traffic.at                       |  16 +-
>  tests/system-userspace-macros.at              |   4 +-
>  tests/unixctl-py.at                           | 208 ++++----
>  tests/vlog.at                                 | 219 ++++-----
>  utilities/automake.mk                         |   5 +-
>  utilities/bugtool/automake.mk                 |   2 -
>  utilities/bugtool/ovs-bugtool.in              |   2 +-
>  utilities/checkpatch.py                       |   2 +-
>  utilities/ovs-check-dead-ifs.in               |   2 +-
>  utilities/ovs-dpctl-top.in                    |   2 +-
>  utilities/ovs-l3ping.in                       |   2 +-
>  utilities/ovs-parse-backtrace.in              |   2 +-
>  utilities/ovs-pcap.in                         |   2 +-
>  utilities/ovs-tcpdump.in                      |   2 +-
>  utilities/ovs-tcpundump.in                    |   2 +-
>  utilities/ovs-test.in                         |   2 +-
>  utilities/ovs-vlan-test.in                    |   2 +-
>  vswitchd/automake.mk                          |   4 +-
>  vtep/automake.mk                              |   4 +-
>  vtep/ovs-vtep.in                              |   2 +-
>  ...urce_libexec_InterfaceReconfigureBridge.py |  10 +-
>  ...xsconsole_plugins-base_XSFeatureVSwitch.py |  14 +-
>  89 files changed, 679 insertions(+), 1144 deletions(-)
>  delete mode 100644 debian/python-openvswitch.install
>  rename debian/{python-openvswitch.dirs => python3-openvswitch.dirs} (100%)
>  create mode 100644 debian/python3-openvswitch.install
>
> --
> 2.21.0
>
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
Ben Pfaff Sept. 20, 2019, 3:38 p.m. UTC | #2
On Fri, Sep 20, 2019 at 11:09:55AM +0530, Numan Siddique wrote:
> I tested this series and it builds fine for me.
> Acked-by: Numan Siddique <nusididq@redhat.com> for the whole series with
> one correction in patch 4 - which I replied separately.

Thank you for the reviews and especially for the fix.  I had applied
minimal scrutiny to the RPM spec changes because I habitually assumed it
was hard for me to test them.  However, I recently switched to Fedora on
my laptop and now, of course, testing "make rpm-fedora" is pretty easy.
I applied all but the last patch to master.  I'll follow up with some
extra thoughts on patch 6 related to the spec files.