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



  • No labels