cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
356
Views
5
Helpful
3
Replies

I see devicelist remove in NSO 5.6.4 version and was there NSO 5.4.2

himanss4
Cisco Employee
Cisco Employee

Why devicelist has been remove in from service package instance in latest NSO 5.6.4

onlydevice.png

But in older version we have devicelist and device both.

 

bothdeviceanddevicelist.png

 

Any reason of removing ? do NSO team thing only one is sufficent?

3 Replies 3

Nabsch
Spotlight
Spotlight

the leaf is still there but it was changed to hidden . You can access to it only throught JAVA or Python.

 

 

 

nabil@DESKTOP-8ECTID4:~/ncs-5.8/src/ncs/yang$ grep  -n -i -B 10 -A 10  "device-list" tailf-ncs-services.yang
52-  }
53-
54-  revision 2021-09-02 {
55-    description
56-      "Released as part of NCS-5.6.
57-
58-       Non-backwards-compatible changes have been introduced.
59-
60-       Updated showing data modifications from get-modifications
61-
62:       Removed service leaf-list 'device-list'.
63-
64-       Removed the action /services/commit-dry-run.
65-
66-       Added /services/global-settings/service-callback-timeout.
67-
68-       Obsoleted the commit-queue-failed enum for
69-       commit-queue/queue-item/status leaf in the service-commit-queue
70-       grouping. Use failed enum instead.
71-
72-       Removed commit-queue/queue-item/no-of-impacted-services leaf
--
81-    description
82-      "Released as part of NCS-5.5.
83-
84-       Added 'wait-for-lock' grouping to 'deep-check-sync' input.";
85-  }
86-
87-  revision 2020-06-25 {
88-    description
89-      "Released as part of NCS-5.4.
90-
91:       Marked service leaf-list 'device-list' obsolete, use service
92-       'modified' and 'directly-modified' instead.
93-
94-       Marked the action /services/commit-dry-run as obsolete,
95-       use 'commit dry-run' instead.
96-
97-       Added plan-location to the service-data.";
98-  }
99-
100-  revision 2020-02-20 {
101-    description
--
197-
198-       Changed the output format for 'check-sync', 'deep-check-sync',
199-       're-deploy' and 'commit-dry-run' to be consistent.";
200-  }
201-
202-  revision 2015-11-24 {
203-    description
204-      "Released as part of NCS-4.1.
205-
206-       Added service private data:
207:       'private/device-list' and 'private/service-list'.
208-
209-       Added parameters, 'shallow' and 'deep'  to service action
210-       'check-sync'.
211-
212-       Added parameters, 'shallow' and 'deep'  to service action
213-       're-deploy'.
214-
215-       Added parameters, 'shallow' and 'deep'  to service action
216-       'get-modifications'.
217-
218-       Added service 'modified' and 'directly-modified'.
219-
220:       Deprecated service leaf-list 'device-list', use service
221-       'modified' and 'directly-modified' instead.
222-
223-       Added grouping service-reactive-re-deploy and the use hereof.";
224-  }
225-
226-  revision 2015-03-19 {
227-    description
228-      "Released as part of NCS-3.4.
229-
230-       Minor description enhancements.";
--
731-        type binary;
732-      }
733-      leaf forward-diff-set {
734-        description
735-          "Internal node use by NCS service manager to remember
736-           the forwards diff for a service instance. This data is
737-           is used to produce the proper 'get-modifications' output";
738-        tailf:hidden full;
739-        type binary;
740-      }
741:      leaf-list device-list {
742-        description
743-          "A list of managed devices this service instance has manipulated.";
744-        tailf:hidden full;
745-        type string;
746-      }
747-      leaf-list ned-id-list {
748-        description
749-          "A list of NED identities this service instance has manipulated.";
750-        tailf:hidden full;
751-        type string;
nabil@DESKTOP-8ECTID4:~/ncs-5.8/src/ncs/yang$
nabil@DESKTOP-8ECTID4:~/ncs-5.8/src/ncs/yang$ grep  -n -i -B 35 -A 40  "full" tailf-common*
tailf-common.yang-2159-      log in clear text but will appear as ***.";
tailf-common.yang-2160-  }
tailf-common.yang-2161-
tailf-common.yang-2162-  extension hidden {
tailf-common.yang-2163-    argument tag {
tailf-common.yang-2164-      tailf:arg-type {
tailf-common.yang-2165-        type string {
tailf-common.yang-2166-          pattern '[^\*].*|..+'; // must not be single '*'
tailf-common.yang-2167-// YANG 1.1:
tailf-common.yang-2168-//          pattern '\*' {
tailf-common.yang-2169-//            modifier invert-match;
tailf-common.yang-2170-//          }
tailf-common.yang-2171-        }
tailf-common.yang-2172-      }
tailf-common.yang-2173-    }
tailf-common.yang-2174-    tailf:use-in "leaf";
tailf-common.yang-2175-    tailf:use-in "leaf-list";
tailf-common.yang-2176-    tailf:use-in "list";
tailf-common.yang-2177-    tailf:use-in "container";
tailf-common.yang-2178-    tailf:use-in "tailf:action";
tailf-common.yang-2179-    tailf:use-in "refine";
tailf-common.yang-2180-    tailf:use-in "rpc";
tailf-common.yang-2181-    tailf:use-in "action";
tailf-common.yang-2182-    tailf:occurence "*";
tailf-common.yang-2183-
tailf-common.yang-2184-    description
tailf-common.yang-2185-      "This statement can be used to hide a node from some, or all,
tailf-common.yang-2186-      northbound interfaces.  All nodes with the same value are
tailf-common.yang-2187-      considered a hide group and are treated the same with regards to
tailf-common.yang-2188-      being visible or not in a northbound interface.
tailf-common.yang-2189-
tailf-common.yang-2190-      A node with an hidden property is not shown in the northbound
tailf-common.yang-2191-      user interfaces (CLI and Web UI) unless an 'unhide' operation has
tailf-common.yang-2192-      been performed in the user interface.
tailf-common.yang-2193-
tailf-common.yang:2194:      The hidden value 'full' indicates that the node should be hidden
tailf-common.yang-2195-      from all northbound interfaces, including programmatical interfaces
tailf-common.yang-2196-      such as NETCONF.
tailf-common.yang-2197-
tailf-common.yang-2198-      The value '*' is not valid.
tailf-common.yang-2199-
tailf-common.yang-2200-      A hide group can be unhidden only if this has been explicitly
tailf-common.yang-2201-      allowed in the confd.conf(5) daemon configuration.
tailf-common.yang-2202-
tailf-common.yang-2203-      Multiple hide groups can be specified by giving this statement
tailf-common.yang-2204-      multiple times.  The node is shown if any of the specified hide groups
tailf-common.yang-2205-      has been given in the 'unhide' operation.
tailf-common.yang-2206-
tailf-common.yang-2207-      The CLI does not support using this extension on key leafs where
tailf-common.yang-2208-      it will be ignored.
tailf-common.yang-2209-
tailf-common.yang-2210-      Note that if a mandatory node is hidden, a hook callback
tailf-common.yang-2211-      function (or similar) might be needed in order to set the
tailf-common.yang-2212-      element.";
tailf-common.yang-2213-  }

 

 

 

Example on how to access in Python on NSO 5.8

 

In [1]: dev_list  = root.vpn.l3vpn["aa"].private.device_list

In [2]: for dev in dev_list:
   ...:     print(dev)
   ...:
TEST-IOS-XR-3.01

 

 

Also, as per the note, please look in the modified container, that is probably easiest.

I see it is as private, Quick question, then to fetch device attach to service instance , we can use device instead of device-list. Device-list don't have any device. 

 

In [1]: dev_list  = root.vpn.l3vpn["aa"].device

In [2]: for dev in dev_list:
   ...:     print(dev)

@vle   So we can use this to fetch all device attached to NSO service package instance. . SO we should not use devicelist as that is private.