ODL Helm chart


Luis Gomez
 

As I brought in today's TSC meeting, any decent IT app nowadays has a helm chart to quickly install in K8s.

Looking at some open source example:

https://github.com/prometheus-community/helm-charts/tree/main/charts/prometheus

It seems like we need to hold some helm definitions in our code repo for folks to perform:

helm repo add odl https://opendaylight.github.io/helm-charts

Also we need to publish docker containers somewhere so they can be used in a K8s Deployment file like this:

spec:
containers:
- name: odl
image: quay.io/opendaylight/netconf:v0.13.0
...

I am not an expert in K8s so let me know if I miss anything.

Anil, do you see any problem in existing ODL infra to achieve the above?

BR/Luis


Daniel de la Rosa
 

+ Jeff Hartley


On Thu, Mar 25, 2021 at 11:52 AM Luis Gomez <ecelgp@...> wrote:
As I brought in today's TSC meeting, any decent IT app nowadays has a helm chart to quickly install in K8s.

Looking at some open source example:

https://github.com/prometheus-community/helm-charts/tree/main/charts/prometheus

It seems like we need to hold some helm definitions in our code repo for folks to perform:

helm repo add odl https://opendaylight.github.io/helm-charts

Also we need to publish docker containers somewhere so they can be used in a K8s Deployment file like this:

    spec:
      containers:
      - name: odl
        image: quay.io/opendaylight/netconf:v0.13.0
...

I am not an expert in K8s so let me know if I miss anything.

Anil, do you see any problem in existing ODL infra to achieve the above?

BR/Luis



Anil Belur
 

Hello Luis: 

ONAP has a few jobs that publish helm charts onto Nexus, and we have some scripts in place that can be reused. 

PS let me know if these bits can be reused. I can setup time to discuss the details of usecase for ODL
and get an understanding of which of the ODL $projects would require helm charts.

Regards,
Anil


On Fri, Mar 26, 2021 at 4:51 AM Luis Gomez <ecelgp@...> wrote:
As I brought in today's TSC meeting, any decent IT app nowadays has a helm chart to quickly install in K8s.

Looking at some open source example:

https://github.com/prometheus-community/helm-charts/tree/main/charts/prometheus

It seems like we need to hold some helm definitions in our code repo for folks to perform:

helm repo add odl https://opendaylight.github.io/helm-charts

Also we need to publish docker containers somewhere so they can be used in a K8s Deployment file like this:

    spec:
      containers:
      - name: odl
        image: quay.io/opendaylight/netconf:v0.13.0
...

I am not an expert in K8s so let me know if I miss anything.

Anil, do you see any problem in existing ODL infra to achieve the above?

BR/Luis


Luis Gomez
 

OK, thanks for the ONAP pointers, I have explored them and I figured the following:

Docker:

1) ONAP projects use maven to build docker:

2) LFN global-jjb has templates for docker build and publish:

3) ONAP publishes docker images in Nexus:

Helm:

1) ONAP projects define their charts in a common repo called OOM:

2) Helm job are in ONAP ci-management repo whilst build Makefiles are in OOM:

3) ONAP publishes helm packages in Nexus:

So in general I think we can leverage a lot of work from above but before doing that I have a couple of question:

1) Does current Centos builder image support docker?
2) Does ODL have a docker repo like https://nexus3.onap.org/#browse/search/docker?

Thanks/Luis



On Mar 25, 2021, at 10:06 PM, Anil Belur <abelur@...> wrote:

Hello Luis: 

ONAP has a few jobs that publish helm charts onto Nexus, and we have some scripts in place that can be reused. 

PS let me know if these bits can be reused. I can setup time to discuss the details of usecase for ODL
and get an understanding of which of the ODL $projects would require helm charts.

Regards,
Anil


On Fri, Mar 26, 2021 at 4:51 AM Luis Gomez <ecelgp@...> wrote:
As I brought in today's TSC meeting, any decent IT app nowadays has a helm chart to quickly install in K8s.

Looking at some open source example:

https://github.com/prometheus-community/helm-charts/tree/main/charts/prometheus

It seems like we need to hold some helm definitions in our code repo for folks to perform:

helm repo add odl https://opendaylight.github.io/helm-charts

Also we need to publish docker containers somewhere so they can be used in a K8s Deployment file like this:

    spec:
      containers:
      - name: odl
        image: quay.io/opendaylight/netconf:v0.13.0
...

I am not an expert in K8s so let me know if I miss anything.

Anil, do you see any problem in existing ODL infra to achieve the above?

BR/Luis


Anil Belur
 


On Mon, Apr 5, 2021 at 9:02 AM Luis Gomez <ecelgp@...> wrote:
OK, thanks for the ONAP pointers, I have explored them and I figured the following:

Docker:

1) ONAP projects use maven to build docker:

2) LFN global-jjb has templates for docker build and publish:

3) ONAP publishes docker images in Nexus:

Helm:

1) ONAP projects define their charts in a common repo called OOM:

2) Helm job are in ONAP ci-management repo whilst build Makefiles are in OOM:

3) ONAP publishes helm packages in Nexus:

So in general I think we can leverage a lot of work from above but before doing that I have a couple of question:

1) Does current Centos builder image support docker?
2) Does ODL have a docker repo like https://nexus3.onap.org/#browse/search/docker?


 
1. We already have a CentOS docker image, which can be used.
2. The docker image requires to be pushed to Nexus3, which is already available for ODL, while the Helm charts are pushed onto Nexus2. We'll only need to roll out the repo config for the required projects.

Do we have a use-case as to what $projects would be using these jobs & if these are existing/newer projects? 


Luis Gomez
 

I would think the netconf project, being the most popular out-of-the-box application, would be the perfect candidate to create a helm chart. Still we have to figure the best place for docker and helm code (centralized vs distributed).

BR/Luis

On Apr 5, 2021, at 5:38 PM, Anil Belur <abelur@...> wrote:


On Mon, Apr 5, 2021 at 9:02 AM Luis Gomez <ecelgp@...> wrote:
OK, thanks for the ONAP pointers, I have explored them and I figured the following:

Docker:

1) ONAP projects use maven to build docker:

2) LFN global-jjb has templates for docker build and publish:

3) ONAP publishes docker images in Nexus:

Helm:

1) ONAP projects define their charts in a common repo called OOM:

2) Helm job are in ONAP ci-management repo whilst build Makefiles are in OOM:

3) ONAP publishes helm packages in Nexus:

So in general I think we can leverage a lot of work from above but before doing that I have a couple of question:

1) Does current Centos builder image support docker?
2) Does ODL have a docker repo like https://nexus3.onap.org/#browse/search/docker?


 
1. We already have a CentOS docker image, which can be used.
2. The docker image requires to be pushed to Nexus3, which is already available for ODL, while the Helm charts are pushed onto Nexus2. We'll only need to roll out the repo config for the required projects.

Do we have a use-case as to what $projects would be using these jobs & if these are existing/newer projects?