Comments (10)
@alakendu I think it makes sense for the port name to be rewritten to the "fully-qualified location" of the port that includes the chassis hostname/IP. Sound good?
I have also filed a GoSnappi feature request that would eliminate the need for you to encode the full location in the port name: open-traffic-generator/snappi#187
from ondatra.
@jasdeep-hundal @greg-dennis Would you please offer your feedback and comment on this.
from ondatra.
Please give us a week to review as we have current Sprint tasks that need to be complete. Added @liulk for any comments he may have on the static binding changes.
from ondatra.
Does ixia-c really need to run inside a container as opposed to a standalone binary? Docker seems rather heavyweight. If we can run ixia-c gnmi/snappi server, controller, and hw controller from a shell script as an unprivileged user, then the static binding can just start them on demand and use reasonable defaults for the otg/gnmi ports.
By the way, the name of the dial options fields refer to the protocol or service that we expect to find there rather than the API. I know that otg
is the API, but is it also the name of the gRPC service?
from ondatra.
As per communication with @greg-dennis
1. We prefer it to be deployed as a docker container. We envision it replacing the dockerized IxNetwork that we have recently enabled.
2. We have a preference for docker compose, because we know we know Google Linux installations provide that already.
This is a new docker which has a relatively lesser memory footprint compared to regular IxNetwork.
I have proposed otg
name as we are planning to reuse DialOTG
for this static binding. Your concern is also valid. There are few names I can think of otghw
or ixiachw
from ondatra.
Yes, Greg and I also talked about this yesterday, and he brought up the possibility of running the Ixia-C docker on a different host than the test as a long running service. Also, as far as the static binding is concerned, it makes sense that the otg represents the hw chassis and therefore are synonymous.
I think given that, otg seems like a reasonable name for the dial option.
from ondatra.
- The diagram you posted shows the test running on the same Linux machine as the ixia-c containers. Can you confirm that it's not necessary for a test to run on the same machine?
- Is it possible for multiple tests to use the same ixia-c instance simultaneously? (Is there a similar concept to 'sessions' on IxNetwork?)
- Can you clarify 'name' in the comment "# Change this to the Ixia chassis name.". Does 'name' refer to the host/domain name of the chassis (and therefore could actually be IP as well), or does it mean something else?
- How is ixia-c itself configured with the physical chassis IP/hostname? Is that done per-test session, or is it configured at the container level? Related question: can one ixia-c deployment configure multiple physical chassis?
- The DialIxNetwork method (
Line 163 in 5011bd2
from ondatra.
Please find inline comments:
- The diagram you posted shows the test running on the same Linux machine as the ixia-c containers. Can you confirm that it's not necessary for a test to run on the same machine?
Yes, user can run test from any system
- Is it possible for multiple tests to use the same ixia-c instance simultaneously? (Is there a similar concept to 'sessions' on IxNetwork?)
No, It is not possible.
- Can you clarify 'name' in the comment "# Change this to the Ixia chassis name.". Does 'name' refer to the host/domain name of the chassis (and therefore could actually be IP as well), or does it mean something else?
Yes, name
could be IP-address/ host name
- How is ixia-c itself configured with the physical chassis IP/hostname? Is that done per-test session, or is it configured at the container level? Related question: can one ixia-c deployment configure multiple physical chassis?
ixia-c
work as a proxy. Ixia-c-HW
docker responsible to configure physical chassis.
Ixia-c-HW
can run against multiple physical chassis. But, I feel staticBinding have limitation to run multiple chassis if we consider similar IxNetwork concept.
- The DialIxNetwork method (
Line 163 in 5011bd2
) of the ATE Interface returns an IxNetwork type that includes an optional chassis IP because an IxNetwork instance may not be able to resolve the chassis hardware ports using the same host/domain name as listed in the ATE configuration. Do we need to provide a similar mechanism through DialOTG?
] I feel you are referring to (
ondatra/internal/ate/topology.go
Line 57 in 5011bd2
Yes, for ixia-c-hw also require similar mapping. At the same time our plan is to run OTG test against ixia-c-hw. But, DialOTG
interface will return gosnappi.GosnappiApi
. So, I am thinking to overwrite port name at the time of reservation.
if bd.Otg != nil {
p.Name = fmt.Sprintf("%s;%s", bd.Name, strings.ReplaceAll(bport.Name, "/", ";"))
} else {
p.Name = bport.Name
}
As an alternative we also think to provide port location within port name
ports {
id: "port1"
name: "10.39.33.143;1;1"
}
from ondatra.
@greg-dennis Thanks!
from ondatra.
Great! Closing issue as the design seems substantially resolved and reviewed.
from ondatra.
Related Issues (20)
- Data type mismatch error while running scripts : "invalid type ptr in leaflist" HOT 4
- LookupConfig fails test when path does not exist HOT 6
- gnmi.GetAll does not return containers with path complaince issue HOT 3
- gnmi.GetConfig: unmarshalling error because of unexpected leaf HOT 5
- delay issue when validating data with gnmi.GetAll/CollectAll HOT 4
- support needed to get RouteAnyPrefix() leaf and AsPath() leaves for BGP Rib HOT 5
- Misleading grpc logs HOT 2
- No option available to set media type in ATE HOT 3
- issue seen while configuring Level 1 and 2 together in ATE HOT 1
- RT-2.7_ancx: Ixia is not sending isis packets with authentication except for hello HOT 3
- crafting VLAN tagged frames HOT 8
- Request to include openconfig-platform-psu.yang in gnmi HOT 2
- feat: UseGetForConfig for Nokia HOT 2
- bootz oc model HOT 1
- OTG does not support NewConfig API HOT 1
- Ondatra does not support capture HOT 2
- Errors while building and execute Ondatra's unit tests - ondatra 1.19 and 1.21 dependencies (FAIL github.com/openconfig/ondatra [build failed]) HOT 2
- Errors after go generate ./... HOT 2
- go generate ./... and go build ./... errors HOT 2
- Request to add support for attestz HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ondatra.