Jump to: navigation, search

OpenDaylight DLUX:Beryllium Release Review

Project Name

DLUX

Features

  • Partial translation along modules
  • Performance improvement

Non-Code Aspects (user docs, examples, tutorials, articles)

Architectural Issues

The current way of loading JavaScript is done by fetching every files. This process was initially taught to be able to lazy load the files and gain performance. With external modules with a lot of files inter dependent, this architectural choice does the opposite. Loading every file tie up the network and create a lot of DOM manipulation. The end result is more and more modules appended to DLUX, more and more heavier it feel.

Security Considerations

  • DLUX use controller provided authentication. If Restconf does not have authentication enabled, user can access DLUX ui without any checks.

Quality Assurance (test coverage, etc)

DLUX has internal unit tests includes in the build toolchain. If a unit test is failed, the build will also failed.It could be possible to run those unit tests with maven with a recent version of frontend-maven-plugin.

It's not possible right now to have an idea of the test coverage. In sonar, DLUX is consider has a Java Project and only a small part of it is in Java.
There is a plugin for Sonar to allow multiple languages per project. Maybe it will be a good idea to include it ?

End-of-life (API/Features EOLed in Release)

Every End-of-life components are supported by a backward compatibility within the new implementations who allow them to run without any issue. Those components are:

  • The addToController method from NavHelper, ContentHelper and TopBarHelper AngularJs provider.
  • The register procedure in every new module isn't mandatory anymore.

Notes: We will officially put them has depricated in the next release

Bugzilla (summary of bug situation)

Nothing really change from Lithium to Beryllium, so the bug list is mostly the same has Lithium.

Schedule (initial schedule and changes over the release cycle)

Due to the lack of community involvement, only the basic core improvement have been done according to the schedule. Everything else hasn't been done before the code freeze. Few patches related to those tasks are still pending to be merge to master branch.