Re: [ovs-dev] [PATCH ovn v3] Include OVS as a git submodule.

2021-02-09 Thread Mark Michelson

On 1/27/21 1:52 PM, Numan Siddique wrote:

On Tue, Jan 26, 2021 at 2:02 AM Dumitru Ceara  wrote:


On 1/25/21 7:39 PM, Mark Michelson wrote:

OVN developers have had isssues with the current method by which OVS
source code is used by OVN.

* There is no way to record the minimum commit/version of OVS to use
when compiling OVN.
* When debugging issues, bisecting OVN commits may also requires
simultaneously changing OVS commits. This makes for multiple moving
targets to try to track.
* Performance improvements made to OVS libraries and OVSDB may benefit
OVN. However, there's no way to encourage the use of the improved OVS
source.

By using a submodule, it allows for OVN to record a specific commit of
OVS that is expected to be used.

Signed-off-by: Mark Michelson 
---


This looks good to me, thanks!

Acked-by: Dumitru Ceara 


LGTM too.

Acked-by: Numan Siddique 

We would definitely need another job in CI to test with OVS master.
That can be a follow up patch.

Thanks
Numan


I have merged this to master.





___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev





___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH ovn v3] Include OVS as a git submodule.

2021-01-27 Thread Numan Siddique
On Tue, Jan 26, 2021 at 2:02 AM Dumitru Ceara  wrote:
>
> On 1/25/21 7:39 PM, Mark Michelson wrote:
> > OVN developers have had isssues with the current method by which OVS
> > source code is used by OVN.
> >
> > * There is no way to record the minimum commit/version of OVS to use
> >when compiling OVN.
> > * When debugging issues, bisecting OVN commits may also requires
> >simultaneously changing OVS commits. This makes for multiple moving
> >targets to try to track.
> > * Performance improvements made to OVS libraries and OVSDB may benefit
> >OVN. However, there's no way to encourage the use of the improved OVS
> >source.
> >
> > By using a submodule, it allows for OVN to record a specific commit of
> > OVS that is expected to be used.
> >
> > Signed-off-by: Mark Michelson 
> > ---
>
> This looks good to me, thanks!
>
> Acked-by: Dumitru Ceara 

LGTM too.

Acked-by: Numan Siddique 

We would definitely need another job in CI to test with OVS master.
That can be a follow up patch.

Thanks
Numan

>
> ___
> dev mailing list
> d...@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH ovn v3] Include OVS as a git submodule.

2021-01-25 Thread Dumitru Ceara

On 1/25/21 7:39 PM, Mark Michelson wrote:

OVN developers have had isssues with the current method by which OVS
source code is used by OVN.

* There is no way to record the minimum commit/version of OVS to use
   when compiling OVN.
* When debugging issues, bisecting OVN commits may also requires
   simultaneously changing OVS commits. This makes for multiple moving
   targets to try to track.
* Performance improvements made to OVS libraries and OVSDB may benefit
   OVN. However, there's no way to encourage the use of the improved OVS
   source.

By using a submodule, it allows for OVN to record a specific commit of
OVS that is expected to be used.

Signed-off-by: Mark Michelson 
---


This looks good to me, thanks!

Acked-by: Dumitru Ceara 

___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] [PATCH ovn v3] Include OVS as a git submodule.

2021-01-25 Thread Mark Michelson
OVN developers have had isssues with the current method by which OVS
source code is used by OVN.

* There is no way to record the minimum commit/version of OVS to use
  when compiling OVN.
* When debugging issues, bisecting OVN commits may also requires
  simultaneously changing OVS commits. This makes for multiple moving
  targets to try to track.
* Performance improvements made to OVS libraries and OVSDB may benefit
  OVN. However, there's no way to encourage the use of the improved OVS
  source.

By using a submodule, it allows for OVN to record a specific commit of
OVS that is expected to be used.

Signed-off-by: Mark Michelson 
---
v2 -> v3:
* Updated the checkpatch script so it does not complain about
  the leading whitespace in .gitmodules
* Updated documentation again to ensure that the relationship between
  the submodule and OVN is clarified.
* Updated CI to update submodules as part of the git clone process.

v1 -> v2:
* Updated CI scripts to use the submodule.
* Added AM_DISTCHECK_CONFIGURE_FLAGS setting so `make distcheck`
  succeeds.
* Added an extra 'xargs' call to submodule discovery in Makefile.am
  since for some reason on OSX, there was extra whitespace around the
  discovered "ovs" submodule. xargs is a simple way to strip that away.
* Updated documentation to more accurately reflect the necessary steps
  to use the OVS submodule. Also changed wording to indicate the
  submodule is the minimum recommended version, rather than the minimum
  required version of OVS.
---
 .ci/linux-build.sh  |  7 ++---
 .ci/osx-build.sh|  7 ++---
 .github/workflows/test.yml  |  4 +++
 .gitmodules |  3 ++
 Documentation/intro/install/general.rst | 37 +++--
 Makefile.am | 22 ---
 acinclude.m4|  2 +-
 build-aux/initial-tab-whitelist |  1 +
 ovs |  1 +
 utilities/checkpatch.py |  3 +-
 10 files changed, 59 insertions(+), 28 deletions(-)
 create mode 100644 .gitmodules
 create mode 16 ovs

diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
index 2a711a1b9..d17a96f49 100755
--- a/.ci/linux-build.sh
+++ b/.ci/linux-build.sh
@@ -10,8 +10,7 @@ EXTRA_OPTS="--enable-Werror"
 
 function configure_ovs()
 {
-git clone https://github.com/openvswitch/ovs.git ovs_src
-pushd ovs_src
+pushd ovs
 ./boot.sh && ./configure $* || { cat config.log; exit 1; }
 make -j4 || { cat config.log; exit 1; }
 popd
@@ -22,7 +21,7 @@ function configure_ovn()
 configure_ovs $*
 
 export OVS_CFLAGS="${OVS_CFLAGS} ${OVN_CFLAGS}"
-./boot.sh && ./configure --with-ovs-source=$PWD/ovs_src $* || \
+./boot.sh && ./configure $* || \
 { cat config.log; exit 1; }
 }
 
@@ -54,7 +53,7 @@ if [ "$TESTSUITE" ]; then
 # Now we only need to prepare the Makefile without sparse-wrapped CC.
 configure_ovn
 
-export DISTCHECK_CONFIGURE_FLAGS="$OPTS --with-ovs-source=$PWD/ovs_src"
+export DISTCHECK_CONFIGURE_FLAGS="$OPTS"
 if ! make distcheck -j4 TESTSUITEFLAGS="-j4" RECHECK=yes; then
 # testsuite.log is necessary for debugging.
 cat */_build/sub/tests/testsuite.log
diff --git a/.ci/osx-build.sh b/.ci/osx-build.sh
index 6617f0b9d..4b78b66dd 100755
--- a/.ci/osx-build.sh
+++ b/.ci/osx-build.sh
@@ -7,8 +7,7 @@ EXTRA_OPTS=""
 
 function configure_ovs()
 {
-git clone https://github.com/openvswitch/ovs.git ovs_src
-pushd ovs_src
+pushd ovs
 ./boot.sh && ./configure $*
 make -j4 || { cat config.log; exit 1; }
 popd
@@ -17,7 +16,7 @@ function configure_ovs()
 function configure_ovn()
 {
 configure_ovs $*
-./boot.sh && ./configure $* --with-ovs-source=$PWD/ovs_src
+./boot.sh && ./configure $*
 }
 
 configure_ovn $EXTRA_OPTS $*
@@ -32,7 +31,7 @@ if ! "$@"; then
 exit 1
 fi
 if [ "$TESTSUITE" ] && [ "$CC" != "clang" ]; then
-export DISTCHECK_CONFIGURE_FLAGS="$EXTRA_OPTS 
--with-ovs-source=$PWD/ovs_src"
+export DISTCHECK_CONFIGURE_FLAGS="$EXTRA_OPTS"
 if ! make distcheck RECHECK=yes; then
 # testsuite.log is necessary for debugging.
 cat */_build/sub/tests/testsuite.log
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index e99135ca8..916b14da2 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -50,6 +50,8 @@ jobs:
 steps:
 - name: checkout
   uses: actions/checkout@v2
+  with:
+submodules: recursive
 
 - name: update APT cache
   run:  sudo apt update
@@ -104,6 +106,8 @@ jobs:
 steps:
 - name: checkout
   uses: actions/checkout@v2
+  with:
+submodules: recursive
 - name: install dependencies
   run:  brew install automake libtool
 - name: prepare
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0..f0d1f8cbe
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[subm