Versions Compared

Key

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

Jira Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keyCPS-802

The SDN-C version is decided to upgrade from version 1.8.1 to 2.2.3.

References:

  • Jira Legacy
    serverSystem Jira
    serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
    keyCCSDK-3582

The original result for the legacy URL using SDNC version 1.8.1 is the following:

...

collapsetrue

...

Jira Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keyCPS-802

The SDN-C version is decided to upgrade from version 1.8.1 to 2.2.3.


References:

  • Jira Legacy
    serverSystem Jira
    serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
    keyCCSDK-3582


The original result for the legacy URL using SDNC version 1.8.1 is the following:

Legacy URLResult
http://localhost:8282/rests/data/network-topology:network-topology/topology=topology-netconf/node=PNFDemo/yang-ext:mount/turing-machine:turing-machine


Code Block
collapsetrue
{
    "turing-machine:turing-machine": {
        "transition-function": {
     "symbol": "0"      "delta": [
             },
                    "output": {

                       "statelabel": 1"separator",

                       "symbolinput": "1"{
                    }    "state": 0,
           },             "symbol": "0"
  {                     "label": "write separator"},
                    "inputoutput": {
                        "state": 21,
                        "symbol": "1"
                    },
                },
           "output": {    {
                    "statelabel": "write 3separator",

                       "symbolinput": "0",{
                        "head-movestate": "left"2,
                     }   "symbol": "1"
            },        },
        {            "output": {
       "label": "right summand",               "state": 3,
    "input": {
                        "statesymbol": 1"0",
                        "symbolhead-move": "1left"
                    }
                },
                {
                    "label": "finalright stepsummand",
                    "input": {
                        "state": 31,
                        "symbol": "1"
                    },
                },
           "output": {    {
                    "statelabel": 4"final step",
                   } "input": {
              },             "state": 3,
   {                     "labelsymbol": "go home",
                    "input": {
},
                       "stateoutput": 3,{
                        "symbolstate": "1"4
                    },
                },
           "output": {    {
                    "head-movelabel": "leftgo home",
                    }"input": {
               },           "state": 3,
     {                     "labelsymbol": "right end1",
                    "input": {},
                         "state"output": 1,{
                        "symbolhead-move": "left"
                    },
                },
   "output": {            {
            "state": 2,       "label": "right end",
               "head-move": "left"    "input": {
               }         "state": 1,
      },                 { "symbol": ""
                  "label": "left summand"},
                    "inputoutput": {
                        "state": 02,
                        "symbolhead-move": "1left"
                    }
                },
                {
  ]          }     } }

Endpoint Test Results

The following are the results of using the URLs to get nodes using the new version SDNC 2.2.3.

URLResultNoteshttp://localhost:8282/rests/data/network-topology:network-topology/topology=topology-netconf/node=PNFDemo/yang-ext:mount/turing-machine:turing-machine Code Block
collapsetrue
{
  "label": "left summand",
          
"turing-machine:turing-machine":
 
{
         "
transition-function
input": {
           
"delta":
 
[
            "state": 0,
   
{
                     "
label
symbol": "
separator
1"
,

                    
"output": {
}
                
}
  
"state":
 
1,
         ]
        }
    
"symbol": "1" },
}
}



Endpoint Test Results

The following are the results of using the URLs to get nodes using the new version SDNC 2.2.3.

#Question/IssueNotes/Decision1

Image Removed

  • Size = 19.79 KB
  • 883 lines in total
  • Starts at the root node and includes all other child nodes including the node 'turing-machine'restconfconfig//turing-machine:turing-machineImage Removed
    URLResultNotes
    http://localhost:8282/rests/data/network-topology:network-topology/topology=topology-netconf/node=PNFDemo/yang-ext:mount/turing-machine:turing-machine


    Code Block
    collapsetrue
    {
        "turing-machine:turing-machine": {
             "inputtransition-function": {
                "delta": [
              "state": 0,      {
                        "symbollabel": "0"separator",
                        "output": {
            }                "state": }1,
                         {
        "symbol": "1"
                      "label": "right end"},
                        "outputinput": {
                            "state": 20,
                            "head-movesymbol": "left0"
                        },
                    },
       "input":  {           {
                 "state": 1,      "label": "right end",
                    "symbol": ""   "output": {
                    }        "state": 2,
           },                 {
    "head-move": "left"
                       "label": "write separator" },
                        "outputinput": {
                            "state": 31,
                            "head-movesymbol": "left",
                        }
        "symbol": "0"           },
             },       {
                 "input": {       "label": "write separator",
                        "stateoutput": 2,{
                            "symbolstate": "1"3,
                        }    "head-move": "left",
               },               "symbol": "0"
     {                     "label": "right summand"},
                        "input": {
                            "state": 12,
                            "symbol": "1"
                        }
                    },
                    {
                        "label": "goright homesummand",
                        "outputinput": {
                            "head-movestate": "left"1,
                        },    "symbol": "1"
                   "input": {    }
                    },
       "state": 3,            {
                "symbol": "1"       "label": "go home",
               }         "output": {
          },                 { "head-move": "left"
                      "label": "final step"},
                        "outputinput": {
                            "state": 43,
                        },    "symbol": "1"
                   "input": {    }
                    },
       "state": 3,            {
                "symbol": ""       "label": "final step",
               }         "output": {
          },                 { "state": 4
                      "label": "left summand"},
                        "input": {
                            "state": 03,
                            "symbol": "1"
                        }
                    },
                    {
      ]           }     }
    }
    • Size = 796 B
    • 76 lines in total
    • Starts at specified node (turing-machine)
    http://localhost:8282/rests/data/network-topology:network-topology/topology=topology-netconf/node=PNFDemo/yang-ext:mount
    • Size = 19.59 KB
    • 883 lines in total
    • Starts at the root node and includes all other child nodes including the node 'turing-machine'
    http://localhost:8282/rests/data/network-topology:network-topology/topology=topology-netconf/node=PNFDemo/yang-ext:mount/

    Image Removed

      "label": "left summand",
                        "input": {
                            "state": 0,
                            "symbol": "1"
                        }
                    }
                ]
            }
        }
    }


    • Size = 796 B
    • 76 lines in total
    • Starts at specified node (turing-machine)
    http://localhost:8282/restconfrests/configdata/network-topology:network-topology/topology/=topology-netconf/node/=PNFDemo/yang-ext:mount

    Image RemovedImage Added


    • Size = 519.25 59 KB
    • 223 883 lines in total
    • Starts at specified node (the root node and includes all other child nodes including the node 'turing-machine) and rest of the nodes'
    http://localhost:8282/rests/data/network-topology:network-topology/topology=topology-netconf/node=PNFDemo/yang-ext:mount/

    Image Added

    • Size =
    921 B76
    • 19.79 KB
    • 883 lines in total
    • Starts at
    specified node (
    • the root node and includes all other child nodes including the node 'turing-machine
    )
    • '

    CSIT/CCSDK Automation Issues

    Where were we?

    Where are we now?

    Open Questions

    http://localhost:8282/restconf/config/network-topology:network-topology/topology/topology-netconf/node/PNFDemo/yang-ext:mount


    Image Added

    • Size = 5.25 KB
    • 223 lines in total
    • Starts at specified node (turing-machine) and rest of the nodes
    http://localhost:8282/restconf/config/network-topology:network-topology/topology/topology-netconf/node/PNFDemo/yang-ext:mount/turing-machine:turing-machine

    Image Added

    • Size = 921 B
    • 76 lines in total
    • Starts at specified node (turing-machine)



    CSIT/CCSDK Automation Issues

    ...


    Where were we?

    Using SDNC v1.8.1 & certs that we have in our repo we were able to use SDNC, mount nodes, & retrieve information using /rests & /restconf

    The certs are added to SDNC through a mounted volume.

    Code Block
    languageyml
    collapsetrue
    # ============LICENSE_START=======================================================
    # Copyright (C) 2021 Nordix Foundation
    # ================================================================================
    # Licensed under the Apache License, Version 2.0 (the "License");
    # you may not use this file except in compliance with the License.
    # You may obtain a copy of the License at
    #
    #       http://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.
    # ============LICENSE_END=========================================================
    
    version: '3'
    
    services:
      mariadb:
        image: mariadb:10.1.11
        ports:
          - "3306:3306"
        container_name: mariadb
        environment:
          - MYSQL_ROOT_PASSWORD=password
        hostname:
          mariadb.so.testlab.onap.org
        logging:
          driver: "json-file"
          options:
            max-size: "30m"
            max-file: "5"
      sdnc:
        image: onap/sdnc-image:1.8.1
        container_name: sdnc
        volumes: 
          - /etc/localtime:/etc/localtime:ro
          - ./certs:/opt/opendaylight/current/certs
        entrypoint: ["/opt/onap/sdnc/bin/startODL.sh"]
        ports:
          - "8282:8181"
        hostname:
          sdnc
        depends_on:
          - mariadb
        environment:
          - MYSQL_ROOT_PASSWORD=password
          - SDNC_CONFIG_DIR=/opt/onap/sdnc/data/properties
          - MYSQL_PASSWD=password
          - ODL_CERT_DIR=/opt/opendaylight/current/certs
          - ODL_ADMIN_USERNAME=admin
          - ODL_ADMIN_PASSWORD=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
        dns:
          - ${DNS_IP_ADDR-10.0.100.1}
        logging:
          driver:   "json-file"
          options:
            max-size: "30m"
            max-file: "5"
        extra_hosts:
          - sdnctldb02:${LOCAL_IP}
          - sdnctldb01:${LOCAL_IP}
          - dbhost:${LOCAL_IP}

    Where are we now?

    Using SDNC v2.2.3 we no longer use certs in our repo and ther certificate installation is successful 

    Code Block
    languageyml
    collapsetrue
    100% [========================================================================]
    Karaf started in 44s. Bundle stats: 433 active, 434 total
    Certificate installation in progress. Elapsed time - 60 secs. Waiting for 10 secs before checking the status.. 
    Certificate installation in progress. Elapsed time - 70 secs. Waiting for 10 secs before checking the status.. 
    Certificate installation in progress. Elapsed time - 80 secs. Waiting for 10 secs before checking the status.. 
    Certificate installation in progress. Elapsed time - 90 secs. Waiting for 10 secs before checking the status.. 
    Start cert provisioning. Log file: /opt/opendaylight/current/data/log/installCerts.log
    Certificate installation script completed execution 
    Everything OK in Certificate Installation 


    We can also query SDNC to return all nodes using http://localhost:8282/restconf/config/network-topology:network-topology/topology/topology-netconf

    Image Added


    the nodes can also be retrieved using /restconf

    Image Added


    However, when attempting to retrieve information using http://localhost:8282/rests/data/network-topology:network-topology/topology=topology-netconf/node=DemoNode/yang-ext:mount/turing-machine:turing-machine we receive the following error:

    Code Block
    languageyml
    {
        "errors": {
            "error": [
                {
                    "error-tag": "resource-denied-transport",
                    "error-type": "protocol",
                    "error-message": "Mount point does not exist."
                }
            ]
        }
    }


    We also get this error when we run CSIT tests

    Info
    iconfalse

    09:49:08.028 [http-nio-8080-exec-8] ERROR o.o.c.n.d.e.DmiExceptionHandler - Exception occurred
    org.springframework.web.client.HttpServerErrorException$ServiceUnavailable: 503 Service Unavailable: [{"errors":{"error":[{"error-tag":"resource-denied-transport","error-type":"protocol","error-message":"Mount point does not exist."}]}}]


    Perhaps there is a change in the way /rests behaves that we are unfamilar with or perhaps our configuration is incorrect. To sum up: we can successfully start SDNC, mount a node, query nodes using /restconf but all /rests calls seem to fail. This could be an issue with certs or TLS.

    Open Questions


    #Question/IssueNotes/Decision
    1Are we to generate certs for SDNC ourselves or can we rely on the certs used as part of SDNC itself?
    2

    Do we have some incorrect config in our docker-compose file? 

    Code Block
    languageyml
    collapsetrue
    # ============LICENSE_START=======================================================
    # Copyright (C) 2022 Nordix Foundation
    # ================================================================================
    # Licensed under the Apache License, Version 2.0 (the "License");
    # you may not use this file except in compliance with the License.
    # You may obtain a copy of the License at
    #
    #       http://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.
    # ============LICENSE_END=========================================================
    
    version: '3'
    
    services:
      mariadb:
        image: mariadb:10.5
        container_name: sdnc_db_container
        ports:
          - "3306:3306"
        environment:
          - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-password}
          - MYSQL_ROOT_HOST=%
          - MYSQL_USER=${MYSQL_USER:-sdnc}
          - MYSQL_PASSWORD=${MYSQL_PASSWORD:-password}
          - MYSQL_DATABASE=${MYSQL_DATABASE:-sdncdb}
        logging:
          driver: "json-file"
          options:
            max-size: "30m"
            max-file: "5"
    
      ansible:
        image: onap/sdnc-ansible-server-image:2.2.2
        depends_on :
          - mariadb
        container_name: sdnc_ansible_container
        entrypoint: ["/opt/ansible-server/startAnsibleServer.sh"]
        ports:
          - "8000"
        links:
          - mariadb:dbhost
          - mariadb:sdnctldb01
          - mariadb:sdnctldb02
        environment:
          - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-password}
          - MYSQL_USER=${MYSQL_USER:-sdnc}
          - MYSQL_PASSWORD=${MYSQL_PASSWORD:-password}
          - MYSQL_DATABASE=${MYSQL_DATABASE:-sdncdb}
          - ANSIBLE_TRUSTSTORE_PASSWORD=${ANSIBLE_TRUSTSTORE_PASSWORD:-changeit}
        logging:
          driver:   "json-file"
          options:
            max-size: "30m"
            max-file: "5"
    
      sdnc:
        image: onap/sdnc-image:${VERSION:-2.2.3}
        depends_on :
          - mariadb
          - ansible
        container_name: sdnc_controller
        entrypoint: ["/opt/onap/sdnc/bin/startODL.sh"]
        ports:
          - "8282:8181"
        links:
          - mariadb:dbhost
          - mariadb:sdnctldb01
          - mariadb:sdnctldb02
          - ansible:ansiblehost
        environment:
          - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-password}
          - MYSQL_USER=${MYSQL_USER}
          - MYSQL_PASSWORD=${MYSQL_PASSWORD-password}
          - MYSQL_DATABASE=${MYSQL_DATABASE:-sdncdb}
          - SDNC_CONFIG_DIR=/opt/onap/sdnc/data/properties
          - SDNC_BIN=/opt/onap/sdnc/bin
          - ODL_CERT_DIR=/tmp
          - ODL_ADMIN_USERNAME=${ODL_USER:-admin}
          - ODL_ADMIN_PASSWORD=${ODL_PASSWORD:-Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U}
          - ODL_USER=${ODL_USER:-admin}
          - ODL_PASSWORD=${ODL_PASSWORD:-Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U}
          - SDNC_DB_INIT=true
          - HONEYCOMB_USER=${HONEYCOMB_USER:-admin}
          - HONEYCOMB_PASSWORD=${HONEYCOMB_PASSWORD:-admin}
          - TRUSTSTORE_PASSWORD=${TRUSTSTORE_PASSWORD:-changeit}
          - KEYSTORE_PASSWORD=${KEYSTORE_PASSWORD:-adminadmin}
          - SO_USER=${SO_USER:-sdncaBpmn}
          - SO_PASSWORD=${SO_PASSWORD:-password1$$}
          - NENG_USER=${NENG_USER:-ccsdkapps}
          - NENG_PASSWORD=${NENG_PASSWORD:-ccsdkapps}
          - CDS_USER=${CDS_USER:-ccsdkapps}
          - CDS_PASSWORD=${CDS_PASSWORD:-ccsdkapps}
          - ANSIBLE_USER=${ANSIBLE_USER:-sdnc}
          - ANSIBLE_PASSWORD=${ANSIBLE_PASSWORD:-sdnc}
          - SQL_CRYPTKEY=${SQL_CRYPTKEY:-fakECryptKey}
          - A1_TRUSTSTORE_PASSWORD=a1adapter
        dns:
          - ${DNS_IP_ADDR-10.0.100.1}
        logging:
          driver:   "json-file"
          options:
            max-size: "30m"
            max-file: "5"
        extra_hosts:
          aaf.osaaf.org: 10.12.6.214