OpenIxia / ixnetwork_restpy

The IxNetwork python client.
https://openixia.github.io/ixnetwork_restpy/#/
MIT License
30 stars 16 forks source link

Unable to create LAGs #52

Closed pwlodawi closed 3 years ago

pwlodawi commented 3 years ago

Hi,

I'm trying to add LAG using the following code but it fails. Are any additional steps required to setup a LAG ?

I get no errors. Simply "unconfigured" is printed 3 times. When I go to IxNetwork GUI it seems LAG is added but only partially. It's not listed under Ports/LAGs but when I click "Add LAGs" dialog windows is opened that shows the LAG was added (it's present on the right side of the window).

I use IxNetwork API server (9.10 Update1 and IxOS 9.10 Patch 1) and NOVUS100GE8Q28+FAN card. I managed to add and start LAG using IxNetwork GUI so I assume my setup is ok.

`tpl = TestPlatform('10.10.0.222', 11029) ixnetwork = tpl.Sessions.find().Ixnetwork a1 = ixnetwork.Vport.find(Name="access1") a2 = ixnetwork.Vport.find(Name="access2") ixnetwork.Lag.add("lag1", [a1, a2])

ixnetwork.Lag.find().Start() print(ixnetwork.Lag.find().AggregationStatus) sleep(5) print(ixnetwork.Lag.find().AggregationStatus) sleep(5) print(ixnetwork.Lag.find().AggregationStatus) sleep(5) `

dandelwa commented 3 years ago

While the code is correct, there is a small mistake in using the command to add Lag, One has to explicitly mention the argument name. hence the command will go like

ixnetwork.Lag.add(Name = "lag1", Vports = [a1, a2]) instead of ixnetwork.Lag.add("lag1", [a1, a2]) Also try to add the protocol stack, for ex you can do lag.ProtocolStack.add().Ethernet.add().Lagportlacp.add()

therkong commented 3 years ago

Hi, in the restpy docs there is this sample (traffic_over_lags.py):

https://openixia.github.io/ixnetwork_restpy/#/samples

pwlodawi commented 3 years ago

Hi,

Code like below worked for me a1 = ixnetwork.Vport.find(Name="access1") a2 = ixnetwork.Vport.find(Name="access2") lag1 = ixnetwork.Lag.add(Name="lag1", Vports=[a1, a2]) lacp = lag1.ProtocolStack.add().Ethernet.add().Lagportlacp.add() lacp.LacpduPeriodicTimeInterval.Single(1) lacp.LacpduTimeout.Single(3)

Thank you for your help.