--- storage_class_name: local-storage dns_server_provisioning_ip: >- {{ (ctlplane_prefix_ipv6 | default('2620:cf:cf:aaaa')) ~ '::50' if ipv6_enabled | default(false) else (ctlplane_prefix | default('192.168.122')) ~ '.80' }} ironic_network: baremetal ironic_patch: | spec: ironic: enabled: true template: rpcTransport: oslo databaseInstance: openstack customServiceConfig: | [DEFAULT] default_network_interface={{ 'neutron' if ipv6_enabled | default(false) else 'flat' }} ironicAPI: replicas: 1 override: service: internal: metadata: annotations: metallb.universe.tf/address-pool: ctlplane metallb.universe.tf/allow-shared-ip: ctlplane {% if ipv6_enabled | default(false) -%} metallb.universe.tf/loadBalancerIPs: {{ ctlplane_prefix_ipv6 | default('2620:cf:cf:aaaa') }}::50 {%- else -%} metallb.universe.tf/loadBalancerIPs: {{ ctlplane_prefix | default('192.168.122') }}.80 {%- endif %} spec: type: LoadBalancer ironicConductors: - replicas: 1 networkAttachments: - {{ ironic_network }} provisionNetwork: {{ ironic_network }} storageRequest: 10G storageClass: {{ storage_class_name }} customServiceConfig: | [neutron] cleaning_network=provisioning provisioning_network=provisioning rescuing_network=provisioning # inspection_network= [conductor] automated_clean=true ironicInspector: replicas: 1 inspectionNetwork: {{ ironic_network }} networkAttachments: - {{ ironic_network }} dhcpRanges: - name: inspector-0 {% if ipv6_enabled | default(false) -%} cidr: 2620:cf:cf:ffff::/64 start: 2620:cf:cf:ffff::190 end: 2620:cf:cf:ffff::199 {%- else -%} cidr: 172.20.1.0/24 start: 172.20.1.190 end: 172.20.1.199 gateway: 172.20.1.1 {%- endif %} serviceUser: ironic-inspector databaseAccount: ironic-inspector passwordSelectors: database: IronicInspectorDatabasePassword service: IronicInspectorPassword ironicNeutronAgent: replicas: 1 messagingBus: cluster: rabbitmq secret: osp-secret ironic_disable_rbac_patch: | spec: ironic: template: ironicAPI: customServiceConfig: | [oslo_policy] enforce_scope=false enforce_new_defaults=false ironic_enable_rbac_patch: | spec: ironic: template: ironicAPI: customServiceConfig: | [oslo_policy] enforce_scope=true enforce_new_defaults=true ironic_retry_delay: 5 # Post-adoption node management steps # These steps complement the pre_launch_ironic_* variables in development_environment role. # Use these when node management was skipped pre-adoption but needed post-adoption. # Steps are independent and should match the actual state of nodes: # - ironic_post_adoption_manage_nodes: move nodes to manageable state # - ironic_post_adoption_inspect_nodes: inspect nodes (requires nodes in manageable state) # - ironic_post_adoption_provide_nodes: move nodes to available state (requires nodes in manageable state) # Example: If pre_launch_ironic_manage_nodes=false was set pre-adoption, enable these post-adoption. ironic_post_adoption_manage_nodes: false ironic_post_adoption_inspect_nodes: false ironic_post_adoption_provide_nodes: false