...
The Data Synchronization watchdog updates the cps database with RAN CM Handle data. The steps involved areSynchronization uses DMI passthrough service and SDNC to get the data from RAN. Refer here for more information.
The steps involved in this process,
Step 1: 1
Query the CM handles that are in 'READY' & 'UNSYNCHRONIZED' from DB,. Select a random CM handle from the collection.
Code Block | ||||
---|---|---|---|---|
| ||||
//state[@cm-handle-state="READY"]/ancestor::cm-handles | //state/datastore/operational[@sync-state="UNSYNCHRONIZED"]/ancestor::cm-handles |
CPS do not support AND operation in the query. Create a new user story to introduce this feature.
Jira | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
The agreed solution is to split the query to get the CM Handles where the operational sync state in UNSYNCHRONIZED and select a random CM Handle and check the status of the CM Handle in READY state.
Code Block | ||||
---|---|---|---|---|
| ||||
Query 1: //state/datastore/operational[@sync-state="UNSYNCHRONIZED"]/ancestor::cm-handles Query 2: //cm-handles[@id='some-cm-handle']/state[@cm-handle-state="READY"] |
Step 2:
Get the CM Handle data from RAN through DMI passthrough service.
Note: At the moment the DMI passthrough service requires resource Identifier eg: stores:bookstore. The SDNC has the capability to get all the resources from the Mounted device but how to identify the resource for cm handle data?
A PNF Simulator is used with YANG Model.
Code Block | ||||
---|---|---|---|---|
| ||||
module stores {
yang-version 1.1;
namespace "org:onap:ccsdk:sample";
prefix book-store;
import ietf-yang-types { prefix yang; }
import ietf-inet-types { prefix inet; }
revision "2020-09-15" {
description
"Sample Model";
}
typedef year {
type uint16 {
range "1000..9999";
}
}
container bookstore {
leaf bookstore-name {
type string;
}
list categories {
key "code";
leaf code {
type string;
}
leaf name {
type string;
}
list books {
key title;
leaf title {
type string;
}
leaf lang {
type string;
}
leaf-list authors {
type string;
}
leaf pub_year {
type year;
}
leaf price {
type uint64;
}
}
}
}
} |
This PNF Simulator is mounted in SDNC and the response from SDNC to get all the resources from RAN
...
,
Code Block | ||||
---|---|---|---|---|
| ||||
http://<ip>:8282/rests/data/network-topology:network-topology/topology=topology-netconf/node=Bookstore/yang-ext:mount |
The DMI passthrough service is used to write the data to the RAN Simulator and the response from it through SDNC is shown below,
Code Block | ||||
---|---|---|---|---|
| ||||
{
"ietf-netconf-monitoring:netconf-state": {
"schemas": {
"schema": [
{
"identifier": "ietf-tls-server",
"version": "2016-11-02",
"format": "ietf-netconf-monitoring:yang",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-tls-server",
"location": [
"NETCONF"
]
},
{
"identifier": "nc-notifications",
"version": "2008-07-14",
"format": "ietf-netconf-monitoring:yang",
"namespace": "urn:ietf:params:xml:ns:netmod:notification",
"location": [
"NETCONF"
]
},
{
"identifier": "ietf-ssh-server",
"version": "2016-11-02",
"format": "ietf-netconf-monitoring:yin",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-ssh-server",
"location": [
"NETCONF"
]
},
{
"identifier": "turing-machine",
"version": "2013-12-27",
"format": "ietf-netconf-monitoring:yang",
"namespace": "http://example.net/turing-machine",
"location": [
"NETCONF"
]
},
{
"identifier": "ietf-yang-metadata",
"version": "2016-08-05",
"format": "ietf-netconf-monitoring:yin",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-yang-metadata",
"location": [
"NETCONF"
]
},
{
"identifier": "iana-crypt-hash",
"version": "2014-08-06",
"format": "ietf-netconf-monitoring:yin",
"namespace": "urn:ietf:params:xml:ns:yang:iana-crypt-hash",
"location": [
"NETCONF"
]
},
{
"identifier": "ietf-datastores",
"version": "2017-08-17",
"format": "ietf-netconf-monitoring:yang",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-datastores",
"location": [
"NETCONF"
]
},
{
"identifier": "ietf-netconf-with-defaults",
"version": "2011-06-01",
"format": "ietf-netconf-monitoring:yin",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-netconf-with-defaults",
"location": [
"NETCONF"
]
},
{
"identifier": "ietf-x509-cert-to-name",
"version": "2014-12-10",
"format": "ietf-netconf-monitoring:yang",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-x509-cert-to-name",
"location": [
"NETCONF"
]
},
{
"identifier": "ietf-netconf",
"version": "2011-06-01",
"format": "ietf-netconf-monitoring:yang",
"namespace": "urn:ietf:params:xml:ns:netconf:base:1.0",
"location": [
"NETCONF"
]
},
{
"identifier": "ietf-keystore",
"version": "2016-10-31",
"format": "ietf-netconf-monitoring:yin",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-keystore",
"location": [
"NETCONF"
]
},
{
"identifier": "ietf-netconf-with-defaults",
"version": "2011-06-01",
"format": "ietf-netconf-monitoring:yang",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-netconf-with-defaults",
"location": [
"NETCONF"
]
},
{
"identifier": "ietf-inet-types",
"version": "2013-07-15",
"format": "ietf-netconf-monitoring:yang",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-inet-types",
"location": [
"NETCONF"
]
},
{
"identifier": "ietf-keystore",
"version": "2016-10-31",
"format": "ietf-netconf-monitoring:yang",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-keystore",
"location": [
"NETCONF"
]
},
{
"identifier": "turing-machine",
"version": "2013-12-27",
"format": "ietf-netconf-monitoring:yin",
"namespace": "http://example.net/turing-machine",
"location": [
"NETCONF"
]
},
{
"identifier": "ietf-netconf-acm",
"version": "2018-02-14",
"format": "ietf-netconf-monitoring:yang",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-netconf-acm",
"location": [
"NETCONF"
]
},
{
"identifier": "yang",
"version": "2017-02-20",
"format": "ietf-netconf-monitoring:yang",
"namespace": "urn:ietf:params:xml:ns:yang:1",
"location": [
"NETCONF"
]
},
{
"identifier": "ietf-yang-types",
"version": "2013-07-15",
"format": "ietf-netconf-monitoring:yang",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-yang-types",
"location": [
"NETCONF"
]
},
{
"identifier": "ietf-system",
"version": "2014-08-06",
"format": "ietf-netconf-monitoring:yang",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-system",
"location": [
"NETCONF"
]
},
{
"identifier": "nc-notifications",
"version": "2008-07-14",
"format": "ietf-netconf-monitoring:yin",
"namespace": "urn:ietf:params:xml:ns:netmod:notification",
"location": [
"NETCONF"
]
},
{
"identifier": "stores",
"version": "2020-09-15",
"format": "ietf-netconf-monitoring:yang",
"namespace": "org:onap:ccsdk:sample",
"location": [
"NETCONF"
]
},
{
"identifier": "ietf-yang-metadata",
"version": "2016-08-05",
"format": "ietf-netconf-monitoring:yang",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-yang-metadata",
"location": [
"NETCONF"
]
},
{
"identifier": "ietf-netconf-notifications",
"version": "2012-02-06",
"format": "ietf-netconf-monitoring:yin",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-netconf-notifications",
"location": [
"NETCONF"
]
},
{
"identifier": "ietf-netconf-monitoring",
"version": "2010-10-04",
"format": "ietf-netconf-monitoring:yin",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring",
"location": [
"NETCONF"
]
},
{
"identifier": "ietf-netconf-server",
"version": "2016-11-02",
"format": "ietf-netconf-monitoring:yang",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-netconf-server",
"location": [
"NETCONF"
]
},
{
"identifier": "stores",
"version": "2020-09-15",
"format": "ietf-netconf-monitoring:yin",
"namespace": "org:onap:ccsdk:sample",
"location": [
"NETCONF"
]
},
{
"identifier": "ietf-yang-types",
"version": "2013-07-15",
"format": "ietf-netconf-monitoring:yin",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-yang-types",
"location": [
"NETCONF"
]
},
{
"identifier": "ietf-yang-library",
"version": "2019-01-04",
"format": "ietf-netconf-monitoring:yang",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-yang-library",
"location": [
"NETCONF"
]
},
{
"identifier": "ietf-netconf-notifications",
"version": "2012-02-06",
"format": "ietf-netconf-monitoring:yang",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-netconf-notifications",
"location": [
"NETCONF"
]
},
{
"identifier": "ietf-yang-library",
"version": "2019-01-04",
"format": "ietf-netconf-monitoring:yin",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-yang-library",
"location": [
"NETCONF"
]
},
{
"identifier": "notifications",
"version": "2008-07-14",
"format": "ietf-netconf-monitoring:yang",
"namespace": "urn:ietf:params:xml:ns:netconf:notification:1.0",
"location": [
"NETCONF"
]
},
{
"identifier": "ietf-tls-server",
"version": "2016-11-02",
"format": "ietf-netconf-monitoring:yin",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-tls-server",
"location": [
"NETCONF"
]
},
{
"identifier": "iana-crypt-hash",
"version": "2014-08-06",
"format": "ietf-netconf-monitoring:yang",
"namespace": "urn:ietf:params:xml:ns:yang:iana-crypt-hash",
"location": [
"NETCONF"
]
},
{
"identifier": "ietf-netconf",
"version": "2011-06-01",
"format": "ietf-netconf-monitoring:yin",
"namespace": "urn:ietf:params:xml:ns:netconf:base:1.0",
"location": [
"NETCONF"
]
},
{
"identifier": "notifications",
"version": "2008-07-14",
"format": "ietf-netconf-monitoring:yin",
"namespace": "urn:ietf:params:xml:ns:netconf:notification:1.0",
"location": [
"NETCONF"
]
},
{
"identifier": "ietf-netconf-monitoring",
"version": "2010-10-04",
"format": "ietf-netconf-monitoring:yang",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring",
"location": [
"NETCONF"
]
},
{
"identifier": "yang",
"version": "2017-02-20",
"format": "ietf-netconf-monitoring:yin",
"namespace": "urn:ietf:params:xml:ns:yang:1",
"location": [
"NETCONF"
]
},
{
"identifier": "ietf-x509-cert-to-name",
"version": "2014-12-10",
"format": "ietf-netconf-monitoring:yin",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-x509-cert-to-name",
"location": [
"NETCONF"
]
},
{
"identifier": "ietf-inet-types",
"version": "2013-07-15",
"format": "ietf-netconf-monitoring:yin",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-inet-types",
"location": [
"NETCONF"
]
},
{
"identifier": "ietf-ssh-server",
"version": "2016-11-02",
"format": "ietf-netconf-monitoring:yang",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-ssh-server",
"location": [
"NETCONF"
]
},
{
"identifier": "ietf-datastores",
"version": "2017-08-17",
"format": "ietf-netconf-monitoring:yin",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-datastores",
"location": [
"NETCONF"
]
},
{
"identifier": "ietf-netconf-server",
"version": "2016-11-02",
"format": "ietf-netconf-monitoring:yin",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-netconf-server",
"location": [
"NETCONF"
]
},
{
"identifier": "ietf-netconf-acm",
"version": "2018-02-14",
"format": "ietf-netconf-monitoring:yin",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-netconf-acm",
"location": [
"NETCONF"
]
},
{
"identifier": "ietf-system",
"version": "2014-08-06",
"format": "ietf-netconf-monitoring:yin",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-system",
"location": [
"NETCONF"
]
}
]
},
"statistics": {
"out-rpc-errors": 0,
"out-notifications": 0,
"in-bad-hellos": 0,
"dropped-sessions": 0,
"in-sessions": 1,
"in-rpcs": 78,
"netconf-start-time": "2022-05-19T14:23:27Z",
"in-bad-rpcs": 0
},
"sessions": {
"session": [
{
"session-id": 1,
"source-host": "172.21.0.3",
"username": "netconf",
"login-time": "2022-05-19T14:32:39Z",
"out-rpc-errors": 0,
"transport": "ietf-netconf-monitoring:netconf-tls",
"out-notifications": 0,
"in-rpcs": 78,
"in-bad-rpcs": 0
}
]
},
"capabilities": {
"capability": [
"urn:ietf:params:netconf:capability:xpath:1.0",
"urn:ietf:params:xml:ns:yang:ietf-x509-cert-to-name?module=ietf-x509-cert-to-name&revision=2014-12-10",
"urn:ietf:params:netconf:base:1.1",
"urn:ietf:params:netconf:capability:startup:1.0",
"urn:ietf:params:netconf:capability:yang-library:1.0?revision=2019-01-04&module-set-id=23",
"urn:ietf:params:netconf:base:1.0",
"urn:ietf:params:xml:ns:yang:ietf-netconf-notifications?module=ietf-netconf-notifications&revision=2012-02-06",
"urn:ietf:params:xml:ns:yang:ietf-netconf-acm?module=ietf-netconf-acm&revision=2018-02-14",
"urn:ietf:params:xml:ns:netconf:base:1.0?module=ietf-netconf&revision=2011-06-01&features=writable-running,candidate,rollback-on-error,validate,startup,url,xpath",
"urn:ietf:params:xml:ns:netmod:notification?module=nc-notifications&revision=2008-07-14",
"urn:ietf:params:xml:ns:yang:ietf-yang-metadata?module=ietf-yang-metadata&revision=2016-08-05",
"urn:ietf:params:netconf:capability:writable-running:1.0",
"urn:ietf:params:xml:ns:yang:ietf-yang-types?module=ietf-yang-types&revision=2013-07-15",
"urn:ietf:params:netconf:capability:notification:1.0",
"http://example.net/turing-machine?module=turing-machine&revision=2013-12-27",
"urn:ietf:params:xml:ns:yang:1?module=yang&revision=2017-02-20",
"urn:ietf:params:netconf:capability:rollback-on-error:1.0",
"urn:ietf:params:netconf:capability:with-defaults:1.0?basic-mode=explicit&also-supported=report-all,report-all-tagged,trim,explicit",
"urn:ietf:params:xml:ns:yang:ietf-netconf-with-defaults?module=ietf-netconf-with-defaults&revision=2011-06-01",
"urn:ietf:params:netconf:capability:candidate:1.0",
"urn:ietf:params:xml:ns:netconf:notification:1.0?module=notifications&revision=2008-07-14",
"urn:ietf:params:netconf:capability:interleave:1.0",
"urn:ietf:params:xml:ns:yang:iana-crypt-hash?module=iana-crypt-hash&revision=2014-08-06",
"urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?module=ietf-netconf-monitoring&revision=2010-10-04",
"urn:ietf:params:netconf:capability:validate:1.1",
"urn:ietf:params:xml:ns:yang:ietf-inet-types?module=ietf-inet-types&revision=2013-07-15",
"urn:ietf:params:netconf:capability:url:1.0",
"urn:ietf:params:xml:ns:yang:ietf-system?module=ietf-system&revision=2014-08-06&features=authentication,local-users"
]
}
},
"turing-machine:turing-machine": {
"transition-function": {
"delta": [
{
"label": "separator",
"output": {
"state": 1,
"symbol": "1"
},
"input": {
"state": 0,
"symbol": "0"
}
},
{
"label": "right end",
"output": {
"state": 2,
"head-move": "left"
},
"input": {
"state": 1,
"symbol": ""
}
},
{
"label": "write separator",
"output": {
"state": 3,
"head-move": "left",
"symbol": "0"
},
"input": {
"state": 2,
"symbol": "1"
}
},
{
"label": "right summand",
"input": {
"state": 1,
"symbol": "1"
}
},
{
"label": "go home",
"output": {
"head-move": "left"
},
"input": {
"state": 3,
"symbol": "1"
}
},
{
"label": "final step",
"output": {
"state": 4
},
"input": {
"state": 3,
"symbol": ""
}
},
{
"label": "left summand",
"input": {
"state": 0,
"symbol": "1"
}
}
]
}
},
"stores:bookstore": {
"categories": [
{
"code": "05",
"books": [
{
"title": "A Romance Book",
"price": "2000",
"pub_year": 2002,
"lang": "English",
"authors": [
"Lathish"
]
}
],
"name": "Romance"
}
]
},
"ietf-keystore:keystore": {
"private-keys": {
"private-key": [
{
"name": "server_key",
"certificate-chains": {
"certificate-chain": [
{
"name": "server_cert",
"certificate": [
"MIIECTCCAvGgAwIBAgIBCDANBgkqhkiG9w0BAQsFADCBjDELMAkGA1UEBhMCQ1oxFjAUBgNVBAgMDVNvdXRoIE1vcmF2aWExDTALBgNVBAcMBEJybm8xDzANBgNVBAoMBkNFU05FVDEMMAoGA1UECwwDVE1DMRMwEQYDVQQDDApleGFtcGxlIENBMSIwIAYJKoZIhvcNAQkBFhNleGFtcGxlY2FAbG9jYWxob3N0MB4XDTE1MDczMDA3MjU1MFoXDTM1MDcyNTA3MjU1MFowgYUxCzAJBgNVBAYTAkNaMRYwFAYDVQQIDA1Tb3V0aCBNb3JhdmlhMQ8wDQYDVQQKDAZDRVNORVQxDDAKBgNVBAsMA1RNQzEXMBUGA1UEAwwOZXhhbXBsZSBzZXJ2ZXIxJjAkBgkqhkiG9w0BCQEWF2V4YW1wbGVzZXJ2ZXJAbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsdI1TBjzX1PgQXFuPCw5/kQwU7qkrhirMcFAXhI8EoXepPa9fKAVuMjHW32P6nNzDpnhFe0YGdNloIEN3hJJ87cVOqj4o7zZMbq3zVG2L8As7MTA8tYXm2fSC/0rIxxRRemcGUXM0q+4LEACjZj2pOKonaivF5VbhgNjPCO1Jj/TamUc0aViE577C9L9EiObGM+bGbabWk/KWKLsvxUc+sKZXaJ7psTVgpggJAkUszlmwOQgFiMSR53E9/CAkQYhzGVCmH44Vs6Hzs3RZjOTbce4wr4ongiA5LbPeSNSCFjy9loKpaE1rtOjkNBVdiNPCQTmLuODXUTKgkeL+9v/OwIDAQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQU83qEtQDFzDvLoaIIvqiU6k7j1uswHwYDVR0jBBgwFoAUc1YQIqjZsHVwlea0AB4N+ilNI2gwDQYJKoZIhvcNAQELBQADggEBAJ+QOLi4gPWGofMkLTqSsbv5xRvTw0xa/sJnEeiejtygAu3oMcAsyevSH9EYVPCANxzISPzd9SFaO56HxWgcxLn9vi8ZNvo2wIp9zucNu285ced1K/2nDZfBmvBxXnj/n7spwqOyuoIc8sR7P7YyI806Qsfhk3ybNZE5UHJFZKDRQKvRJ1t4nk9saeo87kIuNEDfYNdwYZzRfXoGJ5qIJQK+uJJv9noaIhfFowDW/G14Ji5pVh/YtvnOPh7aBjOj8jmzk8MqzK+TZgT7GWu48Nd/NaV8g/DNg9hlN047LaNsJly3NX3+VBlpMnA4rKwl1OnmYSirIVh9RJqNwqe6k/k="
]
}
]
}
},
{
"name": "ssh_host_rsa_key",
"algorithm": "ietf-keystore:rsa"
}
]
},
"trusted-certificates": [
{
"name": "trusted_ca_list",
"trusted-certificate": [
{
"name": "ca",
"certificate": "MIID7TCCAtWgAwIBAgIJAMtE1NGAR5KoMA0GCSqGSIb3DQEBBQUAMIGMMQswCQYDVQQGEwJDWjEWMBQGA1UECAwNU291dGggTW9yYXZpYTENMAsGA1UEBwwEQnJubzEPMA0GA1UECgwGQ0VTTkVUMQwwCgYDVQQLDANUTUMxEzARBgNVBAMMCmV4YW1wbGUgQ0ExIjAgBgkqhkiG9w0BCQEWE2V4YW1wbGVjYUBsb2NhbGhvc3QwHhcNMTQwNzI0MTQxOTAyWhcNMjQwNzIxMTQxOTAyWjCBjDELMAkGA1UEBhMCQ1oxFjAUBgNVBAgMDVNvdXRoIE1vcmF2aWExDTALBgNVBAcMBEJybm8xDzANBgNVBAoMBkNFU05FVDEMMAoGA1UECwwDVE1DMRMwEQYDVQQDDApleGFtcGxlIENBMSIwIAYJKoZIhvcNAQkBFhNleGFtcGxlY2FAbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArD3TDHPAMT2Z84orK4lMlarbgooIUCcRZyLe+QM+8KY8Hn+mGaxPEOTSL3ywszqefB/Utm2hPKLHX684iRC14ID9WDGHxPjvoPArhgFhfV+qnPfxKTgxZC12uOj4u1V9y+SkTCocFbRfXVBGpojrBuDHXkDMDEWNvr8/52YCv7bGaiBwUHolcLCUbmtKILCG0RNJyTaJpXQdAeq5Z1SJotpbfYFFtAXB32hVoLug1dzl2tjG9sb1wq3QaDExcbC5w6P65qOkNoyym9ne6QlQagCqVDyFn3vcqkRaTjvZmxauCeUxXgJoXkyWcm0lM1KMHdoTArmchw2Dz0yHHSyDAQIDAQABo1AwTjAdBgNVHQ4EFgQUc1YQIqjZsHVwlea0AB4N+ilNI2gwHwYDVR0jBBgwFoAUc1YQIqjZsHVwlea0AB4N+ilNI2gwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAI/1KH60qnw9Xs2RGfi0/IKf5EynXt4bQX8EIyVKwSkYKe04zZxYfLIl/Q2HOPYoFmm3daj5ddr0ZS1i4p4fTUhstjsYWvXs3W/HhVmFUslakkn3PrswhP77fCk6eEJLxdfyJ1C7Uudq2m1isZbKih+XF0mG1LxJaDMocSz4eAya7M5brwjy8DoOmA1TnLQFCVcpn+sCr7VC4wE/JqxyVhBCk/MuGqqM3B1j90bGFZ112ZOecyE0EDSr6IbiRBtmeNbEwOFjKXhNLYdxpBZ9D8A/368OckZkCrVLGuJNxK9UwCVTe8IhotHUqU9EqFDmxdV8oIdU/OzUwwNPA/Bd/9g=="
}
]
}
]
},
"ietf-yang-library:modules-state": {
"module-set-id": "23",
"module": [
{
"name": "ietf-ssh-server",
"revision": "2016-11-02",
"conformance-type": "import",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-ssh-server"
},
{
"name": "ietf-netconf-acm",
"revision": "2018-02-14",
"conformance-type": "import",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-netconf-acm"
},
{
"name": "ietf-tls-server",
"revision": "2016-11-02",
"conformance-type": "import",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-tls-server"
},
{
"name": "ietf-yang-metadata",
"revision": "2016-08-05",
"conformance-type": "import",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-yang-metadata"
},
{
"name": "nc-notifications",
"revision": "2008-07-14",
"conformance-type": "implement",
"namespace": "urn:ietf:params:xml:ns:netmod:notification"
},
{
"name": "iana-crypt-hash",
"revision": "2014-08-06",
"conformance-type": "import",
"namespace": "urn:ietf:params:xml:ns:yang:iana-crypt-hash"
},
{
"name": "ietf-netconf-server",
"revision": "2016-11-02",
"feature": [
"tls-call-home",
"ssh-listen",
"tls-listen",
"ssh-call-home",
"listen",
"call-home"
],
"conformance-type": "implement",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-netconf-server"
},
{
"name": "stores",
"revision": "2020-09-15",
"conformance-type": "implement",
"namespace": "org:onap:ccsdk:sample"
},
{
"name": "ietf-yang-types",
"revision": "2013-07-15",
"conformance-type": "import",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-yang-types"
},
{
"name": "yang",
"revision": "2017-02-20",
"conformance-type": "implement",
"namespace": "urn:ietf:params:xml:ns:yang:1"
},
{
"name": "ietf-system",
"revision": "2014-08-06",
"feature": [
"local-users",
"authentication"
],
"conformance-type": "implement",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-system"
},
{
"name": "ietf-inet-types",
"revision": "2013-07-15",
"conformance-type": "import",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-inet-types"
},
{
"name": "ietf-keystore",
"revision": "2016-10-31",
"conformance-type": "implement",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-keystore"
},
{
"name": "ietf-datastores",
"revision": "2017-08-17",
"conformance-type": "import",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-datastores"
},
{
"name": "ietf-yang-library",
"revision": "2019-01-04",
"conformance-type": "implement",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-yang-library"
},
{
"name": "ietf-netconf-notifications",
"revision": "2012-02-06",
"conformance-type": "implement",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-netconf-notifications"
},
{
"name": "ietf-netconf",
"revision": "2011-06-01",
"feature": [
"writable-running",
"candidate",
"startup",
"url",
"rollback-on-error",
"validate",
"xpath"
],
"conformance-type": "implement",
"namespace": "urn:ietf:params:xml:ns:netconf:base:1.0"
},
{
"name": "ietf-netconf-monitoring",
"revision": "2010-10-04",
"conformance-type": "implement",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring"
},
{
"name": "turing-machine",
"revision": "2013-12-27",
"conformance-type": "implement",
"namespace": "http://example.net/turing-machine"
},
{
"name": "notifications",
"revision": "2008-07-14",
"conformance-type": "implement",
"namespace": "urn:ietf:params:xml:ns:netconf:notification:1.0"
},
{
"name": "ietf-x509-cert-to-name",
"revision": "2014-12-10",
"conformance-type": "implement",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-x509-cert-to-name"
},
{
"name": "ietf-netconf-with-defaults",
"revision": "2011-06-01",
"conformance-type": "implement",
"namespace": "urn:ietf:params:xml:ns:yang:ietf-netconf-with-defaults"
}
]
},
"nc-notifications:netconf": {
"streams": {
"stream": [
{
"name": "nc-notifications",
"replaySupport": true
},
{
"name": "ietf-keystore",
"replaySupport": true
},
{
"name": "ietf-yang-library",
"replaySupport": false
},
{
"name": "NETCONF",
"description": "Default NETCONF stream containing all the Event Notifications.",
"replaySupport": true
},
{
"name": "ietf-netconf-notifications",
"replaySupport": true
},
{
"name": "turing-machine",
"replaySupport": true
}
]
}
},
"ietf-system:system": {
"authentication": {
"user": [
{
"name": "netconf",
"authorized-key": [
{
"name": "id_rsa",
"algorithm": "ssh-rsa",
"key-data": "AAAAB3NzaC1yc2EAAAADAQABAAABAQD4pCY/jetSrsN3ToQwSIopEwDEFps7l327brjqp8a0vXmGuNztvnNDuQyGD5lKLDeK+dGSz+aHdCnD/10rIVSVxnw/TCyGWGHsYHpXqK0ZdiJ6HXX8FqGylTJZWTiSLSDrUwk8Mq8uIk3Sdy5E9yGgKcmA5GInBQuqMhZbzt1KhLhyp67+dIJ+D3b/JzSyPRHt9XMBpGTYMEuhjBM2aH5C9pltrmRq2NIF/cST1eidhTV2wMSqGm9jwDG7CwxAeYvan1cazZIrIfY7a/rD3sbxSPlzH92nUhw8m0qneKjDWO+kzCJVlWQ/q9c6hg69N2tBctYel3WTFw1usbbG/ZCF"
}
]
}
]
}
},
"ietf-netconf-server:netconf-server": {
"listen": {
"endpoint": [
{
"name": "all-interfaces",
"ssh": {
"address": "0.0.0.0",
"port": 830,
"host-keys": {
"host-key": [
{
"name": "imported SSH key",
"public-key": "ssh_host_rsa_key"
}
]
}
}
},
{
"name": "tls_listen_endpt",
"tls": {
"address": "0.0.0.0",
"client-auth": {
"trusted-ca-certs": "trusted_ca_list",
"cert-maps": {
"cert-to-name": [
{
"id": 1,
"name": "netconf",
"map-type": "ietf-x509-cert-to-name:specified",
"fingerprint": "02:E9:38:1F:F6:8B:62:DE:0A:0B:C5:03:81:A8:03:49:A0:00:7F:8B:F3"
}
]
}
},
"port": 6513,
"certificates": {
"certificate": [
{
"name": "server_cert"
}
]
}
}
}
]
}
}
} |
The data received from the RAN should be updated in the CPS DB. The CPS currently supports the persist of the data in the format below. eg: stores:bookstore in the format <module>:<top level container>
The PNF simulator returns multiple resources but the actual RAN will return just one resource. So it is agreed to persist the first resource that is received from the RAN.
Code Block | ||||
---|---|---|---|---|
| ||||
{
"stores:bookstore": {
"categories": [
{
"code": "05",
"books": [
{
"title": "A Romance Book",
"price": "2000",
"pub_year": 2002,
"lang": "English",
"authors": [
"Lathish"
]
}
],
"name": "Romance"
}
]
}
} |