...
The Data Synchronization watchdog updates the cps database with RAN CM Handle data. The Synchronization uses DMI passthrough service and SDNC to get the data from RAN. Refer here for more information.
The steps involved in this process,
...
Code Block | ||||
---|---|---|---|---|
| ||||
//state[@cm-handle-state="READY"]/ancestor::cm-handles | //state/datastore/operational[@sync-state="UNSYNCHRONIZED"]/ancestor::cm-handles |
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,
...
language | xml |
---|---|
title | Bookstore YANG Model |
...
CPS do not support AND operation in the query. Create a new user story to introduce this feature.
Jira Legacy | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
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, leaf bookstore-"name {": "netconf", type string; "map-type": }"ietf-x509-cert-to-name:specified", list categories { "fingerprint": "02:E9:38:1F:F6:8B:62:DE:0A:0B:C5:03:81:A8:03:49:A0:00:7F:8B:F3" key "code"; leaf code} { ] type string; } }, leaf name { "port": 6513, type string; "certificates": { } "certificate": [ list books { { key title; "name": "server_cert" leaf title { } type string; } ] leaf lang { } } type} string; ] } } } } |
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": [ leaf-list authors { "code": "05", "books": [ type string; { } "title": "A Romance Book", leaf pub_year { "price": "2000", "pub_year": 2002, type year; "lang": "English", } "authors": [ leaf price { "Lathish" ] type uint64; } ], } "name": "Romance" } } } ] } } |
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 |