cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
407
Views
5
Helpful
2
Replies

Python action result needs page refresh

Islam_Hassanin
Beginner
Beginner

Dears,

used NSO ==> 5.3

 

i have created a simple python action that lists the interfaces of the device based on the type u choose as shown below

p2.PNG

, but when i click run it redirects me to the below page so i need to refresh page to see the outputp1.PNG

python Action:

p3.PNG

yang:

p4.PNG

how can i solve this to present the output within same page without reload it.

 

Thanks in advance!

1 Accepted Solution

Accepted Solutions

aelganzo
Cisco Employee
Cisco Employee

Hi Islam,

 

Why you need python for that?, You could use it from yang as below

 

leaf device {
tailf:info "device name";
type leafref {
path "/ncs:devices/ncs:device/ncs:name";
}
}


leaf interface-type {
type enumeration {
enum GigabitEthernet;
enum Ethernet;
enum FastEthernet;
enum loopback;
}
}
container interface-list {
// then you use a filter based on the interface xpath
// for ios-xr it's like
leaf GigabitEthernet {
when "current()/../../interface-type = 'GigabitEthernet'";
type leafref {
path "/ncs:devices/ncs:device[ncs:name=current()/../../device]/ncs:config/cisco-ios-xr:interface/cisco-ios-xr:GigabitEthernet/cisco-ios-xr:id";
}
}

// do the same based on your device ned

}

 

 

View solution in original post

2 Replies 2

aelganzo
Cisco Employee
Cisco Employee

Hi Islam,

 

Why you need python for that?, You could use it from yang as below

 

leaf device {
tailf:info "device name";
type leafref {
path "/ncs:devices/ncs:device/ncs:name";
}
}


leaf interface-type {
type enumeration {
enum GigabitEthernet;
enum Ethernet;
enum FastEthernet;
enum loopback;
}
}
container interface-list {
// then you use a filter based on the interface xpath
// for ios-xr it's like
leaf GigabitEthernet {
when "current()/../../interface-type = 'GigabitEthernet'";
type leafref {
path "/ncs:devices/ncs:device[ncs:name=current()/../../device]/ncs:config/cisco-ios-xr:interface/cisco-ios-xr:GigabitEthernet/cisco-ios-xr:id";
}
}

// do the same based on your device ned

}

 

 

Thanks @aelganzo 

 

i was just trying to implement some actions using python for other cases, but i got same issue "need to refresh the page".

BTW i tried same action with another NSO version, and it works properly now.

 

Thanks a lot for your response.

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the NSO Developer community:

Recognize Your Peers