Configuring networking and deploy the OpenStack control plane
February 24, 2025 ยท View on GitHub
Assumptions
- A storage class called
local-storageshould already exist. - Cluster observability operator is already deployed. If not, follow the steps found below.
Cluster observability operator
Cluster Observability Operator must be installed as it is required by OpenStack Telemetry operator. If not installed, the below steps can be followed
cat > subscription.yaml << EOF
---
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: observability-operator
namespace: openshift-operators
labels:
operators.coreos.com/observability-operator.openshift-operators: ""
spec:
channel: stable
installPlanApproval: Automatic
name: cluster-observability-operator
source: redhat-operators
sourceNamespace: openshift-marketplace
EOF
# Apply the cr
oc apply -f subscription.yaml
# Wait for the deployment to be ready
oc wait deployments/observability-operator --for condition=Available \
--timeout=300s
Initialize
Switch to the "openstack" namespace
oc project openstack
Change to the uni01alpha directory
cd architecture/examples/dt/uni01alpha
Edit service-values.yaml and control-plane/networking/nncp/values.yaml.
Apply node network configuration
Generate the node network configuration
kustomize build control-plane/networking/nncp > nncp.yaml
Apply the NNCP CRs
oc apply -f nncp.yaml
Wait for NNCPs to be available
oc wait nncp \
-l osp/nncm-config-type=standard \
--for jsonpath='{.status.conditions[0].reason}'=SuccessfullyConfigured \
--timeout=300s
Apply remaining networking configuration
Generate the reminaing networking configuration
kustomize build control-plane/networking > networking.yaml
Apply the networking CRs
oc apply -f networking.yaml
Apply the control-plane configuration.
Generate the control-plane CRs.
kustomize build control-plane/ > control-plane.yaml
Apply the CRs
oc apply -f control-plane.yaml
Wait for control plane to be available
oc wait osctlplane controlplane --for condition=Ready --timeout=600s