[ovs-dev] OVS / OVN split - post 2.12

Mark Michelson mmichels at redhat.com
Mon Jul 22 19:43:02 UTC 2019

Hi Numan,

On 7/22/19 2:35 PM, Numan Siddique wrote:
> Hi Ben, Mark and All,
> Now that branch 2.12 is created, shall we proceed with the OVS/OVN split ?
> In order to do the split we need to do the below tasks
> In ovn-org/ovn repo
> Step 1. Sync the ovs subtree to the latest (from the OVS repo).

This is a good point of discussion. What is the "latest"?

We could pull in the 2.12 branch as a subtree. Alternatively, we could 
pull in the current master. My assumption is that we pull in master. As 
long as we're using OVS as a subtree, we can just pull in the latest OVS 
master as necessary, especially if we make changes to OVN that also 
require changes in OVS. Also, pulling in master allows us to have a 
subtree of OVS that has no OVN code in it.

Once we reach a point where OVS is not included as a subtree, then I 
think this is less important. Then it will be more important to have 
configure-time checks for features or OVS version. If the installation 
of OVS isn't at some minimum version, then you need to update OVS.

> 2. Delete all the ovn related code from the root dir. Right now there is 
> no history for the OVN files in the ovn-org/ovn repo

Aside from the history aspect, is there a reason to have an ovn 
subdirectory? If there were a way to preserve history and allow the OVN 
source to exist at the root, would that be desired? Or would people 
prefer to have an ovn/ subdirectory anyway?

> 3. Copy OVN files from openvswitch/ovs repo using git-filter-branch. 
> This will preserver the history.
> 4. Sync the test files from ovs subtree so that tests pass.

Does this just mean removing the non-OVN tests from the tests/ 
directory? Or does this imply that there are OVN tests that are not 
passing in the ovn repo?

I'm guessing based on the branch linked below you just mean removing 
non-OVN tests. I just wanted to double-check.

> During this period its better to freeze merging OVN related patches in 
> the OVS repo.
> And finally delete the OVN related code from the OVS repo.

> I have done a PoC here - 
> https://github.com/numansiddique/ovn/commits/ovn_sync_from_ovs_v3/p4
> All the relates commits can be found here.
> Does these steps seem fine ? Any concerns ?
> If this seems fine, can we choose a date to start this process ?

I think when it comes to the purely technical aspects of the split, the 
steps you've detailed should be good. There are updates to the 
documentation and other aspects (ansible pocs, vagrant files, xenserver 
directory) that should be done

Since you've got PoC commits for each of the four steps listed, it 
should go smoothly. The only part that's scary is the removal of OVN 
code from the OVS tree. I'm not sure any of us has attempted that yet. 
In theory it should be simple. The parts

> Thanks
> Numan

More information about the dev mailing list