Skip to content

Commit 6ec558d

Browse files
authored
Include support for SNO deployments on example-cnf (#127)
1 parent 5db7df9 commit 6ec558d

File tree

19 files changed

+54
-12
lines changed

19 files changed

+54
-12
lines changed

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,14 @@ You can use them from the [Example CNF Catalog](https://quay.io/repository/rh-nf
1818

1919
To run Example CNF, you need to fulfil the following infrastructure-related pre-requirements:
2020

21-
- OpenShift cluster with 4.14 or higher, and with +3 worker nodes.
21+
- OpenShift cluster with 4.14 or higher.
2222
- SR-IOV network operator.
2323
- SriovNetworkNodePolicy and SriovNetwork CRDs.
2424
- Proper configuration in network devices to match the SR-IOV resources definition.
2525
- Performance Profile (Hugepages, CPU Isolation, etc.)
2626

27+
This deployment has usually been validated in a multi-node cluster, with at least 3 worker nodes. But it is suitable for SNO deployments too if just testing the workload deployment (but not valid for upgrade or draining scenarios, where at least two worker nodes are needed to move workloads between nodes). Anyway, note that the documentation will always refer to the multi-node case.
28+
2729
## How operators are created
2830

2931
The three operators defined in this repository are built with [Operator SDK tool](https://sdk.operatorframework.io/docs/building-operators/). [Here](https://youtu.be/imF9VGJ1Dd4) you can see how CRD-to-pod conversion works for this kind of operators.

grout-operator/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file.
44

55
## [Unreleased] -
66

7+
## [0.2.3] - 2025-10-27
8+
9+
- Include support for SNO
10+
711
## [0.2.2] - 2025-08-13
812

913
- No functional changes to operator logic.

grout-operator/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ FROM quay.io/operator-framework/ansible-operator:v1.39.0
33
LABEL name="NFV Example CNF Application Operator" \
44
maintainer="telcoci" \
55
vendor="fredco" \
6-
version="v0.2.2" \
7-
release="v0.2.2" \
6+
version="v0.2.3" \
7+
release="v0.2.3" \
88
summary="An example CNF for platform validation" \
99
description="An example CNF for platform validation"
1010

grout-operator/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# To re-generate a bundle for another specific version without changing the standard setup, you can:
44
# - use the VERSION as arg of the bundle target (e.g make bundle VERSION=0.0.2)
55
# - use environment variables to overwrite this value (e.g export VERSION=0.0.2)
6-
VERSION := 0.2.2
6+
VERSION := 0.2.3
77

88
# Set the Operator SDK version to use. By default, what is installed on the system is used.
99
# This is useful for CI or a project to utilize a specific version of the operator-sdk toolkit.

grout-operator/config/crd/bases/examplecnf.openshift.io_grouts.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,12 @@ spec:
7777
enum:
7878
- 0
7979
- 1
80+
deploymentType:
81+
description: Deployment type for single-node or multi-node clusters
82+
type: string
83+
enum:
84+
- single-node
85+
- multi-node
8086
runtime_class_name:
8187
description: Optional RuntimeClass to use for the pod
8288
type: string

grout-operator/roles/grout/templates/deployment.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ spec:
3939
example-cnf-type: cnf-app
4040
restart-on-reboot: "true"
4141
spec:
42+
{% if deployment_type == "multi-node" %}
4243
affinity:
4344
podAntiAffinity:
4445
requiredDuringSchedulingIgnoredDuringExecution:
@@ -49,6 +50,7 @@ spec:
4950
values:
5051
- pkt-gen
5152
topologyKey: kubernetes.io/hostname
53+
{% endif %}
5254
securityContext:
5355
runAsNonRoot: true
5456
runAsUser: 56560

nfv-example-cnf-index/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file.
44

55
## [Unreleased] -
66

7+
## [0.3.10] - 2025-10-27
8+
9+
- Include support for SNO
10+
711
## [0.3.9] - 2025-04-22
812

913
- Remove reference to cnf-app-mac-operator

nfv-example-cnf-index/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
DATE ?= $(shell date --utc +%Y%m%d%H%M)
22
SHA ?= $(shell git rev-parse --short HEAD)
3-
VERSION := 0.3.9
3+
VERSION := 0.3.10
44
TAG := $(VERSION)-$(DATE).$(SHA)
55
REGISTRY ?= quay.io
66
ORG ?= rh-nfv-int

testpmd-operator/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file.
44

55
## [Unreleased] -
66

7+
## [0.2.29] - 2025-10-27
8+
9+
- Include support for SNO
10+
711
## [0.2.28] - 2025-08-13
812

913
- No functional changes to operator logic.

testpmd-operator/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ FROM quay.io/operator-framework/ansible-operator:v1.39.0
33
LABEL name="NFV Example CNF Application Operator" \
44
maintainer="telcoci" \
55
vendor="fredco" \
6-
version="v0.2.28" \
7-
release="v0.2.28" \
6+
version="v0.2.29" \
7+
release="v0.2.29" \
88
summary="An example CNF for platform validation" \
99
description="An example CNF for platform validation"
1010

0 commit comments

Comments
 (0)