Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

1.   After login to Windriver, identify the K8S cluster and corresponding nfs server ip from dashboard - http://10.12.25.2/project/instances/. Typically there are two separate clusters setup, for Frankfurt – following can be used.

Image RemovedImage Added

       Note:  The k8s-01 and k8s-02 are k8s node server. The cluster/nfs ip’s would change for every release and deployments will be periodically refreshed (every ~2 weeks)

...

3.   Check if required platform container/pod is running via kubectl


expand
Code Block
themeMidnight
titleplatform status
root@onap2-nfs:~# kubectl get pods -n onap | egrep "inventory|dashboard"

dev-dcaegen2-dcae-dashboard-f6b57bd89-4fjv9                 2/2     Running     0         3d19h
4fjv9 2/2 Running 0 3d19h dev-dcaegen2-dcae-dashboard-pg-primary-56c878df5d-c8z75    c8z75 1/1    1 Running     0          4d19h
Running 0 4d19h dev-dcaegen2-dcae-dashboard-pg-replica-8659dd7f8-7m4h8    7m4h8 1/1     Running     0         4d19h
1 Running 0 4d19h dev-dcaegen2-dcae-dashboard-pgpool-6cb5c4dc76-ffzgs        ffzgs 1/1    1 Running     0         4d19h
Running 0 4d19h dev-dcaegen2-dcae-dashboard-pgpool-6cb5c4dc76-w6tl9        w6tl9 1/1     Running     0         4d19h
1 Running 0 4d19h dev-dcaegen2-dcae-inventory-api-6d98b567d4-zx6zq          zx6zq 1/1    1 Running     0         Running 0 3d19h



4.  All DCAE platform components are packages/deployed via helm as dcaegen2 chart - this can be verified using helm list command to identify how current platform components are deployed

Code Block
themeMidnight
titlehelm list
root@onap2-nfs:~# helm list

NAME           REVISION       UPDATED                         STATUS         CHART                   APP VERSION     NAMESPACE
dcae-mongo     1               Fri Jan 24 21:32:23 2020       DEPLOYED       dcae-mongo-6.0.0                       onap
dcae-redis     1               Fri Jan 24 20:48:23 2020       DEPLOYED       dcae-redis-6.0.0                       onap
dev             1               Thu Jan 23 20:36:21 2020       DEPLOYED       onap-5.0.0             El Alto         onap
dev-aaf         1               Thu Jan 23 20:36:22 2020       DEPLOYED       aaf-5.0.0                              onap
dev-consul     1               Thu Jan 23 20:36:23 2020       DEPLOYED       consul-5.0.0                           onap
dev-dcaegen2   2               Fri Jan 24 20:43:07 2020       DEPLOYED       dcaegen2-6.0.0                        onap
dev-dmaap       1               Thu Jan 23 20:36:27 2020       FAILED         dmaap-5.0.0                             onap
dev-msb         1               Thu Jan 23 20:41:29 2020       DEPLOYED       msb-5.0.0                              onap
dev-policy     1               Thu Jan 23 20:41:30 2020       DEPLOYED       policy-5.0.0                           onap

...

   helm charts for each platform component can be found under ~/oom/kubernetes/dcaegen2/components (maintained in gerrit under OOM repository https://git.onap.org/oom/tree/kubernetes/dcaegen2/components)

Code Block
themeMidnight
titlecomponent listing
root@onap2-nfs:~/oom/kubernetes/dcaegen2/components# ls -lrt
total 40
drwxr-xr-x 5 root root 4096 Jan 23 19:03 dcae-bootstrap
drwxr-xr-x 5 root root 4096 Jan 23 19:03 dcae-cloudify-manager
drwxr-xr-x 5 root root 4096 Jan 23 19:04 dcae-config-binding-service
drwxr-xr-x 4 root root 4096 Jan 23 19:04 dcae-healthcheck
drwxr-xr-x 5 root root 4096 Jan 23 19:04 dcae-servicechange-handler
drwxr-xr-x 5 root root 4096 Jan 23 19:04 dcae-inventory-api
drwxr-xr-x 5 root root 4096 Jan 23 19:04 dcae-deployment-handler
drwxr-xr-x 5 root root 4096 Jan 23 19:04 dcae-policy-handler
drwxr-xr-x 5 root root 4096 Jan 23 19:04 dcae-dashboard
drwxr-xr-x 5 root root 4096 Jan 24 21:06 dcae-redis

...

In the example below, updated both dcae-redis and dcae-dashboard enabled flag to “false” 

Code Block
firstline
themeMidnight
titleComponent override yaml
root@onap2-nfs:~# cat dcae_component_override.yaml
dcae-bootstrap:
 enabled: true
dcae-cloudify-manager:
 enabled: true
dcae-config-binding-service:
 enabled: true
dcae-healthcheck:
 enabled: true
dcae-redis:
 enabled: false
dcae-servicechange-handler:
 enabled: true
dcae-inventory-api:
 enabled: true
dcae-deployment-handler:
 enabled: true
dcae-policy-handler:
 enabled: true
dcae-dashboard:
 enabled: false

...

This will undeploy/terminate dashboard component (redis was undeployed previously)

Code Block
themefirstlineMidnight
titlekubectl status for undeploy
root@onap2-nfs:~# kubectl get pods -n onap | egrep "inventory|dashboard"
dev-dcaegen2-dcae-dashboard-f6b57bd89-4fjv9                 0/2     Terminating   0        3d19h
dev-dcaegen2-dcae-inventory-api-6d98b567d4-zx6zq           1/1     Running       0         3d19h

root@onap2-nfs:~# kubectl get pods -n onap | egrep "inventory|dashboard"
dev-dcaegen2-dcae-inventory-api-6d98b567d4-zx6zq           1/1     Running     0         3d19h

...

This brings up dashboard pods and  Helm list also indicates the new deployment


Code Block
themefirstlineMidnight
titlehelm and kubectl o/p
root@onap2-nfs:~/oom/kubernetes/dcaegen2/components# kubectl get pods -n onap | egrep "inventory|dashboard"
dcae-dashboard-dcae-dashboard-6b5c9ccd4c-lx7cw             2/2     Running     0         2m40s
dcae-dashboard-dcae-dashboard-pg-primary-d8b649c7-gqrsx     1/1     Running     0         2m40s
dcae-dashboard-dcae-dashboard-pg-replica-c4cfbd8fc-tnbpf   1/1     Running     0         2m40s
dcae-dashboard-dcae-dashboard-pgpool-7bcf656f68-4555q       1/1     Running     0         2m40s
dcae-dashboard-dcae-dashboard-pgpool-7bcf656f68-gqbd5       1/1     Running     0         2m40s
dev-dcaegen2-dcae-inventory-api-6d98b567d4-zx6zq           1/1     Running     0         3d19h

root@onap2-nfs:~/oom/kubernetes/dcaegen2/components# helm list
NAME           REVISION       UPDATED                         STATUS         CHART                   APP VERSION     NAMESPACE
dcae-dashboard 1               Tue Jan 28 16:01:41 2020       DEPLOYED       dcae-dashboard-6.0.0   1.0             onap
dcae-mongo     1               Fri Jan 24 21:32:23 2020       DEPLOYED       dcae-mongo-6.0.0                        onap
dcae-redis     1               Fri Jan 24 20:48:23 2020       DEPLOYED       dcae-redis-6.0.0                       onap
dev             1               Thu Jan 23 20:36:21 2020       DEPLOYED       onap-5.0.0             El Alto        onap
dev-aaf         1               Thu Jan 23 20:36:22 2020       DEPLOYED       aaf-5.0.0                               onap
dev-consul     1               Thu Jan 23 20:36:23 2020       DEPLOYED       consul-5.0.0                           onap
dev-dcaegen2   3               Tue Jan 28 15:58:47 2020       DEPLOYED       dcaegen2-6.0.0                         onap
dev-dmaap       1               Thu Jan 23 20:36:27 2020       FAILED         dmaap-5.0.0                             onap
dev-msb         1               Thu Jan 23 20:41:29 2020       DEPLOYED       msb-5.0.0                               onap
dev-policy     1               Thu Jan 23 20:41:30 2020       DEPLOYED       policy-5.0.0                           onap

...

Example : helm del --purge dcae-dashboard

Code Block
themeMidnight
titledel status
root@onap2-nfs:~/oom/kubernetes/dcaegen2/components# kubectl get pods -n onap | egrep "inventory|dashboard"
dcae-dashboard-dcae-dashboard-6b5c9ccd4c-lx7cw             1/2     Terminating   0         6m55s
dcae-dashboard-dcae-dashboard-pg-primary-d8b649c7-gqrsx   0/1     Terminating   0         6m55s
dcae-dashboard-dcae-dashboard-pgpool-7bcf656f68-4555q       0/1     Terminating   0         6m55s
dev-dcaegen2-dcae-inventory-api-6d98b567d4-zx6zq           1/1     Running       0         3d19h

root@onap2-nfs:~/oom/kubernetes/dcaegen2/components# kubectl get pods -n onap | egrep "inventory|dashboard"
dev-dcaegen2-dcae-inventory-api-6d98b567d4-zx6zq           1/1     Running     0         3d19h

...

  1. Find the k8s node server where POD is running using kubectl
    1. kubectl get pods -n onap -o=wide | grep <podname>
  2. Login to k8s node server (same key/user) and create a sub-folder on your name, build local image with changes necessary; do ensure you create a unique tag/version
    1. Check if k8s node server has required s/w such as mvn/java etc
    2. Clone the repo/patchset from gerrit (there is download option in gerrit, when clicked clicked it will give the exact pull request (or checkout) command)
    3. Build image (using mvn -s <onap settingfile.xml> clean install <optional docker goals>) to generate docker image.  ONAP setting file can be referenced from here - Setting Up Your Development Environment#MavenExamplesettings.xml
    4. Once build is successful and docker image generated, retag it for uniqueness ( nexus3.onap.org:10001/onap/<imagename>:<uniquetag>)

      Code Block
      themeMidnight
      titleserver prep
      # install mvn:
       apt install maven
      
      # install java8 (java 11 is pre-installed)
      apt install openjdk-8-jdk-headless
      
      # export JAVA_HOME To use java8
      export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
      
      # download the setting.xml from https://git.onap.org/oparent/plain/settings.xml and use it in mvn install command
      
      # initialize git and pull the specific patchset for test
      root@onap2-k8s-02:/var/tmp/inv# git init
      
      # example with specific inventory patch
      root@onap2-k8s-02:/var/tmp/inv# git pull "https://sh1986@gerrit.onap.org/r/a/dcaegen2/platform/inventory-api" refs/changes/53/101253/3
      
      # Make other updates/fixes as needed
      root@onap2-k8s-02:/var/tmp/inv# mvn -s ../onap-settings.xml install docker:build
      
      


  3. For redeploy, you can either update the values.yaml charts (under ~/oom/kubernetes/dcaegen2/components) and follow helm commands above to redeploy, or find the corresponding deployment descriptor (via kubectl) and update the version and save (k8s would automatically terminate current pod and redeploy new based on version provided). Note: Any changes done on helm charts/values.yaml should be submitted into OOM repository (https://git.onap.org/oom/tree/kubernetes/dcaegen2/components) after new images has been released in DCAE.


    Code Block
    themeMidnight
    titleupdate deploy
    ##Example of inventory build and using new built image for deployment
        
    root@onap2-k8s-02:/var/tmp/inv# docker images|grep inv
    nexus3.onap.org:10003/onap/org.onap.dcaegen2.platform.inventory-api                      3.4.1-SNAPSHOT                     e4285faa9608        28 seconds ago      124MB
    nexus3.onap.org:10003/onap/org.onap.dcaegen2.platform.inventory-api                      3.4.1-SNAPSHOT-20200214T202415ZZ   e4285faa9608        28 seconds ago      124MB
    nexus3.onap.org:10003/onap/org.onap.dcaegen2.platform.inventory-api                      latest                             e4285faa9608        28 seconds ago      124MB
    10.12.5.2:5000/onap/org.onap.dcaegen2.platform.inventory-api                             3.4.0                              088614c21f0f        6 months ago        105MB
    nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.inventory-api                      3.4.0                              088614c21f0f        6 months ago        105MB
    root@onap2-k8s-02:/var/tmp/inv#
    
    
    ##use: 
    ##nexus3.onap.org:10003/onap/org.onap.dcaegen2.platform.inventory-api:3.4.1-SNAPSHOT-20200214T202415ZZ 
    
    ##on k8s master find the corresponding deployment
    
    root@onap2-nfs:~# kubectl get deployments -n onap -o wide|grep inve
    dev-dcaegen2-dcae-inventory-api            1/1     1            1           21d     dcae-inventory api                                                                                                                           
    
    ##Edit deployement, change:
    ##image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.inventory-api:3.4.0
    ##to 
    ##image: nexus3.onap.org:10003/onap/org.onap.dcaegen2.platform.inventory-api:3.4.1-SNAPSHOT-20200214T202415ZZ
    ##and imagePullPolicy: Never
    root@onap2-nfs:~# kubectl edit deployments -n onap dev-dcaegen2-dcae-inventory-api
    deployment.extensions/dev-dcaegen2-dcae-inventory-api edited
    
    
    For redeploy, you can either update the values.yaml charts (under ~/oom/kubernetes/dcaegen2/components) and follow helm commands above to redeploy, or find the corresponding deployment descriptor (via kubectl) and update the version and save (k8s would automatically terminate current pod and redeploy new based on version provided)Note: Any changes done on helm charts/values.yaml should be submitted into OOM repository (https://git.onap.org/oom/tree/kubernetes/dcaegen2/components) after new images has been released in DCAE.