arunmu
March 10, 2018, 7:20am
1
Hello Folks,
We have a schema something like this:
augment project {
container vnfr-catalog {
config false;
list vnfr {
key id;
leaf id { ... }
.
.
.
list vdur {
key id;
leaf id {....}
}
}
}
}
We have specified corresponding tailf callpoint for this operational data at vnfd-catalog.
The augmented node “project” is a list.
Below confd_cli show command does not work:
amuralid-new-vm# show project default vnfr-catalog vnfr d064bbfd-11d5-40a4-b502-d1daedd56e8f vdur iovdu_0
--------------------------------------------------------------------------------------------------^
syntax error: unknown element
Though it is giving syntax error for “iovdu_0”, it does give the same value in possible completions. That means it is getting “iovdu_0” value from the backend.
The Data provider APIs getting called are:
<DEBUG> 9-Mar-2018::08:08:34.789 amuralid-new-vm confd[27532]: devel-c new_trans request daemon id: 0 thandle: 166
<DEBUG> 9-Mar-2018::08:08:34.790 amuralid-new-vm confd[27532]: devel-c new_trans succeeded daemon id: 0 session id: 166 worker id: 82
<DEBUG> 9-Mar-2018::08:08:34.791 amuralid-new-vm confd[27532]: devel-c get_elem request for callpoint rw_callpoint path /rw-project:project{default}/vnfr-catalog/vnfr{d064bbfd-11d5-40a4-b502-d1daedd56e8f}/id
<DEBUG> 9-Mar-2018::08:08:34.809 amuralid-new-vm confd[27532]: devel-c get_elem succeeded for callpoint rw_callpoint path /rw-project:project{default}/vnfr-catalog/vnfr{d064bbfd-11d5-40a4-b502-d1daedd56e8f}/id
<DEBUG> 9-Mar-2018::08:08:36.811 amuralid-new-vm confd[27532]: devel-c close_trans request daemon id: 0 session id: 166
<DEBUG> 9-Mar-2018::08:08:36.811 amuralid-new-vm confd[27532]: devel-c close_trans succeeded daemon id: 0 session id: 166
It is first asking for “vnfr:id” get_elem, we are returning the result and then it asks for nothing else.
I tried changing the callpoint location deeper at vnfr and also at vdur level. Still results in same behaviour.
Confd version : 6.1
Any idea what could be the cause or how to debug it further ?
Thanks.
greg
March 12, 2018, 5:25pm
2
Do you know what value you are returning for the id element? If it doesn’t match what was returned on the get_next, when the key was fetched, it couild be exiting because the key fetched as a leaf does not match the key fetched with get_next.
arunmu
March 13, 2018, 5:55am
3
Hi greg,
I do not see any get_next call being done as per the trace. Only get_elem is being called.
cohult
March 13, 2018, 1:05pm
4
@arunmu , what @greg want you to check is what value you return from your get_elem() callback.
I put my 2 cents on that you reply with confd_data_reply_not_found(your_tctx).
arunmu
March 14, 2018, 5:59am
5
Thanks @cohult and @greg . I checked whether that is the issue or not by turning on the confd_trace.
rift# show project default vnfr-catalog vnfr 30da187a-bac7-4a61-9010-23c522361eb7 vdur iovdu_0
TRACE CALL trans init(thandle=93,mode="r",db=running) --> CONFD_OK
TRACE CALL data get_elem(thandle=93,/project{default}/vnfr-catalog/vnfr{30da187a-bac7-4a61-9010-23c522361eb7}/id) --> CONFD_DELAYED_RESPONSE
(30da187a-bac7-4a61-9010-23c522361eb7)
project:
name :default
vnfr-catalog:
vnfr:
id :30da187a-bac7-4a61-9010-23c522361eb7
rift# TRACE CALL trans finish(thandle=93) --> CONFD_OK
So get_elem does reply with valid data. Or am I missing something ?
arunmu
March 14, 2018, 6:12am
6
The trace when I dont request for a particular key (‘iovdu_0’)
rift# show project default vnfr-catalog vnfr 7c5cd46a-cf89-46fb-ba19-cd1561f4f051 vdur
TRACE CALL trans init(thandle=93,mode="r",db=running) --> CONFD_OK
TRACE CALL data get_elem(thandle=93,/project{default}/vnfr-catalog/vnfr{7c5cd46a-cf89-46fb-ba19-cd1561f4f051}/id) --> CONFD_DELAYED_RESPONSE
(7c5cd46a-cf89-46fb-ba19-cd1561f4f051) TRACE CALL data get_next_object(thandle=93, /project{default}/vnfr-catalog/vnfr{7c5cd46a-cf89-46fb-ba19-cd1561f4f051}/vdur, -1) --> CONFD_DELAYED_RESPONSE
TRACE CALL data get_case(thandle=93, /project{default}/vnfr-catalog/vnfr{7c5cd46a-cf89-46fb-ba19-cd1561f4f051}/vdur{iovdu_0}/guest-epa, numa-policy) (NOEXISTS) --> CONFD_OK
TRACE CALL data get_next_object(thandle=93, /project{default}/vnfr-catalog/vnfr{7c5cd46a-cf89-46fb-ba19-cd1561f4f051}/vdur{iovdu_0}/guest-epa/pcie-device, -1) --> CONFD_OK
TRACE CALL data get_next_object(thandle=93, /project{default}/vnfr-catalog/vnfr{7c5cd46a-cf89-46fb-ba19-cd1561f4f051}/vdur{iovdu_0}/host-epa/cpu-feature, -1) --> CONFD_OK
TRACE CALL data get_next_object(thandle=93, /project{default}/vnfr-catalog/vnfr{7c5cd46a-cf89-46fb-ba19-cd1561f4f051}/vdur{iovdu_0}/host-epa/om-cpu-feature, -1) --> CONFD_OK
TRACE CALL data get_next_object(thandle=93, /project{default}/vnfr-catalog/vnfr{7c5cd46a-cf89-46fb-ba19-cd1561f4f051}/vdur{iovdu_0}/supplemental-boot-data/config-file, -1) --> CONFD_OK
TRACE CALL data get_next_object(thandle=93, /project{default}/vnfr-catalog/vnfr{7c5cd46a-cf89-46fb-ba19-cd1561f4f051}/vdur{iovdu_0}/supplemental-boot-data/custom-meta-data, -1) --> CONFD_OK
TRACE CALL data get_next_object(thandle=93, /project{default}/vnfr-catalog/vnfr{7c5cd46a-cf89-46fb-ba19-cd1561f4f051}/vdur{iovdu_0}/volumes, -1) --> CONFD_OK
TRACE CALL data get_next_object(thandle=93, /project{default}/vnfr-catalog/vnfr{7c5cd46a-cf89-46fb-ba19-cd1561f4f051}/vdur{iovdu_0}/internal-connection-point, -1) --> CONFD_OK
TRACE CALL data get_next_object(thandle=93, /project{default}/vnfr-catalog/vnfr{7c5cd46a-cf89-46fb-ba19-cd1561f4f051}/vdur{iovdu_0}/interface, -1) --> CONFD_OK
TRACE CALL data get_case(thandle=93, /project{default}/vnfr-catalog/vnfr{7c5cd46a-cf89-46fb-ba19-cd1561f4f051}/vdur{iovdu_0}/interface{ens3}, connection-point-type) (external) --> CONFD_OK
TRACE CALL data get_case(thandle=93, /project{default}/vnfr-catalog/vnfr{7c5cd46a-cf89-46fb-ba19-cd1561f4f051}/vdur{iovdu_0}/interface{ens4}, connection-point-type) (external) --> CONFD_OK
TRACE CALL data get_next_object(thandle=93, /project{default}/vnfr-catalog/vnfr{7c5cd46a-cf89-46fb-ba19-cd1561f4f051}/vdur{iovdu_0}/interface, 0) --> CONFD_OK
TRACE CALL data get_next_object(thandle=93, /project{default}/vnfr-catalog/vnfr{7c5cd46a-cf89-46fb-ba19-cd1561f4f051}/vdur{iovdu_0}/placement-groups-info, -1) --> CONFD_OK
TRACE CALL data get_next_object(thandle=93, /project{default}/vnfr-catalog/vnfr{7c5cd46a-cf89-46fb-ba19-cd1561f4f051}/vdur{iovdu_0}/operational-events, -1) --> CONFD_OK
TRACE CALL data get_next_object(thandle=93, /project{default}/vnfr-catalog/vnfr{7c5cd46a-cf89-46fb-ba19-cd1561f4f051}/vdur, 0) --> CONFD_OK