# Daily Note 25/08/2020
###### tags: `Daily Notes` , `Acumos`
## Name : Christofel Rio Goenawan
## University : Bandung Institute of Technology (ITB)
---
## Schedule:
1. Study Detailed Works of Acumos AI Boreas Release's On- Boarding from Documentation.
2. Create Slide Presentation for Week 8's Meeting.
3. Start Create Final Paper for the Internship.
4. Try to Solve Connection Issue in Nexus Installation for Acumos AI
## Outcome :
1. Understand Detailed Works of Acumos AI Boreas Release’s On- Boarding from Documentation.
2. Finish Create Slide Presentation for Week 8’s Meeting.
3. Finish Create Abstraction of Final Paper for the Internship.
4. Solve Connection Issue in Nexus Installation for Acumos AI.
## Further Plan :
- Continue to deploy Acumos AIO in NTUST server
- Study more detailed about AIO Installation in O- RAN
---
## Daily Log
### 1. Study Detailed Works of Acumos AI Boreas Release's On- Boarding from Documentation. <mark>(9.00)</mark>
- Study more detail explanation in [Documentation](https://docs.acumos.org/en/boreas/) and other sources.
### 2.Create Slide Presentation for Week 8's Meeting.<mark>(13.00)</mark>
- Study more detail explanation in [Documentation](https://docs.acumos.org/en/boreas/submodules/federation/docs/developer-guide.html) and other sources.
### 3.Start Create Final Paper for the Internship.<mark>(14.00)</mark>
- Study more detail explanation in [Documentation](https://docs.acumos.org/en/boreas/submodules/federation/docs/developer-guide.html) and other sources.
### 4. Try to Solve Connection Issue in Nexus Installation for Acumos AI.<mark>(15.00)</mark>
- Continue to try to deploy Acumos AIO in NTUST server using Prep- Deploy Process based one previous [study notes](https://hackmd.io/@christofel04/TEEP_Daily_Notes_10_7_2020).
- Try to solve Connection Issue in Nexus Installation for Acumos AI based one previous [study notes](https://hackmd.io/@christofel04/TEEP_Daily_Notes_18_8_2020).
---
## Report
### 1. Acumos AI Boreas Release On- Boarding
>- In this note Writer use [Documentation](https://docs.acumos.org/en/boreas/) as reference.
>- In this note Writer Study one of Acumos AI Boreas Release Interfaces and APIs that is Onboarding Toolkit. The General Study about Acumos AI Boreas Release Interfaces and APIs can be seen in [here](https://hackmd.io/@christofel04/TEEP_Daily_Notes_24_8_2020).
>- For Deep Study in Works of Acumos AI Boreas Release On- Boarding for each Models Types , can be seen [here](https://hackmd.io/@christofel04/TEEP_Daily_Notes_26_8_2020)
:::warning
Some Important Components :
- **ONNX(Open Neural Network eXchange)**: A library available in some Deep Learning Framework that **allows to import and export Deep Learning models from different AI framework**. If you export a model under the ONNX format you will be **able to import it in and use it in many others Deep Learning framework**. Please have a look at [here](https://github.com/onnx/tutorials) to know more.
- **PFA (Portable format analytics)** : A language developped by the Data mining Group to **help datascientist to deploy their model in production**. Please have a look at [here](http://dmg.org/pfa/docs/motivation/) to know more.
:::
#### 1. What is Acumos AI Boreas Release On- Boarding ?
From documentation, Acumos is intended to :
:::success
**"enable the use of a wide range of tools and technologies in the development of machine learning models including support for both open sourced and proprietary toolkits"**
:::
The goal of Onboarding is to **provide an ingestion interface, by web or CLI(command line interface) for various types of models** and to **create required artifacts and identifiers to enter the Acumos machine learning platform**.
##### a. Legacy Models
- As for Athena release, in Boreas We can on-board models developped in **Java 8 or 9, Python>=3.5, <3.7, R>=3.4.4** and sourced from toolkits such as **Scikit, TensorFlow, H2O, and R**.
- In Boreas you can choose to **create or not the microservice at the end of the on-boarding process**.
- If user choose to not create the microservice at the end of on-boarding he can create it later.
- The goals for these kinds of models are to **generate or provide all the necessary materials required to use these kinds of models** with the others components of Acumos like:
1. **Tosca file for Design studio**
2. **Represent model I/O such for microservice generation**
3. **SolutionID for CDS**
4. **Licence file for licensing management**
- Since Boreas, we are able to on-board news kinds of model as below.
1. **Model in ONNX format** : model.onnx
2. **Model in PFA format** : model.pfa
3. **Dockerized model** : model dockerised by Data scientist himself
4. **Docker model URI** : URI of Dockerized model stored in external repo like Docker-Hub for example
:::info
**For this new kinds of model, Micro service generation and Design studio capabilities are not available**.
:::
##### b. Acumos AI Boreas Release On- Boarding Capabilities by Models Type
From Documentation , the table below sum-up all the Acumos capabilities available for each kinds of model.

---
#### 2. Acumos AI Boreas Release Prerequisites
From Documentation, ut is assumed that **the ML Models contributed by the open source community an created under Java 8 or 9, Python>=3.5, <3.7 or R>=3.4.4** as below.
1. **Provide the basic request response style of communication**.
2. **Can be converted in Microservices**.
3. **Are capable of communicating via Http REST mechanism**.
---
#### 3. Acumos AI Boreas Release On- Boarding Schemes
##### a. Acumos AI Boreas Release On- Boarding High Level Architectures
The simple Acumos AI Boreas Releases On- Boarding High- Level Architectures can be seen as below.
- For **R , Python and Java Models**.
For models developed in Java, Python and R the data scientist will do as below.
1. **Use the Acumos client library to create some artifacts embeded them in a model bundle**.
2. The model bundle can be **pushed to the platform by using WEB on-boarding or command line (CLI)** thanks to **REST interface exposed by the Acumos onboarding server**.

- **For ONNX and FPA Models**.
For model in a model **interchange format** like **ONNX and PFA only web interface is useable to upload them in the platform**.

:::info
**For the moment micro-service generation cannot be triggered for ONNX and PFA models.**
:::
- **For Dockerized Model URI and Pre- Dockerized Model**
For model Dockerized and stored in repo outside Acumos (like for example **Docker hub**) you can **save the model URI in Acumos**.
You can also dockerize your models by yourself and on-board them in Acumos.

##### b. Acumos AI Boreas Release On- Boarding Low Level Architectures
- Onboarding Low Level diagramm for **R, Java, Python, ONNX and PFA models** can be seen as below.

- Onboarding Low Level Diagram for **Dockerized model and Dockerized model URI**

---
#### 4. Acumos AI Boreas Release On- Boarding Set Up
From Documentation , Acumos AI Boreas Release On- Boarding set up can be seen as below.
1. **Clone the code from Gerrit Repo:** https://gerrit.acumos.org
- Browse the repositories to find on-boarding project then use the **HTTPS, HTTP or SSH git clone commande line**.
2. **After cloning import this project in your recommended IDE like STS**.
3. **Take the maven update so that you can download all the required dependencies for the Onboarding Project**.
:::info
After doing **maven update** we can **run or debug the code by using Spring Boot App**
- But before that we need to set the Environment Variables in our IDE tool for local testing
- If you want to read the environment variables once you deployed your code on the dev or IST server than you need to set all the environment variables in system-integration Project.
:::
---
#### 5. Acumos AI On- Boarding Technology and Frameworks
From Documentation , the Acumos AI On- Boarding Technology and Frameworks can be seen as below.
1. **Java 1.8**
2. **Spring Boot**
3. **Spring REST**
4. **Docker Java Library**
---
:::info
**Next Writer will study more detailed about works of**:
1. **Acumos AI Boreas Release On- Boarding for each of**:
- **Python , R and Java Models**
- **ONNX and FPA Models**
- **Dockerized model and Dockerized model URI.**
2. **Acumos AI Boreas Release On- Boarding Backend API**
:::
---
---
### 2. Slide Presentation for Week 8's Meeting
:::info
**The Slide Presentation for Week 8's Meeting can be seen [here](https://docs.google.com/presentation/d/1bUKsigg7E15_q6YeWQasT_MpKpwwMDGZBCwXp7BFjf4/edit?usp=sharing).**
:::
---
### 3. Try Solve NEXUS Installation for Acumos AI
>This deployment is continuation from [yesterday's notes]( https://hackmd.io/@christofel04/TEEP_Daily_Notes_11_8_2020 ).
In this note Writer use [Previous Notes](https://hackmd.io/@christofel04/TEEP_Daily_Notes_10_7_2020) as study sources.
After checking the Open Shift cluster installation , there are issues when setting cluster up in Open Shift.
:::danger
In Writer's installation the setting freeze after installing kubeflow as below.

But after look at [reference](https://github.com/openshift/origin/issues/21253) , it should end up showing Open Shift user account and server as below..

:::
:::warning
After Writer search in internet and from reference it found out this issue **often happens for CentOS with Open Shift veruson 3.11 like Writer's**.
:::
:::info
**Next Writer Will Continue to Solve the Open Shift Issue in NTUST Server**
:::
---
## Reference
1. https://github.com/nokia/ONAP-VESPA
2. https://docs.acumos.org/en/boreas/
3. https://docs.acumos.org/en/boreas/submodules/federation/docs/developer-guide.html