[ovs-dev,v4,ovn,0/4] External OVS source support and separate run dir for OVN
mbox series

Message ID 20190828163848.7432-1-nusiddiq@redhat.com
Headers show
Series
  • External OVS source support and separate run dir for OVN
Related show

Message

Numan Siddique Aug. 28, 2019, 4:38 p.m. UTC
From: Numan Siddique <nusiddiq@redhat.com>

This patch series adds support for building OVN from external OVS
sources.

The first patch adds the support to compile OVN from external OVS sources.
The following configuration options are added when configuring OVN
  * --with-ovs-source (mandatory)
  * --with-ovs-build (optional)

Patch 2 adds support to run OVN services using separate
directores 
  - Default run time dir - /usr/local/var/run/ovm
  - Default log dir - /usr/loca/var/log/ovn
  - Default db dir - /usr/loca/etc/ovn

Patch 3 fixes "make rpm-fedora" which is presently broken

Patch 4 runs OVN services as openvswitch user for rhel when rpms are
used.

v3 -> v4
=======
 * Rebased to latest master to resolve merge conflict in p2

v2 -> v3
=======
 * Added the support to provide the ovs source and build dirs as
   relative paths as suggested By Ben in the irc meeting.
 * Dropped patch 5 from the series which was added in v2. 
   Patch 5 deleted the python subdirectory in the ovn repo. But that
   patch is failing in travis CI. It will be submitted separately
   once I get the chance to work on it and the fix the issue.


v1 -> v2
========
 * Addressed the review comments.
 * Swapped the patch 1 and 2 as it was easier to address Mark's comment
   on OVS_RUNDIR/OVN_RUNDIR
 * In patch 2, renamed m4/openvswitch.m4 to m4/ovn.m4 and renamed few of
   the macros to OVS_* to OVN_*.

 * Combined the patch 1 and 2 in this series which were submitted
   separately earlier.

Numan Siddique (4):
  Build OVN using external OVS directory
  Add support for using OVN specific rundirs
  Fix "make rpm-fedora"
  rhel: Run ovn services with the 'openvswitch' user

 .travis/linux-build.sh                        |  17 +-
 .travis/osx-build.sh                          |  13 +-
 Documentation/intro/install/fedora.rst        |  13 +-
 Documentation/intro/install/general.rst       |  63 ++--
 Makefile.am                                   |  30 +-
 TODO_SPLIT.rst                                |   2 +
 acinclude.m4                                  |  43 +++
 configure.ac                                  |  63 ++--
 controller-vtep/automake.mk                   |   2 +-
 controller/ovn-controller.c                   |   4 +-
 include/ovn/version.h.in                      |  28 ++
 lib/.gitignore                                |   1 +
 lib/automake.mk                               |  21 +-
 lib/ovn-dirs.c.in                             | 112 +++++++
 lib/ovn-dirs.h                                |  35 ++
 lib/ovn-util.c                                |  24 +-
 lib/ovn-util.h                                |   1 +
 lib/ovsdb_automake.mk                         |   7 +-
 m4/{openvswitch.m4 => ovn.m4}                 |  60 ++--
 northd/ovn-northd.c                           |   9 +-
 rhel/automake.mk                              |   5 +-
 rhel/etc_logrotate.d_ovn                      |  22 ++
 rhel/ovn-fedora.spec.in                       |  91 ++++--
 ...systemd_system_ovn-controller-vtep.service |  15 +-
 ..._lib_systemd_system_ovn-controller.service |   9 +-
 .../usr_lib_systemd_system_ovn-northd.service |  15 +-
 ...are_ovn_scripts_systemd_sysconfig.template |  13 +
 tests/automake.mk                             |   6 +-
 tests/ofproto-macros.at                       |   4 +-
 tests/ovn-controller-vtep.at                  |  12 +-
 tests/ovn-nbctl.at                            |   6 +-
 tests/ovn-sbctl.at                            |  20 +-
 tests/ovn.at                                  | 158 ++++-----
 tests/ovs-macros.at                           |   1 +
 tests/ovsdb-macros.at                         |   2 +-
 tutorial/automake.mk                          |   2 +-
 tutorial/ovs-sandbox                          | 309 +++++++++---------
 utilities/automake.mk                         |   5 +
 utilities/ovn-ctl                             |  86 +++--
 utilities/ovn-ctl.8.xml                       |  12 +-
 utilities/ovn-lib.in                          | 204 ++++++++++++
 41 files changed, 1085 insertions(+), 460 deletions(-)
 create mode 100644 include/ovn/version.h.in
 create mode 100644 lib/ovn-dirs.c.in
 create mode 100644 lib/ovn-dirs.h
 rename m4/{openvswitch.m4 => ovn.m4} (94%)
 create mode 100644 rhel/etc_logrotate.d_ovn
 create mode 100644 rhel/usr_share_ovn_scripts_systemd_sysconfig.template
 create mode 100644 utilities/ovn-lib.in

Comments

Mark Michelson Aug. 28, 2019, 7:46 p.m. UTC | #1
Acked-by: Mark Michelson <mmichels@redhat.com>

On 8/28/19 12:38 PM, nusiddiq@redhat.com wrote:
> From: Numan Siddique <nusiddiq@redhat.com>
> 
> This patch series adds support for building OVN from external OVS
> sources.
> 
> The first patch adds the support to compile OVN from external OVS sources.
> The following configuration options are added when configuring OVN
>    * --with-ovs-source (mandatory)
>    * --with-ovs-build (optional)
> 
> Patch 2 adds support to run OVN services using separate
> directores
>    - Default run time dir - /usr/local/var/run/ovm
>    - Default log dir - /usr/loca/var/log/ovn
>    - Default db dir - /usr/loca/etc/ovn
> 
> Patch 3 fixes "make rpm-fedora" which is presently broken
> 
> Patch 4 runs OVN services as openvswitch user for rhel when rpms are
> used.
> 
> v3 -> v4
> =======
>   * Rebased to latest master to resolve merge conflict in p2
> 
> v2 -> v3
> =======
>   * Added the support to provide the ovs source and build dirs as
>     relative paths as suggested By Ben in the irc meeting.
>   * Dropped patch 5 from the series which was added in v2.
>     Patch 5 deleted the python subdirectory in the ovn repo. But that
>     patch is failing in travis CI. It will be submitted separately
>     once I get the chance to work on it and the fix the issue.
> 
> 
> v1 -> v2
> ========
>   * Addressed the review comments.
>   * Swapped the patch 1 and 2 as it was easier to address Mark's comment
>     on OVS_RUNDIR/OVN_RUNDIR
>   * In patch 2, renamed m4/openvswitch.m4 to m4/ovn.m4 and renamed few of
>     the macros to OVS_* to OVN_*.
> 
>   * Combined the patch 1 and 2 in this series which were submitted
>     separately earlier.
> 
> Numan Siddique (4):
>    Build OVN using external OVS directory
>    Add support for using OVN specific rundirs
>    Fix "make rpm-fedora"
>    rhel: Run ovn services with the 'openvswitch' user
> 
>   .travis/linux-build.sh                        |  17 +-
>   .travis/osx-build.sh                          |  13 +-
>   Documentation/intro/install/fedora.rst        |  13 +-
>   Documentation/intro/install/general.rst       |  63 ++--
>   Makefile.am                                   |  30 +-
>   TODO_SPLIT.rst                                |   2 +
>   acinclude.m4                                  |  43 +++
>   configure.ac                                  |  63 ++--
>   controller-vtep/automake.mk                   |   2 +-
>   controller/ovn-controller.c                   |   4 +-
>   include/ovn/version.h.in                      |  28 ++
>   lib/.gitignore                                |   1 +
>   lib/automake.mk                               |  21 +-
>   lib/ovn-dirs.c.in                             | 112 +++++++
>   lib/ovn-dirs.h                                |  35 ++
>   lib/ovn-util.c                                |  24 +-
>   lib/ovn-util.h                                |   1 +
>   lib/ovsdb_automake.mk                         |   7 +-
>   m4/{openvswitch.m4 => ovn.m4}                 |  60 ++--
>   northd/ovn-northd.c                           |   9 +-
>   rhel/automake.mk                              |   5 +-
>   rhel/etc_logrotate.d_ovn                      |  22 ++
>   rhel/ovn-fedora.spec.in                       |  91 ++++--
>   ...systemd_system_ovn-controller-vtep.service |  15 +-
>   ..._lib_systemd_system_ovn-controller.service |   9 +-
>   .../usr_lib_systemd_system_ovn-northd.service |  15 +-
>   ...are_ovn_scripts_systemd_sysconfig.template |  13 +
>   tests/automake.mk                             |   6 +-
>   tests/ofproto-macros.at                       |   4 +-
>   tests/ovn-controller-vtep.at                  |  12 +-
>   tests/ovn-nbctl.at                            |   6 +-
>   tests/ovn-sbctl.at                            |  20 +-
>   tests/ovn.at                                  | 158 ++++-----
>   tests/ovs-macros.at                           |   1 +
>   tests/ovsdb-macros.at                         |   2 +-
>   tutorial/automake.mk                          |   2 +-
>   tutorial/ovs-sandbox                          | 309 +++++++++---------
>   utilities/automake.mk                         |   5 +
>   utilities/ovn-ctl                             |  86 +++--
>   utilities/ovn-ctl.8.xml                       |  12 +-
>   utilities/ovn-lib.in                          | 204 ++++++++++++
>   41 files changed, 1085 insertions(+), 460 deletions(-)
>   create mode 100644 include/ovn/version.h.in
>   create mode 100644 lib/ovn-dirs.c.in
>   create mode 100644 lib/ovn-dirs.h
>   rename m4/{openvswitch.m4 => ovn.m4} (94%)
>   create mode 100644 rhel/etc_logrotate.d_ovn
>   create mode 100644 rhel/usr_share_ovn_scripts_systemd_sysconfig.template
>   create mode 100644 utilities/ovn-lib.in
>
Numan Siddique Aug. 29, 2019, 7:29 a.m. UTC | #2
On Thu, Aug 29, 2019, 1:16 AM Mark Michelson <mmichels@redhat.com> wrote:

> Acked-by: Mark Michelson <mmichels@redhat.com>
>

Thanks for the review.
I applied this series to master.

Thanks
Numan


> On 8/28/19 12:38 PM, nusiddiq@redhat.com wrote:
> > From: Numan Siddique <nusiddiq@redhat.com>
> >
> > This patch series adds support for building OVN from external OVS
> > sources.
> >
> > The first patch adds the support to compile OVN from external OVS
> sources.
> > The following configuration options are added when configuring OVN
> >    * --with-ovs-source (mandatory)
> >    * --with-ovs-build (optional)
> >
> > Patch 2 adds support to run OVN services using separate
> > directores
> >    - Default run time dir - /usr/local/var/run/ovm
> >    - Default log dir - /usr/loca/var/log/ovn
> >    - Default db dir - /usr/loca/etc/ovn
> >
> > Patch 3 fixes "make rpm-fedora" which is presently broken
> >
> > Patch 4 runs OVN services as openvswitch user for rhel when rpms are
> > used.
> >
> > v3 -> v4
> > =======
> >   * Rebased to latest master to resolve merge conflict in p2
> >
> > v2 -> v3
> > =======
> >   * Added the support to provide the ovs source and build dirs as
> >     relative paths as suggested By Ben in the irc meeting.
> >   * Dropped patch 5 from the series which was added in v2.
> >     Patch 5 deleted the python subdirectory in the ovn repo. But that
> >     patch is failing in travis CI. It will be submitted separately
> >     once I get the chance to work on it and the fix the issue.
> >
> >
> > v1 -> v2
> > ========
> >   * Addressed the review comments.
> >   * Swapped the patch 1 and 2 as it was easier to address Mark's comment
> >     on OVS_RUNDIR/OVN_RUNDIR
> >   * In patch 2, renamed m4/openvswitch.m4 to m4/ovn.m4 and renamed few of
> >     the macros to OVS_* to OVN_*.
> >
> >   * Combined the patch 1 and 2 in this series which were submitted
> >     separately earlier.
> >
> > Numan Siddique (4):
> >    Build OVN using external OVS directory
> >    Add support for using OVN specific rundirs
> >    Fix "make rpm-fedora"
> >    rhel: Run ovn services with the 'openvswitch' user
> >
> >   .travis/linux-build.sh                        |  17 +-
> >   .travis/osx-build.sh                          |  13 +-
> >   Documentation/intro/install/fedora.rst        |  13 +-
> >   Documentation/intro/install/general.rst       |  63 ++--
> >   Makefile.am                                   |  30 +-
> >   TODO_SPLIT.rst                                |   2 +
> >   acinclude.m4                                  |  43 +++
> >   configure.ac                                  |  63 ++--
> >   controller-vtep/automake.mk                   |   2 +-
> >   controller/ovn-controller.c                   |   4 +-
> >   include/ovn/version.h.in                      |  28 ++
> >   lib/.gitignore                                |   1 +
> >   lib/automake.mk                               |  21 +-
> >   lib/ovn-dirs.c.in                             | 112 +++++++
> >   lib/ovn-dirs.h                                |  35 ++
> >   lib/ovn-util.c                                |  24 +-
> >   lib/ovn-util.h                                |   1 +
> >   lib/ovsdb_automake.mk                         |   7 +-
> >   m4/{openvswitch.m4 => ovn.m4}                 |  60 ++--
> >   northd/ovn-northd.c                           |   9 +-
> >   rhel/automake.mk                              |   5 +-
> >   rhel/etc_logrotate.d_ovn                      |  22 ++
> >   rhel/ovn-fedora.spec.in                       |  91 ++++--
> >   ...systemd_system_ovn-controller-vtep.service |  15 +-
> >   ..._lib_systemd_system_ovn-controller.service |   9 +-
> >   .../usr_lib_systemd_system_ovn-northd.service |  15 +-
> >   ...are_ovn_scripts_systemd_sysconfig.template |  13 +
> >   tests/automake.mk                             |   6 +-
> >   tests/ofproto-macros.at                       |   4 +-
> >   tests/ovn-controller-vtep.at                  |  12 +-
> >   tests/ovn-nbctl.at                            |   6 +-
> >   tests/ovn-sbctl.at                            |  20 +-
> >   tests/ovn.at                                  | 158 ++++-----
> >   tests/ovs-macros.at                           |   1 +
> >   tests/ovsdb-macros.at                         |   2 +-
> >   tutorial/automake.mk                          |   2 +-
> >   tutorial/ovs-sandbox                          | 309 +++++++++---------
> >   utilities/automake.mk                         |   5 +
> >   utilities/ovn-ctl                             |  86 +++--
> >   utilities/ovn-ctl.8.xml                       |  12 +-
> >   utilities/ovn-lib.in                          | 204 ++++++++++++
> >   41 files changed, 1085 insertions(+), 460 deletions(-)
> >   create mode 100644 include/ovn/version.h.in
> >   create mode 100644 lib/ovn-dirs.c.in
> >   create mode 100644 lib/ovn-dirs.h
> >   rename m4/{openvswitch.m4 => ovn.m4} (94%)
> >   create mode 100644 rhel/etc_logrotate.d_ovn
> >   create mode 100644
> rhel/usr_share_ovn_scripts_systemd_sysconfig.template
> >   create mode 100644 utilities/ovn-lib.in
> >
>
>