Skip to content

Commit 1d34994

Browse files
Merge pull request #469 from mnietoji/multiple_nodesets_2
Multiple nodesets for ovs-dpdk-sriov scenario (reuse edpm-nodeset-values) Created a new dt based on ovs-dpdk-sriov va Reviewed-by: Jaganathan Palanisamy <[email protected]> Reviewed-by: mnietoji Reviewed-by: Andrew Bays <[email protected]>
2 parents da75dc8 + 01c0348 commit 1d34994

18 files changed

+1079
-0
lines changed
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
---
2+
vas:
3+
ovs-dpdk-sriov-2nodesets:
4+
stages:
5+
- path: examples/dt/nfv/nfv-ovs-dpdk-sriov-2nodesets/nncp
6+
wait_conditions:
7+
- >-
8+
oc -n openstack wait nncp
9+
-l osp/nncm-config-type=standard
10+
--for jsonpath='{.status.conditions[0].reason}'=SuccessfullyConfigured
11+
--timeout=60s
12+
values:
13+
- name: network-values
14+
src_file: values.yaml
15+
build_output: nncp.yaml
16+
17+
- path: examples/dt/nfv/nfv-ovs-dpdk-sriov-2nodesets
18+
wait_conditions:
19+
- >-
20+
oc -n openstack wait osctlplane controlplane --for condition=Ready
21+
--timeout=1200s
22+
values:
23+
- name: network-values
24+
src_file: ./nncp/values.yaml
25+
- name: service-values
26+
src_file: service-values.yaml
27+
build_output: control-plane.yaml
28+
29+
- path: examples/dt/nfv/nfv-ovs-dpdk-sriov-2nodesets/edpm/nodeset
30+
wait_conditions:
31+
- >-
32+
oc -n openstack wait
33+
osdpns openstack-edpm --for condition=SetupReady
34+
--timeout=60m
35+
values:
36+
- name: edpm-nodeset-values
37+
src_file: values.yaml
38+
build_output: nodeset.yaml
39+
40+
- path: examples/dt/nfv/nfv-ovs-dpdk-sriov-2nodesets/edpm/nodeset2
41+
wait_conditions:
42+
- >-
43+
oc -n openstack wait
44+
osdpns openstack-edpm-2 --for condition=SetupReady
45+
--timeout=60m
46+
values:
47+
- name: edpm-nodeset2-values
48+
src_file: values.yaml
49+
build_output: nodeset2.yaml
50+
51+
- path: examples/dt/nfv/nfv-ovs-dpdk-sriov-2nodesets/edpm/deployment
52+
wait_conditions:
53+
- >-
54+
oc -n openstack
55+
wait openstackdataplanedeployments.dataplane.openstack.org
56+
edpm-deployment
57+
--for condition=Ready --timeout=60m
58+
values:
59+
- name: edpm-deployment-values
60+
src_file: values.yaml
61+
build_output: deployment.yaml
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
nncp.yaml
2+
control-plane.yaml
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Deployed Topology - NFV/OVS-DPDK-SRIOV with 2 nodesets
2+
3+
Deploys an OVS-DPDK-SRIOV environment 2 different nodesets. It is an extension
4+
of the regular OVS-DPDK-SRIOV scenario, so all information in that scenario is
5+
valid here too. Check [OpenStack OVS DPDK SRIOV](../../../va/nfv/ovs-dpdk-sriov/README.md)
6+
7+
## Purpose
8+
9+
This scenario is needed when compute nodes used to deploy Openstack dataplane
10+
are different (different nics, cpu, memory, ...) so a different nodeset can
11+
be created for each different compute node
12+
13+
This DT is based on OVS-DPDK-SRIOV VA and it has been added just the code
14+
to configure the second nodeset, reusing all of the other config
15+
16+
## Stages
17+
18+
All stages must be executed in the order listed below. Everything is required unless otherwise indicated.
19+
Stages are the same than the OVS-DPDK-SRIOV scenario, the only difference is that it will
20+
be created 2 nodesets instead of just 1
21+
22+
1. [Install the OpenStack K8S operators and their dependencies](../../../common/)
23+
2. [Configuring networking and deploy the OpenStack control plane](control-plane.md)
24+
3. [Configure and deploy the data plane](dataplane.md)
25+
26+
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# Configuring networking and deploy the OpenStack control plane
2+
3+
## Assumptions
4+
5+
- A storage class called `local-storage` should already exist.
6+
7+
## Initialize
8+
9+
Switch to the "openstack" namespace
10+
```
11+
oc project openstack
12+
```
13+
Change to the nfv/nfv-ovs-dpdk-sriov-2nodesets directory
14+
```
15+
cd examples/dt/nfv/nfv-ovs-dpdk-sriov-2nodesets
16+
```
17+
Edit the [nncp/values.yaml](nncp/values.yaml) and
18+
[service-values.yaml](service-values.yaml) files to suit
19+
your environment.
20+
```
21+
vi nncp/values.yaml
22+
vi service-values.yaml
23+
```
24+
25+
## Apply node network configuration
26+
27+
Generate the node network configuration
28+
```
29+
kustomize build nncp > nncp.yaml
30+
```
31+
32+
Apply the NNCP CRs
33+
```
34+
oc apply -f nncp.yaml
35+
```
36+
Wait for NNCPs to be available
37+
```
38+
oc wait nncp -l osp/nncm-config-type=standard --for jsonpath='{.status.conditions[0].reason}'=SuccessfullyConfigured --timeout=300s
39+
```
40+
41+
## Apply networking and control-plane configuration
42+
43+
Generate the control-plane and networking CRs.
44+
```
45+
kustomize build > control-plane.yaml
46+
```
47+
Apply the CRs
48+
```
49+
oc apply -f control-plane.yaml
50+
```
51+
52+
Wait for control plane to be available
53+
```
54+
oc wait osctlplane controlplane --for condition=Ready --timeout=600s
55+
```
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# Configuring and deploying the dataplane
2+
3+
## Assumptions
4+
5+
- The [control plane](control-plane.md) has been created and successfully deployed
6+
7+
## Initialize
8+
9+
Switch to the "openstack" namespace
10+
```
11+
oc project openstack
12+
```
13+
Change to the nfv/nfv-ovs-dpdk-sriov-2nodesets/edpm directory
14+
```
15+
cd examples/dt/nfv/nfv-ovs-dpdk-sriov-2nodesets/edpm
16+
```
17+
Edit the [nodeset/values.yaml](edpm/nodeset/values.yaml), [nodeset2/values.yaml](edpm/nodeset2/values.yaml)
18+
and [deployment/values.yaml](deployment/values.yaml) files to suit your environment.
19+
```
20+
vi nodeset/values.yaml
21+
vi nodeset2/values.yaml
22+
vi deployment/values.yaml
23+
```
24+
Generate the dataplane nodesets CRs.
25+
```
26+
kustomize build nodeset > dataplane-nodeset.yaml
27+
kustomize build nodeset2 > dataplane-nodeset2.yaml
28+
```
29+
Generate the dataplane deployment CR.
30+
```
31+
kustomize build deployment > dataplane-deployment.yaml
32+
```
33+
34+
## Create CRs
35+
Create the nodesets CRs
36+
```
37+
oc apply -f dataplane-nodeset.yaml
38+
oc apply -f dataplane-nodeset2.yaml
39+
```
40+
Wait for dataplane nodesets setup to finish
41+
```
42+
oc wait osdpns openstack-edpm --for condition=SetupReady --timeout=600s
43+
oc wait osdpns openstack-edpm-2 --for condition=SetupReady --timeout=600s
44+
```
45+
46+
Start the deployment
47+
```
48+
oc apply -f dataplane-deployment.yaml
49+
```
50+
51+
Wait for dataplane deployment to finish
52+
```
53+
oc wait osdpns openstack-edpm --for condition=Ready --timeout=40m
54+
```
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
dataplane-nodeset.yaml
2+
dataplane-nodeset-2.yaml
3+
dataplane-deployment.yaml
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
apiVersion: kustomize.config.k8s.io/v1beta1
3+
kind: Kustomization
4+
5+
components:
6+
- ../../../../../../va/nfv/ovs-dpdk-sriov/edpm/deployment
7+
# - https://github.com/openstack-k8s-operators/architecture/va/nfv/ovs-dpdk-sriov/edpm/deployment?ref=main
8+
## It's possible to replace ../../../../../../va/nfv/ovs-dpdk-sriov/edpm/deployment/ with a git checkout URL
9+
## as per: https://github.com/kubernetes-sigs/kustomize/blob/master/examples/remoteBuild.md
10+
11+
resources:
12+
- values.yaml
13+
14+
patches:
15+
- target:
16+
kind: OpenStackDataPlaneDeployment
17+
name: edpm-deployment
18+
patch: |
19+
- op: add
20+
path: /spec/nodeSets/-
21+
value: openstack-edpm-2
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# yamllint disable rule:line-length
2+
# local-config: referenced, but not emitted by kustomize
3+
---
4+
apiVersion: v1
5+
kind: ConfigMap
6+
metadata:
7+
name: edpm-deployment-values
8+
annotations:
9+
config.kubernetes.io/local-config: "true"
10+
data: {}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
apiVersion: kustomize.config.k8s.io/v1beta1
3+
kind: Kustomization
4+
5+
components:
6+
- ../../../../../../va/nfv/ovs-dpdk-sriov/edpm/nodeset
7+
# - https://github.com/openstack-k8s-operators/architecture/va/nfv/ovs-dpdk-sriov/edpm/nodeset?ref=main
8+
## It's possible to replace ../../../../../../va/nfv/ovs-dpdk-sriov/edpm/nodeset/ with a git checkout URL
9+
## as per: https://github.com/kubernetes-sigs/kustomize/blob/master/examples/remoteBuild.md
10+
11+
resources:
12+
- values.yaml

0 commit comments

Comments
 (0)