[ovs-dev] OVN/OVS code split: POC

Mark Michelson mmichels at redhat.com
Fri Feb 22 21:15:27 UTC 2019


On 2/22/19 4:01 PM, Ben Pfaff wrote:
> On Mon, Feb 18, 2019 at 09:50:56AM -0500, Mark Michelson wrote:
>> Hi everyone,
>>
>> I have completed a *rough* POC of an OVN/OVS code split. You can find it at
>> https://github.com/putnopvut/ovn.git
>>
>> Please take a look at the README file since that highlights how the split
>> was done, as well as some known issues.
>>
>> My attitude towards this repo is that it is a throwaway prototype. It
>> essentially proves the concept that OVN can include OVS as a git subtree,
>> while not really attempting to do a production-ready job of
>> doing so. There is a lot of unfinished work.
> 
> It looks like the sort of thing I'd expect to see.
> 
> One thing I don't expect to see for a first cut or an nth cut is
> perfection.  Stuff in corner cases is going to be broken.  That's the
> nature of big changes.  We'll fix them as we notice them.
> 
> The manpages.mk errors are from the rule in the Makefile that tries to
> rebuild manpages.mk.  That's why touching it helps, since it keeps the
> Makefile from trying to rebuild it.
> 
> What do you think is your next step?
> 

Hi Ben,

Thanks for the reply. My current step is to get buy-in for this 
approach. If people have suggestions for improvement or outright 
disapproval (with logical reasoning of course), then I'll iterate and 
try to take those suggestions into consideration.

If people are 100% cool with the approach I've taken, then the next step 
will be to come up with a plan to officially split the OVN code out from 
OVS. It'll need a plan for a few reasons:

1) We'll need to get an official OVN repo to perform the work in.

2) We'll essentially need to have a "freeze" on OVN development during 
the split. Otherwise, changes that occur between the start of the split 
and the completion of the split could get lost. Or it will require some 
porting of the changes between repos. Either way, not a fun task.

3) We'll want to have testing plans in place. Tests will need to be 
focused on ensuring that OVN works with compatible versions of OVS. 
Compatibility is something that we've avoided trying to make official 
stances on, but that could be a sub-item to perform here as well.

4) We'll want to be sure we're all on the same page regarding when the 
OVN split occurs. Will we do it at the same point that OVS 2.12 is being 
released, or will we do it as soon as possible and have OVN start its 
own versioning independent of OVS immediately?

Once all of the above are determined, then I think it's a matter of 
essentially re-doing what I've done already, but in a more official 
capacity (i.e. using an official repo, making more coherent commits, 
ensuring builds work across platforms). Once there is a functioning repo 
in which work can be done, we can work on the finer details (i.e. 
removing additional irrelevant files, reworking documentation). And once 
all of that is done, then I think the administrative details can become 
important (i.e. determining committers, updating websites, mailing 
lists, etc.)

Mark Michelson


More information about the dev mailing list