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


MySQL:


ubuntu@onap-sdnc:~$ sudo docker exec -it sdnc_db_container bash

bash-4.2# mysql -u sdnctl -p sdnctl

Enter password: gamma


Overlay DG: GENERIC-RESOURCE-API(Module), dci-connects-network-topology-operation-activate(RPC)

Underlay DG: GENERIC-RESOURCE-API(Module), network-topology-operation-create


Log file for directed graph:


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

root@d135452786ee:cd /var/log/onap/sdnc
root@d135452786ee:tail -f karaf.log


Log file for ueb_listener:

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


Disable Replica

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
DB builder port
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

VoLTE Adding Rest Call Node DG
[{"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


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 |
+------------------------+--------------------------------------+--------------------------------------+
VF Model
mysql> select * from VF_MODEL where nf_role is not null;
+--------------------------------------+------------+--------------------------------------+--------------------------------------+---------+-------------------------+-------------------------------------------------+------------------------+----------------------+--------------------------------------+---------------------+--------------------+-----------------------+-------------------------+----------------+
| customization_uuid                   | model_yaml | invariant_uuid                       | uuid                                 | version | name                    | naming_policy                                   | ecomp_generated_naming | avail_zone_max_count | nf_function                          | nf_code             | nf_type            | nf_role               | vendor                  | vendor_version |
+--------------------------------------+------------+--------------------------------------+--------------------------------------+---------+-------------------------+-------------------------------------------------+------------------------+----------------------+--------------------------------------+---------------------+--------------------+-----------------------+-------------------------+----------------+
| 232972fe-4ee2-4056-b23a-73c5052eb791 | null       | af94e0b5-454c-4fd8-b62b-ef27632afd22 | 71b87384-8e60-4d0b-9ed0-757245996fc3 | 1.0     | VID-PCRF-05-15-17       | NULL                                            | NULL                   |                    1 | function_2                           | code_1              | Type_1             | role_1                | null                    | null           |
| 53ed3b2b-4225-45da-bf21-ebb5abdc9000 | null       | 15b244fa-a9e2-4f68-a978-05184d78b911 | 028c08dd-56c6-42e3-ae6d-84f98ca09f37 | 2.0     | 06e7a3b5-f81c-4f99-b33d | SDNC_Policy.Config_MS_ONAP_VFW_NAMING_TIMESTAMP | Y                      |                    1 | ONAP-TRAFFIC-GEN                     | vpg                 | TRAFFIC-GEN        | vPG                   | 8f64125f-125a-40b4-b882 | 1.0            |


Set karaf log level
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>


List karaf features

List karaf features
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.docx



  • No labels

5 Comments

  1. Hi,

    What is the username and password for the MySQL DB for SDNC.

    when I provide as per the above mentioned it gives me below error

    bash-4.2# mysql -u sdnctl -p sdnctl
    Enter password:
    ERROR 1045 (28000): Access denied for user 'sdnctl'@'localhost' (using password: YES)
    bash-4.2#

    1. You can find it in the file "/opt/sdnc/installation/src/main/yaml/docker-compose.yml"  in the vm of "onap-sdnc".

      services:
      db:
      image: mysql/mysql-server:5.6
      container_name: sdnc_db_container
      ports:
      - "3306"
      environment:
      - MYSQL_ROOT_PASSWORD=openECOMP1.0
      - MYSQL_ROOT_HOST=%
      logging:
      driver: "json-file"
      options:
      max-size: "30m"
      max-file: "5"


      bash-4.2# mysql -uroot -popenECOMP1.0


  2. Hi Yang Xu  - thank you for this. wondering where I can see logs associated with individual DGs e.g. when RPCs are executed against them? 


    1. All DGs log are put in karaf.log as shown in the wiki above. You can see rpc names in each log entry. 

  3. Hi,

    Can someone help how to access the SDN-R Config Mgmt UI in browser.


    When I try to access http://10.211.5.35:30202/odlux/index.html# it gives error as:

    HTTP ERROR 401

    Problem accessing /odlux/index.html. Reason:

        Unauthorized

    This is a dublin setup wwith Kubernetes, OOM, Rancher and Openstack.
    Regards,
    Gaurav