Versions Compared

Key

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

...

...

Credentials

...

SDNC API URL:  HEAT http://sdnc:8282/apidoc/explorer/index.html, OOM: http://cluster_node_ip:30267/apidoc/explorer/index.html

credential: admin/Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U


DGBuilder URL: http://{{sdnc_ip}}:3000/#  with dguser/test123

...

Code Block
languagebash
ubuntu@onap-sdnc:~$ sudo docker exec -it sdnc_controller_container bash

root@d135452786ee:cd /optvar/opendaylightlog/currentonap/data/logsdnc
root@d135452786ee:tail -f karaf.log

...

Code Block
root@ac761f8e8c33:/# cd /opt/app/ueb-listener/logs/

Steps to check DG

...


Disable Replica

Code Block
root@sb00-rancher:~/oom#  kubectl -n onap edit StatefulSet/dev-sdnc-sdnc

spec:
  podManagementPolicy: Parallel
  replicas: 1

...

     - name: SDNC_REPLICAS
        value: "1"

Steps to check DG

  • http://{{cluster_ip}}:30203/#  with dguser/test123

...

Code Block
titleDB builder port
collapsetrue
root@sb00-nfs:/opt/http_test_server/http_test_server/htdocs# kubectl get svc| grep 3000
appc-dgbuilder                                              NodePort       10.43.133.199   <none>                                 3000:30228/TCP                                                19d
cds-ui                                                      NodePort       10.43.177.249   <none>                                 3000:30497/TCP                                                23d
sdnc-dgbuilder                                              NodePort       10.43.14.68     <none>                                 3000:30203/TCP                                                23d
  • Open menu from GUI top right corner, and choose Import→Clipboard
  • Copy DG json file from gerrit sdnc/oam/platform-logic/generic-resource-api/src/main/json, e.g. GENERIC-RESOURCE-API_dci-connects-network-topology-operation-activate.json
  • In the DG graph, click on the left of DGSTART node to see more function on the DG, like validate XML, download XML, etc
  • You can download XML and search for error message you see in sdnc_controller_container karaf log

DG Tutorial

Tutorial: vCPE Example : Using SLI-API for Prototyping

Tutorial: VoLTE Example: Adding REST Node

There is some update needed for the DG in the above tutorial for Dublin

  • namespace change
  • FileRecorder plugin path change
  • RestapiCallNode path change

Here is the update DG for VoLTE Adding REST Node example

Code Block
titleVoLTE Adding Rest Call Node DG
collapsetrue
[{"id":"1c91b4f1.e45473","type":"service-logic","name":"VOLTE-API 0.0.2-DEMO","module":"VOLTE-API","version":"0.0.2-DEMO","comments":"","xml":"<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd' module='VOLTE-API' version='0.0.2-DEMO'>","outputs":1,"x":317.1666564941406,"y":106.16667175292969,"z":"30ac5fe5.ab4d2","wires":[["a28ec6bd.3832d8"]]},{"id":"40983a09.90a524","type":"dgstart","name":"DGSTART","outputs":1,"x":111,"y":81,"z":"30ac5fe5.ab4d2","wires":[["1c91b4f1.e45473"]]},{"id":"a28ec6bd.3832d8","type":"method","name":"method volte-wan-activate","xml":"<method rpc='volte-wan-activate' mode='sync'>\n","comments":"","outputs":1,"x":181.16668701171875,"y":170.16665649414062,"z":"30ac5fe5.ab4d2","wires":[["e53e6cd.afc3f1"]]},{"id":"e53e6cd.afc3f1","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":389,"y":258,"z":"30ac5fe5.ab4d2","wires":[["cdeda8e3.1218f","9794fca5.9de488","cd5f5503.b9f128","19f372e1.31b345","8ff8c47.cd19b38","edd83200.432db8"]]},{"id":"cdeda8e3.1218f","type":"set","name":"set: order-status = Active","xml":"<set>\n\t<parameter name=\"service-data.oper-status.order-status\" value=\"Active\"/>","comments":"","x":597,"y":603,"z":"30ac5fe5.ab4d2","wires":[]},{"id":"19f372e1.31b345","type":"returnSuccess","name":"return success","xml":"<return status='success'>\n\t<parameter name=\"error-code\" value=\"200\" />\n\t<parameter name='error-message' value=\"`'service-data.dcz-wanip=' + $service-data.dcz-wanip`\"/>","comments":"","x":569,"y":790,"z":"30ac5fe5.ab4d2","wires":[]},{"id":"9794fca5.9de488","type":"set","name":"set: service-data = input","xml":"<set>\n\t<parameter name=\"service-data.\" value=\"volte-wan-activate.\" />","comments":"","x":596.8888854980469,"y":704.388916015625,"z":"30ac5fe5.ab4d2","wires":[]},{"id":"cd5f5503.b9f128","type":"set","name":"Set final indicator to Y","xml":"<set>\n<parameter name=\"ack-final\" value=\"Y\"/>","comments":"","x":591.2063369750977,"y":748.1031608581543,"z":"30ac5fe5.ab4d2","wires":[]},{"id":"8ff8c47.cd19b38","type":"record","name":"record","xml":"<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/svclogic.log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"volte-wan-activate\"/>\n<parameter name=\"field3\" value=\"`$volte-wan-activate.dca-wanip`\"/>\n<parameter name=\"field4\" value=\"`$volte-wan-activate.dcz-wanip`\"/>\n<parameter name=\"field5\" value=\"`$volte-wan-activate.route_target`\"/>\n<parameter name=\"field6\" value=\"`$volte-wan-activate.route_distinguisher`\"/>","comments":"","outputs":1,"x":559,"y":301,"z":"30ac5fe5.ab4d2","wires":[[]]},{"id":"c2486391.d9417","type":"execute","name":"excute REST DC-Connect-Create-A","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n\t<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/l3-dci-connect.json'`\"/>\n\t<!-- \n\t<parameter name=\"restapiUrl\" value=\"`$prop.controller_A_RestApi.url+ '/v2.0/l3-dci-connects'`/>\n\t-->\n\t<parameter name=\"restapiUrl\" value=\"`$prop.controller_A_RestApi.url + '/l3-dci-connect.php'`\" />\n\t<parameter name=\"restapiUser\" value=\"`$prop.controller_A_RestApi.user`\" />\n\t<parameter name=\"restapiPassword\" value=\"`$prop.controller_A_RestApi.password`\"/>\n\t<parameter name=\"format\" value=\"xml\" />\n\t<parameter name=\"httpMethod\" value=\"post\" />\n\t<parameter name=\"responsePrefix\" value=\"restapi-result\" />\n\t\n\t","comments":"","outputs":1,"x":998,"y":727,"z":"30ac5fe5.ab4d2","wires":[[]]},{"id":"852c391a.a7d2b","type":"execute","name":"excute REST DC-Connect-Create-B","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n\t<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/l3-dci-connect.json'`\"/>\n\t<!-- \n\t<parameter name=\"restapiUrl\" value=\"`$prop.controller_A_RestApi.url+ '/v2.0/l3-dci-connects'`/>\n\t-->\n\t<parameter name=\"restapiUrl\" value=\"`$prop.controller_A_RestApi.url + '/l3-dci-connect.php'`\" />\n\t<parameter name=\"restapiUser\" value=\"`$prop.controller_B_RestApi.user`\"/>\n\t<parameter name=\"restapiPassword\" value=\"`$prop.controller_B_RestApi.password`\"/>\n\t<parameter name=\"format\" value=\"xml\" />\n\t<parameter name=\"httpMethod\" value=\"post\" />\n\t<parameter name=\"responsePrefix\" value=\"restapi-result\" />\n\t\n\t","comments":"","outputs":1,"x":998,"y":830,"z":"30ac5fe5.ab4d2","wires":[[]]},{"id":"edd83200.432db8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":560,"y":370,"z":"30ac5fe5.ab4d2","wires":[["f3cc8b33.0516c","6a3b097e.b896d8","a67a46fc.946838","c2486391.d9417","fbd78797.a6d598","852c391a.a7d2b","de93e82.c1dca18"]]},{"id":"f3cc8b33.0516c","type":"set","name":"set A controller data (http emulator)","xml":"<set>\n<parameter name='prop.controller_A_RestApi.url' value='http://10.0.7.1:9000' />\n<!-- 8181 when doing localhost -->\n<parameter name=\"prop.restapi.templateDir\" value=\"/opt/onap/sdnc/data\"/>\n<parameter name=\"prop.controller_A_RestApi.user\" value=\"admin\"/>\n<parameter name=\"prop.controller_A_RestApi.password\" value=\"Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U\"/>\n\n","comments":"","x":994,"y":455,"z":"30ac5fe5.ab4d2","wires":[]},{"id":"6a3b097e.b896d8","type":"set","name":"set WAN data  (l3_vni=5001)","xml":"<set>\n<parameter name='device.wan.l3_vni' value='5001' />\n","comments":"","x":976,"y":556,"z":"30ac5fe5.ab4d2","wires":[]},{"id":"a67a46fc.946838","type":"set","name":"set DC A network data","xml":"<set>\n<!-- example uses device. \n      real adapter might use device.l3_connection. or something else -->\n<!-- ARRAY parameters could be comma separated lists or leaf lists depending on adaptor -->\n<parameter name='device.evpn_irts' value='1:5000'/>\n<parameter name='device.evpn_erts' value='1:5000'/>\n<parameter name='device.local_subnet' value='\\\"8a41319d-87cf-4cd6-8957-00000000000A\\\"'/>\n<parameter name='device.id' value='CDD702C3-7719-4FE6-A5AD-3A9C9E265309' />\n<parameter name='device.name' value='PODX-routerY' />\n<parameter name='device.description' value='VPC A connect VPC B' />\n<parameter name='device.router_id' value='CBB702C3-6789-1234-A5AD-00000000000A' />\n","comments":"","x":958,"y":675,"z":"30ac5fe5.ab4d2","wires":[]},{"id":"fbd78797.a6d598","type":"set","name":"set DC B network data","xml":"<set>\n<!-- example uses device. \n      real adapter might use device.l3_connection. or something else -->\n<!-- ARRAY parameters could be comma separated lists or leaf lists depending on adaptor -->\n<parameter name='device.evpn_irts' value='1:5001'/>\n<parameter name='device.evpn_erts' value='1:5001'/>\n<parameter name='device.local_subnet' value='\\\"8a41319d-87cf-4cd6-8957-00000000000B\\\"'/>\n<parameter name='device.id' value='CDD702C3-7719-4FE6-A5AD-3A9C9E265309' />\n<parameter name='device.name' value='PODW-routerZ' />\n<parameter name='device.description' value='VPC B connect VPC A' />\n<parameter name='device.router_id' value='CBB702C3-6789-1234-A5AD-00000000000B' />\n","comments":"","x":955,"y":782,"z":"30ac5fe5.ab4d2","wires":[]},{"id":"d5a70b78.3a1","type":"comment","name":"Test block to describe logic - template uses \"device.\" for parameters","info":"","comments":"","x":1054,"y":378,"z":"30ac5fe5.ab4d2","wires":[]},{"id":"a5a8ce82.7fa0d","type":"comment","name":"DC Set Nodes should map from Input parameters","info":"","comments":"","x":1043,"y":618,"z":"30ac5fe5.ab4d2","wires":[]},{"id":"de93e82.c1dca18","type":"set","name":"set B controller data (http emulator)","xml":"<set>\n<parameter name='prop.controller_B_RestApi.url' value='http://10.0.7.1:9000' />\n<!-- 8181 when doing localhost -->\n<parameter name=\"prop.restapi.templateDir\" value=\"/opt/onap/sdnc/data\"/>\n<parameter name=\"prop.controller_B_RestApi.user\" value=\"admin\"/>\n<parameter name=\"prop.controller_B_RestApi.password\" value=\"Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U\"/>\n\n","comments":"","x":998,"y":503,"z":"30ac5fe5.ab4d2","wires":[]}]


DB operation


Code Block
mysql> show tables;
mysql> show columns from SERVICE_MODEL;
mysql> select name, service_uuid, invariant_uuid from SERVICE_MODEL;
+------------------------+--------------------------------------+--------------------------------------+
| name                   | service_uuid                         | invariant_uuid                       |
+------------------------+--------------------------------------+--------------------------------------+
| NULL                   | 0                                    | NULL                                 |
| vBNG_0202              | 00e50cbd-ef0f-4b28-821e-f2b583752dd3 | dbf9288d-18ef-4d28-82cb-29373028f367 |
| BK-012317-UUID-Service | 0a92fd9c-baab-4c03-b4e2-827e2cb9bcc7 | 083b57cd-4b76-4924-a64c-610445528063 |
| vEPC                   | 2c02b479-905f-4b6d-bd03-a2c8a8cdfae4 | 6dd6969c-b75c-4146-8a96-0cb9c0af19a7 |
| VoLTE e2e Service      | 96a01eb8-1538-40a6-a9ab-0f6bf8e0d877 | e9b5654e-6627-4590-9a54-a39b4d85955e |
| vIMS                   | de3dc33a-799a-48fe-aef2-9a7e93631a4c | 970177ab-40d9-4ab7-9a9b-aa2d08c9ca91 |
+------------------------+--------------------------------------+--------------------------------------+

...

Code Block
root@dev-appc-appc-0:/opt/opendaylight/current/data/log# /opt/opendaylight/bin/client 
Logging in as karaf

________ ________ .__ .__ .__ __ 
\_____ \ ______ ____ ____ \______ \ _____ ___.__.| | |__| ____ | |___/ |_ 
/ | \\____ \_/ __ \ / \ | | \\__ \< | || | | |/ ___\| | \ __\ 
/ | \ |_> > ___/| | \| ` \/ __ \\___ || |_| / /_/ > Y \ | 
\_______ / __/ \___ >___| /_______ (____ / ____||____/__\___ >/|___| /_______ (____ / | 
\/|__| \/ \/ \/ \/\/ /____||____/__\___ /|___| /__| 
\/|__| \/ \/ \/ \/\/ /_____/ \/

Hit '<tab>' for a list of available commands
and '[cmd] --help' for help on a specific command.
Hit '<ctrl-d>' or type 'system:shutdown' or 'logout' to shutdown OpenDaylight.

opendaylight-user@root>log
opendaylight-user@root>get
Logger | Level
------------------------------------+------
ROOT | INFO
org.apache.aries.spifly | WARN
org.apache.karaf.jaas.modules.audit | INFO
opendaylight-user@root>set DEBUG org.onap
opendaylight-user@root>_/ \/

Hit '<tab>' for a list of available commands
and '[cmd] --help' for help on a specific command.
Hit '<ctrl-d>' or type 'system:shutdown' or 'logout' to shutdown OpenDaylight.

opendaylight-user@root>log
opendaylight-user@root>get
Logger | Level
------------------------------------+------
ROOT | INFO
org.apache.aries.spifly | WARN
org.apache.karaf.jaas.modules.audit | INFO
opendaylight-user@root>set DEBUG org.onap
opendaylight-user@root>


List karaf features

Code Block
titleList karaf features
collapsetrue
bash-4.4# /opt/opendaylight/bin/client
opendaylight-user@root> feature:list
Name │ Version │ Required │ State │ Repository │ Description
────────────────────────────────────────────────────────────────┼──────────────────┼──────────┼─────────────┼─────────────────────────────────────────────────────────────────┼───────────────────────────────────────────────────
odl-lispflowmapping-mappingservice-shell │ 1.8.1 │ │ Uninstalled │ odl-lispflowmapping-mappingservice-shell │ ODL :: lispflowmapping :: odl-lispflowmapping-map


Preconfiguration for VoLTE SDNC: ONAP VoLTE SDNC Integration Test.docxVoLTE SDNC log: volte_sdnc.log