apiVersion: dataplane.openstack.org/v1beta1 kind: OpenStackDataPlaneNodeSet metadata: annotations: kubectl.kubernetes.io/last-applied-configuration: | {"apiVersion":"dataplane.openstack.org/v1beta1","kind":"OpenStackDataPlaneNodeSet","metadata":{"annotations":{},"name":"edpm","namespace":"openstack"},"spec":{"env":[{"name":"ANSIBLE_FORCE_COLOR","value":"True"}],"networkAttachments":["ctlplane"],"nodeTemplate":{"ansible":{"ansiblePort":22,"ansibleUser":"cloud-admin","ansibleVars":{"edpm_bootstrap_command":"#!/bin/bash\n# Copyright Red Hat, Inc.\n# All Rights Reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\"); you may\n# not use this file except in compliance with the License. You may obtain\n# a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n# License for the specific language governing permissions and limitations\n# under the License.\n\nset -euxo pipefail\n\npushd /var/tmp\n\ncurl -sL https://github.com/openstack-k8s-operators/repo-setup/archive/refs/heads/main.tar.gz | tar -xz\n\npushd repo-setup-main\n\npython3 -m venv ./venv\nPBR_VERSION=0.0.0 ./venv/bin/pip install ./\n\n# This is required for FIPS enabled until trunk.rdoproject.org\n# is not being served from a centos7 host, tracked by\n# https://issues.redhat.com/browse/RHOSZUUL-1517\nupdate-crypto-policies --set FIPS:NO-ENFORCE-EMS\n\n./venv/bin/repo-setup current-podified -b antelope\n\npopd\n\nrm -rf repo-setup-main\n","edpm_container_registry_logins":{},"edpm_network_config_hide_sensitive_logs":false,"edpm_network_config_template":"---\n{% set mtu_list = [ctlplane_mtu] %}\n{% for network in nodeset_networks %}\n{{ mtu_list.append(lookup('vars', networks_lower[network] ~ '_mtu')) }}\n{%- endfor %}\n{% set min_viable_mtu = mtu_list | max %}\nnetwork_config:\n - type: ovs_bridge\n name: {{ neutron_physical_bridge_name }}\n mtu: {{ min_viable_mtu }}\n use_dhcp: false\n dns_servers: {{ ctlplane_dns_nameservers }}\n domain: {{ dns_search_domains }}\n addresses:\n - ip_netmask: {{ ctlplane_ip }}/{{ ctlplane_cidr }}\n routes: {{ ctlplane_host_routes }}\n members:\n - type: interface\n name: nic1\n mtu: {{ min_viable_mtu }}\n primary: true\n{% for network in nodeset_networks %}\n - type: vlan\n mtu: {{ lookup('vars', networks_lower[network] ~ '_mtu') }}\n vlan_id: {{ lookup('vars', networks_lower[network] ~ '_vlan_id') }}\n addresses:\n - ip_netmask: \u003e-\n {{\n lookup('vars', networks_lower[network] ~ '_ip')\n }}/{{\n lookup('vars', networks_lower[network] ~ '_cidr')\n }}\n routes: {{ lookup('vars', networks_lower[network] ~ '_host_routes') }}\n{% endfor %}\n","edpm_nodes_validation_validate_controllers_icmp":false,"edpm_nodes_validation_validate_gateway_icmp":false,"edpm_podman_registries":[],"edpm_sshd_allowed_ranges":["192.168.122.0/24","192.168.32.3/32"],"edpm_sshd_configure_firewall":true,"gather_facts":false,"neutron_physical_bridge_name":"br-ex","neutron_public_interface_name":"eth0","timesync_ntp_servers":[{"hostname":"pool.ntp.org"}]}},"ansibleSSHPrivateKeySecret":"dataplane-ansible-ssh-private-key-secret","managementNetwork":"ctlplane","networks":[{"defaultRoute":true,"name":"ctlplane","subnetName":"subnet1"},{"name":"internalapi","subnetName":"subnet1"},{"name":"storage","subnetName":"subnet1"},{"name":"tenant","subnetName":"subnet1"}]},"nodes":{"edpm-compute-0":{"ansible":{"ansibleHost":"192.168.122.100"},"hostName":"edpm-compute-0","networks":[{"defaultRoute":true,"fixedIP":"192.168.122.100","name":"ctlplane","subnetName":"subnet1"},{"name":"internalapi","subnetName":"subnet1"},{"name":"storage","subnetName":"subnet1"},{"name":"tenant","subnetName":"subnet1"}]},"edpm-compute-1":{"ansible":{"ansibleHost":"192.168.122.101"},"hostName":"edpm-compute-1","networks":[{"defaultRoute":true,"fixedIP":"192.168.122.101","name":"ctlplane","subnetName":"subnet1"},{"name":"internalapi","subnetName":"subnet1"},{"name":"storage","subnetName":"subnet1"},{"name":"tenant","subnetName":"subnet1"}]}},"preProvisioned":true,"services":["bootstrap","configure-network","validate-network","install-os","configure-os","ssh-known-hosts","run-os","reboot-os","install-certs","ovn","neutron-metadata","libvirt","nova","telemetry"]}} creationTimestamp: "2025-10-11T11:04:53Z" generation: 1 name: edpm namespace: openstack resourceVersion: "63909" uid: d3086cf8-8aac-45bb-9ef5-7dcfebc0aa0d spec: env: - name: ANSIBLE_FORCE_COLOR value: "True" networkAttachments: - ctlplane nodeTemplate: ansible: ansiblePort: 22 ansibleUser: cloud-admin ansibleVars: edpm_bootstrap_command: | #!/bin/bash # Copyright Red Hat, Inc. # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. set -euxo pipefail pushd /var/tmp curl -sL https://github.com/openstack-k8s-operators/repo-setup/archive/refs/heads/main.tar.gz | tar -xz pushd repo-setup-main python3 -m venv ./venv PBR_VERSION=0.0.0 ./venv/bin/pip install ./ # This is required for FIPS enabled until trunk.rdoproject.org # is not being served from a centos7 host, tracked by # https://issues.redhat.com/browse/RHOSZUUL-1517 update-crypto-policies --set FIPS:NO-ENFORCE-EMS ./venv/bin/repo-setup current-podified -b antelope popd rm -rf repo-setup-main edpm_container_registry_logins: {} edpm_network_config_hide_sensitive_logs: false edpm_network_config_template: | --- {% set mtu_list = [ctlplane_mtu] %} {% for network in nodeset_networks %} {{ mtu_list.append(lookup('vars', networks_lower[network] ~ '_mtu')) }} {%- endfor %} {% set min_viable_mtu = mtu_list | max %} network_config: - type: ovs_bridge name: {{ neutron_physical_bridge_name }} mtu: {{ min_viable_mtu }} use_dhcp: false dns_servers: {{ ctlplane_dns_nameservers }} domain: {{ dns_search_domains }} addresses: - ip_netmask: {{ ctlplane_ip }}/{{ ctlplane_cidr }} routes: {{ ctlplane_host_routes }} members: - type: interface name: nic1 mtu: {{ min_viable_mtu }} primary: true {% for network in nodeset_networks %} - type: vlan mtu: {{ lookup('vars', networks_lower[network] ~ '_mtu') }} vlan_id: {{ lookup('vars', networks_lower[network] ~ '_vlan_id') }} addresses: - ip_netmask: >- {{ lookup('vars', networks_lower[network] ~ '_ip') }}/{{ lookup('vars', networks_lower[network] ~ '_cidr') }} routes: {{ lookup('vars', networks_lower[network] ~ '_host_routes') }} {% endfor %} edpm_nodes_validation_validate_controllers_icmp: false edpm_nodes_validation_validate_gateway_icmp: false edpm_podman_registries: [] edpm_sshd_allowed_ranges: - 192.168.122.0/24 - 192.168.32.3/32 edpm_sshd_configure_firewall: true gather_facts: false neutron_physical_bridge_name: br-ex neutron_public_interface_name: eth0 timesync_ntp_servers: - hostname: pool.ntp.org ansibleSSHPrivateKeySecret: dataplane-ansible-ssh-private-key-secret managementNetwork: ctlplane networks: - defaultRoute: true name: ctlplane subnetName: subnet1 - name: internalapi subnetName: subnet1 - name: storage subnetName: subnet1 - name: tenant subnetName: subnet1 nodes: edpm-compute-0: ansible: ansibleHost: 192.168.122.100 hostName: edpm-compute-0 networks: - defaultRoute: true fixedIP: 192.168.122.100 name: ctlplane subnetName: subnet1 - name: internalapi subnetName: subnet1 - name: storage subnetName: subnet1 - name: tenant subnetName: subnet1 edpm-compute-1: ansible: ansibleHost: 192.168.122.101 hostName: edpm-compute-1 networks: - defaultRoute: true fixedIP: 192.168.122.101 name: ctlplane subnetName: subnet1 - name: internalapi subnetName: subnet1 - name: storage subnetName: subnet1 - name: tenant subnetName: subnet1 preProvisioned: true secretMaxSize: 1048576 services: - bootstrap - configure-network - validate-network - install-os - configure-os - ssh-known-hosts - run-os - reboot-os - install-certs - ovn - neutron-metadata - libvirt - nova - telemetry tlsEnabled: true status: allHostnames: edpm-compute-0: ctlplane: edpm-compute-0.ctlplane.openstack.lab internalapi: edpm-compute-0.internalapi.openstack.lab storage: edpm-compute-0.storage.openstack.lab tenant: edpm-compute-0.tenant.openstack.lab edpm-compute-1: ctlplane: edpm-compute-1.ctlplane.openstack.lab internalapi: edpm-compute-1.internalapi.openstack.lab storage: edpm-compute-1.storage.openstack.lab tenant: edpm-compute-1.tenant.openstack.lab allIPs: edpm-compute-0: ctlplane: 192.168.122.100 internalapi: 172.17.0.103 storage: 172.18.0.100 tenant: 172.19.0.103 edpm-compute-1: ctlplane: 192.168.122.101 internalapi: 172.17.0.104 storage: 172.18.0.101 tenant: 172.19.0.104 conditions: - lastTransitionTime: "2025-10-11T11:31:16Z" message: NodeSet Ready reason: Ready status: "True" type: Ready - lastTransitionTime: "2025-10-11T11:31:16Z" message: Deployment completed reason: Ready status: "True" type: DeploymentReady - lastTransitionTime: "2025-10-11T11:05:40Z" message: Input data complete reason: Ready status: "True" type: InputReady - lastTransitionTime: "2025-10-11T11:05:40Z" message: NodeSetDNSDataReady ready reason: Ready status: "True" type: NodeSetDNSDataReady - lastTransitionTime: "2025-10-11T11:04:53Z" message: NodeSetIPReservationReady ready reason: Ready status: "True" type: NodeSetIPReservationReady - lastTransitionTime: "2025-10-11T11:05:40Z" message: ServiceAccount created reason: Ready status: "True" type: ServiceAccountReady - lastTransitionTime: "2025-10-11T11:05:40Z" message: Setup complete reason: Ready status: "True" type: SetupReady configHash: n58ch585h566h5fh56bh5c5h54fh99h587h68ch64dh595h584h599h5c8h8ch99hd6hcch58dh5b7h8dh654h7bh5f4h578hffh5f7h94h64ch585hbfq configMapHashes: ovncontroller-config: n57fh545h546h555h678h8bh574h5d7h65fh7ch559h594h66h598h9ch5d6h64dh5d7h668h7ch64fh5d6h59bh5d4h66fhb4h658hb4hbbh665h64fh84q containerImages: CeilometerComputeImage: quay.io/podified-antelope-centos9/openstack-ceilometer-compute@sha256:5d4fdf424fad33a3650163e9e7423f92e97de3305508c2b7c6435822e0313189 EdpmIscsidImage: quay.io/podified-antelope-centos9/openstack-iscsid@sha256:261e76f60c6bc6b172dc3608504552c63e83358a4fa3c0952a671544d83aa83f EdpmLogrotateCrondImage: quay.io/podified-antelope-centos9/openstack-cron@sha256:2308c7b6c3d0aabbadfc9a06d84d67d2243f27fe8eed740ee96b1ce910203f62 EdpmNeutronMetadataAgentImage: quay.io/podified-antelope-centos9/openstack-neutron-metadata-agent-ovn@sha256:c3e651f35b930bcf1a3084be8910c2f3f34d22a976c5379cf518a68d9994bfa7 EdpmNodeExporterImage: quay.io/prometheus/node-exporter@sha256:39c642b2b337e38c18e80266fb14383754178202f40103646337722a594d984c NovaComputeImage: quay.io/podified-antelope-centos9/openstack-nova-compute@sha256:5f179b847f2dc32d9110b8f2be9fe65f1aeada1e18105dffdaf052981215d844 OvnControllerImage: quay.io/podified-antelope-centos9/openstack-ovn-controller@sha256:d76f7d6620930cc2e9ac070492bbeb525f83ce5ff4947463e3784bf1ce04a857 ctlplaneSearchDomain: ctlplane.openstack.lab deployedConfigHash: n58ch585h566h5fh56bh5c5h54fh99h587h68ch64dh595h584h599h5c8h8ch99hd6hcch58dh5b7h8dh654h7bh5f4h578hffh5f7h94h64ch585hbfq deploymentStatuses: dataplane: - lastTransitionTime: "2025-10-11T11:31:15Z" message: Deployment completed reason: Ready status: "True" type: NodeSetDeploymentReady - lastTransitionTime: "2025-10-11T11:31:15Z" message: Deployment ready for bootstrap service reason: Ready status: "True" type: ServiceBootstrapDeploymentReady - lastTransitionTime: "2025-10-11T11:31:15Z" message: Deployment ready for configure-network service reason: Ready status: "True" type: ServiceConfigureNetworkDeploymentReady - lastTransitionTime: "2025-10-11T11:31:15Z" message: Deployment ready for configure-os service reason: Ready status: "True" type: ServiceConfigureOsDeploymentReady - lastTransitionTime: "2025-10-11T11:31:15Z" message: Deployment ready for install-certs service reason: Ready status: "True" type: ServiceInstallCertsDeploymentReady - lastTransitionTime: "2025-10-11T11:31:15Z" message: Deployment ready for install-os service reason: Ready status: "True" type: ServiceInstallOsDeploymentReady - lastTransitionTime: "2025-10-11T11:31:15Z" message: Deployment ready for libvirt service reason: Ready status: "True" type: ServiceLibvirtDeploymentReady - lastTransitionTime: "2025-10-11T11:31:15Z" message: Deployment ready for neutron-metadata service reason: Ready status: "True" type: ServiceNeutronMetadataDeploymentReady - lastTransitionTime: "2025-10-11T11:31:15Z" message: Deployment ready for nova service reason: Ready status: "True" type: ServiceNovaDeploymentReady - lastTransitionTime: "2025-10-11T11:31:15Z" message: Deployment ready for ovn service reason: Ready status: "True" type: ServiceOvnDeploymentReady - lastTransitionTime: "2025-10-11T11:31:15Z" message: Deployment ready for reboot-os service reason: Ready status: "True" type: ServiceRebootOsDeploymentReady - lastTransitionTime: "2025-10-11T11:31:15Z" message: Deployment ready for run-os service reason: Ready status: "True" type: ServiceRunOsDeploymentReady - lastTransitionTime: "2025-10-11T11:31:15Z" message: Deployment ready for ssh-known-hosts service reason: Ready status: "True" type: ServiceSshKnownHostsDeploymentReady - lastTransitionTime: "2025-10-11T11:31:15Z" message: Deployment ready for telemetry service reason: Ready status: "True" type: ServiceTelemetryDeploymentReady - lastTransitionTime: "2025-10-11T11:31:15Z" message: Deployment ready for validate-network service reason: Ready status: "True" type: ServiceValidateNetworkDeploymentReady dnsClusterAddresses: - 172.30.119.11 inventorySecretName: dataplanenodeset-edpm observedGeneration: 1 secretHashes: ceilometer-compute-config-data: n59bh679hf9hfch558h659h5c5h596h555h554h74hd6h79hcfh8fh9hb6h6h66dh5dch58h5d6h64fh658h56fhbfh64dh9fh5d6h68h5d9h64dq cert-libvirt-default-edpm-compute-0: n654h587h54h54bh5f4h567h564h5bh57dh8bh65dhd4h5hd4h66fh594h696h7fh684hd6h5f4h68ch588h5c8hd5h54bh9bh89hb7h58ch5b8hd4q cert-libvirt-default-edpm-compute-1: n697h576h586h664h5ch685h66dh5bdh677h577hffh597hb8h5fchf9h9fh65bh9h8ch557h54ch88h54fh98h57chd6h67fh646h5c4h5c7h668h687q cert-neutron-metadata-default-edpm-compute-0: n55fh556h5d8h5c5h97h65fh578h58h66ch64h67dh677h55hdfhdch99h78h5c7h9bh5d6h577h557h569h586h5dbhddhf6h664h5c5h559hcbh84q cert-neutron-metadata-default-edpm-compute-1: n6bh687hf4hbfh5c7h57bh57dh98hd6h96h644h547h56h547h679h57fh5f5h77h674h5fh54dh577h697h67h585hc6h79h4h594h548hb5h549q cert-ovn-default-edpm-compute-0: n68dh676hbch7hb6h5cdh598h85h7ch66h679h68fh688hd5h676h97h67bh58chd7hb7h5d5h549h56h5f8h5d4h84h655h58dhbbhc8h57dh68fq cert-ovn-default-edpm-compute-1: n7ch685h5fbh58h597h86h5dh679h67bh5c7h5bdh598h5c4h68bh9chd9h68chbch5b8h5bbh5b7h5dfh586h5b9h58fh686h57ch5dfh68fh645hf6hc7q cert-telemetry-default-edpm-compute-0: nfh595h5d6h69h656h575h574hb6h698hd9h555hdbh66fh58bh554h68ch557h9hf4h584h7ch5cbh58bh58hcch94h68fh579h5ch684h559h657q cert-telemetry-default-edpm-compute-1: n66fh587h686h679h57ch7h5fch5b5hd7h5fbh66fh58bhd9h5bbhfch649h5dbh569h5f7h6fhf6h5cfh5d8h5f8hc4h5cch5bdh65dh596hfch664h569q libvirt-secret: n5cch66dh647h88h55hb4h5bh9bh5f8h65bh67bh96hcfh568h65h565h66h64dh566h64bh687hd6h55h5b8h67hb7h65fh5dbh598h5ddh664h599q neutron-ovn-metadata-agent-neutron-config: n8dh56dhcch94hd6h684h5f8h9chb7h58ch66h9bhc4h594h54dh648h8ch9dh56h558hb7h69h5cfh58dh5bbh697h5b4h64dh99h5cbh5d8h56cq nova-cell1-compute-config: nd5h5bh579h75h666h64dhc9h5bfh5f6h7fh576h596h646h64fh696h9bh56dh9chd7hffh574h6bh5b5h567h658h5ch97hb4h5d6h656h5ddhd7q nova-metadata-neutron-config: n79h64ch5ffh575hcfh674h676h5ddhfdh564h75h549h5dfh5ch598h594h684h5f7h8fhcbh7bh684hbbh79h576h5dch66h7chcfh56dh9fh5fdq nova-migration-ssh-key: n5b8h554hc9h56fhb7h55ch96h5d6h55h645h5b5h55ch5ch659hb6h58dh699h659hb9h8h76h688hdh59bhfchc8h65dh696h547h586h5b6h67cq