From 5ca0d0469ecf397cf13fbcf58bbda7b005a325b8 Mon Sep 17 00:00:00 2001 From: Jiri Macku Date: Fri, 7 Feb 2025 14:42:24 +0100 Subject: [PATCH] Decouple uni04delta network stage from control plane stage --- automation/vars/uni04delta-adoption.yaml | 27 ++++++++ automation/vars/uni04delta.yaml | 14 +++- dt/uni04delta/kustomization.yaml | 48 ------------- dt/uni04delta/networking/kustomization.yaml | 68 +++++++++++++++++++ examples/dt/uni04delta/control-plane.md | 20 ++++-- .../control-plane/kustomization.yaml | 2 +- .../networking/kustomization.yaml | 9 +++ .../{ => networking}/nncp/.gitignore | 0 .../{ => networking}/nncp/kustomization.yaml | 2 +- .../{ => networking}/nncp/values.yaml | 0 examples/dt/uni04delta/kustomization.yaml | 2 +- zuul.d/validations.yaml | 3 +- 12 files changed, 138 insertions(+), 57 deletions(-) create mode 100644 automation/vars/uni04delta-adoption.yaml create mode 100644 dt/uni04delta/networking/kustomization.yaml create mode 100644 examples/dt/uni04delta/control-plane/networking/kustomization.yaml rename examples/dt/uni04delta/control-plane/{ => networking}/nncp/.gitignore (100%) rename examples/dt/uni04delta/control-plane/{ => networking}/nncp/kustomization.yaml (93%) rename examples/dt/uni04delta/control-plane/{ => networking}/nncp/values.yaml (100%) diff --git a/automation/vars/uni04delta-adoption.yaml b/automation/vars/uni04delta-adoption.yaml new file mode 100644 index 000000000..7dbee1d58 --- /dev/null +++ b/automation/vars/uni04delta-adoption.yaml @@ -0,0 +1,27 @@ +--- +vas: + uni04delta-adoption: + stages: + - path: examples/dt/uni04delta/control-plane/networking/nncp + wait_conditions: + - >- + oc -n openstack wit nncp + -l osp/nncm-config-type=standard + --for jsonpath='{.status.conditions[0].reason}'=SuccessfullyConfigured + --timeout=5m + values: + - name: network-values + src_file: values.yaml + build_output: nncp.yaml + + - path: examples/dt/uni04delta/control-plane/networking + wait_condition: + - >- + oc -n metallb-system wait pod + -l aap=metallb -l component=speaker + --for condition=Ready + --timeout=5min + values: + - name: network-values + src_file: nncp/values.yaml + build_output: networking.yaml diff --git a/automation/vars/uni04delta.yaml b/automation/vars/uni04delta.yaml index 0c413a8c9..5a5d9bbe5 100644 --- a/automation/vars/uni04delta.yaml +++ b/automation/vars/uni04delta.yaml @@ -14,6 +14,18 @@ vas: src_file: values.yaml build_output: nncp.yaml + - path: examples/dt/uni04delta/control-plane/networking + wait_conditions: + - >- + oc -n metallb-system wait pod + -l app=metallb -l component=speaker + --for condition=Ready + --timeout=5m + values: + - name: network-values + src_file: nncp/values.yaml + build_output: network.yaml + - path: examples/dt/uni04delta/control-plane wait_conditions: - >- @@ -22,7 +34,7 @@ vas: --timeout=60m values: - name: network-values - src_file: nncp/values.yaml + src_file: networking/nncp/values.yaml - name: service-values.yaml src_file: service-values.yaml build_output: control-plane.yaml diff --git a/dt/uni04delta/kustomization.yaml b/dt/uni04delta/kustomization.yaml index 308a0533e..e34295b27 100644 --- a/dt/uni04delta/kustomization.yaml +++ b/dt/uni04delta/kustomization.yaml @@ -17,57 +17,9 @@ transformers: create: true components: - - ../../lib/networking/metallb - - ../../lib/networking/netconfig - - ../../lib/networking/nad - ../../lib/control-plane -patches: - - target: - version: v1beta1 - kind: NetConfig - name: netconfig - patch: |- - - op: add - path: /spec/networks/- - value: - dnsDomain: _replaced_ - name: storagemgmt - subnets: - - _replaced_ - mtu: 1500 - replacements: - - source: - kind: ConfigMap - name: network-values - fieldPath: data.storagemgmt.dnsDomain - targets: - - select: - kind: NetConfig - fieldPaths: - - spec.networks.[name=storagemgmt].dnsDomain - - - source: - kind: ConfigMap - name: network-values - fieldPath: data.storagemgmt.mtu - targets: - - select: - kind: NetConfig - fieldPaths: - - spec.networks.[name=storagemgmt].mtu - - - source: - kind: ConfigMap - name: network-values - fieldPath: data.storagemgmt.subnets - targets: - - select: - kind: NetConfig - fieldPaths: - - spec.networks.[name=storagemgmt].subnets - - source: kind: ConfigMap name: service-values diff --git a/dt/uni04delta/networking/kustomization.yaml b/dt/uni04delta/networking/kustomization.yaml new file mode 100644 index 000000000..dab60ae27 --- /dev/null +++ b/dt/uni04delta/networking/kustomization.yaml @@ -0,0 +1,68 @@ +--- +apiVersion: kustomize.config.k8s.io/v1alpha1 +kind: Component + +transformers: + - |- + apiVersion: builtin + kind: NamespaceTransformer + metadata: + name: _ignored_ + namespace: openstack + setRoleBindingSubjects: none + unsetOnly: true + fieldSpecs: + - path: metadata/name + kind: Namespace + create: true + +components: + - ../../../lib/networking/metallb + - ../../../lib/networking/netconfig + - ../../../lib/networking/nad + +patches: + - target: + version: v1beta1 + kind: NetConfig + name: netconfig + patch: |- + - op: add + path: /spec/networks/- + value: + dnsDomain: _replaced_ + name: storagemgmt + subnets: + - _replaced_ + mtu: 1500 + +replacements: + - source: + kind: ConfigMap + name: network-values + fieldPath: data.storagemgmt.dnsDomain + targets: + - select: + kind: NetConfig + fieldPaths: + - spec.networks.[name=storagemgmt].dnsDomain + + - source: + kind: ConfigMap + name: network-values + fieldPath: data.storagemgmt.mtu + targets: + - select: + kind: NetConfig + fieldPaths: + - spec.networks.[name=storagemgmt].mtu + + - source: + kind: ConfigMap + name: network-values + fieldPath: data.storagemgmt.subnets + targets: + - select: + kind: NetConfig + fieldPaths: + - spec.networks.[name=storagemgmt].subnets diff --git a/examples/dt/uni04delta/control-plane.md b/examples/dt/uni04delta/control-plane.md index 472517693..c7559ed2f 100644 --- a/examples/dt/uni04delta/control-plane.md +++ b/examples/dt/uni04delta/control-plane.md @@ -18,11 +18,14 @@ Change to uni04delta directory cd architecture/examples/dt/uni04delta ``` -Apply the required network configurations. +# Apply the required node network configurations. +```bash +vi control-plane/networking/nncp/values.yaml +``` ```bash # Change the Node Network Configuration folder. -pushd control-plane/nncp +pushd control-plane/networking/nncp # Generate the configuration kustomize build > nncp.yaml @@ -38,8 +41,18 @@ oc wait nncp -l osp/nncm-config-type=standard \ # change the working directory popd ``` +# Apply remainig networking configuration + +Generate the remaining networking configuration +```bash +kustomize build control-plane/networking > networking.yaml +``` +Apply the networking CRs +```bash +oc apply -f networking.yaml +``` -Generate and apply the control-plane configurations. +# Generate and apply the control-plane configurations. ```bash # Navigate to control-panel @@ -56,4 +69,3 @@ oc wait openstackcontrolplane --for condition=Ready --timeout=600s # change the work_dir popd -``` diff --git a/examples/dt/uni04delta/control-plane/kustomization.yaml b/examples/dt/uni04delta/control-plane/kustomization.yaml index 209232e3c..dcb80554a 100644 --- a/examples/dt/uni04delta/control-plane/kustomization.yaml +++ b/examples/dt/uni04delta/control-plane/kustomization.yaml @@ -6,5 +6,5 @@ components: - ../../../../dt/uni04delta/ resources: - - nncp/values.yaml + - networking/nncp/values.yaml - service-values.yaml diff --git a/examples/dt/uni04delta/control-plane/networking/kustomization.yaml b/examples/dt/uni04delta/control-plane/networking/kustomization.yaml new file mode 100644 index 000000000..a212013b1 --- /dev/null +++ b/examples/dt/uni04delta/control-plane/networking/kustomization.yaml @@ -0,0 +1,9 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +components: + - ../../../../../dt/uni04delta/networking + +resources: + - nncp/values.yaml diff --git a/examples/dt/uni04delta/control-plane/nncp/.gitignore b/examples/dt/uni04delta/control-plane/networking/nncp/.gitignore similarity index 100% rename from examples/dt/uni04delta/control-plane/nncp/.gitignore rename to examples/dt/uni04delta/control-plane/networking/nncp/.gitignore diff --git a/examples/dt/uni04delta/control-plane/nncp/kustomization.yaml b/examples/dt/uni04delta/control-plane/networking/nncp/kustomization.yaml similarity index 93% rename from examples/dt/uni04delta/control-plane/nncp/kustomization.yaml rename to examples/dt/uni04delta/control-plane/networking/nncp/kustomization.yaml index 94653e805..16ee114a6 100644 --- a/examples/dt/uni04delta/control-plane/nncp/kustomization.yaml +++ b/examples/dt/uni04delta/control-plane/networking/nncp/kustomization.yaml @@ -17,7 +17,7 @@ transformers: create: true components: - - ../../../../../lib/nncp + - ../../../../../../lib/nncp resources: - values.yaml diff --git a/examples/dt/uni04delta/control-plane/nncp/values.yaml b/examples/dt/uni04delta/control-plane/networking/nncp/values.yaml similarity index 100% rename from examples/dt/uni04delta/control-plane/nncp/values.yaml rename to examples/dt/uni04delta/control-plane/networking/nncp/values.yaml diff --git a/examples/dt/uni04delta/kustomization.yaml b/examples/dt/uni04delta/kustomization.yaml index 9a8e357f2..1b0766f38 100644 --- a/examples/dt/uni04delta/kustomization.yaml +++ b/examples/dt/uni04delta/kustomization.yaml @@ -6,6 +6,6 @@ components: - ../../../dt/uni04delta/edpm/nodeset resources: - - control-plane/nncp/values.yaml + - control-plane/networking/nncp/values.yaml - control-plane/service-values.yaml - values.yaml diff --git a/zuul.d/validations.yaml b/zuul.d/validations.yaml index e1ef368d0..0a57a25bc 100644 --- a/zuul.d/validations.yaml +++ b/zuul.d/validations.yaml @@ -247,7 +247,8 @@ - dt/uni04delta - examples/dt/uni04delta - examples/dt/uni04delta/control-plane - - examples/dt/uni04delta/control-plane/nncp + - examples/dt/uni04delta/control-plane/networking + - examples/dt/uni04delta/control-plane/networking/nncp - examples/dt/uni04delta/deployment - examples/dt/uni04delta/edpm-pre-ceph - examples/dt/uni04delta/edpm-pre-ceph/nodeset