On 7/5/22 20:28, Gregory Rose wrote:
> 
> 
> On 6/29/2022 3:42 PM, Ilya Maximets wrote:
>> On 6/10/22 02:31, Frode Nordahl wrote:
>>> On Fri, Jun 3, 2022 at 4:16 PM Frode Nordahl
>>> <frode.nord...@canonical.com> wrote:
>>>>
>>>> On Thu, Jun 2, 2022 at 6:58 PM Ilya Maximets <i.maxim...@ovn.org> wrote:
>>>>>
>>>>> On 6/1/22 22:53, Gregory Rose wrote:
>>>>>>
>>>>>>
>>>>>> On 5/31/2022 12:22 PM, Frode Nordahl wrote:
>>>>>>> On Tue, May 31, 2022 at 7:05 PM Ilya Maximets <i.maxim...@ovn.org> 
>>>>>>> wrote:
>>>>>>>>
>>>>>>>> On 5/31/22 17:36, Gregory Rose wrote:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 5/25/2022 6:47 AM, Flavio Leitner wrote:
>>>>>>>>>>
>>>>>>>>>> Hi Greg,
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Mon, May 23, 2022 at 09:10:36PM +0200, Ilya Maximets wrote:
>>>>>>>>>>> On 5/19/22 20:04, Gregory Rose wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On 4/15/2022 2:42 PM, Greg Rose wrote:
>>>>>>>>>>>>> It is time to remove support for the OVS kernel driver and push
>>>>>>>>>>>>> towards use of the upstream Linux openvswitch kernel driver
>>>>>>>>>>>>> in it's place [1].
>>>>>>>>>>>>>
>>>>>>>>>>>>> This patch series represents a first attempt but there are a few
>>>>>>>>>>>>> primary remaining issues that I have yet to address.
>>>>>>>>>>>>>
>>>>>>>>>>>>> A) Removal of debian packing support for the dkms kernel driver
>>>>>>>>>>>>>        module. The debian/rules are not well known to me - I've 
>>>>>>>>>>>>> never
>>>>>>>>>>>>>        actually made any changes in that area and do not have a
>>>>>>>>>>>>>        well formed understanding of how debian packaging works.  
>>>>>>>>>>>>> I wil
>>>>>>>>>>>>>        attempt to fix that up in upcoming patch series.
>>>>>>>>>>>>> B) Figuring out how the github workflow - I removed the tests I
>>>>>>>>>>>>>        could find that depend on the Linux kernel (i.e. they use
>>>>>>>>>>>>>        install_kernel() function.  Several other tests are  
>>>>>>>>>>>>> failing
>>>>>>>>>>>>>        that would not seem to depend on the Linux kernel.  I need 
>>>>>>>>>>>>> to
>>>>>>>>>>>>>        read and understand that code better.
>>>>>>>>>>>>> C) There are many Linux specific source modules in the datapath 
>>>>>>>>>>>>> that
>>>>>>>>>>>>>        will need eventual removal but some headers are still 
>>>>>>>>>>>>> required for
>>>>>>>>>>>>>        the userspace code (which seems counterintuitive but...)
>>>>>>>>>>>>>
>>>>>>>>>>>>> Reviews, suggestions, etc. are appreciated!
>>>>>>>>>>>>>
>>>>>>>>>>>>> 1.  
>>>>>>>>>>>>> https://mail.openvswitch.org/pipermail/ovs-dev/2022-April/393292.html
>>>>>>>>>>>>
>>>>>>>>>>>> I would like to suggest at this time that rather than removing the 
>>>>>>>>>>>> OVS
>>>>>>>>>>>> Linux kernel path that we "freeze" it at Linux 5.8. This will make 
>>>>>>>>>>>> it
>>>>>>>>>>>> easier for some consumers of OVS that are continuing to support the
>>>>>>>>>>>> Linux kernel datapath in old distributions.
>>>>>>>>>>>>
>>>>>>>>>>>> The ultimate goal of shifting toward DPDK and AFXDP datapaths is 
>>>>>>>>>>>> still
>>>>>>>>>>>> preserved but we are placing less burden on some consumers of OVS 
>>>>>>>>>>>> for
>>>>>>>>>>>> older Linux distributions.
>>>>>>>>>>>>
>>>>>>>>>>>> Perhaps in suggesting removal of the kernel datapath I was being a 
>>>>>>>>>>>> bit
>>>>>>>>>>>> overly aggressive.
>>>>>>>>>>>>
>>>>>>>>>>>> Thoughts? Concerns? Other suggestions?
>>>>>>>>>>>
>>>>>>>>>>> Hi.  I think we discussed that before.  Removal from the master 
>>>>>>>>>>> branch
>>>>>>>>>>> doesn't mean that we will stop supporting the kernel module 
>>>>>>>>>>> immediately.
>>>>>>>>>>> It will remain in branch 2.17 which will become our new LTS series 
>>>>>>>>>>> soon.
>>>>>>>>>>> This branch will be supported until 2025.  And we also talked about
>>>>>>>>>>> possibility of extending the support just for a kernel module on 
>>>>>>>>>>> that
>>>>>>>>>>> branch, if required.  It's not necassary to use the kernel module 
>>>>>>>>>>> and
>>>>>>>>>>> OVS form the same branch, obviously.
>>>>>>>>>>>
>>>>>>>>>>> Removal from the master branch will just make it possible to remove
>>>>>>>>>>> the maintenance burden eventually, not right away.
>>>>>>>>>>>
>>>>>>>>>>> And FWIW, the goal is not to force everyone to use userspace 
>>>>>>>>>>> datapath,
>>>>>>>>>>> but remove a maintenance burden and push users to use a better 
>>>>>>>>>>> supported
>>>>>>>>>>> version of a code.  Frankly, we're not doing a great job supporting 
>>>>>>>>>>> the
>>>>>>>>>>> out-of-tree module these days.  It's getting hard to backport bug 
>>>>>>>>>>> fixes.
>>>>>>>>>>> And will be even harder over time since the code drifts away from 
>>>>>>>>>>> the
>>>>>>>>>>> version in the upstream kernel.  Mainly because we're not 
>>>>>>>>>>> backporting
>>>>>>>>>>> new features for a few years already.
>>>>>>>>>>>
>>>>>>>>>>> Does that make sense?
>>>>>>>>>>
>>>>>>>>>> Any thoughts on this? The freeze time is approaching, so it would
>>>>>>>>>> be great to know your plans for this patch set.
>>>>>>>>>>
>>>>>>>>>> Thanks,
>>>>>>>>>> fbl
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Hi Flavio and Ilya,
>>>>>>>>>
>>>>>>>>> I'll go ahead with the plans as per previous agreements - having 
>>>>>>>>> issues
>>>>>>>>> with removing the debian kernel module support since I have never
>>>>>>>>> worked on debian rules type make environments.  I seem to break
>>>>>>>>> something with every attempt but I will keep at it.
>>>>>>>>>
>>>>>>>>> What's my time frame before the freeze?
>>>>>>>>
>>>>>>>> The "soft-freeze" supposed to be on July 1st.  The branch creation
>>>>>>>> for a new release - mid July.  It would be great if we can get this
>>>>>>>> in before the soft freeze, but branching point is also fine.
>>>>>>>> So, we have about 6 weeks.
>>>>>>>>
>>>>>>>> If you can think of any part of the work that can be done separately
>>>>>>>> by someone else, we could try and find someone to help you out.  I'm
>>>>>>>> not sure if we have experts on debian packaging though.  Maybe we
>>>>>>>> can ask some folks from Canonical.  They do their own packaging, but
>>>>>>>> should know a thing or two about packaging in general.
>>>>>>>
>>>>>>> We'd be happy to help out with the packaging bits.
>>>>>>>
>>>>>>> Both Debian and Ubuntu have drifted away from what is currently in the
>>>>>>> debian/ folder in the OVS and OVN repositories.  This state is
>>>>>>> problematic because from time to time someone tries to build packages
>>>>>>> from the OVS/OVN debian package source and then expect that package to
>>>>>>> work with up-/down-grades from-/to/ distro versions.
>>>>>>>
>>>>>>> So we would prefer to either remove what's there and replace it with a
>>>>>>> README pointing to Debian and Ubuntu package sources, or update what's
>>>>>>> there to match packaging state du jour.
>>>>>>>
>>>>>>
>>>>>> I'm fine with either solution but someone else would have to update the
>>>>>> debian packaging.  If just removing then I could do that and then update
>>>>>> the documentation.
>>>>>>
>>>>>> I'll wait to see what the consensus is.
>>>>>
>>>>> I think, you may go ahead and work on/submit the rest of the changes
>>>>> without debian packaging.  And we'll figure this part out separately,
>>>>> either by fixing up our packaging in a separate patch or by replacing
>>>>> it altogether with a version close to the current state in distros.
>>>>> What do you think?
>>>>>
>>>>>
>>>>> Frode, thanks for looking at this problem!  I think that having a way
>>>>> to build packages right from the sources is beneficial for some users,
>>>>> e.g. to quickly try new features/releases.  Re-building of the
>>>>> packages from the distribution is not a very straightforward process.
>>>>
>>>> Thank you for weighing in with your opinion on this. We'll work in
>>>> this direction then.
>>>>
>>>>> But, yes, there are several issues with the current debian packaging
>>>>> in OVS repo.  e.g. our python packaging is mostly broken and some
>>>>> other things are not in a very good shape.
>>>>>
>>>>> I think that updating the packaging code to match what is currently
>>>>> in Ubuntu/Debian should be a good move, as long as it is not tied
>>>>> to one particular distribution.  Patches are very welcome!
>>>>
>>>> That sounds feasible to me. We have a tradition for upstreaming
>>>> package sources to Debian so that the diff in Ubuntu is as small as
>>>> possible. So upstreaming it all the way to the origin project would
>>>> not be at odds with that. I'll work on a proposal and seek agreement
>>>> with the Debian maintainers and see where we get with that.
>>>>
>>>>> Do you know what are the main differences between current OVS upstream
>>>>> version and Ubuntu/Debian packaging code?  AFAIU, you're not building
>>>>> the dkms module already?
>>>>
>>>> The dkms package was removed from Ubuntu in 2014, Debian did the same [0].
>>>>
>>>> The main differences from upstream OVS would be:
>>>> - Debian/Ubuntu provide a openvswitch-switch-dpdk package that
>>>> integrates with a dpdk package in the distributions so that end users
>>>> can opt into a DPDK-enabled Open vSwitch binary
>>>> - Debian/Ubuntu use systemd and the package provides systemd service files
>>>> - Debian/Ubuntu provide openvswitch-source package for use when doing
>>>> integrated build of OVN
>>>> - None of them provide the libopenvswitch and libopenvswitch-dev packages
>>>>
>>>> The main difference between Debian and Ubuntu would be:
>>>> - Ubuntu builds OVS statically while Debian use `--enable-shared`
>>>> - Ubuntu provides systemd services to delay recording of hostname
>>>> until network is up ref [1]
>>>>
>>>> 0: 
>>>> https://salsa.debian.org/openstack-team/third-party/openvswitch/-/blob/c4c329b15cafee9ccc7ce724c0fc8aa5b7d33881/debian/changelog#L922-L937
>>>> 1: 
>>>> https://github.com/openvswitch/ovs/commit/2ad201659cedbb1134a9d27af132e491173c7e40
>>>
>>> An update on this: We're currently in conversations with Debian
>>> maintainers of OVS and OVN to more closely coordinate the packaging
>>> between the Debian and Ubuntu projects. I however do not know if those
>>> conversations will conclude before the OVS 2.18 freeze.
>>>
>>> To support the proposed removal of the out of tree build of dkms
>>> packages and unblock this thread of work I would propose to push the
>>> current state of OVS packaging from Ubuntu to the upstream repository.
>>> I would be ready to work on this in the week of June 27th through July
>>> 1st. Both projects currently override the upstream debian/ folder with
>>> their own sauce so we would not be breaking Debian nor Ubuntu with
>>> such a change, and we would at the same time support you moving
>>> forward with this work.
>>>
>>> What do you think?
>>>
>>
>> Thanks, Frode!  I see you submitted patches, I'll take a look at
>> them somewhere soon.
>>
>> @Greg, are there any news on the main kernel module removal work?
>> We're getting close to branching for the next release in ~2 weeks,
>> it would be great to have this work finalized before that.
>> If you don't have enough time, we could also find someone to take
>> this task over.  Just let us know.
>>
>> Best regards, Ilya Maximets.
> 
> Hi,
> 
> I'll repost my patches that remove the kernel module this afternoon
> or perhaps tomorrow morning. I need to rebase them, do a quick sanity
> check and then they should be ready to go.

Thanks!  Looking forward to it.

> 
> I had been waiting for the resolution of the Debian packaging issue
> and see that Frode has addressed that in his series of patches.
> Thank you Frode!
> 
> - Greg

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

Reply via email to