[IEC-43] [IEC][SEBA] Create helm repository for combined release charts Created: 27/Apr/20 Updated: 14/May/20 Resolved: 13/May/20 |
|
| Status: | Done |
| Project: | Integrated Edge Cloud |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Medium |
| Reporter: | Ciprian Barbu | Assignee: | Unassigned |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
| Description |
|
With the new SEBA version we have ported recently, based on CORD Platform 7.0, we have switched to using SEBA-in-a-Box from the very beginning, since it made more sense from a CI perspective. However, it's still a good idea to create and make available proper helm charts for deploying SEBA using the helm charts only, the same way Opencord releases them on https://charts.opencord.org/ Here we are talking about creating the combined charts for cord-platform, seba and att-workflow and a corresponding helm repository. The last piece we needed to be able to do this was porting a series of images for logging and nem-monitoring, which is covered in My proposal for now is to do the same thing for the https://github.com/iecedge/helm-charts, and place the charts there. |
| Comments |
| Comment by Ciprian Barbu [ 14/May/20 ] |
|
I've added a spreadsheet indicating the versions and structure of the combined "release" charts. This can be used as a reference for comparing against the older version, as indicated by the counterpart spreadsheets in |
| Comment by Ciprian Barbu [ 13/May/20 ] |
|
After making the helm repo available, I naturally went on to test that everything is ok. This means adding the corresponding helm repo and then installing the cord-platform, seba and att-workflow charts. For this I used one of the internal PODs in the ENEA lab, which was deployed with IEC Type2 platform using the Fuel Installer. The exact same thing as the deployment process in the Akraino IEC CI: There are useful step-by-step instructions in the Akraino SEBA R2 installation guide, although tailored to REC/TA:
But more to the point this meant:
I also wanted to do some verification tests to be sure everything works fine, so I decided to install PONSim and run the tests. This is a little tricky, because PONSim is designed to work with SEBA-in-a-Box, but opencord has a guide here: In my case, I used a shortcut, and used our forked automation-tools git repo: I won't go into all the nitty-gritty details, I will upload a log file of the steps performed, but just very quick, this means faking some of the siab milestones from /tmp/milestones and then calling make stable. Finally, I called "make run-tests" which executed the robot tests.
The tests were successful, 10 out of 10, so I'm confident the charts are working and I will be closing this Jira issue. |
| Comment by Ciprian Barbu [ 13/May/20 ] |
|
One useful thing I want to mention is that I made some errors when I first started this task and I needed to delete the release archives, but unfortunately the chart-releaser (cr) tool does not have such option. So instead I found and used this tool: https://github.com/cheton/github-release-cli But also important, after deleting the release there will still be a tag in the github repo, which must be delete otherwise when uploading a new archive, the old content will appear. Deleting a tag is as simple as "git push origin --delete <tag>", where <tag> is the name of the chart uploaded, minus the .tgz extension. |
| Comment by Ciprian Barbu [ 13/May/20 ] |
|
Making a helm repository in github is described nicely in this tutorial: I started out by creating a branch called gh-pages and removed all the content to get a clean, empty view. I then started creating the required charts for the cord-platform and seba set of charts, using the information in For example, for cord-platform, this means creating the charts for onos, logging, nem-monitoring and xos-core. The other two, kafka and etcd-operator, are hosted on the helm-k8s-charts repo created as part of All the chart requirements need to be pushed to the newly created helm repo, before attempting to create the cord-platform or seba charts, because this time we ensure that the requirements.yaml file in these set of charts point to the helm repo just created. Also important, before calling "helm package <chart> <destination>", the chart requirements must be solved by calling "helm dep update", so this is why I first pushed the requirements and then created the combined charts. This is also visible by looking at the commit history on the gh-pages branch: As described in the the guide I first mentioned, the helm repo comes into effect first by pushing the chart archives to the repo release archive and then by creating the index.yaml and pushing it to the gh-pages branch. So, after creating the 3 set of charts and pushing all the required files to the github, the final form of the index.yaml can be seen on the github.io page: |