Docs: keep rules of name in the same way
[pti/o2.git] / README-o2imsbuilder.md
1 \r
2 ## Build and deploy O2 services over O-Cloud (INF)\r
3 \r
4 \r
5 ## Bring up builder container from O-Cloud controller node\r
6 \r
7 \r
8 ```sh\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
11 ```\r
12 \r
13 ## Build O2 service images inside the builder container\r
14 \r
15 \r
16 ```sh\r
17 sudo docker exec -it o2imsbuilder bash\r
18 ```\r
19 \r
20 \r
21 ```sh\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
24 docker-compose -v\r
25 \r
26 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo\r
27 yum makecache fast\r
28 yum install -y docker-ce\r
29 docker ps\r
30 \r
31 yum install -y git\r
32 \r
33 cd /home/sysadmin/share/\r
34 git clone "https://gerrit.o-ran-sc.org/r/pti/o2"\r
35 cd o2\r
36 \r
37 mkdir -p temp\r
38 cd temp\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
41 cd -\r
42 \r
43 docker-compose build\r
44 \r
45 exit\r
46 \r
47 ```\r
48 \r
49 ### Push O2 service images to local registry (with auth user admin)\r
50 \r
51 ```sh\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
54 \r
55 ```\r
56 \r
57 ## Deploy O2 services with helm chart over O-Cloud controller node (with auth user admin)\r
58 \r
59 ```sh\r
60 export NAMESPACE=orano2\r
61 kubectl create ns ${NAMESPACE}\r
62 \r
63 cd /home/sysadmin/\r
64 source /etc/platform/openrc\r
65 cat <<EOF>ocloud-override.yaml\r
66 o2ims:\r
67   imagePullSecrets: admin-orano2-registry-secret\r
68   image:\r
69     repository: registry.local:9001/admin/o2imsdms\r
70     tag: 0.1.4\r
71     pullPolicy: IfNotPresent\r
72   logginglevel: "DEBUG"\r
73 \r
74 ocloud:\r
75   OS_AUTH_URL: "${OS_AUTH_URL}"\r
76   OS_USERNAME: "${OS_USERNAME}"\r
77   OS_PASSWORD: "${OS_PASSWORD}"\r
78 EOF\r
79 \r
80 sudo docker login registry.local:9001 -u ${OS_PROJECT_NAME} -p ${OS_PASSWORD}\r
81 \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
85 \r
86 cd /home/sysadmin/share/o2\r
87 \r
88 helm install o2imstest charts/ -f /home/sysadmin/ocloud-override.yaml\r
89 \r
90 kubectl -n ${NAMESPACE} get pods\r
91 \r
92 ```\r
93 \r
94 ### test api endpoint\r
95 \r
96 ```sh\r
97 curl -k http(s)://<Node IP>:30205\r
98 curl -k http(s)://<Node IP>:30205/o2ims_infrastructureInventory/v1\r
99 ```\r
100 \r
101 \r
102 ### Debug tips\r
103 \r
104 ```sh\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
109 \r
110 \r
111 kubectl -n ${NAMESPACE} logs -f o2api-<xxx> -c o2api\r
112 \r
113 kubectl -n ${NAMESPACE} exec -it o2api-<xxx> -c postgres -- bash\r
114     psql -U o2ims\r
115 \r
116         \c o2ims\r
117 \r
118         \d\r
119 \r
120         select * from ocloud;\r
121 \r
122         \q\r
123 \r
124     exit\r
125 \r
126 ```\r
127 \r
128 ## Issues:\r
129 \r
130 1, there is chance the containers crash due to random bootstrap order of containers\r