apiVersion: v1 data: baremetalSetTemplate: bmhLabelSelector: app: openstack cloudUserName: cloud-admin ctlplaneInterface: eno2 passwordSecret: name: baremetalset-password-secret namespace: openstack provisioningInterface: enp1s0 nodeset: ansible: ansiblePort: 22 ansibleUser: cloud-admin ansibleVars: dns_search_domains: [] edpm_fips_mode: check edpm_kernel_args: default_hugepagesz=1GB hugepagesz=1G hugepages=64 iommu=pt intel_iommu=on tsx=off isolcpus=2-11,14-23 edpm_network_config_hide_sensitive_logs: false edpm_network_config_os_net_config_mappings: edpm-compute-0: nic1: 6c:fe:54:3f:8a:01 nic2: 6c:fe:54:3f:8a:02 nic3: 6c:fe:54:3f:8a:03 nic4: 6c:fe:54:3f:8a:04 nic5: 6c:fe:54:3f:8a:05 nic6: 6c:fe:54:3f:8a:06 nic7: 6c:fe:54:3f:8a:07 edpm_network_config_template: "---\n{% set mtu_list = [ctlplane_mtu] %}\n{% for network in nodeset_networks %}\n{% set _ = 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: nic2\n mtu: {{ min_viable_mtu }}\n # force the MAC address of the bridge to this interface\n primary: true\n{% for network in nodeset_networks if network not in ['external', 'tenant'] %}\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: {{ lookup('vars', networks_lower[network] ~ '_ip') }}/{{ lookup('vars', networks_lower[network] ~ '_cidr') }}\n routes: {{ lookup('vars', networks_lower[network] ~ '_host_routes') }}\n{% endfor %}\n- type: ovs_user_bridge\n name: br-link1\n \ use_dhcp: false\n ovs_extra: \"set port br-link1 tag={{ lookup('vars', networks_lower['tenant'] ~ '_vlan_id') }}\"\n addresses:\n - ip_netmask: {{ lookup('vars', networks_lower['tenant'] ~ '_ip') }}/{{ lookup('vars', networks_lower['tenant'] ~ '_cidr') }}\n \ mtu: {{ lookup('vars', networks_lower['tenant'] ~ '_mtu') }}\n \ members:\n - type: ovs_dpdk_bond\n name: dpdkbond0\n \ mtu: 9000\n rx_queue: 1\n ovs_options: \"bond_mode=balance-tcp lacp=active other_config:lacp-time=fast other-config:lacp-fallback-ab=true other_config:lb-output-action=true\"\n members:\n - type: ovs_dpdk_port\n name: dpdk0\n members:\n - type: interface\n name: nic3\n - type: ovs_dpdk_port\n \ name: dpdk1\n members:\n - type: interface\n \ name: nic4\n\n- type: ovs_user_bridge\n name: br-link2\n \ mtu: 9000\n use_dhcp: false\n members:\n - type: ovs_dpdk_port\n \ name: dpdk2\n mtu: 9000\n rx_queue: 2\n members:\n \ - type: interface\n name: nic5\n- type: sriov_pf\n \ name: nic6\n numvfs: 10\n mtu: 9000\n use_dhcp: false\n promisc: true\n- type: sriov_pf\n name: nic7\n numvfs: 10\n mtu: 9000\n \ use_dhcp: false\n promisc: true\n" edpm_neutron_sriov_agent_SRIOV_NIC_physical_device_mappings: sriov1:eno5,sriov2:eno6 edpm_nodes_validation_validate_controllers_icmp: false edpm_nodes_validation_validate_gateway_icmp: false edpm_nova_libvirt_qemu_group: hugetlbfs edpm_ovn_bridge_mappings: - dpdk-mgmt:br-link1 - dpdk2:br-link2 edpm_ovs_dpdk_memory_channels: '4' edpm_ovs_dpdk_pmd_core_list: 1,13,2,14,3,15 edpm_ovs_dpdk_socket_memory: '4096' edpm_ovs_dpdk_vhost_postcopy_support: 'true' edpm_sshd_allowed_ranges: - 192.168.122.0/24 edpm_sshd_configure_firewall: true edpm_tuned_isolated_cores: 2-11,14-23 edpm_tuned_profile: cpu-partitioning-powersave gather_facts: false neutron_physical_bridge_name: br-ex neutron_public_interface_name: nic1 timesync_ntp_servers: - hostname: pool.ntp.org 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 bmhLabelSelector: nodeName: compute-0 hostName: 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 bmhLabelSelector: nodeName: compute-1 hostName: 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 services: - bootstrap - download-cache - reboot-os - configure-ovs-dpdk - configure-network - validate-network - install-os - configure-os - ssh-known-hosts - run-os - install-certs - ovn - neutron-metadata - neutron-sriov - libvirt - nova-custom-ovsdpdksriov - telemetry nova: compute: conf: '# CHANGEME [DEFAULT] reserved_host_memory_mb = 4096 [compute] cpu_shared_set = 0-3,24-27 cpu_dedicated_set = 8-23,32-47 [neutron] physnets = dpdk1, dpdk2 [neutron_physnet_dpdk1] numa_nodes = 0 [neutron_physnet_dpdk2] numa_nodes = 0 [neutron_tunnel] numa_nodes = 0 ' migration: ssh_keys: private: LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUFyQUFBQUJObFkyUnpZUwoxemFHRXlMVzVwYzNSd05USXhBQUFBQ0c1cGMzUndOVEl4QUFBQWhRUUJKOEpOKy9aMXg1MFJSdWIwSFVkSTRLREFKdUNSCjdYa2MzL0V1Q0RVUmdCM1FseXg4aXc1b3VqWG1UcUorVGVSN3pNbEV2M3d6VURma1ZES0dHeXIyOTBzQm1YbjIreWVtWWcKcFR2bWEycnpFamtvNk40VTlkQVlSN0NPcnd1ZkFlUTNmUFZKb3NEM2c4WTdRU0ZjcFhnZEFGWTNWdWN3WFdETndtUGFrTAplWkcyNmxjQUFBRVEvZjk5cy8zL2ZiTUFBQUFUWldOa2MyRXRjMmhoTWkxdWFYTjBjRFV5TVFBQUFBaHVhWE4wY0RVeU1RCkFBQUlVRUFTZkNUZnYyZGNlZEVVYm05QjFIU09DZ3dDYmdrZTE1SE4veExnZzFFWUFkMEpjc2ZJc09hTG8xNWs2aWZrM2sKZTh6SlJMOThNMUEzNUZReWhoc3E5dmRMQVpsNTl2c25wbUlLVTc1bXRxOHhJNUtPamVGUFhRR0Vld2pxOExud0hrTjN6MQpTYUxBOTRQR08wRWhYS1Y0SFFCV04xYm5NRjFnemNKajJwQzNtUnR1cFhBQUFBUWdFendER3pVSkF3eEhKK0JwNDZnOFRHCm5hZXRiTU1ZcVJrRUFkYjZFa0p5RmhpWGQ2M01TM3NSbWsrVlEzVHhESnNxWDFNUlY2SlJxTWdaQThtaVJJRHhDQUFBQUEKNU9iM1poSUcxcFozSmhkR2x2YmdFQ0F3UT0KLS0tLS1FTkQgT1BFTlNTSCBQUklWQVRFIEtFWS0tLS0tCg== public: ZWNkc2Etc2hhMi1uaXN0cDUyMSBBQUFBRTJWalpITmhMWE5vWVRJdGJtbHpkSEExTWpFQUFBQUlibWx6ZEhBMU1qRUFBQUNGQkFFbndrMzc5blhIblJGRzV2UWRSMGpnb01BbTRKSHRlUnpmOFM0SU5SR0FIZENYTEh5TERtaTZOZVpPb241TjVIdk15VVMvZkROUU4rUlVNb1liS3ZiM1N3R1plZmI3SjZaaUNsTytacmF2TVNPU2pvM2hUMTBCaEhzSTZ2QzU4QjVEZDg5VW1pd1BlRHhqdEJJVnlsZUIwQVZqZFc1ekJkWU0zQ1k5cVF0NWtiYnFWdz09IE5vdmEgbWlncmF0aW9uCg== pci: conf: '# CHANGEME [pci] device_spec = {"vendor_id":"8086", "product_id":"1572", "address": "0000:19:00.3", "physical_network":"sriov1", "trusted":"true"} device_spec = {"vendor_id":"8086", "product_id":"1572", "address": "0000:20:00.3", "physical_network":"sriov2", "trusted":"true"} ' preProvisioned: false root_password: cmVkaGF0Cg== ssh_keys: authorized: ZWNkc2Etc2hhMi1uaXN0cDUyMSBBQUFBRTJWalpITmhMWE5vWVRJdGJtbHpkSEExTWpFQUFBQUlibWx6ZEhBMU1qRUFBQUNGQkFDTFo2eEdCNkhlT3RsL0FNRlB4QWZiZElaeEQ3T1NwRHU3dGRzZCtZdWhEZ0FEZndXdTkreGtJeFM2Sm1JOWdmTXFRVWtzdHVRTEF6RjNuU1VaV2FOVzVnQXAycURkZERGTUEvd0lRV04vZDhHUG1rVjg1SmN5WjVlMUpjbnQ4OGNxd2Rkayt4SittTnJ5cURFdTZUUjJWZ0ZINHFKQjlpK0lCMjJFV2FRUm5oVmFpUT09IEVEUE0gZGVwbG95IGtleQo= private: LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUFyQUFBQUJObFkyUnpZUwoxemFHRXlMVzVwYzNSd05USXhBQUFBQ0c1cGMzUndOVEl4QUFBQWhRUUFpMmVzUmdlaDNqclpmd0RCVDhRSDIzU0djUSt6CmtxUTd1N1hiSGZtTG9RNEFBMzhGcnZmc1pDTVV1aVppUFlIektrRkpMTGJrQ3dNeGQ1MGxHVm1qVnVZQUtkcWczWFF4VEEKUDhDRUZqZjNmQmo1cEZmT1NYTW1lWHRTWEo3ZlBIS3NIWFpQc1NmcGphOHFneEx1azBkbFlCUitLaVFmWXZpQWR0aEZtawpFWjRWV29rQUFBRVEwSnBISmRDYVJ5VUFBQUFUWldOa2MyRXRjMmhoTWkxdWFYTjBjRFV5TVFBQUFBaHVhWE4wY0RVeU1RCkFBQUlVRUFJdG5yRVlIb2Q0NjJYOEF3VS9FQjl0MGhuRVBzNUtrTzd1MTJ4MzVpNkVPQUFOL0JhNzM3R1FqRkxvbVlqMkIKOHlwQlNTeTI1QXNETVhlZEpSbFpvMWJtQUNuYW9OMTBNVXdEL0FoQlkzOTN3WSthUlh6a2x6Sm5sN1VseWUzenh5ckIxMgpUN0VuNlkydktvTVM3cE5IWldBVWZpb2tIMkw0Z0hiWVJacEJHZUZWcUpBQUFBUWdGOVhEaUNRN29NTW1FdGxsSmxlZEtWClNHUGdHeVBsQi9DOGtZK3Rnd2JnUTlTLy9DUWpRV2tzU2RZTUFPdXlYRFlCelRxNGs5emdKOXBFT3hyYm9QK1NXUUFBQUEKOUZSRkJOSUdSbGNHeHZlU0JyWlhrQkFnTT0KLS0tLS1FTkQgT1BFTlNTSCBQUklWQVRFIEtFWS0tLS0tCg== public: ZWNkc2Etc2hhMi1uaXN0cDUyMSBBQUFBRTJWalpITmhMWE5vWVRJdGJtbHpkSEExTWpFQUFBQUlibWx6ZEhBMU1qRUFBQUNGQkFDTFo2eEdCNkhlT3RsL0FNRlB4QWZiZElaeEQ3T1NwRHU3dGRzZCtZdWhEZ0FEZndXdTkreGtJeFM2Sm1JOWdmTXFRVWtzdHVRTEF6RjNuU1VaV2FOVzVnQXAycURkZERGTUEvd0lRV04vZDhHUG1rVjg1SmN5WjVlMUpjbnQ4OGNxd2Rkayt4SittTnJ5cURFdTZUUjJWZ0ZINHFKQjlpK0lCMjJFV2FRUm5oVmFpUT09IEVEUE0gZGVwbG95IGtleQo= kind: ConfigMap metadata: annotations: config.kubernetes.io/local-config: 'true' name: edpm-nodeset-values