2 ## Build and deploy O2 services over O-Cloud (INF)
\r
5 ## Bring up builder container from O-Cloud controller node
\r
9 mkdir -p /home/sysadmin/share
\r
10 sudo docker run -dt --privileged -v /home/sysadmin/share/:/home/sysadmin/share/ -v /var/run:/var/run --name o2imsbuilder centos:7
\r
13 ## Build O2 service images inside the builder container
\r
17 sudo docker exec -it o2imsbuilder bash
\r
22 curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
\r
23 chmod +x /usr/local/bin/docker-compose
\r
26 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
\r
28 yum install -y docker-ce
\r
33 cd /home/sysadmin/share/
\r
34 git clone "https://gerrit.o-ran-sc.org/r/pti/o2"
\r
39 git clone --depth 1 --branch master https://opendev.org/starlingx/config.git
\r
40 git clone --depth 1 --branch master https://opendev.org/starlingx/distcloud-client.git
\r
43 docker-compose build
\r
49 ### Push O2 service images to local registry (with auth user admin)
\r
52 sudo docker tag o2imsdms:latest registry.local:9001/admin/o2imsdms:0.1.4
\r
53 sudo docker image push registry.local:9001/admin/o2imsdms:0.1.4
\r
57 ## Deploy O2 services with helm chart over O-Cloud controller node (with auth user admin)
\r
60 export NAMESPACE=orano2
\r
61 kubectl create ns ${NAMESPACE}
\r
64 source /etc/platform/openrc
\r
65 cat <<EOF>ocloud-override.yaml
\r
67 imagePullSecrets: admin-orano2-registry-secret
\r
69 repository: registry.local:9001/admin/o2imsdms
\r
71 pullPolicy: IfNotPresent
\r
72 logginglevel: "DEBUG"
\r
75 OS_AUTH_URL: "${OS_AUTH_URL}"
\r
76 OS_USERNAME: "${OS_USERNAME}"
\r
77 OS_PASSWORD: "${OS_PASSWORD}"
\r
80 sudo docker login registry.local:9001 -u ${OS_PROJECT_NAME} -p ${OS_PASSWORD}
\r
82 kubectl -n ${NAMESPACE} create secret docker-registry ${OS_PROJECT_NAME}-${NAMESPACE}-registry-secret \
\r
83 --docker-server=registry.local:9001 --docker-username=${OS_PROJECT_NAME} \
\r
84 --docker-password=${OS_PASSWORD} --docker-email=noreply@windriver.com
\r
86 cd /home/sysadmin/share/o2
\r
88 helm install o2imstest charts/ -f /home/sysadmin/ocloud-override.yaml
\r
90 kubectl -n ${NAMESPACE} get pods
\r
94 ### test api endpoint
\r
97 curl -k http(s)://<Node IP>:30205
\r
98 curl -k http(s)://<Node IP>:30205/o2ims_infrastructureInventory/v1
\r
105 kubectl -n ${NAMESPACE} logs -f o2api-<xxx> -c o2api
\r
106 kubectl -n ${NAMESPACE} logs -f o2api-<xxx> -c postgres
\r
107 kubectl -n ${NAMESPACE} logs -f o2api-<xxx> -c o2pubsub
\r
108 kubectl -n ${NAMESPACE} logs -f o2api-<xxx> -c watcher
\r
111 kubectl -n ${NAMESPACE} logs -f o2api-<xxx> -c o2api
\r
113 kubectl -n ${NAMESPACE} exec -it o2api-<xxx> -c postgres -- bash
\r
120 select * from ocloud;
\r
130 1, there is chance the containers crash due to random bootstrap order of containers
\r