[release] OVSDB : moving project to self-managed for Silicon release cycle.
Robert Varga
On 04/10/2020 16:49, Chetan via lists.opendaylight.org wrote:
Hi All,Hello Chetan, As per discussion in TSC meeting on 01-Oct-2020, we are expressing ourWe might be interested in OVSDB, but unfortunately it depends on ServiceUtils. Now there is no thread for ServiceUtils and while the project seems to be small, there I cannot seem to find the spec for SRM nor UPGRADE components -- aside from very terse javadoc, which do not provide enough context. Is there anyone who could shed some more light on those two? Btw. this is also a concern for anyone who'd want to take over OFP/Genius/Netvirt. Thanks, Robert |
|
Faseela K <k.faseela@...>
Robert, For SRM : https://docs.opendaylight.org/projects/genius/en/stable-aluminium/specs/service-recovery.html Sorry, this was never moved to ServiceUtils. Thanks, On Tue, 6 Oct 2020 at 02:19, Robert Varga <nite@...> wrote: On 04/10/2020 16:49, Chetan via lists.opendaylight.org wrote: --
Faseela.K Cisco, Bengaluru MEC 2k10 |
|
Chetan
Hi Robert,
On the serviceUtils dependency in OVSDB in mainly on UpgradeState Flag. Ovsdb depends on this flag to decide whether to trigger reconciliation or not when the openvswitch/hwvtep switch get connected to ODL.
As part of reconciliation, we compare config and oper DS and based on the difference we attempt to create/delete missing entries(ex: tunnels)
During Upgrade, when the southbound port 6640 is opened for accepting connection, its possible the config DS is not fully build-up and if reconciliation is triggered with partial config Data, we will end-up in deleting valid entries from the switches. In order to avoid this, ovsdb depends on upgrade flag and if it set, reconciliation will not be triggered. Once upgrade-flag is turned-off, then only we trigger reconciliation.
Thanks, Chetan
From: Faseela K <k.faseela@...>
Sent: 06 October 2020 11:36 To: Robert Varga <nite@...> Cc: Chetan Arakere Gowdru <chetan.arakere@...>; tsc <tsc@...>; Release <release@...> Subject: Re: [release] OVSDB : moving project to self-managed for Silicon release cycle.
Robert, For SRM : https://docs.opendaylight.org/projects/genius/en/stable-aluminium/specs/service-recovery.html Sorry, this was never moved to ServiceUtils. Thanks,
On Tue, 6 Oct 2020 at 02:19, Robert Varga <nite@...> wrote:
-- Faseela.K Cisco, Bengaluru MEC 2k10 |
|
Robert Varga
On 09/10/2020 12:04, Chetan Arakere Gowdru wrote:
Hi Robert,Hello Chetan, On the serviceUtils dependency in OVSDB in mainly on UpgradeState Flag.Thanks for the explanation. Unfortunately I could not find much about the upgrade feature -- do you know where a user guide or similar might be found, please? Thanks, Robert |
|
Chetan
Hi Robert,
toggle quoted message
Show quoted text
Unfortunately, I couldn't find any User Guide as such for this Upgade-Flag(@Faseela K, Please point us if there any) This UpgradeState Flag utility was earlier implemented in GENIUS project and latest moved to service-utils so that other project can leverage it. Please find below JIRA/Patches related this. https://git.opendaylight.org/gerrit/c/genius/+/65299 https://git.opendaylight.org/gerrit/c/serviceutils/+/73677 https://git.opendaylight.org/gerrit/c/genius/+/74472 https://jira.opendaylight.org/browse/GENIUS-190 Thanks, Chetan -----Original Message-----
From: Robert Varga <nite@...> Sent: 15 October 2020 17:08 To: Chetan Arakere Gowdru <chetan.arakere@...>; 'Faseela K' <k.faseela@...> Cc: 'tsc' <tsc@...>; 'Release' <release@...> Subject: Re: [release] OVSDB : moving project to self-managed for Silicon release cycle. On 09/10/2020 12:04, Chetan Arakere Gowdru wrote: Hi Robert,Hello Chetan, On the serviceUtils dependency in OVSDB in mainly on UpgradeState Flag.Thanks for the explanation. Unfortunately I could not find much about the upgrade feature -- do you know where a user guide or similar might be found, please? Thanks, Robert |
|
daya k
hi robert, not sure of documentation, sorry about that. we did present this in a ddf, the slides are here - i can talk give a brief walkthrough of the relevant parts either today, or a tws session, with some of the module implementors. going fwd, i see 3 options for the flag, if we want to keep the functionality - 1. move it to a common project, such as md-sal or controller 2. replicate it in ovsdb and openflow plugin 3. keep service-utils as a managed project in case someone is willing to steer it on a day-to-day basis. thanks, daya
On Friday, October 16, 2020, 08:27:26 AM GMT+5:30, Chetan via lists.opendaylight.org <chetan.arakere=altencalsoftlabs.com@...> wrote:
Hi Robert, Unfortunately, I couldn't find any User Guide as such for this Upgade-Flag(@Faseela K, Please point us if there any) This UpgradeState Flag utility was earlier implemented in GENIUS project and latest moved to service-utils so that other project can leverage it. Please find below JIRA/Patches related this. https://git.opendaylight.org/gerrit/c/genius/+/65299 https://git.opendaylight.org/gerrit/c/serviceutils/+/73677 https://git.opendaylight.org/gerrit/c/genius/+/74472 https://jira.opendaylight.org/browse/GENIUS-190 Thanks, Chetan -----Original Message-----
From: Robert Varga <nite@...> Sent: 15 October 2020 17:08 To: Chetan Arakere Gowdru <chetan.arakere@...>; 'Faseela K' <k.faseela@...> Cc: 'tsc' <tsc@...>; 'Release' <release@...> Subject: Re: [release] OVSDB : moving project to self-managed for Silicon release cycle. On 09/10/2020 12:04, Chetan Arakere Gowdru wrote: > Hi Robert, Hello Chetan, > On the serviceUtils dependency in OVSDB in mainly on UpgradeState Flag. > Ovsdb depends on this flag to decide whether to trigger reconciliation > or not when the openvswitch/hwvtep switch get connected to ODL. > > > > As part of reconciliation, we compare config and oper DS and based on > the difference we attempt to create/delete missing entries(ex: > tunnels) > > > > During Upgrade, when the southbound port 6640 is opened for accepting > connection, its possible the config DS is not fully build-up and if > reconciliation is triggered with partial config Data, we will end-up > in deleting valid entries from the switches. In order to avoid this, > ovsdb depends on upgrade flag and if it set, reconciliation will not > be triggered. Once upgrade-flag is turned-off, then only we trigger > reconciliation. Thanks for the explanation. Unfortunately I could not find much about the upgrade feature -- do you know where a user guide or similar might be found, please? Thanks, Robert |
|
daya k
here's another one that focuses specifically on the usecases for the upgrade flag, (some things are slightly dated implementation wise, but the general idea is all sound) https://docs.google.com/presentation/d/1eZj703NYakcVtJi2fh1F9qBGFaKh2t7JOuRwdY6GiVs/edit#slide=id.p3 thanks, daya
On Friday, October 16, 2020, 10:05:38 AM GMT+5:30, daya kamath <daya_k@...> wrote:
hi robert, not sure of documentation, sorry about that. we did present this in a ddf, the slides are here - i can talk give a brief walkthrough of the relevant parts either today, or a tws session, with some of the module implementors. going fwd, i see 3 options for the flag, if we want to keep the functionality - 1. move it to a common project, such as md-sal or controller 2. replicate it in ovsdb and openflow plugin 3. keep service-utils as a managed project in case someone is willing to steer it on a day-to-day basis. thanks, daya
On Friday, October 16, 2020, 08:27:26 AM GMT+5:30, Chetan via lists.opendaylight.org <chetan.arakere=altencalsoftlabs.com@...> wrote:
Hi Robert, Unfortunately, I couldn't find any User Guide as such for this Upgade-Flag(@Faseela K, Please point us if there any) This UpgradeState Flag utility was earlier implemented in GENIUS project and latest moved to service-utils so that other project can leverage it. Please find below JIRA/Patches related this. https://git.opendaylight.org/gerrit/c/genius/+/65299 https://git.opendaylight.org/gerrit/c/serviceutils/+/73677 https://git.opendaylight.org/gerrit/c/genius/+/74472 https://jira.opendaylight.org/browse/GENIUS-190 Thanks, Chetan -----Original Message-----
From: Robert Varga <nite@...> Sent: 15 October 2020 17:08 To: Chetan Arakere Gowdru <chetan.arakere@...>; 'Faseela K' <k.faseela@...> Cc: 'tsc' <tsc@...>; 'Release' <release@...> Subject: Re: [release] OVSDB : moving project to self-managed for Silicon release cycle. On 09/10/2020 12:04, Chetan Arakere Gowdru wrote: > Hi Robert, Hello Chetan, > On the serviceUtils dependency in OVSDB in mainly on UpgradeState Flag. > Ovsdb depends on this flag to decide whether to trigger reconciliation > or not when the openvswitch/hwvtep switch get connected to ODL. > > > > As part of reconciliation, we compare config and oper DS and based on > the difference we attempt to create/delete missing entries(ex: > tunnels) > > > > During Upgrade, when the southbound port 6640 is opened for accepting > connection, its possible the config DS is not fully build-up and if > reconciliation is triggered with partial config Data, we will end-up > in deleting valid entries from the switches. In order to avoid this, > ovsdb depends on upgrade flag and if it set, reconciliation will not > be triggered. Once upgrade-flag is turned-off, then only we trigger > reconciliation. Thanks for the explanation. Unfortunately I could not find much about the upgrade feature -- do you know where a user guide or similar might be found, please? Thanks, Robert |
|
Robert Varga
On 16/10/2020 06:48, daya kamath wrote:
here's another one that focuses specifically on the usecases for theThanks for the pointer, but this presentation seems to be protected. Can you make it public perhaps? Thanks, Robert |
|
Robert Varga
On 16/10/2020 06:35, daya kamath wrote:
hi robert,Hello Daya, not sure of documentation, sorry about that.No worries, this seems to confirm my suspicion on what this provides. Just to clarify: 1) does current state of affairs include anything from Gap/Future Developments (slide 11) items? 2) is my understanding correct that this mostly involves upgrading the datastore state? 3) Is actual ovsdb/ofp/genius/netvirt code required for that state upgrade? Thanks, Robert |
|
daya k
hi robert, pls see inline. thanks, daya
On Thursday, October 22, 2020, 09:14:05 PM GMT+5:30, Robert Varga <nite@...> wrote:
On 16/10/2020 06:35, daya kamath wrote: > hi robert, Hello Daya, > not sure of documentation, sorry about that. > we did present this in a ddf, the slides are here - > Upgrade @ DDF 2018 > <https://docs.google.com/presentation/d/1PedCjs7UgB49Of1iTWs4FcZkjCAa8LHc3ID0nrSV10o/edit#slide=id.p> No worries, this seems to confirm my suspicion on what this provides. Just to clarify: 1) does current state of affairs include anything from Gap/Future Developments (slide 11) items? daya->all the feature gaps (until slide 19)are already covered, and implemented in the code. slide 19 was more of an idea discussion, that we did not get around to doing. the csit is also not fully updated. upgrade is covered, but the hitless part is not really tested in the csit. 2) is my understanding correct that this mostly involves upgrading the datastore state? daya->no, actually, it involves clearing most of the persisted data from datastore, and building it up again while keeping dataplane running. so, the upgrade becomes baseline free, and there are no backward compatibility restrictions to a large extent beyond the small subset of data that does get persisted 3) Is actual ovsdb/ofp/genius/netvirt code required for that state upgrade? daya->not clear on your question. all of these modules would populate derived data and operational data freshly after the code upgrade into the datastore. so, the business logic in these modules could change between different versions, and they can go ahead and change any way they want to use the datastore between these versions. Thanks, Robert |
|
daya k
hey robert, i need to revise my answer, pls see additional clarifications inline. thanks, daya
On Friday, October 30, 2020, 10:54:35 AM GMT+5:30, daya kamath <daya_k@...> wrote:
hi robert, pls see inline. thanks, daya
On Thursday, October 22, 2020, 09:14:05 PM GMT+5:30, Robert Varga <nite@...> wrote:
On 16/10/2020 06:35, daya kamath wrote: > hi robert, Hello Daya, > not sure of documentation, sorry about that. > we did present this in a ddf, the slides are here - > Upgrade @ DDF 2018 > <https://docs.google.com/presentation/d/1PedCjs7UgB49Of1iTWs4FcZkjCAa8LHc3ID0nrSV10o/edit#slide=id.p> No worries, this seems to confirm my suspicion on what this provides. Just to clarify: 1) does current state of affairs include anything from Gap/Future Developments (slide 11) items? daya->all the feature gaps (until slide 19)are already covered, and implemented in the code. slide 19 was more of an idea discussion, that we did not get around to doing. the csit is also not fully updated. upgrade is covered, but the hitless part is not really tested in the csit. daya2->the initial implementation for reading and writing config to be persisted was through the neutron odlv2 driver re-conciliation mechanisms, the evolved approach is to use external scripts with rest api to pull and push the data models. from a gaps perspective, some of these models fall into derived data and would not be available in the 1st approach of using neutron driver. since the external script is not part of any project, its not available in the upstream. i can put together a list of data models that need to be persisted beyond what the neutron odl driver gives us by default. pls give me a day or 2 to come up with this list. i can add the same to the google presentation, or if a wiki page is preferred, can put it on a wiki page, if you can send me a pointer to where it should go. 2) is my understanding correct that this mostly involves upgrading the datastore state? daya->no, actually, it involves clearing most of the persisted data from datastore, and building it up again while keeping dataplane running. so, the upgrade becomes baseline free, and there are no backward compatibility restrictions to a large extent beyond the small subset of data that does get persisted 3) Is actual ovsdb/ofp/genius/netvirt code required for that state upgrade? daya->not clear on your question. all of these modules would populate derived data and operational data freshly after the code upgrade into the datastore. so, the business logic in these modules could change between different versions, and they can go ahead and change any way they want to use the datastore between these versions. Thanks, Robert |
|