Docs: keep rules of name in the same way
[pti/o2.git] / README-o2imsbuilder.md
index a2b4816..6e00564 100644 (file)
@@ -1,17 +1,24 @@
 \r
-## build o2ims from a container over INF\r
+## Build and deploy O2 services over O-Cloud (INF)\r
 \r
 \r
-## bring up container\r
+## Bring up builder container from O-Cloud controller node\r
 \r
-## Important: make sure container and host shares the same filepath to overcome local dir mounting issue\r
 \r
+```sh\r
 mkdir -p /home/sysadmin/share\r
-sudo docker run -dt --privileged -v /home/sysadmin/share/:/home/sysadmin/share/ -v /var/run:/var/run --name o2imsbuilder2 centos:7\r
+sudo docker run -dt --privileged -v /home/sysadmin/share/:/home/sysadmin/share/ -v /var/run:/var/run --name o2imsbuilder centos:7\r
+```\r
 \r
-## build inside container\r
-sudo docker exec -it o2imsbuilder2 bash\r
+## Build O2 service images inside the builder container\r
 \r
+\r
+```sh\r
+sudo docker exec -it o2imsbuilder bash\r
+```\r
+\r
+\r
+```sh\r
 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
 chmod +x /usr/local/bin/docker-compose\r
 docker-compose -v\r
@@ -29,49 +36,95 @@ cd o2
 \r
 mkdir -p temp\r
 cd temp\r
-git clone https://opendev.org/starlingx/config.git\r
-git clone https://opendev.org/starlingx/distcloud-client.git\r
+git clone --depth 1 --branch master https://opendev.org/starlingx/config.git\r
+git clone --depth 1 --branch master https://opendev.org/starlingx/distcloud-client.git\r
 cd -\r
 \r
 docker-compose build\r
 \r
-## test over inf host\r
-export NAMESPACE=orano2\r
-kubectl create ns ${NAMESPACE}\r
+exit\r
 \r
-source /etc/platform/openrc\r
-sudo docker login registry.local:9001 -u ${OS_PROJECT_NAME} -p ${OS_PASSWORD}\r
+```\r
 \r
+### Push O2 service images to local registry (with auth user admin)\r
 \r
-kubectl -n ${NAMESPACE} create secret docker-registry ${OS_PROJECT_NAME}-${NAMESPACE}-registry-secret \\r
---docker-server=registry.local:9001 --docker-username=${OS_PROJECT_NAME} \\r
---docker-password=${OS_PASSWORD} --docker-email=noreply@windriver.com\r
+```sh\r
+sudo docker tag o2imsdms:latest registry.local:9001/admin/o2imsdms:0.1.4\r
+sudo docker image push registry.local:9001/admin/o2imsdms:0.1.4\r
 \r
-==> secret/admin-orano2-registry-secret created\r
+```\r
 \r
-sudo docker tag o2imsdms:latest registry.local:9001/admin/o2imsdms:0.1.1\r
-sudo docker image push registry.local:9001/admin/o2imsdms:0.1.1\r
+## Deploy O2 services with helm chart over O-Cloud controller node (with auth user admin)\r
 \r
-cd /home/sysadmin/share/o2\r
+```sh\r
+export NAMESPACE=orano2\r
+kubectl create ns ${NAMESPACE}\r
 \r
+cd /home/sysadmin/\r
+source /etc/platform/openrc\r
 cat <<EOF>ocloud-override.yaml\r
 o2ims:\r
   imagePullSecrets: admin-orano2-registry-secret\r
   image:\r
     repository: registry.local:9001/admin/o2imsdms\r
-    tag: 0.1.1\r
+    tag: 0.1.4\r
     pullPolicy: IfNotPresent\r
   logginglevel: "DEBUG"\r
 \r
 ocloud:\r
-  OS_AUTH_URL: "your O-Cloud Auth endpoint, e.g. http://1.2.3.4:5000/v3"\r
-  OS_USERNAME: "Your auth Username"\r
-  OS_PASSWORD: "Your auth Password"\r
+  OS_AUTH_URL: "${OS_AUTH_URL}"\r
+  OS_USERNAME: "${OS_USERNAME}"\r
+  OS_PASSWORD: "${OS_PASSWORD}"\r
 EOF\r
 \r
-helm install o2imstest charts/ -f ocloud-override.yaml\r
+sudo docker login registry.local:9001 -u ${OS_PROJECT_NAME} -p ${OS_PASSWORD}\r
+\r
+kubectl -n ${NAMESPACE} create secret docker-registry ${OS_PROJECT_NAME}-${NAMESPACE}-registry-secret \\r
+--docker-server=registry.local:9001 --docker-username=${OS_PROJECT_NAME} \\r
+--docker-password=${OS_PASSWORD} --docker-email=noreply@windriver.com\r
+\r
+cd /home/sysadmin/share/o2\r
+\r
+helm install o2imstest charts/ -f /home/sysadmin/ocloud-override.yaml\r
 \r
 kubectl -n ${NAMESPACE} get pods\r
 \r
+```\r
+\r
+### test api endpoint\r
+\r
+```sh\r
+curl -k http(s)://<Node IP>:30205\r
+curl -k http(s)://<Node IP>:30205/o2ims_infrastructureInventory/v1\r
+```\r
+\r
+\r
+### Debug tips\r
+\r
+```sh\r
+kubectl -n ${NAMESPACE} logs -f o2api-<xxx> -c o2api\r
+kubectl -n ${NAMESPACE} logs -f o2api-<xxx> -c postgres\r
+kubectl -n ${NAMESPACE} logs -f o2api-<xxx> -c o2pubsub\r
+kubectl -n ${NAMESPACE} logs -f o2api-<xxx> -c watcher\r
+\r
+\r
+kubectl -n ${NAMESPACE} logs -f o2api-<xxx> -c o2api\r
+\r
+kubectl -n ${NAMESPACE} exec -it o2api-<xxx> -c postgres -- bash\r
+    psql -U o2ims\r
+\r
+        \c o2ims\r
+\r
+        \d\r
+\r
+        select * from ocloud;\r
+\r
+        \q\r
+\r
+    exit\r
+\r
+```\r
+\r
+## Issues:\r
 \r
-## issues:\r
+1, there is chance the containers crash due to random bootstrap order of containers\r