- Notifications
You must be signed in to change notification settings - Fork3
Feature Profiles encapsulating device features.
License
nokia/featureprofiles
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Feature profiles defines groups of OpenConfig paths that can be invoked onnetwork devices. A feature profile may contain configuration, telemetry,operational or any other paths that a device exposes. Example management planedevice APIs are gNMI, and gNOI. Example control plane APIs are gRIBI, andprotocols such as BGP, IS-IS.
Feature profiles also includes a suite ofOndatra tests for validating thenetwork device behavior for each defined feature. If you are new to Ondatra,please start by reading the OndataREADME and taking theOndatratour.
For information about how to contribute to OpenConfig Feature Profiles, pleaseseeContributing to OpenConfig Feature Profiles.
Feedback and suggestions to improve OpenConfig Feature Profiles is welcomed onthepublic mailing list,or by opening a GitHubissue.
Warning: Though we are trying to use RFC defined non-globally routablespace in tests, there might be tests (e.g. scaling tests) that are still usingpublic routable ranges. Users who run the tests own the responsibility of notleaking test traffic to internet.
Tests may be run on virtual devices using theKubernetes Network Emulation binding.
First, follow thesteps for deploying a KNE cluster.Then follow the per-vendor instructions below for creating a KNE topology andrunning a test on it.
Arista cEOSimages can be obtained by contacting Arista.
- Create the topology:
kne create topologies/kne/arista/ceos/topology.textproto
- Run a sample test:
go test ./feature/example/tests/... -kne-topo $PWD/topologies/kne/arista/ceos/topology.textproto -vendor_creds ARISTA/admin/admin
- Cleanup:
kne delete topologies/kne/arista/ceos/topology.textproto
NOTE:
8000e
images require the host supports nested virtualization.
Cisco8000e
images can be obtained by contacting Cisco.
- Create the topology:
kne create topologies/kne/cisco/8000e/topology.textproto
- Run a sample test:
go test ./feature/example/tests/... -kne-topo $PWD/topologies/kne/cisco/8000e/topology.textproto -vendor_creds CISCO/cisco/cisco123
- Cleanup:
kne delete topologies/kne/cisco/8000e/topology.textproto
CiscoXRD
images can be obtained by contacting Cisco.
- Create the topology:
kne create topologies/kne/cisco/xrd/topology.textproto
- Run a sample test:
go test ./feature/example/tests/... -kne-topo $PWD/topologies/kne/cisco/xrd/topology.textproto -vendor_creds CISCO/cisco/cisco123
- Cleanup:
kne delete topologies/kne/cisco/xrd/topology.textproto
JuniperncPTX
images can be obtained by contacting Juniper.
- Create the topology:
kne create topologies/kne/juniper/ncptx/topology.textproto
- Run a sample test:
go test ./feature/example/tests/... -kne-topo $PWD/topologies/kne/juniper/ncptx/topology.textproto -vendor_creds JUNIPER/root/Google123
- Cleanup:
kne delete topologies/kne/juniper/ncptx/topology.textproto
SR Linux images can be foundhere.
- Create the topology:
kne create topologies/kne/nokia/srlinux/topology.textproto
- Run a sample test:
go test ./feature/example/tests/... -kne-topo $PWD/topologies/kne/nokia/srlinux/topology.textproto -vendor_creds NOKIA/admin/admin
- Cleanup:
kne delete topologies/kne/nokia/srlinux/topology.textproto
Tests may be run on real hardware devices using the static binding.
The static binding supports the testbeds in thetopologies/*.testbed
files.The mapping between the IDs in the testbed file and the physical devices areprovided by the correspondingtopologies/*.binding
files. To try it out, editotgdut_4.binding
to specify the mapping from testbed IDs to actual hardwaredevices, as well as the desired protocol dial options. Then test it by running:
go test ./feature/example/tests/topology_test -binding $PWD/topologies/otgdut_4.binding
Themake validate_paths
target will clone the public OpenConfig definitionsand report Feature Profiles that have invalid OpenConfig paths.