Please find the below logs of confd_cmd operation.
confd_cmd -o -d -d -c ‘get_case “/performance-measurement-objects/rx-window-measurement-objects/” “object-unit-id”’
get_case “/performance-measurement-objects/rx-window-measurement-objects/” “object-unit-id”
TRACE Connected (maapi) to ConfD
TRACE MAAPI_LOAD_ALL_NS
TRACE MAAPI_LOAD_HASH_DB
TRACE Connected (cdb) to ConfD
TRACE CDB_NEW_SESSION --> CONFD_OK
TRACE Established new CDB session to ConfD
TRACE CDB_GET_CASE /performance-measurement-objects/rx-window-measurement-objectsDEBUG item does not exist - No case selected and no default
–> CONFD_ERR
FAILED: cdb_get_case(cs, argv[1], &val, argv[0]), Error: item does not exist (1): No case selected and no default, in function do_cdb_get_case, line 343
confd_cmd -o -d -d -c ‘set_case “/performance-measurement-objects/rx-window-measurement-objects” “object-unit-id” “RU”’
set_case “/performance-measurement-objects/rx-window-measurement-objects” “object-unit-id” “RU”
TRACE Connected (cdb) to ConfD
TRACE CDB_NEW_SESSION --> CONFD_OK
TRACE Established new CDB session to ConfD
TRACE CDB_SET_CASE /performance-measurement-objects/rx-window-measurement-objectsDEBUG badly formatted or nonexistent path - Not a cdb operational data path
–> CONFD_ERR
FAILED: cdb_set_case(cs, argv[1], argv[2], argv[0]), Error: badly formatted or nonexistent path (8): Not a cdb operational data path, in function do_cdb_set_case, line 484
confd_cmd -o -d -d -c ‘set_case “/performance-measurement-objects/rx-window-measurement-objects{RX_TOTAL}” “object-unit-id” “RU”’
set_case “/performance-measurement-objects/rx-window-measurement-objects{RX_TOTAL}” “object-unit-id” “RU”
TRACE Connected (cdb) to ConfD
TRACE CDB_NEW_SESSION --> CONFD_OK
TRACE Established new CDB session to ConfD
TRACE CDB_SET_CASE /performance-measurement-objects/rx-window-measurement-objects{RX_TOTAL}DEBUG badly formatted or nonexistent path - Not a cdb operational data path
–> CONFD_ERR
FAILED: cdb_set_case(cs, argv[1], argv[2], argv[0]), Error: badly formatted or nonexistent path (8): Not a cdb operational data path, in function do_cdb_set_case, line 484
Looking at the O-RAN specification, it seems like you are trying to get and set a list entry using cdb_get_case() and cdb_set_case() using the confd_cmd tool. This will of course not work.
I would have used confd_load tool to read the list and confd_cmd “mcreate” and “mset” to create list entries.
Thanks for clarifying. There seems to be a bug with “cdb_set_case” when the “choice” statement contains “config false” and is located inside something that is “config true”.
You can use MAAPI instead with the advantage that all CDB operational datastore changes are done in the “CDB oper transaction” are set then you apply them avoiding reads in-between your writes: