From 88abeb15ab67529a130ba457245b373953f215c6 Mon Sep 17 00:00:00 2001 From: biplamal Date: Mon, 23 Dec 2024 03:08:04 +0000 Subject: [PATCH] Release 1.19.0-5 --- conformance | 2 +- .../k8s/components/images/kustomization.yaml | 8 +- deployments/k8s/network-emulation/go.mod | 12 +-- deployments/k8s/network-emulation/go.sum | 44 ++++++--- deployments/k8s/network-emulation/pods.yaml | 10 +- deployments/k8s/network-emulation/readme.md | 12 +-- docs/deployments-kne.md | 26 ++--- docs/developer/hello-snappi.md | 2 +- docs/news.md | 6 +- docs/releases.md | 99 ++++++++++++++++++- docs/tests-chassis-app.md | 6 +- notes.md | 95 +++++++++++------- readme.md | 8 +- 13 files changed, 234 insertions(+), 96 deletions(-) diff --git a/conformance b/conformance index 01a46c9..e3e74bf 160000 --- a/conformance +++ b/conformance @@ -1 +1 @@ -Subproject commit 01a46c9eb00d3169d28f6887a278295a1add24c6 +Subproject commit e3e74bf2487ea3d0d300f956198cdb7bb37cb88b diff --git a/deployments/k8s/components/images/kustomization.yaml b/deployments/k8s/components/images/kustomization.yaml index 285b94b..5e3bfb6 100644 --- a/deployments/k8s/components/images/kustomization.yaml +++ b/deployments/k8s/components/images/kustomization.yaml @@ -1,14 +1,14 @@ apiVersion: kustomize.config.k8s.io/v1alpha1 kind: Component -# Release: https://github.com/open-traffic-generator/ixia-c/releases/tag/v1.17.0-9 +# Release: https://github.com/open-traffic-generator/ixia-c/releases/tag/v1.19.0-5 images: - name: keng-controller newName: ghcr.io/open-traffic-generator/keng-controller - newTag: "1.17.0-9" + newTag: "1.19.0-5" - name: otg-gnmi-server newName: ghcr.io/open-traffic-generator/otg-gnmi-server - newTag: "1.14.18" + newTag: "1.19.0" - name: ixia-c-traffic-engine newName: ghcr.io/open-traffic-generator/ixia-c-traffic-engine - newTag: "1.8.0.193" + newTag: "1.8.0.241" diff --git a/deployments/k8s/network-emulation/go.mod b/deployments/k8s/network-emulation/go.mod index eaa1ebe..3c3d5c7 100644 --- a/deployments/k8s/network-emulation/go.mod +++ b/deployments/k8s/network-emulation/go.mod @@ -2,18 +2,18 @@ module ipfwd go 1.23 -require github.com/open-traffic-generator/snappi/gosnappi v1.17.0 +require github.com/open-traffic-generator/snappi/gosnappi v1.19.0 require ( github.com/Masterminds/semver/v3 v3.3.1 // indirect github.com/ghodss/yaml v1.0.0 // indirect github.com/kr/text v0.2.0 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect - golang.org/x/net v0.29.0 // indirect - golang.org/x/sys v0.25.0 // indirect - golang.org/x/text v0.18.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 // indirect - google.golang.org/grpc v1.68.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53 // indirect + google.golang.org/grpc v1.69.0 // indirect google.golang.org/protobuf v1.35.2 // indirect gopkg.in/yaml.v2 v2.2.3 // indirect ) diff --git a/deployments/k8s/network-emulation/go.sum b/deployments/k8s/network-emulation/go.sum index 436aec5..24747da 100644 --- a/deployments/k8s/network-emulation/go.sum +++ b/deployments/k8s/network-emulation/go.sum @@ -5,34 +5,50 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= +github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/open-traffic-generator/snappi/gosnappi v1.17.0 h1:G8VbL5QaK1J8XJinje6M80Kb8rcIgHctXhaH5TBygbo= -github.com/open-traffic-generator/snappi/gosnappi v1.17.0/go.mod h1://P6LhueOFqgcepV74ZVtm5oJA3MPqWDCd+0zNnJZYY= +github.com/open-traffic-generator/snappi/gosnappi v1.19.0 h1:N46mldgGRrxuSIIbgSpIivVoDfog+wizKWGaR0eU1wo= +github.com/open-traffic-generator/snappi/gosnappi v1.19.0/go.mod h1:sWDRer3XL6it+ObVnpI2hSOg3RjD+T63HLo/a4jik2U= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= -github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= -github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo= -golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0= -golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34= -golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224= -golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 h1:pPJltXNxVzT4pK9yD8vR9X75DaWYYmLGMsEvBfFQZzQ= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.68.0 h1:aHQeeJbo8zAkAa3pRzrVjZlbz6uSfeOXlJNQM0RAbz0= -google.golang.org/grpc v1.68.0/go.mod h1:fmSPC5AsjSBCK54MyHRx48kpOti1/jRfOlwEWywNjWA= +github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= +github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53 h1:X58yt85/IXCx0Y3ZwN6sEIKZzQtDEYaBWrDvErdXrRE= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= +google.golang.org/grpc v1.69.0 h1:quSiOM1GJPmPH5XtU+BCoVXcDVJJAzNcoyfC2cCjGkI= +google.golang.org/grpc v1.69.0/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4= google.golang.org/protobuf v1.35.2 h1:8Ar7bF+apOIoThw1EdZl0p1oWvMqTHmpA2fRTyZO8io= google.golang.org/protobuf v1.35.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/deployments/k8s/network-emulation/pods.yaml b/deployments/k8s/network-emulation/pods.yaml index 73176a0..72c4eff 100644 --- a/deployments/k8s/network-emulation/pods.yaml +++ b/deployments/k8s/network-emulation/pods.yaml @@ -28,7 +28,7 @@ spec: - args: - --accept-eula - --debug - image: ghcr.io/open-traffic-generator/keng-controller:1.17.0-9 + image: ghcr.io/open-traffic-generator/keng-controller:1.19.0-5 imagePullPolicy: IfNotPresent name: keng-controller volumeMounts: @@ -63,7 +63,7 @@ spec: value: "5555" - name: ARG_CORE_LIST value: 1 1 1 - image: ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.8.0.193 + image: ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.8.0.241 imagePullPolicy: IfNotPresent name: ixia-c-port1-traffic-engine securityContext: @@ -71,7 +71,7 @@ spec: - env: - name: INTF_LIST value: eth1 - image: ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.419 + image: ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.424 imagePullPolicy: IfNotPresent name: ixia-c-port1-protocol-engine securityContext: @@ -99,7 +99,7 @@ spec: value: "5555" - name: ARG_CORE_LIST value: 1 1 1 - image: ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.8.0.193 + image: ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.8.0.241 imagePullPolicy: IfNotPresent name: ixia-c-port2-traffic-engine securityContext: @@ -107,7 +107,7 @@ spec: - env: - name: INTF_LIST value: eth2 - image: ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.419 + image: ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.424 imagePullPolicy: IfNotPresent name: ixia-c-port2-protocol-engine securityContext: diff --git a/deployments/k8s/network-emulation/readme.md b/deployments/k8s/network-emulation/readme.md index def09ca..f476f75 100644 --- a/deployments/k8s/network-emulation/readme.md +++ b/deployments/k8s/network-emulation/readme.md @@ -67,9 +67,9 @@ To achieve this, we'll be using [Meshnet CNI](https://github.com/networkop/meshn docker login ghcr.io # download ixia-c images - docker pull ghcr.io/open-traffic-generator/keng-controller:1.17.0-9 - docker pull ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.8.0.193 - docker pull ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.419 + docker pull ghcr.io/open-traffic-generator/keng-controller:1.19.0-5 + docker pull ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.8.0.241 + docker pull ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.424 # download DUT image docker pull ubuntu:22.04 @@ -80,9 +80,9 @@ To achieve this, we'll be using [Meshnet CNI](https://github.com/networkop/meshn docker pull networkop/init-wait:latest # push images to nodes - kind load docker-image ghcr.io/open-traffic-generator/keng-controller:1.17.0-9 - kind load docker-image ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.8.0.193 - kind load docker-image ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.419 + kind load docker-image ghcr.io/open-traffic-generator/keng-controller:1.19.0-5 + kind load docker-image ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.8.0.241 + kind load docker-image ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.424 kind load docker-image ubuntu:22.04 kind load docker-image networkop/meshnet:latest kind load docker-image networkop/init-wait:latest diff --git a/docs/deployments-kne.md b/docs/deployments-kne.md index 32dfa34..59bb37b 100644 --- a/docs/deployments-kne.md +++ b/docs/deployments-kne.md @@ -58,32 +58,32 @@ Following are the recommended resources for a basic use-case. data: versions: | { - "release": "1.17.0-9", + "release": "1.19.0-5", "images": [ { "name": "controller", "path": "ghcr.io/open-traffic-generator/keng-controller", - "tag": "1.17.0-9" + "tag": "1.19.0-5" }, { "name": "gnmi-server", "path": "ghcr.io/open-traffic-generator/otg-gnmi-server", - "tag": "1.14.18" + "tag": "1.19.0" }, { "name": "traffic-engine", "path": "ghcr.io/open-traffic-generator/ixia-c-traffic-engine", - "tag": "1.8.0.193" + "tag": "1.8.0.241" }, { "name": "protocol-engine", "path": "ghcr.io/open-traffic-generator/ixia-c-protocol-engine", - "tag": "1.00.0.419" + "tag": "1.00.0.424" }, { "name": "ixhw-server", "path": "ghcr.io/open-traffic-generator/keng-layer23-hw-server", - "tag": "1.17.0-1" + "tag": "1.19.0-5" } ] } @@ -100,12 +100,12 @@ Following are the recommended resources for a basic use-case. data: versions: | { - "release": "1.17.0-9", + "release": "1.19.0-5", "images": [ { "name": "controller", "path": "ghcr.io/open-traffic-generator/keng-controller", - "tag": "1.17.0-9", + "tag": "1.19.0-5", "env": { "LICENSE_SERVERS": "ip/hostname of license server" } @@ -113,22 +113,22 @@ Following are the recommended resources for a basic use-case. { "name": "gnmi-server", "path": "ghcr.io/open-traffic-generator/otg-gnmi-server", - "tag": "1.14.18" + "tag": "1.19.0" }, { "name": "traffic-engine", "path": "ghcr.io/open-traffic-generator/ixia-c-traffic-engine", - "tag": "1.8.0.193" + "tag": "1.8.0.241" }, { "name": "protocol-engine", "path": "ghcr.io/open-traffic-generator/ixia-c-protocol-engine", - "tag": "1.00.0.419" + "tag": "1.00.0.424" }, { "name": "ixhw-server", "path": "ghcr.io/open-traffic-generator/keng-layer23-hw-server", - "tag": "1.17.0-1" + "tag": "1.19.0-5" } ] } @@ -148,7 +148,7 @@ Following are the recommended resources for a basic use-case. nodes: - name: otg vendor: KEYSIGHT - version: 1.17.0-9 + version: 1.19.0-5 services: 8443: name: https diff --git a/docs/developer/hello-snappi.md b/docs/developer/hello-snappi.md index ca94533..6014f27 100644 --- a/docs/developer/hello-snappi.md +++ b/docs/developer/hello-snappi.md @@ -24,7 +24,7 @@ After the set up is completed, install the python packages: * [dpkt](https://pypi.org/project/dpkt/) - for processing `.pcap` files. ```sh -python -m pip install --upgrade snappi==1.17.0 dpkt +python -m pip install --upgrade snappi==1.19.0 dpkt ``` ## Create the API Handle diff --git a/docs/news.md b/docs/news.md index c4acc66..b54d552 100644 --- a/docs/news.md +++ b/docs/news.md @@ -1,6 +1,10 @@ # News -* **29th November, 2024**: Ixia-c version 1.17.0 (build 9) released. This conforms to **[v1.17.0](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/open-traffic-generator/models/v1.16.0/artifacts/openapi.yaml)** of the Open Traffic Generator Models specification. +* **23rd December, 2024**: Ixia-c version 1.19.0 (build 5) released. This conforms to **[v1.19.0](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/open-traffic-generator/models/v1.19.0/artifacts/openapi.yaml)** of the Open Traffic Generator Models specification. + + * This build includes new features and bug fixes. [Read more](releases.md) + +* **29th November, 2024**: Ixia-c version 1.17.0 (build 9) released. This conforms to **[v1.17.0](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/open-traffic-generator/models/v1.17.0/artifacts/openapi.yaml)** of the Open Traffic Generator Models specification. * This build includes new features and bug fixes. [Read more](releases.md) diff --git a/docs/releases.md b/docs/releases.md index aa5db36..93291e9 100644 --- a/docs/releases.md +++ b/docs/releases.md @@ -1,6 +1,103 @@ # Ixia-c Release Notes and Version Compatibility -## Release v1.17.0-9 (Latest) +## Release v1.19.0-5 (Latest) +> 23rd December, 2024 + +#### Build Details + +| Component | Version | +|-------------------------------|---------------| +| Open Traffic Generator API | [1.19.0](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/open-traffic-generator/models/v1.19.0/artifacts/openapi.yaml) | +| snappi | [1.19.0](https://pypi.org/project/snappi/1.19.0) | +| gosnappi | [1.19.0](https://pkg.go.dev/github.com/open-traffic-generator/snappi/gosnappi@v1.19.0) | +| keng-controller | [1.19.0-5](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-controller) | +| ixia-c-traffic-engine | [1.8.0.241](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-traffic-engine) | +| keng-app-usage-reporter | [0.0.1-52](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-app-usage-reporter) | +| ixia-c-protocol-engine | [1.00.0.424](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-protocol-engine) | +| keng-layer23-hw-server | [1.19.0-5](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-layer23-hw-server) | +| keng-operator | [0.3.34](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-operator) | +| otg-gnmi-server | [1.19.0](https://github.com/orgs/open-traffic-generator/packages/container/package/otg-gnmi-server) | +| ixia-c-one | [1.19.0-5](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-one/) | +| UHD400 | [1.5.1](https://downloads.ixiacom.com/support/downloads_and_updates/public/UHD400/1.5/1.5.1/artifacts.tar) | + + +# Release Features(s) + +* Ixia-C: Support added to send flows over DHCPv6 endpoints. + ```go + f1 := config.Flows().Add()​ + f1.SetName(flowName).​ + TxRx().Device().​ + SetTxNames([]string{"p1d1dhcpv6_1"}).​ + SetRxNames([]string{"p2d1ipv6"})​ + f1Ip := f1.Packet().Add().Ipv6()​ + // will be populated automatically with the the dynamically allocated Ip to DHCP client​ + f1Ip.Src().Auto().Dhcp()​ + …​ + f2Ip.Dst().Auto().Dhcp()​ + ``` + +* Ixia Chassis & Appliances(Novus, AresOne): Support added to retrieve timestamp of the last link state change event of the test port. [More Details](https://github.com/open-traffic-generator/models/pull/398) + - This can be retrieved by accessing `port_metrics[i].last_change`. + + Note: + - As mentioned in the `Known Issues`, ports being used in the tests must be rebooted once after upgrading to the latest version of `keng-layer23-hw-server`. + - Test ports and DUT must be time synced to the same time source if link state change timestamps need to be co-related. + +* Ixia Chassis & Appliances(Novus, AresOne): Support added for RSVP over ISIS Simulated Topology. + ```go + // Create RSVP neighbor on interface connected to DUT. + // Note that get_states and get_metrics are supported only for the connected RSVP neighbors. + p2RsvpNeighbor := p2d1.Rsvp().SetName("p2RsvpNbr") + p2RsvpNeighbor.Ipv4Interfaces(). + Add().SetIpv4Name(p2d1Ipv4.Name()). + SetNeighborIp(p2d1Ipv4.Gateway()) + + // Create RSVP ingress LSPs on the loopback behind the simulated topology. + fromLoRsvpIngress := fromLoRsvpLsp.P2PIngressIpv4Lsps().Add().SetName("ingressLsp") + fromLoRsvpIngress.SetRemoteAddress("1.1.1.1").SetTunnelId(100) + + // Create RSVP egress endpoint on the loopback behind the simulated topology. + toLoRsvpLsp := toLoRsvpPeer.LspIpv4Interfaces().Add().SetIpv4Name("loopback") + toLoRsvpLspEgress := toLoRsvpLsp.P2PEgressIpv4Lsps().SetName("egressLsp") + + // Note: for TE SPF to work properly on DUT, ensure you have added TrafficEngineering to all ISIS interfaces. + te = p2d1IsisIntf.TrafficEngineering().Add().SetMetricLevel(10) + te.PriorityBandwidths(). + SetPb0(125000000). + ... + SetPb7(125000000) + ``` + + + +### Bug Fix(s) +* Ixia Chassis & Appliances(Novus, AresOne): Issue is fixed where `set_config` was failing with the error `"BgpIPRouteRange is missing"` when IPv4 routes with IPv6 next-hops (RFC5549) was configured. + +* Ixia Chassis & Appliances(Novus, AresOne): Issue is fixed where `get_states` on `bgpv4/6_prefixes` was returning error `"Error occurred while fetching bgp_prefix states:Length cannot be less than zero. (Parameter 'length')"` if the prefix contained `as_path` with multiple segments. + +* Ixia-C, UHD400: Issue is fixed where `get_states` for `isis` was returning IPv6 prefixes in upper case causing prefix match for IPv6 prefixes to fail in tests. + +* Ixia-C: Issue is fixed where `set_config` was failing with error `"Error occurred while setting Traffic config (Layer1 only) for user common:Error fetching stats for port port9: unsuccessful Response: Port 7 is not added"` when the traffic engine was deployed in multi nic mode (e.g. for lag setups with 8 ports). + +* Ixia-C: Issue is fixed where the traffic engine was crashing on deployment using a single cpu core (`--cpuset-cpus="0-1"`). + +* VM Licensing: Issue is fixed for users using the VM License Server where, after a reboot, license-server VM serving multiple keng-controller(s) did not come up and tests running with those controller(s) started failing. + + + +#### Known Issues +* Ixia Chassis & Appliances(Novus, AresOne): If `keng-layer23-hw-server` version is upgraded/downgraded, the ports which will be used from this container must be rebooted once before running the tests. +* Ixia Chassis & Appliances(Novus, AresOne): `StartProtocols`/`set_control_state.protocol.all.start` can get stuck till the time all DHPCv4/v6 clients receive the leased IPv4/v6 addresses from the DHCPv4/v6 server/relay agent. This may result in getting `"context deadline exceeded"` error in the test program. +* UHD400: Packets will not be transmitted if `flows[i].rate.pps` is less than 50. +* UHD400: `values` for fields in flow packet headers can be created with maximum length of 1000 values. If larger set of values are required for a field which are random, please use `random` instead of `values`. +* Ixia-C: Flow Tx is incremented for flow with tx endpoints as LAG, even if no packets are sent on the wire when all active links of the LAG are down. +* Ixia-C: Supported value for `flows[i].metrics.latency.mode` is `cut_through`. +* Ixia-C: The metric `loss` in flow metrics is currently not supported. +* Ixia-C: When flow transmit is started, transmission will be restarted on any existing flows already transmitting packets. + + +## Release v1.17.0-9 > 29th November, 2024 #### Build Details diff --git a/docs/tests-chassis-app.md b/docs/tests-chassis-app.md index b1bf680..b79fc8b 100644 --- a/docs/tests-chassis-app.md +++ b/docs/tests-chassis-app.md @@ -75,7 +75,7 @@ The following procedure shows an example of how to deploy using Docker Compose. ``` services: keng-controller: - image: ghcr.io/open-traffic-generator/keng-controller:1.17.0-9 + image: ghcr.io/open-traffic-generator/keng-controller:1.19.0-5 restart: always depends_on: keng-layer23-hw-server: @@ -94,7 +94,7 @@ logging: max-file: "10" mode: "non-blocking" keng-layer23-hw-server: - image: ghcr.io/open-traffic-generator/keng-layer23-hw-server:1.17.0-1 + image: ghcr.io/open-traffic-generator/keng-layer23-hw-server:1.19.0-5 restart: always command: - "dotnet" @@ -109,7 +109,7 @@ logging: max-file: "10" mode: "non-blocking" otg-gnmi-server: - image: ghcr.io/open-traffic-generator/otg-gnmi-server:1.14.18 + image: ghcr.io/open-traffic-generator/otg-gnmi-server:1.19.0 restart: always depends_on: keng-controller: diff --git a/notes.md b/notes.md index 8f26a5a..5d57a4d 100644 --- a/notes.md +++ b/notes.md @@ -2,65 +2,86 @@ | Component | Version | |-------------------------------|---------------| -| Open Traffic Generator API | [1.17.0](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/open-traffic-generator/models/v1.17.0/artifacts/openapi.yaml) | -| snappi | [1.17.0](https://pypi.org/project/snappi/1.17.0) | -| gosnappi | [1.17.0](https://pkg.go.dev/github.com/open-traffic-generator/snappi/gosnappi@v1.17.0) | -| keng-controller | [1.17.0-9](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-controller) | -| ixia-c-traffic-engine | [1.8.0.193](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-traffic-engine) | +| Open Traffic Generator API | [1.19.0](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/open-traffic-generator/models/v1.19.0/artifacts/openapi.yaml) | +| snappi | [1.19.0](https://pypi.org/project/snappi/1.19.0) | +| gosnappi | [1.19.0](https://pkg.go.dev/github.com/open-traffic-generator/snappi/gosnappi@v1.19.0) | +| keng-controller | [1.19.0-5](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-controller) | +| ixia-c-traffic-engine | [1.8.0.241](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-traffic-engine) | | keng-app-usage-reporter | [0.0.1-52](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-app-usage-reporter) | -| ixia-c-protocol-engine | [1.00.0.419](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-protocol-engine) | -| keng-layer23-hw-server | [1.17.0-1](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-layer23-hw-server) | +| ixia-c-protocol-engine | [1.00.0.424](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-protocol-engine) | +| keng-layer23-hw-server | [1.19.0-5](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-layer23-hw-server) | | keng-operator | [0.3.34](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-operator) | -| otg-gnmi-server | [1.14.18](https://github.com/orgs/open-traffic-generator/packages/container/package/otg-gnmi-server) | -| ixia-c-one | [1.17.0-9](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-one/) | +| otg-gnmi-server | [1.19.0](https://github.com/orgs/open-traffic-generator/packages/container/package/otg-gnmi-server) | +| ixia-c-one | [1.19.0-5](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-one/) | | UHD400 | [1.5.1](https://downloads.ixiacom.com/support/downloads_and_updates/public/UHD400/1.5/1.5.1/artifacts.tar) | # Release Features(s) -* Ixia Chassis & Appliances(Novus, AresOne): Support added for BGP/BGP+ over ISIS Simulated Topology. [More Details](https://github.com/open-traffic-generator/models/pull/327) +* Ixia-C: Support added to send flows over DHCPv6 endpoints. ```go - loopback = simRtr.Ipv4Loopbacks(). - Add(). - SetName("IPv4Loopback"). - SetAddress(dutIPv4). - SetEthName(simRtr.Ethernets().Items()[0].Name()) - simRtrBgp= simRtr.Bgp(). - SetRouterId(loopback.Address()) - simRtrBgpIntf = simRtrBgp.Ipv4Interfaces().Add(). - SetIpv4Name(loopback.Name()) - simRtrBgpIntf.Peers().Add(). - SetAsNumber(1111). - SetAsType(gosnappi.BgpV4PeerAsType.EBGP). - SetPeerAddress(fromPeerIp). - SetName("BgpPeer1") + f1 := config.Flows().Add()​ + f1.SetName(flowName).​ + TxRx().Device().​ + SetTxNames([]string{"p1d1dhcpv6_1"}).​ + SetRxNames([]string{"p2d1ipv6"})​ + f1Ip := f1.Packet().Add().Ipv6()​ + // will be populated automatically with the the dynamically allocated Ip to DHCP client​ + f1Ip.Src().Auto().Dhcp()​ + …​ + f2Ip.Dst().Auto().Dhcp()​ ``` - Note: For configuration of simulated topology please refer [here](https://github.com/open-traffic-generator/ixia-c/releases/tag/v1.16.0-2). -* Ixia-C, Ixia Chassis & Appliances(Novus, AresOne): Support added for GRE header in traffic flows. +* Ixia Chassis & Appliances(Novus, AresOne): Support added to retrieve timestamp of the last link state change event of the test port. [More Details](https://github.com/open-traffic-generator/models/pull/398) + - This can be retrieved by accessing `port_metrics[i].last_change`. + + Note: + - As mentioned in the `Known Issues`, ports being used in the tests must be rebooted once after upgrading to the latest version of `keng-layer23-hw-server`. + - Test ports and DUT must be time synced to the same time source if link state change timestamps need to be co-related. + +* Ixia Chassis & Appliances(Novus, AresOne): Support added for RSVP over ISIS Simulated Topology. ```go - flow1 := config.Flows().Add() - ... - gre := flow1.Packet().Add().Gre() - ... + // Create RSVP neighbor on interface connected to DUT. + // Note that get_states and get_metrics are supported only for the connected RSVP neighbors. + p2RsvpNeighbor := p2d1.Rsvp().SetName("p2RsvpNbr") + p2RsvpNeighbor.Ipv4Interfaces(). + Add().SetIpv4Name(p2d1Ipv4.Name()). + SetNeighborIp(p2d1Ipv4.Gateway()) + + // Create RSVP ingress LSPs on the loopback behind the simulated topology. + fromLoRsvpIngress := fromLoRsvpLsp.P2PIngressIpv4Lsps().Add().SetName("ingressLsp") + fromLoRsvpIngress.SetRemoteAddress("1.1.1.1").SetTunnelId(100) + + // Create RSVP egress endpoint on the loopback behind the simulated topology. + toLoRsvpLsp := toLoRsvpPeer.LspIpv4Interfaces().Add().SetIpv4Name("loopback") + toLoRsvpLspEgress := toLoRsvpLsp.P2PEgressIpv4Lsps().SetName("egressLsp") + + // Note: for TE SPF to work properly on DUT, ensure you have added TrafficEngineering to all ISIS interfaces. + te = p2d1IsisIntf.TrafficEngineering().Add().SetMetricLevel(10) + te.PriorityBandwidths(). + SetPb0(125000000). + ... + SetPb7(125000000) ``` - Note: By default the correct GRE Protocol value will be set automatically depending on next header eg. IPv4/v6. + ### Bug Fix(s) -* Ixia Chassis & Appliances(Novus, AresOne): Issue is fixed where fetching ISIS learned information using `get_states` would sometimes fail with a error Cannot clear data while transfer is in progress - data would be inconsistent. +* Ixia Chassis & Appliances(Novus, AresOne): Issue is fixed where `set_config` was failing with the error `"BgpIPRouteRange is missing"` when IPv4 routes with IPv6 next-hops (RFC5549) was configured. + +* Ixia Chassis & Appliances(Novus, AresOne): Issue is fixed where `get_states` on `bgpv4/6_prefixes` was returning error `"Error occurred while fetching bgp_prefix states:Length cannot be less than zero. (Parameter 'length')"` if the prefix contained `as_path` with multiple segments. + +* Ixia-C, UHD400: Issue is fixed where `get_states` for `isis` was returning IPv6 prefixes in upper case causing prefix match for IPv6 prefixes to fail in tests. -* Ixia-C: Issue is fixed where ARP/ND resolution was failing for LAG configurations with a mix of Loopback and connected interfaces. +* Ixia-C: Issue is fixed where `set_config` was failing with error `"Error occurred while setting Traffic config (Layer1 only) for user common:Error fetching stats for port port9: unsuccessful Response: Port 7 is not added"` when the traffic engine was deployed in multi nic mode (e.g. for lag setups with 8 ports). -* Ixia-C: Issue is fixed where on fetching BGP/BGP+ learned prefix information using `get_states` would return an incorrect prefix in certain scenarios. This was more likely to happen for IPv6 prefixes. +* Ixia-C: Issue is fixed where the traffic engine was crashing on deployment using a single cpu core (`--cpuset-cpus="0-1"`). -* Ixia-C, UHD400: Issue is fixed where if the DHCPv6 client type is configured as IANAPD, DHCPv6 Server `get_states` doesn't show IAPD addresses. +* VM Licensing: Issue is fixed for users using the VM License Server where, after a reboot, license-server VM serving multiple keng-controller(s) did not come up and tests running with those controller(s) started failing. -* UHD400: Issue is fixed where Auto MAC resolution was not working properly for multinic scenarios such as LAG, resulting in flows being transmitted with dest MAC as 00:00:00:00:00:00 and DUT not forwarding these packets. #### Known Issues -* Ixia-C, UHD400: When DHCPv6 Server is configured with multiple pools, The DHCPv6 clients are not accepting addresses from different pools. * Ixia Chassis & Appliances(Novus, AresOne): If `keng-layer23-hw-server` version is upgraded/downgraded, the ports which will be used from this container must be rebooted once before running the tests. * Ixia Chassis & Appliances(Novus, AresOne): `StartProtocols`/`set_control_state.protocol.all.start` can get stuck till the time all DHPCv4/v6 clients receive the leased IPv4/v6 addresses from the DHCPv4/v6 server/relay agent. This may result in getting `"context deadline exceeded"` error in the test program. * UHD400: Packets will not be transmitted if `flows[i].rate.pps` is less than 50. diff --git a/readme.md b/readme.md index 162b6e3..45db441 100644 --- a/readme.md +++ b/readme.md @@ -9,9 +9,9 @@

- Release v1.17.0-9 - Open Traffic Generator v1.17.0 - snappi v1.17.0 + Release v1.19.0-5 + Open Traffic Generator v1.19.0 + snappi v1.19.0 news news Slack Status @@ -83,7 +83,7 @@ cd conformance #### 3. Optionally, run test using [curl](https://curl.se/) We can also pass equivalent **JSON configuration** directly to **controller**, just by using **curl**. -The description of each node in the configuration is detailed in self-updating [online documentation](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/open-traffic-generator/models/v1.17.0/artifacts/openapi.yaml). +The description of each node in the configuration is detailed in self-updating [online documentation](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/open-traffic-generator/models/v1.19.0/artifacts/openapi.yaml). ```bash