apiVersion: dataplane.openstack.org/v1beta1
kind: OpenStackDataPlaneNodeSet
metadata:
  creationTimestamp: '2024-09-27T12:23:21Z'
  generation: 1
  name: openstack-compute2-up
  namespace: openstack
  resourceVersion: '66008652'
  uid: 9cdfb810-a931-4291-be2f-cf3b8bc705d8
spec:
  baremetalSetTemplate:
    ctlplaneNetmask: 255.255.255.0
    cloudUserName: cloud-admin
    automatedCleaningMode: metadata
    deploymentSSHSecret: dataplane-ansible-ssh-private-key-secret
    bmhLabelSelector:
      app: openstack
    baremetalHosts:
      osp-compute2:
        ctlPlaneIP: ''
    ctlplaneInterface: enp1s0
    hardwareReqs:
      cpuReqs:
        countReq: {}
        mhzReq: {}
      diskReqs:
        gbReq: {}
        ssdReq: {}
      memReqs:
        gbReq: {}
    bmhNamespace: openshift-machine-api
  env:
    - name: ANSIBLE_FORCE_COLOR
      value: 'True'
  networkAttachments:
    - ctlplane
  nodeTemplate:
    ansible:
      ansiblePort: 22
      ansibleUser: cloud-admin
      ansibleVars:
        edpm_bootstrap_command: |
          subscription-manager register --username '{{ subscription_manager_username }}' --password '{{ subscription_manager_password }}'
          subscription-manager release --set=9.4
          subscription-manager repos --disable=*
          subscription-manager repos --enable=rhel-9-for-x86_64-baseos-eus-rpms --enable=rhel-9-for-x86_64-appstream-eus-rpms --enable=rhel-9-for-x86_64-highavailability-eus-rpms --enable=fast-datapath-for-rhel-9-x86_64-rpms --enable=rhoso-18-beta-for-rhel-9-x86_64-rpms --enable=rhceph-7-tools-for-rhel-9-x86_64-rpms
          dnf update -y 
          dnf install -y podman
          podman login -u '{{ registry_username }}' -p '{{ registry_password }}' registry.redhat.io
        edpm_bootstrap_release_version_package: []
        edpm_container_registry_logins:
          registry.redhat.io:
            1234567890|rhoso18: xxxxxxxxxxxxx
        edpm_network_config_os_net_config_mappings:
          osp-compute2:
            nic1: 'de:ad:be:ef:00:08'
        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 }}
              # force the MAC address of the bridge to this interface
              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 %}
        neutron_physical_bridge_name: br-ex
        neutron_public_interface_name: enp1s0
      ansibleVarsFrom:
        - prefix: subscription_manager_
          secretRef:
            name: subscription-manager
        - prefix: registry_
          secretRef:
            name: redhat-registry
    ansibleSSHPrivateKeySecret: dataplane-ansible-ssh-private-key-secret
    extraMounts:
      - extraVolType: Logs
        mounts:
          - mountPath: /runner/artifacts
            name: ansible-logs
        volumes:
          - name: ansible-logs
            persistentVolumeClaim:
              claimName: ansible-logs
    managementNetwork: ctlplane
  nodes:
    osp-compute2:
      ansible:
        ansibleHost: 192.168.122.98
        ansibleUser: cloud-admin
        ansibleVars:
          fqdn_internal_api: osp-compute2.example.com
      hostName: osp-compute2
      networks:
        - defaultRoute: true
          fixedIP: 192.168.122.98
          name: ctlplane
          subnetName: subnet1
        - name: internalapi
          subnetName: subnet1
        - name: storage
          subnetName: subnet1
        - name: tenant
          subnetName: subnet1
        - name: external
          subnetName: subnet1
  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:
    osp-compute2:
      ctlplane: osp-compute2.ctlplane.example.com
      external: osp-compute2.external.example.com
      internalapi: osp-compute2.internalapi.example.com
      storage: osp-compute2.storage.example.com
      tenant: osp-compute2.tenant.example.com
  allIPs:
    osp-compute2:
      ctlplane: 192.168.122.98
      external: 10.0.0.100
      internalapi: 172.17.0.103
      storage: 172.18.0.103
      tenant: 172.19.0.103
  conditions:
    - lastTransitionTime: '2024-09-27T12:23:21Z'
      message: Setup started
      reason: Requested
      severity: Info
      status: 'False'
      type: Ready
    - lastTransitionTime: '2024-09-27T12:23:21Z'
      message: Deployment not started
      reason: Init
      status: Unknown
      type: DeploymentReady
    - lastTransitionTime: '2024-09-27T12:23:21Z'
      message: Input data complete
      reason: Ready
      status: 'True'
      type: InputReady
    - lastTransitionTime: '2024-09-27T12:23:21Z'
      message: NodeSetBaremetalProvisionReady not yet ready
      reason: Requested
      severity: Info
      status: 'False'
      type: NodeSetBaremetalProvisionReady
    - lastTransitionTime: '2024-09-27T12:23:21Z'
      message: NodeSetDNSDataReady ready
      reason: Ready
      status: 'True'
      type: NodeSetDNSDataReady
    - lastTransitionTime: '2024-09-27T12:23:21Z'
      message: NodeSetIPReservationReady ready
      reason: Ready
      status: 'True'
      type: NodeSetIPReservationReady
    - lastTransitionTime: '2024-09-27T12:23:21Z'
      message: ServiceAccount created
      reason: Ready
      status: 'True'
      type: ServiceAccountReady
    - lastTransitionTime: '2024-09-27T12:23:21Z'
      message: Setup started
      reason: Requested
      severity: Info
      status: 'False'
      type: SetupReady
  configHash: n9h65fh598h547hd8h55fh646hfdh8dh5f5h54bhfdh5b5h566h5fch5cch58ch5bdh68dh8bh5b6h7h7dh598h57fhd8h648h96h64bh5dch545h94q
  ctlplaneSearchDomain: ctlplane.example.com
  dnsClusterAddresses:
    - 172.30.159.154
  observedGeneration: 1
