[opendaylight-dev] Requirement for scaling ODL containers


Luis Gomez
 

Hi Manoj,

Regarding your first point, in the past we had RedHat folks working on ODL docker:


However nobody picked up this work in int/pack project after they left.

FYI today we are shipping a Karaf distribution only containing Netconf and Daexim projects to ONAP:



So what would you think if we started by just dockerizing this distribution?

BR/Luis


On Feb 3, 2020, at 8:58 AM, manoj chokka <cmanoj8@...> wrote:

Hi All,

Please find below the initial notes on the subject,

There are two categories we want to put forward here,

1. Must have requirements for micro-distribution,

  • It should be a docker distribution or any valid container runtime environment (such as Rkt, LXC, etc.).
    • We have to standardize as to which distribution the ODL community is going to support.
    • There is no specific standardization required on the orchestration platform (such docker swarm or kubernetes) because that would be operator specific.
  • It should expose ports towards the devices and ODL apps.
    • The container distribution should expose the ports for all the modules.
    • The access to the north bound apps also should be allowed.
  • It should be open to allow the debug-container.
    • In the latest kubernetes release we have an option to attach a debug-container to the running container.
    • This is required to debug issues on production.
    • The debug container will contain all the debug tools we need.
    • Hence no debug tools are required to part of the micro-distribution.
2. Requirements for scaling, not required for intial release,

  • It should scale up and scale down in response to,
    • number of devices attached to each ODL instance.
    • inputs from the ingress load balancer.
  • The data must be recoverable on the event of container restart.
    • The data will be kept persistent on the host machine where the micro-distribution is running.
    • But the micro-distribution should support configuring it self with the available data.
  • It should support monitoring of the ODL/modules.
    • There will be systems that will monitor the health of the ODL/specific modules.
    • The distribution should provide some API which the monitoring systems can use.
  • The distribution should be considered as stateless.
  • On ODL restart the session to the devices must be auto connected.
  • The distribution must be instrumented for further debug-gable system.
    • The calls made to from the north bound apps might be bounced of many applications/containers.
    • So tracking all these calls might become a difficult task.
  • It should support service mesh.

Thank you,

Best Regards,
Manoj