updating otf-deployment process with more details
[it/otf.git] / one-click / README
index 9522299..0f4f88a 100644 (file)
@@ -1,4 +1,4 @@
-**NOTE: 
+**NOTE:
 ** Database must be initialized before the cores and VTHs are installed, docker images have to be build, and individual charts have to be updated to pull the correct image.
 ** If using one-click, you need to build or update the helm dependencies after updating the individual charts that should now point to correct docker images. Oneclick uses
 **    anchors and pointers in its yaml, so values need to be updated in the file, do not pass values in the command line as it will ignore those values.
 ** Database must be initialized before the cores and VTHs are installed, docker images have to be build, and individual charts have to be updated to pull the correct image.
 ** If using one-click, you need to build or update the helm dependencies after updating the individual charts that should now point to correct docker images. Oneclick uses
 **    anchors and pointers in its yaml, so values need to be updated in the file, do not pass values in the command line as it will ignore those values.
@@ -6,16 +6,23 @@
 Prerequisites:
 - Kubernetes
 - Helm 3.0
 Prerequisites:
 - Kubernetes
 - Helm 3.0
-- Docker Images
+- Docker
+
+What we are using:
+Kubernetes:
+- Client Version: v1.17.1
+- Server Version: v1.18.14
+Helm: 3.3.0
+Docker: 19.03.8 For both server and client
 
 Useful k8 commands:
   view ports: kubectl get svc -n [namespace]
   view secrets: kubectl get secrets -n [namespace]
   view pvc: kubectl get pvc -n [namespace]
 
 
 Useful k8 commands:
   view ports: kubectl get svc -n [namespace]
   view secrets: kubectl get secrets -n [namespace]
   view pvc: kubectl get pvc -n [namespace]
 
-usefule helm commands:
-  dependency build: helm depenency build
-  dependency update: helm depenency udpate
+useful helm commands:
+  dependency build: helm dependency build
+  dependency update: helm dependency update (do this when you make any changes the specific helm charts, it will update the charts that one-click stores)
   install charts: helm install [chart_name] [path_to_chart] -n [namespace]
   uninstall charts: helm uninstall [chart_name] -n [namespace]
   view charts: helm ls -n [namespace]
   install charts: helm install [chart_name] [path_to_chart] -n [namespace]
   uninstall charts: helm uninstall [chart_name] -n [namespace]
   view charts: helm ls -n [namespace]
@@ -24,26 +31,44 @@ usefule helm commands:
 1. This step is to install otf databases: mysql and mongodb
 
        NOTE: each install of dbs requires dbs to not have pvcs set, if they exist delete them on every install. If primary starts failing, uninstall and remove pvc and reinstall
 1. This step is to install otf databases: mysql and mongodb
 
        NOTE: each install of dbs requires dbs to not have pvcs set, if they exist delete them on every install. If primary starts failing, uninstall and remove pvc and reinstall
-       a) helm install one-click-dbs -n [namespace] . (dir: otf-oran/one-click/one-click-dbs)
-  
+       a) helm dependency update
+       b) "helm install one-click-dbs -n [namespace] ." (dir: otf-oran/one-click/one-click-dbs)
+
 2. This step is to install otf-core componenets: otf-service-api,otf-camunda, and otf-frontend
 2. This step is to install otf-core componenets: otf-service-api,otf-camunda, and otf-frontend
+    NOTE: make sure all the db pods from previous step are running before starting step 2
+
+    a) You will need to update the internal URLS on one-click-core/values.yaml. The default values are set to the local cluster IP.
+       You will need to modify it with your namespace in each of the internal urls.
 
 
-       a) modify one-click-core values.yaml (otf-oran/one-click/one-click-core/values.yaml) with correct secret name and ip from the previous step. Fill in otf-service-api and otf-camunda ip adresses.
-       NOTE:  format is-> mongo-ip=X.X.X.X:27017 mysql-ip=X.X.X.X:3306/otf_camunda ips are the cluster ports
-  NOTE: format is-> otf-url: http://X.X.X.X:80
-                    camunda-url: http://X.X.X.X:8443/
-                    service-api-url: http://X.X.X.X:8443/otf/api/
-                    camunda-url-no-port: http://X.X.X.X
-       
-       b) fill in the rest of the values.yaml accordingly (ie, camunda-url,&svc-url,etc)
+       For example if your namespace is "oran", your mongo cluster ip would be one-click-dbs-mongodb.oran.svc.cluster.local:27017 <- you will need to replace the oran part with your own namespace
+       You will need to modify this for mongo-ip,mysql-ip,fe-ip,svc-ip, and camunda-ip
 
 
-       c) helm install otf-core -n [namespace] . (dir: otf-oran/one-click/one-click-core)
+       Note: you can also do kubectl get service -n [your_namespace] and put the cluster ip directly
+       NOTE: format is->
+                        mongo-ip: one-click-dbs-mongodb.[namespace].svc.cluster.local:27017
+                        mysql-ip: one-click-dbs-mysql.[namespace].svc.cluster.local:3306/otf_camunda
+                        otf-url: &otfUrl http://otf-frontend.[namspace].svc.cluster.local:80/
+                        camunda-url: &camundaUrl http://otf-camunda.[namspace].svc.cluster.local:8443/
+                        service-api-url: &svcUrl http://otf-service-api.[namspace].svc.cluster.local:8443/otf/api/
+                        camunda-url-no-port: &camundaUrlNoPort http://otf-camunda.[namspace].svc.cluster.local
+
+    b) Update one-click-core/values.yaml with your docker image repo location (you will have to build each of these docker images and push them to a repo such as dockerhub)
+
+    c) helm dependency update
+
+    d) helm install otf-core -n [namespace] . (dir: otf-oran/one-click/one-click-core)
   
   
-3. This step is to run otf-vths if desired (dir: otf-oran/one-click/one-click-vths). This step will deploy ALL of OTF's VTHS so if you are only deploying specfic ones, you should skip this step.
+3.  This step is optional. It will run otf-vths (dir: otf-oran/one-click/one-click-vths) but you can make your own vths and make them accessible(i.e. via HTTP request).
+    We recommend making and deploying your own VTHS(micro-services) to fit your own workflows and solutions.
+    This step will deploy ALL of OTF's VTHS so if you are only deploying specific ones, you should skip this step.
+
+       a) update the image location for all the vths (otf-oran/one-click/one-click-vths/values.yaml).
+          Robot vth needs a mongo connections so you will have to update the values.yaml with the appropriate
+          mongo IP and mongo secret name from step one. Format is one-click-dbs-mongodb.[namespace].svc.cluster.local:27017/ or X.X.X.X:27017/
 
 
-       a) robot vths needs a mongo connections so you will have to update the values.yaml (otf-oran/one-click/one-click-vths/values.yaml) with the approiate IP and mongo secret name from step one. format is mongo-ip=X.X.X.X:27017/
+    b) helm dependency update. (you have to run this step if you made any changes to their individual helm charts"
 
 
-       b) helm install otf-vths -n [namespace] . (dir: otf-oran/one-click/one-click-vths)
+       c) helm install otf-vths -n [namespace] . (dir: otf-oran/one-click/one-click-vths)
         
 
 SELF-CHECK **MORE UPDATES COMING**
         
 
 SELF-CHECK **MORE UPDATES COMING**
@@ -53,10 +78,11 @@ SELF-CHECK **MORE UPDATES COMING**
 1) Later verisons of chrome might have an issue where users might get stuck on the login page when trying to login.
   WORKAROUND:
     - use firefox
 1) Later verisons of chrome might have an issue where users might get stuck on the login page when trying to login.
   WORKAROUND:
     - use firefox
-    - if you have to use chrome, go to your chrome brower and paste chrome://flags/#cookies-without-same-site-must-be-secure on the URL section and disable cookies must be secure flag.
+    - if you have to use chrome, go to your chrome browser and paste chrome://flags/#cookies-without-same-site-must-be-secure on the URL section and disable cookies must be secure flag.
 
   
   ***NOTES***
 
   
   ***NOTES***
-  - defaut username and password-> otfuser@email.com:password (use this account to managed other users via user managment tab. You can change password via the mongo database)
+  - to access frontend via browser, use the external ip of frontend.
+  - default username and password-> otfuser@email.com:password (use this account to managed other users via user managment tab. You can change password via the mongo database)
   - You have to be in a group before you can execute any workflows or add anything VTHs.(Test def, instance, execution are saved to the group that executed it)
   - In values.
\ No newline at end of file
   - You have to be in a group before you can execute any workflows or add anything VTHs.(Test def, instance, execution are saved to the group that executed it)
   - In values.
\ No newline at end of file