diff options
Diffstat (limited to 'type/cntt/software/charts')
7 files changed, 658 insertions, 0 deletions
diff --git a/type/cntt/software/charts/osh/openstack-compute-kit/libvirt-ovsdpdk.yaml b/type/cntt/software/charts/osh/openstack-compute-kit/libvirt-ovsdpdk.yaml new file mode 100644 index 0000000..bb09f4a --- /dev/null +++ b/type/cntt/software/charts/osh/openstack-compute-kit/libvirt-ovsdpdk.yaml @@ -0,0 +1,70 @@ +--- +# OVS-DPDK NOTE: +# This chart is created to support deployment of ovs-dpdk. +# Do not use for env that uses regular ovs kernel. +schema: armada/Chart/v1 +metadata: + schema: metadata/Document/v1 + name: libvirt-ovsdpdk + labels: + name: libvirt-ovsdpdk-cntt + component: libvirt + layeringDefinition: + abstract: false + layer: type + parentSelector: + name: libvirt-global + actions: + - method: merge + path: . + storagePolicy: cleartext + substitutions: + # Chart source + - src: + schema: pegleg/SoftwareVersions/v1 + name: software-versions + path: .charts.osh.libvirt + dest: + path: .source + # Images + - src: + schema: pegleg/SoftwareVersions/v1 + name: software-versions + path: .ovs-dpdk.images.osh.libvirt + dest: + path: .values.images.tags +data: + values: + network: + backend: + - openvswitch + - sriov + dependencies: + - libvirt-htk-ovsdpdk +... +--- +schema: armada/Chart/v1 +metadata: + schema: metadata/Document/v1 + name: libvirt-htk-ovsdpdk + labels: + name: libvirt-htk-ovsdpdk-cntt + component: libvirt + layeringDefinition: + abstract: false + layer: type + storagePolicy: cleartext + substitutions: + - src: + schema: pegleg/SoftwareVersions/v1 + name: software-versions + path: .charts.osh.libvirt-htk + dest: + path: .source +data: + chart_name: libvirt-htk + release: libvirt-htk + namespace: libvirt-htk + values: {} + dependencies: [] +... diff --git a/type/cntt/software/charts/osh/openstack-compute-kit/libvirt.yaml b/type/cntt/software/charts/osh/openstack-compute-kit/libvirt.yaml new file mode 100644 index 0000000..5b35bdb --- /dev/null +++ b/type/cntt/software/charts/osh/openstack-compute-kit/libvirt.yaml @@ -0,0 +1,22 @@ +--- +schema: armada/Chart/v1 +metadata: + schema: metadata/Document/v1 + name: libvirt + replacement: true + layeringDefinition: + abstract: false + layer: type + parentSelector: + name: libvirt-global + actions: + - method: merge + path: . + storagePolicy: cleartext +data: + values: + network: + backend: + - openvswitch + - sriov +... diff --git a/type/cntt/software/charts/osh/openstack-compute-kit/neutron-ovsdpdk.yaml b/type/cntt/software/charts/osh/openstack-compute-kit/neutron-ovsdpdk.yaml new file mode 100644 index 0000000..c22f7d1 --- /dev/null +++ b/type/cntt/software/charts/osh/openstack-compute-kit/neutron-ovsdpdk.yaml @@ -0,0 +1,239 @@ +--- +# This file defines hardware-specific settings for neutron. If you use the same +# hardware profile as this environment, you should not need to change this file. +# Otherwise, you should review the settings here and adjust for your hardware. +# In particular: +# 1. logical network interface names +# 2. physical device mappigns +# TODO: Should move to global layer and become tied to the hardware profile +# +# OVS-DPDK NOTE: +# This chart is created to support deployment of ovs-dpdk. +# Do not use for env that uses regular ovs kernel. + +schema: armada/Chart/v1 +metadata: + schema: metadata/Document/v1 + name: neutron-ovsdpdk + labels: + name: neutron-ovsdpdk-cntt + component: neutron + layeringDefinition: + abstract: false + layer: type + parentSelector: + name: neutron-global + component: neutron + actions: + - method: merge + path: . + storagePolicy: cleartext + substitutions: + # Chart source + - src: + schema: pegleg/SoftwareVersions/v1 + name: software-versions + path: .ovs-dpdk.charts.osh.neutron + dest: + path: .source + # Images + - src: + schema: pegleg/SoftwareVersions/v1 + name: software-versions + path: .ovs-dpdk.images.osh.neutron + dest: + path: .values.images.tags + + # OVS-DPDK settings for neutron + - src: + schema: pegleg/CommonAddresses/v1 + name: common-addresses-ovsdpdk + path: .bridge_for_ovsdpdk + dest: + - path: .values.conf.ovs_dpdk.bridges[0].name + pattern: TUNNEL_BRIDGE + - path: .values.conf.ovs_dpdk.bonds[0].bridge + pattern: TUNNEL_BRIDGE + - path: .values.conf.plugins.openvswitch_agent.ovs.bridge_mappings + pattern: TUNNEL_BRIDGE + - path: .values.network.interface.tunnel + pattern: TUNNEL_BRIDGE + ## OVS-DPDK NOTE: Using storage network for dpdk work for now + - src: + schema: drydock/Network/v1 + name: storage + path: .mtu + dest: + path: .values.conf.ovs_dpdk.bonds[0].mtu + - src: + schema: drydock/HardwareProfile/v1 + name: intel-s2600wt + path: .device_aliases.data_nic2.address + dest: + path: .values.conf.ovs_dpdk.bonds[0].nics[0].pci_id + - src: + schema: drydock/HardwareProfile/v1 + name: intel-s2600wt + path: .device_aliases.data_nic3.address + dest: + path: .values.conf.ovs_dpdk.bonds[0].nics[1].pci_id +data: + wait: + timeout: 1800 + test: + timeout: 900 + values: + labels: + sriov: + node_selector_key: sriov + node_selector_value: enabled + pod: + security_context: + neutron_sriov_agent: + pod: + runAsUser: 42424 + container: + neutron_sriov_agent_init: + privileged: true + runAsUser: 0 + readOnlyRootFilesystem: false + neutron_sriov_agent: + readOnlyRootFilesystem: true + privileged: true + probes: + dhcp_agent: + dhcp_agent: + readiness: + enabled: false + liveness: + enabled: false + l3_agent: + l3_agent: + readiness: + enabled: false + liveness: + enabled: false + metadata_agent: + metadata_agent: + readiness: + enabled: false + liveness: + enabled: false + ovs_agent: + ovs_agent: + liveness: + enabled: false + sriov_agent: + sriov_agent: + readiness: + enabled: false + network: + interface: + sriov: + - device: ens785f1 + num_vfs: 32 + promisc: false + - device: ens785f2 + num_vfs: 32 + promisc: false + tunnel: TUNNEL_BRIDGE + backend: + - openvswitch + - sriov + conf: + # api-paste entrypoint neutron.api.versions:Versions.factory was deprecated in Queens + # See https://docs.openstack.org/releasenotes/neutron/queens.html: + paste: + app:neutronversions: + paste.app_factory: neutron.pecan_wsgi.app:versions_factory + ovs_dpdk: + enabled: true + driver: vfio-pci + nics: [] + bridges: + - name: TUNNEL_BRIDGE + bonds: + - name: dpdkbond0 + bridge: TUNNEL_BRIDGE + # The IP from the first nic in nics list shall be used + migrate_ip: false + n_rxq: 4 + n_txq: 4 + n_rxq_size: 1024 + n_txq_size: 1024 + ovs_options: "bond_mode=active-backup" + nics: + - name: dpdk_b0s0 + vf_index: 0 + - name: dpdk_b0s1 + vf_index: 0 + plugins: + openvswitch_agent: + default: + ovs_vsctl_timeout: 30 + agent: + tunnel_types: "" + securitygroup: + enable_security_group: False + firewall_driver: neutron.agent.firewall.NoopFirewallDriver + ovs: + bridge_mappings: ovsnet:TUNNEL_BRIDGE + datapath_type: netdev + of_connect_timeout: 60 + of_request_timeout: 30 + vhostuser_socket_dir: /var/run/openvswitch/vhostuser + ml2_conf: + ml2: + mechanism_drivers: l2population,openvswitch,sriovnicswitch + ml2_type_vlan: + ## NOTE: Must have at least 1 sriov network defined + network_vlan_ranges: external,sriovnet1:100:4000,sriovnet2:100:4000,ovsnet:2:4094 + sriov_agent: + securitygroup: + firewall_driver: neutron.agent.firewall.NoopFirewallDriver + sriov_nic: + ## NOTE: Must have at least 1 sriov network to physical device + ## mapping, otherwise sriov agent readiness check + ## will fail. + physical_device_mappings: sriovnet1:ens785f1,sriovnet2:ens785f2 + exclude_devices: ens785f1:0000:05:06.0,ens785f2:05:0a.0 + # Need to wait for sriov agent to come up and configure VFs first + dependencies: + dynamic: + targeted: + openvswitch: + ovs_agent: + pod: + - requireSameNode: true + labels: + application: neutron + component: neutron-sriov-agent + dependencies: + - neutron-htk-ovsdpdk +... +--- +schema: armada/Chart/v1 +metadata: + schema: metadata/Document/v1 + name: neutron-htk-ovsdpdk + labels: + name: neutron-htk-ovsdpdk-cntt + component: neutron + layeringDefinition: + abstract: false + layer: type + storagePolicy: cleartext + substitutions: + - src: + schema: pegleg/SoftwareVersions/v1 + name: software-versions + path: .ovs-dpdk.charts.osh.neutron-htk + dest: + path: .source +data: + chart_name: neutron-htk + release: neutron-htk + namespace: neutron-htk + values: {} + dependencies: [] +... diff --git a/type/cntt/software/charts/osh/openstack-compute-kit/neutron.yaml b/type/cntt/software/charts/osh/openstack-compute-kit/neutron.yaml new file mode 100644 index 0000000..cafdade --- /dev/null +++ b/type/cntt/software/charts/osh/openstack-compute-kit/neutron.yaml @@ -0,0 +1,75 @@ +--- +# This file defines hardware-specific settings for neutron. If you use the same +# hardware profile as this environment, you should not need to change this file. +# Otherwise, you should review the settings here and adjust for your hardware. +# In particular: +# 1. logical network interface names +# 2. physical device mappigns +# TODO: Should move to global layer and become tied to the hardware profile +schema: armada/Chart/v1 +metadata: + schema: metadata/Document/v1 + name: neutron + replacement: true + labels: + name: neutron-cntt + component: neutron + layeringDefinition: + abstract: false + layer: type + parentSelector: + name: neutron-global + actions: + - method: merge + path: . + storagePolicy: cleartext +data: + wait: + timeout: 1800 + test: + timeout: 900 + values: + labels: + sriov: + node_selector_key: sriov + node_selector_value: enabled + pod: + security_context: + neutron_sriov_agent: + pod: + runAsUser: 42424 + container: + neutron_sriov_agent_init: + privileged: true + runAsUser: 0 + readOnlyRootFilesystem: false + neutron_sriov_agent: + readOnlyRootFilesystem: true + privileged: true + network: + interface: + sriov: + - device: ens785f1 + num_vfs: 32 + promisc: false + backend: + - openvswitch + - sriov + conf: + plugins: + ml2_conf: + ml2: + mechanism_drivers: l2population,openvswitch,sriovnicswitch + ml2_type_vlan: + ## NOTE: Must have at least 1 sriov network defined + network_vlan_ranges: external,sriovnet1:100:4000 + sriov_agent: + securitygroup: + firewall_driver: neutron.agent.firewall.NoopFirewallDriver + sriov_nic: + ## NOTE: Must have at least 1 sriov network to physical device + ## mapping, otherwise sriov agent readiness check + ## will fail. + physical_device_mappings: sriovnet1:ens785f1 + exclude_devices: "" +... diff --git a/type/cntt/software/charts/osh/openstack-compute-kit/nova-ovsdpdk.yaml b/type/cntt/software/charts/osh/openstack-compute-kit/nova-ovsdpdk.yaml new file mode 100644 index 0000000..8d8c5c2 --- /dev/null +++ b/type/cntt/software/charts/osh/openstack-compute-kit/nova-ovsdpdk.yaml @@ -0,0 +1,87 @@ +--- +# OVS-DPDK NOTE: +# This chart is created to support deployment of ovs-dpdk. +# Do not use for env that uses regular ovs kernel. + +schema: armada/Chart/v1 +metadata: + schema: metadata/Document/v1 + name: nova-ovsdpdk + labels: + name: nova-ovsdpdk-cntt + component: nova + layeringDefinition: + abstract: false + layer: type + parentSelector: + name: nova-global + actions: + - method: merge + path: . + storagePolicy: cleartext + substitutions: + # Chart source + - src: + schema: pegleg/SoftwareVersions/v1 + name: software-versions + path: .ovs-dpdk.charts.osh.nova + dest: + path: .source + # Images + - src: + schema: pegleg/SoftwareVersions/v1 + name: software-versions + path: .ovs-dpdk.images.osh.nova + dest: + path: .values.images.tags + - src: + schema: drydock/HardwareProfile/v1 + name: intel-s2600wt + path: .cpu_sets.kvm + dest: + path: .values.conf.nova.DEFAULT.vcpu_pin_set +data: + values: + network: + backend: + - openvswitch + - sriov + conf: + nova: + filter_scheduler: + available_filters: "nova.scheduler.filters.all_filters" + enabled_filters: "RetryFilter,AvailabilityZoneFilter,RamFilter,CoreFilter,DiskFilter,ComputeFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter,AggregateInstanceExtraSpecsFilter,AggregateCoreFilter,AggregateRamFilter,AggregateMultiTenancyIsolation,JsonFilter,IoOpsFilter,AggregateDiskFilter,AllHostsFilter,IsolatedHostsFilter,AggregateImagePropertiesIsolation,PciPassthroughFilter,AggregateIoOpsFilter,NumInstancesFilter,AggregateNumInstancesFilter,MetricsFilter,SimpleCIDRAffinityFilter,AggregateTypeAffinityFilter,NUMATopologyFilter,ComputeCapabilitiesFilter,DifferentHostFilter,SameHostFilter" + pci: + alias: '{"name": "numa0", "capability_type": "pci", "product_id": "154c", "vendor_id": "8086", "device_type": "type-PCI"}' + ## OVS-DPDK NOTE: Exclude vf0 from each of the sriov nic, vf0 is reserved for used by ovs to create dpdk bond. + passthrough_whitelist: | + [{"address": {"domain":"0000","bus":"05","slot":"06","function":"[1-7]"}, "physical_network": "sriovnet1"},{"address": "0000:05:07.*", "physical_network": "sriovnet1"},{"address": "0000:05:08.*", "physical_network": "sriovnet1"},{"address": "0000:05:09.*", "physical_network": "sriovnet1"}] + dependencies: + - nova-htk-ovsdpdk +... +--- +schema: armada/Chart/v1 +metadata: + schema: metadata/Document/v1 + name: nova-htk-ovsdpdk + labels: + name: nova-htk-ovsdpdk-cntt + component: nova + layeringDefinition: + abstract: false + layer: type + storagePolicy: cleartext + substitutions: + - src: + schema: pegleg/SoftwareVersions/v1 + name: software-versions + path: .ovs-dpdk.charts.osh.nova-htk + dest: + path: .source +data: + chart_name: nova-htk + release: nova-htk + namespace: nova-htk + values: {} + dependencies: [] +... diff --git a/type/cntt/software/charts/osh/openstack-compute-kit/nova.yaml b/type/cntt/software/charts/osh/openstack-compute-kit/nova.yaml new file mode 100644 index 0000000..5fd9a1c --- /dev/null +++ b/type/cntt/software/charts/osh/openstack-compute-kit/nova.yaml @@ -0,0 +1,50 @@ +--- +# This file defines hardware-specific settings for nova. If you use the same +# hardware profile as this environment, you should not need to change this file. +# Otherwise, you should review the settings here and adjust for your hardware. +# In particular: +# 1. vcpu_pin_set will change if the number of logical CPUs on the hardware +# changes. +# 2. pci alias / passthrough_whitelist could change if the NIC type or NIC +# slotting changes. +# TODO: Should move to global layer and become tied to the hardware profile +schema: armada/Chart/v1 +metadata: + schema: metadata/Document/v1 + name: nova + labels: + name: nova-cntt + component: nova + layeringDefinition: + abstract: false + layer: type + parentSelector: + name: nova-global + component: nova + actions: + - method: merge + path: . + storagePolicy: cleartext + substitutions: + - src: + schema: drydock/HardwareProfile/v1 + name: intel-s2600wt + path: .cpu_sets.kvm + dest: + path: .values.conf.nova.DEFAULT.vcpu_pin_set +data: + values: + network: + backend: + - openvswitch + - sriov + conf: + nova: + filter_scheduler: + available_filters: "nova.scheduler.filters.all_filters" + enabled_filters: "RetryFilter,AvailabilityZoneFilter,RamFilter,CoreFilter,DiskFilter,ComputeFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter,AggregateInstanceExtraSpecsFilter,AggregateCoreFilter,AggregateRamFilter,AggregateMultiTenancyIsolation,JsonFilter,IoOpsFilter,AggregateDiskFilter,AllHostsFilter,IsolatedHostsFilter,AggregateImagePropertiesIsolation,PciPassthroughFilter,AggregateIoOpsFilter,NumInstancesFilter,AggregateNumInstancesFilter,MetricsFilter,SimpleCIDRAffinityFilter,AggregateTypeAffinityFilter,NUMATopologyFilter,ComputeCapabilitiesFilter,DifferentHostFilter,SameHostFilter" + pci: + alias: '{"name": "numa0", "capability_type": "pci", "product_id": "154c", "vendor_id": "8086", "device_type": "type-PCI"}' + passthrough_whitelist: | + [{"address": "0000:05:06.*", "physical_network": "sriovnet1"},{"address": "0000:05:07.*", "physical_network": "sriovnet1"},{"address": "0000:05:08.*", "physical_network": "sriovnet1"},{"address": "0000:05:09.*", "physical_network": "sriovnet1"}] +... diff --git a/type/cntt/software/charts/osh/openstack-compute-kit/openvswitch-dpdk.yaml b/type/cntt/software/charts/osh/openstack-compute-kit/openvswitch-dpdk.yaml new file mode 100644 index 0000000..7fe5e40 --- /dev/null +++ b/type/cntt/software/charts/osh/openstack-compute-kit/openvswitch-dpdk.yaml @@ -0,0 +1,115 @@ +--- +# OVS-DPDK NOTE: +# This chart is created to support deployment of ovs-dpdk. +# Do not use for env that uses regular ovs kernel. + +schema: armada/Chart/v1 +metadata: + schema: metadata/Document/v1 + name: openvswitch-dpdk + labels: + name: openvswitch-dpdk-cntt + component: openswitch + layeringDefinition: + abstract: false + layer: type + parentSelector: + name: openvswitch-global + actions: + - method: merge + path: . + storagePolicy: cleartext + substitutions: + # Chart source + - src: + schema: pegleg/SoftwareVersions/v1 + name: software-versions + path: .ovs-dpdk.charts.osh.openvswitch + dest: + path: .source + # Images + - src: + schema: pegleg/SoftwareVersions/v1 + name: software-versions + path: .ovs-dpdk.images.osh.openvswitch + dest: + path: .values.images.tags + # OVS-DPDK config + - src: + schema: drydock/HardwareProfile/v1 + name: intel-s2600wt + path: .cpu_sets.dpdk-lcore-mask + dest: + path: .values.conf.ovs_dpdk.lcore_mask + - src: + schema: drydock/HardwareProfile/v1 + name: intel-s2600wt + path: .cpu_sets.pmd-cpu-mask + dest: + path: .values.conf.ovs_dpdk.pmd_cpu_mask + - src: + schema: pegleg/CommonAddresses/v1 + name: common-addresses-ovsdpdk + path: .bridge_for_ovsdpdk + dest: + - path: .values.network.external_bridge + - path: .values.network.interface.external +data: + values: + pod: + resources: + enabled: true + ovs: + vswitchd_dpdk: + requests: + memory: "2Gi" + cpu: "2" + limits: + memory: "2Gi" + cpu: "2" + hugepages-1Gi: "1Gi" + conf: + ovs_dpdk: + enabled: true + socket_memory: 4096,4096 + vhostuser_socket_dir: vhostuser + hugepages_mountpath: /dev/hugepages + # OVS-DPDK NOTE: Need to wait for sriov agent to come up and configure VFs first + dependencies: + static: + vswitchd: + pod: + - requireSameNode: true + labels: + application: neutron + component: neutron-sriov-agent + dependencies: + - openvswitch-htk-dpdk +... +--- +schema: armada/Chart/v1 +metadata: + schema: metadata/Document/v1 + name: openvswitch-htk-dpdk + labels: + name: openvswitch-htk-dpdk-cntt + component: openvswitch + layeringDefinition: + abstract: false + layer: type + storagePolicy: cleartext + substitutions: + - src: + schema: pegleg/SoftwareVersions/v1 + name: software-versions + path: .ovs-dpdk.charts.osh.openvswitch-htk + dest: + path: .source +data: + chart_name: openvswitch-htk + release: openvswitch-htk + namespace: openvswitch-htk + values: {} + dependencies: [] +... + |