summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoy Tang <roy.s.tang@att.com>2019-09-16 20:41:13 +0000
committerRoy Tang <roy.s.tang@att.com>2019-09-20 15:13:56 +0000
commitddfdc7834d2431fab9ca21e9446d7703b81afaf3 (patch)
tree4ff1d570eff82b5c2f06f09fe7b3ca6b2ee228dc
parent12cc65e58054a2ba89138254e60f76d36bc7c5e7 (diff)
Add SRIOV related updates to cntt
Summary: - Update config of openstack libvirt, nova and neutron components - Add required kernel parameters to grub - Add new label to data plane host profile - Add large hugepages to data plane nodes Signed-off-by: Roy Tang <roy.s.tang@att.com> Change-Id: I5ffa00f71c890edf96ca1b72659903640c54549b
-rw-r--r--type/cntt/profiles/hardware/intel-s2600wt.yaml6
-rw-r--r--type/cntt/profiles/host/dp-intel-s2600wt.yaml14
-rw-r--r--type/cntt/software/charts/osh/openstack-compute-kit/libvirt.yaml21
-rw-r--r--type/cntt/software/charts/osh/openstack-compute-kit/neutron.yaml44
-rw-r--r--type/cntt/software/charts/osh/openstack-compute-kit/nova.yaml25
5 files changed, 107 insertions, 3 deletions
diff --git a/type/cntt/profiles/hardware/intel-s2600wt.yaml b/type/cntt/profiles/hardware/intel-s2600wt.yaml
index 07836ef..94fba0e 100644
--- a/type/cntt/profiles/hardware/intel-s2600wt.yaml
+++ b/type/cntt/profiles/hardware/intel-s2600wt.yaml
@@ -106,4 +106,10 @@ data:
address: '5:0.0.0'
dev_type: 'ST91000640NS'
bus_type: 'scsi'
+ cpu_sets:
+ kvm: '4-43,48-87'
+ hugepages:
+ dpdk:
+ size: '1G'
+ count: 32
...
diff --git a/type/cntt/profiles/host/dp-intel-s2600wt.yaml b/type/cntt/profiles/host/dp-intel-s2600wt.yaml
index 49ece45..fbf304d 100644
--- a/type/cntt/profiles/host/dp-intel-s2600wt.yaml
+++ b/type/cntt/profiles/host/dp-intel-s2600wt.yaml
@@ -9,7 +9,7 @@ metadata:
storagePolicy: cleartext
layeringDefinition:
abstract: false
- layer: site
+ layer: type
parentSelector:
hosttype: dp-global
actions:
@@ -97,4 +97,16 @@ data:
kernel: 'hwe-16.04'
kernel_params:
kernel_package: 'linux-image-4.15.0-46-generic'
+ intel_iommu: 'on'
+ iommu: 'pt'
+ amd_iommu: 'on'
+ cgroup_disable: 'hugetlb'
+ transparent_hugepage: 'never'
+ hugepagesz: 'hardwareprofile:hugepages.dpdk.size'
+ hugepages: 'hardwareprofile:hugepages.dpdk.count'
+ default_hugepagesz: 'hardwareprofile:hugepages.dpdk.size'
+ isolcpus: 'hardwareprofile:cpuset.kvm'
+ metadata:
+ owner_data:
+ sriov: enabled
...
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..07be883
--- /dev/null
+++ b/type/cntt/software/charts/osh/openstack-compute-kit/libvirt.yaml
@@ -0,0 +1,21 @@
+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.yaml b/type/cntt/software/charts/osh/openstack-compute-kit/neutron.yaml
index 8d47efd..6cced90 100644
--- a/type/cntt/software/charts/osh/openstack-compute-kit/neutron.yaml
+++ b/type/cntt/software/charts/osh/openstack-compute-kit/neutron.yaml
@@ -25,4 +25,48 @@ data:
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.yaml b/type/cntt/software/charts/osh/openstack-compute-kit/nova.yaml
index 32f94b8..dd9c02c 100644
--- a/type/cntt/software/charts/osh/openstack-compute-kit/nova.yaml
+++ b/type/cntt/software/charts/osh/openstack-compute-kit/nova.yaml
@@ -14,12 +14,33 @@ metadata:
name: nova
layeringDefinition:
abstract: false
- layer: site
+ layer: type
parentSelector:
name: nova-global
actions:
- method: merge
path: .
storagePolicy: cleartext
-data: {}
+ 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"}]
...