This is a great idea Ashvin. Do you think a cross project activity
(probably seeded in ODL infra utils project) would work or do you think it
would be better to have a separate project? The advantage of having a
separate project at first merged into an existing project later is that:
development could be kick started faster. Reason: a new project means the
activity has committers from within this new activity and no dependency on
some other committers who may not have the time/commitment to review the
code for this activity.


On Thu, Dec 1, 2016 at 11:20 PM, Ashvin Lakshmikantha <
ashvin.lakshmikan...@ericsson.com> wrote:

> Hi everyone,
>
>                                 Going through the various releases of
> ODL, it appears that currently, there is no implied backward compatibility
> between releases. Consequently, in a production environment, it would
> require a complete reinstallation of ODL whenever we need to move to a new
> version of ODL.
>
>
>
>                 We would like to contribute towards a project that focuses
> on the Upgradability of ODL. We have done some initial analysis and
> identified a number of requirements on ODL that need to be met for upgrades
> to be successful. They are reproduced below:
>
>
>
> Use Case
>
> ATM-Title
>
> Sub use case Title
>
> Use case description
>
> 1
>
> Configuration Preservation
>
> Data model translation
>
> It must be possible for the ODL to read and translate an earlier version
> CDS to a newer version of CDS. The CDS can change due to changes in the
> data-model and changes in the interface definitions.
>
> Rollback Configuration Translation
>
> When a upgrade procedure is initiated, the configuration state of the
> system must be persisted in both the current version and the earlier
> version. This is because,  in some middlewares, the same procedure can be
> initiated to do rollbacks and the controller may not have mechanisms to
> know whether it is an upgrade scenario or a rollback scenario.
>
> Upgrade component Configuration Translation
>
> As a part of deployment, the operator may override ODL the default values
> in the configuration files such as karaf.cfg, system.properties, etc.
> During upgrades, these changes must not be lost (unless the support for a
> specific configuration is deprecated). It must be migrated to the next
> version.
>
> 2
>
> Multi API support
>
> OVS API support
>
> Whenever a new ODL release does requires a new version of OVS to support
> newer features, both ODL and OVS will be jointly upgraded. ODL must be
> upgraded first (so that in case of a rollback, a rollback of all the OVS
> installations would not be required).
>
> OVS installations must be upgraded one at a time to avoid significant
> impact to the data-plane. This implies that during OVS upgrade, the ODL
> must seamlessly interact with both versions of OVS. During upgrade, ODL
> must not send OF/OVSDB messages that are unsupported by the earlier version
> of OVS.
>
> Open Stack Multi API support
>
> To support seamless interaction with Openstack, it must be possible for
> ODL to support multiple versions of Neutron APIs (if they change across
> releases).
>
> Rollback
>
> It must be possible to rollback multiple components (Openstack, ODL, OVS)
> in a seamless fashion without affecting data traffic and retaining
> configuration
>
> 3
>
> Single Step Upgrade
>
> Single Step Upgrade
>
> It must be possible to upgrade all instances of a ODL cluster in one step.
> This mechanism must be invoked whenever ODL data-model/interfaces change
> across releases and the earlier versions of ODL cannot work seamlessly with
> a newer version of ODL.
>
> 4
>
> Rolling Upgrade
>
> Rolling Upgrade
>
> It must be possible to upgrade ODL instances one node at a time, to avoid
> controller down time. It must be possible to invoke this mechanism,
> whenever release upgrades have backward compatible data models and
> interfaces. In a rolling upgrade, the controller cluster must continue to
> provide service to both North Bound and South Bound applications during the
> course of the upgrade.
>
>
>
>
>
> Our agenda for this email is part
>
> 1.       We seek comments from the community on the idea.
>
> 2.       We would like to some if there are like minded folks who are
> interested in joining us in this regard.
>
> 3.       We would like to know if there are any projects that are already
> that are ongoing in this area and if yes, some links to the documents. If
> there is no project in this area, should we create a new project.
>
> 4.       We would like to inform that we are keen to contribute to this
> project.
>
>
>
>
>
> Thanks,
>
> Ashvin
>
>
>
>
>
> _______________________________________________
> controller-dev mailing list
> controller-dev@lists.opendaylight.org
> https://lists.opendaylight.org/mailman/listinfo/controller-dev
>
>
_______________________________________________
controller-dev mailing list
controller-dev@lists.opendaylight.org
https://lists.opendaylight.org/mailman/listinfo/controller-dev

Reply via email to