SO Component

Dublin

Rollback SO to an older version

  1. Drop SO databases from shared mariadb-galera

Drop SO databases
root@release-rancher:~# kubectl -n onap exec -it dev-mariadb-galera-mariadb-galera-0 -- mysql -uroot -psecretpassword -e "show databases" +--------------------+ | Database | +--------------------+ | camundabpmn | | catalogdb | | information_schema | | my-database | | mysql | | performance_schema | | requestdb | | sdnctl | +--------------------+ root@release-rancher:~# kubectl -n onap exec -it dev-mariadb-galera-mariadb-galera-0 -- mysql -uroot -psecretpassword -e "drop database camundabpmn" root@release-rancher:~# kubectl -n onap exec -it dev-mariadb-galera-mariadb-galera-0 -- mysql -uroot -psecretpassword -e "drop database catalogdb" root@release-rancher:~# kubectl -n onap exec -it dev-mariadb-galera-mariadb-galera-0 -- mysql -uroot -psecretpassword -e "drop database requestdb" root@staging-rancher:~# kubectl -n onap exec -it dev-mariadb-galera-mariadb-galera-0 -- mysql -uroot -psecretpassword -e "show databases" +--------------------+ | Database | +--------------------+ | information_schema | | my-database | | mysql | | performance_schema | | sdnctl | +--------------------+

     

    2. Change SO image version in OOM charts

Change image version in charts
root@release-rancher:~/oom/kubernetes/so# find . -name 'values.yaml' -exec grep -Hn "image:" {} \; ./values.yaml:46:image: onap/so/api-handler-infra:1.4.1 ./charts/so-monitoring/values.yaml:35:image: onap/so/so-monitoring:1.4.1 ./charts/so-bpmn-infra/values.yaml:30:image: onap/so/bpmn-infra:1.4.1 ./charts/so-openstack-adapter/values.yaml:29:image: onap/so/openstack-adapter:1.4.1 ./charts/so-catalog-db-adapter/values.yaml:30:image: onap/so/catalog-db-adapter:1.4.1 ./charts/so-mariadb/values.yaml:33:image: mariadb:10.1.38 ./charts/so-vnfm-adapter/values.yaml:29:image: onap/so/vnfm-adapter:1.4.1 ./charts/so-sdnc-adapter/values.yaml:30:image: onap/so/sdnc-adapter:1.4.1 ./charts/so-vfc-adapter/values.yaml:30:image: onap/so/vfc-adapter:1.4.1 ./charts/so-sdc-controller/values.yaml:30:image: onap/so/sdc-controller:1.4.1 ./charts/so-request-db-adapter/values.yaml:30:image: onap/so/request-db-adapter:1.4.1 root@release-rancher:~/oom/kubernetes/so# find . -name 'values.yaml' -exec sed -i 's/1\.4\.1/1\.4\.0-20190425T1407/g' {} \;



    3. Redeploy SO and run healthcheck

root@release-rancher:~# ./integration/deployment/heat/onap-rke/scripts/redeploy-module.sh so root@release-rancher:~# oom/kubernetes/robot/ete-k8s.sh onap health-so



Casablanca

Alpine base image is used for SO in Casablanca

Alpine Linux
root@oom-rancher:~# kubectl -n onap exec -it dev-so-so-bpmn-infra-5887f8c6c8-xdvvj sh /app # cat /etc/os-release NAME="Alpine Linux" ID=alpine VERSION_ID=3.8.1 PRETTY_NAME="Alpine Linux v3.8" HOME_URL="http://alpinelinux.org" BUG_REPORT_URL="http://bugs.alpinelinux.org" /app # apk add tcpdump



Enable debug log

Turn on debug by access http://{{so}}:8080/mso/logging/debug from browser. Also you need to add/change line like "log.debug.CustomE2EGetService=true" in /etc/mso/config.d/mso.bpmn.urn.properties to enable Groove file level debugging. Other debug flags are: 

log.debug.CreateCustomE2EServiceInstance=true

log.debug.DoCreateE2EServiceInstanceV3=true

log.debug.DecomposeService=true

log.debug.CustomE2EGetService=true

log.debug.CustomE2EPutService=true

log.debug.DoCreateResourcesV3=true

log.debug.CreateSDNCNetworkResource=true

log.debug.CreateVFCNSResource=true

log.debug.DeleteCustomE2EServiceInstance=true

log.debug.DoDeleteE2EServiceInstance=true

log.debug.DoDeleteResourcesV1=true

log.debug.DeleteVFCNSResource=true

log.debug.DeleteSDNCNetworkResource=true

log.debug.CompareModelofE2EServiceInstance=trueA

log.debug.DoCompareModelofE2EServiceInstance=true

log.debug.DoCompareModelVersions=true

log.debug.UpdateCustomE2EServiceInstance=true

log.debug.DoUpdateE2EServiceInstance=true

log.debug.ScaleCustomE2EServiceInstance=true

log.debug.DoScaleE2EServiceInstance=true

log.debug.DoScaleVFCServiceInstance=true



You can also use REST API to turn on debug log at module level:



Turn on debug
# Enabling debug logging for Requests-DB-Adapter . . . curl -s -o /dev/null -w '%{http_code}' --user \"MSOClient:password1$\" \"http://mso:8080/dbadapters/logging/debug?enable=true\"  # Enabling debug logging for ASDC-Controller . . . curl -s -o /dev/null -w '%{http_code}' --user \"MSOClient:password1$\" \"http://mso:8080/asdc/logging/debug?enable=true\" # Enabling debug logging for API-Handler-Infra . . . curl -s -o /dev/null -w '%{http_code}' --user \"MSOClient:password1$\" \"http://mso:8080/ecomp/mso/infra/logging/debug?enable=true\" # Enabling debug logging for BPMN . . . curl -s -o /dev/null -w '%{http_code}' \"http://mso:8080/mso/logging/debug?enable=true\" # Enabling debug logging for SDNC-Adapter . . . curl -s -o /dev/null -w '%{http_code}' --user \"MSOClient:password1$\" \"http://mso:8080/adapters/rest/logging/debug?enable=true\" # Enabling debug logging for Network-Adapter . . . curl -s -o /dev/null -w '%{http_code}' --user \"MSOClient:password1$\" \"http://mso:8080/networks/rest/logging/debug?enable=true\" # Enabling debug logging for VNF-Adapter . . . curl -s -o /dev/null -w '%{http_code}' --user \"MSOClient:password1$\" \"http://mso:8080/vnfs/rest/logging/debug?enable=true\" # Enabling debug logging for Tenant-Adapter . . . curl -s -o /dev/null -w '%{http_code}' --user \"MSOClient:password1$\" \"http://mso:8080/tenants/rest/logging/debug?enable=true\" # Enabling debug logging for Workflow-Message-Adapter . . . curl -s -o /dev/null -w '%{http_code}' \"http://mso:8080/workflows/messages/logging/debug?enable=true\"



Log files

Log file /var/log/ecomp/MSO/BPMN/debugmso.log in testlab_mso_1 container is very helpful to debug issues

Request log under /var/log/ecomp/MSO/ApiHandlerInfra

MariabDB login



root@staging-rancher:~# kubectl -n onap exec -it dev-mariadb-galera-mariadb-galera-0 bash bash-4.2$ mysql -uroot -psecretpassword catalogdb


To set Mariadb root password inside Mariadb container for the first time

Set Mariadb root password
/usr/bin/mysqladmin -u root password 'password'



Important tables are vnf_resource and vnf_recipe



Monitor container disk usage 

ubuntu@onap-so:~$ sudo docker inspect testlab_mariadb_1 ...             {                 "Type": "volume",                 "Name": "ffca8a9114d9eb731e7316a07caaa5391877a9d8d130561568792d19125fe115",                 "Source": "/var/lib/docker/volumes/ffca8a9114d9eb731e7316a07caaa5391877a9d8d130561568792d19125fe115/_data",                 "Destination": "/var/lib/mysql",                 "Driver": "local",                 "Mode": "",                 "RW": true,                 "Propagation": ""             } ... ubuntu@onap-so:~$ sudo docker system df -v Images space usage: REPOSITORY          TAG                 IMAGE ID            CREATED ago         SIZE                SHARED SIZE         UNIQUE SiZE         CONTAINERS openecomp/mso       latest              e7a0ef21d895        2 months ago ago    1.539GB             0B                  1.539GB             1 mariadb             10.1.11             d1553bc7007f        2 years ago ago     346.5MB             0B                  346.5MB             1 Containers space usage: CONTAINER ID        IMAGE               COMMAND                  LOCAL VOLUMES       SIZE                CREATED ago         STATUS              NAMES 5fcbcaa0d604        openecomp/mso       "/wait-for.sh -q -..."   0                   1.15GB              5 hours ago ago     Up 5 hours          testlab_mso_1 a77947adaa07        mariadb:10.1.11     "/docker-entrypoin..."   1                   204B                5 hours ago ago     Up 5 hours          testlab_mariadb_1 Local Volumes space usage: VOLUME NAME                                                        LINKS               SIZE ffca8a9114d9eb731e7316a07caaa5391877a9d8d130561568792d19125fe115   1                   6.869GB



Workflow Designer - Camunda Modeler

Usage: Use the tool to open an BPMN file. VoLTE use case entry bpmn is under

so project /bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateCustomE2EServiceInstance.bpmn. Look at the right side menu, it shows the name and type of subprocess or script being invoked from bpmn workflow