05-07-2019 11:02 PM
get_object via Maapi API is working as expected where as via CDB API it`s not.
Can anybody tell me what wrong am I doing here ?
(NCS Version : nso-4.7.2.1)
VIA MAAPI API
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
>>> import socket
>>> import _ncs
>>> from _ncs import maapi
>>> sock_maapi = socket.socket()
>>> maapi.connect(sock_maapi, ip='127.0.0.1', port=_ncs.NCS_PORT)
>>> maapi.start_user_session( sock_maapi, 'admin', 'python', [], '127.0.0.1', _ncs.PROTO_TCP)
>>> th = maapi.start_trans(sock_maapi, _ncs.OPERATIONAL, _ncs.READ)
>>>
>>> val = maapi.get_object(sock_maapi, th, 500, "/org-openroadm-alarm:active-alarm-list/activeAlarms{SM/HW_ENVMON_PEM_ALARM/22#CHASSIS/LCC/1}")
>>> val
[<_ncs.Value type=C_BUF(5) value='SM/HW_ENVMON_PE'...>, <_ncs.Value type=C_XMLTAG(2) value='tag<269073225>'>, <_ncs.Value type=C_XMLTAG(2) value='tag<61
7911018>'>, <_ncs.Value type=C_BUF(5) value='UNKNOWN'>, <_ncs.Value type=C_XMLTAG(2) value='tag<269073225>'>, <_ncs.Value type=C_NOEXISTS(1) value='NOEX
ISTS'>, <_ncs.Value type=C_XMLTAG(2) value='tag<10387472>'>, <_ncs.Value type=C_NOEXISTS(1) value='NOEXISTS'>, <_ncs.Value type=C_NOEXISTS(1) value='NOE
XISTS'>, <_ncs.Value type=C_NOEXISTS(1) value='NOEXISTS'>, <_ncs.Value type=C_NOEXISTS(1) value='NOEXISTS'>, <_ncs.Value type=C_NOEXISTS(1) value='NOEXI
STS'>, <_ncs.Value type=C_BUF(5) value='0'>, <_ncs.Value type=C_NOEXISTS(1) value='NOEXISTS'>, <_ncs.Value type=C_NOEXISTS(1) value='NOEXISTS'>, <_ncs.V
alue type=C_NOEXISTS(1) value='NOEXISTS'>, <_ncs.Value type=C_NOEXISTS(1) value='NOEXISTS'>, <_ncs.Value type=C_NOEXISTS(1) value='NOEXISTS'>, <_ncs.Value type=C_NOEXISTS(1) value='NOEXISTS'>, <_ncs.Value type=C_NOEXISTS(1) value='NOEXISTS'>, <_ncs.Value type=C_NOEXISTS(1) value='NOEXISTS'>, <_ncs.Value type=C_NOEXISTS(1) value='NOEXISTS'>, <_ncs.Value type=C_NOEXISTS(1) value='NOEXISTS'>, <_ncs.Value type=C_NOEXISTS(1) value='NOEXISTS'>, <_ncs.Value type=C_NOEXISTS(1) value='NOEXISTS'>, <_ncs.Value type=C_XMLTAG(2) value='tag<731641763>'>, <_ncs.Value type=C_NOEXISTS(1) value='NOEXISTS'>, <_ncs.Value type=C_NOEXISTS(1) value='NOEXISTS'>, <_ncs.Value type=C_XMLTAG(2) value='tag<1811221493>'>, <_ncs.Value type=C_NOEXISTS(1) value='NOEXISTS'>, <_ncs.Value type=C_NOEXISTS(1) value='NOEXISTS'>, <_ncs.Value type=C_NOEXISTS(1) value='NOEXISTS'>, <_ncs.Value type=C_NOEXISTS(1) value='NOEXISTS'>, <_ncs.Value type=C_NOEXISTS(1) value='NOEXISTS'>, <_ncs.Value type=C_DATETIME(19) value='2019-05-07T20:2'...>, <_ncs.Value type=C_ENUM_HASH(28) value='enum<2>'>, <_ncs.Value type=C_NOEXISTS(1) value='NOEXISTS'>, <_ncs.Value type=C_BUF(5) value='Power Module re'...>, <_ncs.Value type=C_BUF(5) value='PEM-PWR-TRAY-LV'...>]
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
VIA CDB API :
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
>>> import socket
>>> import _ncs
>>> from _ncs import cdb
>>> from datetime import datetime
>>>
>>> cdb_socket = socket.socket()
>>> cdb.connect(cdb_socket, cdb.DATA_SOCKET, ip="127.0.0.1", port=4569)
>>> cdb.start_session(cdb_socket, cdb.OPERATIONAL)
>>>
>>> val = cdb.get_object(cdb_socket, 1, "/org-openroadm-alarm:active-alarm-list/activeAlarms{SM/HW_ENVMON_PEM_ALARM/22#CHASSIS/LCC/1}")
>>> val
[<_ncs.Value type=C_BUF(5) value='SM/HW_ENVMON_PE'...>, <_ncs.Value type=UNKNOWN_TYPE(-1147064420) value='badval'>, <_ncs.Value type=UNKNOWN_TYPE(-1079073056) value='badval'>, <_ncs.Value type=UNKNOWN_TYPE(-1082928868) value='badval'>, <_ncs.Value type=UNKNOWN_TYPE(33497248) value='badval'>, <_ncs.Value type=UNKNOWN_TYPE(33497248) value='badval'>, <_ncs.Value type=UNKNOWN_TYPE(-1079261152) value='badval'>, <_ncs.Value type=UNKNOWN_TYPE(1939215456) value='badval'>, <_ncs.Value type=UNKNOWN_TYPE(-1077718960) value='badval'>, <_ncs.Value type=UNKNOWN_TYPE(-1080009472) value='badval'>, <_ncs.Value type=UNKNOWN_TYPE(-1077931672) value='badval'>, <_ncs.Value type=UNKNOWN_TYPE(0) value='badval'>, <_ncs.Value type=C_INT64(9) value='139860236406064'>, <_ncs.Value type=UNKNOWN_TYPE(-1077931672) value='badval'>, <_ncs.Value type=UNKNOWN_TYPE(33497248) value='badval'>, <_ncs.Value type=UNKNOWN_TYPE(0) value='badval'>, <_ncs.Value type=UNKNOWN_TYPE(-1082417744) value='badval'>, <_ncs.Value type=UNKNOWN_TYPE(-1077931672) value='badval'>, <_ncs.Value type=UNKNOWN_TYPE(0) value='badval'>, <_ncs.Value type=UNKNOWN_TYPE(34180480) value='badval'>, <_ncs.Value type=UNKNOWN_TYPE(0) value='badval'>, <_ncs.Value type=UNKNOWN_TYPE(0) value='badval'>, <_ncs.Value type=UNKNOWN_TYPE(0) value='badval'>, <_ncs.Value type=UNKNOWN_TYPE(-1082731442) value='badval'>, <_ncs.Value type=UNKNOWN_TYPE(-1079686864) value='badval'>, <_ncs.Value type=UNKNOWN_TYPE(0) value='badval'>, <_ncs.Value type=UNKNOWN_TYPE(0) value='badval'>, <_ncs.Value type=UNKNOWN_TYPE(0) value='badval'>, <_ncs.Value type=UNKNOWN_TYPE(0) value='badval'>, <_ncs.Value type=UNKNOWN_TYPE(0) value='badval'>, <_ncs.Value type=UNKNOWN_TYPE(0) value='badval'>, <_ncs.Value type=UNKNOWN_TYPE(-1097425915) value='badval'>, <_ncs.Value type=UNKNOWN_TYPE(0) value='badval'>, <_ncs.Value type=UNKNOWN_TYPE(0) value='badval'>, <_ncs.Value type=UNKNOWN_TYPE(0) value='badval'>, <_ncs.Value type=UNKNOWN_TYPE(0) value='badval'>, <_ncs.Value type=UNKNOWN_TYPE(1939216456) value='badval'>, <_ncs.Value type=UNKNOWN_TYPE(1939222912) value='badval'>, <_ncs.Value type=UNKNOWN_TYPE(1939223135) value='badval'>]
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
05-08-2019 03:21 AM
@ajbharad wrote:
get_object via Maapi API is working as expected where as via CDB API it`s not.
Can anybody tell me what wrong am I doing here ?>>> val = maapi.get_object(sock_maapi, th, 500, "/org-openroadm-alarm:active-alarm-list/activeAlarms{SM/HW_ENVMON_PEM_ALARM/22#CHASSIS/LCC/1}")
>>> val = cdb.get_object(cdb_socket, 1, "/org-openroadm-alarm:active-alarm-list/activeAlarms{SM/HW_ENVMON_PEM_ALARM/22#CHASSIS/LCC/1}")
get_object returns *all* the children for a given list instance. But only *N* children are filled with the correct values. The rest of them are dummy values, with 'UNKNOWN_TYPE' and 'badval'.
In your maapi call above, you ask for 500 values under that list instance. In the CDB call, you ask only for 1 value, so you get a proper value only for the first leaf in the list, which it the key. Increase that param in the CDB call, and you can get the same output as your maapi call above.
/Ram
05-08-2019 01:52 PM
Thanks a lot.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide