summaryrefslogtreecommitdiffstats
path: root/site/intel-pod18
diff options
context:
space:
mode:
authorRoy Tang <roy.s.tang@att.com>2019-10-02 19:33:33 +0000
committerRoy Tang <roy.s.tang@att.com>2019-12-04 19:59:09 +0000
commitf23db145a7d5c425b12d346cb99e462ce5e9a815 (patch)
tree9e1153e427d739c831fbbd71ee153b92310520bd /site/intel-pod18
parent77a1f5b22527c07f186e4d961ae1febe3fda2801 (diff)
Deploy ovs-dpdk to pod18
This ps creates artifacts needed to support deployment of ovs-dpdk. Most of the common artifacts are under cntt umbrella, but currently only deploys to pod18. Signed-off-by: Roy Tang <roy.s.tang@att.com> Change-Id: Id02abc1b907ad33b423466acae21ad6c88dbd246
Diffstat (limited to 'site/intel-pod18')
-rw-r--r--site/intel-pod18/baremetal/nodes.yaml12
-rw-r--r--site/intel-pod18/profiles/genesis.yaml50
-rw-r--r--site/intel-pod18/software/charts/osh/openstack-compute-kit/chart-group.yaml26
-rw-r--r--site/intel-pod18/software/charts/osh/openstack-compute-kit/libvirt.yaml22
-rw-r--r--site/intel-pod18/software/charts/osh/openstack-compute-kit/neutron.yaml72
-rw-r--r--site/intel-pod18/software/charts/osh/openstack-compute-kit/nova.yaml46
6 files changed, 84 insertions, 144 deletions
diff --git a/site/intel-pod18/baremetal/nodes.yaml b/site/intel-pod18/baremetal/nodes.yaml
index 1a9de66..b7c7fb4 100644
--- a/site/intel-pod18/baremetal/nodes.yaml
+++ b/site/intel-pod18/baremetal/nodes.yaml
@@ -29,6 +29,10 @@
#
# TODO: Include the hostname naming convention
#
+# OVS-DPDK NOTE: Use the following host_profile for your nodes:
+# For ovs kernel: cp-intel-s2600wt or dp-intel-s2600wt
+# For ovs dpdk: cp-intel-s2600wt-dpdk or dp-intel-s2600wt-dpdk
+#
schema: 'drydock/BaremetalNode/v1'
metadata:
schema: 'metadata/Document/v1'
@@ -102,7 +106,7 @@ data:
# including Genesis. Note Genesis won't actually be listed in this file as a
# BaremetalNode, but the rest are.
# This is the second "primary" control plane node after Genesis.
- host_profile: cp-intel-s2600wt
+ host_profile: cp-intel-s2600wt-dpdk
metadata:
tags:
# NEWSITE-CHANGEME: See previous comment. Apply 'masters' tag for control
@@ -141,7 +145,7 @@ data:
address: 10.10.184.23
# NEWSITE-CHANGEME: The next node's host profile
# This is the third "primary" control plane profile after genesis
- host_profile: cp-intel-s2600wt
+ host_profile: cp-intel-s2600wt-dpdk
metadata:
# NEWSITE-CHANGEME: The next node's rack designation
rack: pod18-rack
@@ -176,7 +180,7 @@ data:
address: 10.10.184.24
# NEWSITE-CHANGEME: The next node's host profile
# This is the one and only appearance of the "secondary" control plane profile
- host_profile: dp-intel-s2600wt
+ host_profile: dp-intel-s2600wt-dpdk
metadata:
# NEWSITE-CHANGEME: The next node's rack designation
rack: pod18-rack
@@ -210,7 +214,7 @@ data:
- network: management
address: 10.10.184.25
# NEWSITE-CHANGEME: The next node's host profile
- host_profile: dp-intel-s2600wt
+ host_profile: dp-intel-s2600wt-dpdk
metadata:
# NEWSITE-CHANGEME: The next node's rack designation
rack: pod18-rack
diff --git a/site/intel-pod18/profiles/genesis.yaml b/site/intel-pod18/profiles/genesis.yaml
new file mode 100644
index 0000000..bb655d9
--- /dev/null
+++ b/site/intel-pod18/profiles/genesis.yaml
@@ -0,0 +1,50 @@
+---
+# OVS-DPDK NOTE:
+# To support ovs-dpdk deployment, need to add dynamic label "sriov=enabled"
+# to genesis node, hence the need for this override here.
+schema: promenade/Genesis/v1
+metadata:
+ schema: metadata/Document/v1
+ name: genesis
+ replacement: true
+ layeringDefinition:
+ abstract: false
+ layer: site
+ parentSelector:
+ name: genesis-cntt
+ actions:
+ - method: merge
+ path: .
+ storagePolicy: cleartext
+data:
+ labels:
+ dynamic:
+ - beta.kubernetes.io/fluentd-ds-ready=true
+ - calico-etcd=enabled
+ - ceph-mds=enabled
+ - ceph-mon=enabled
+ - ceph-osd=enabled
+ - ceph-rgw=enabled
+ - ceph-mgr=enabled
+ - ceph-bootstrap=enabled
+ - tenant-ceph-control-plane=enabled
+ - tenant-ceph-mon=enabled
+ - tenant-ceph-rgw=enabled
+ - tenant-ceph-mgr=enabled
+ - kube-dns=enabled
+ - kube-ingress=enabled
+ - kubernetes-apiserver=enabled
+ - kubernetes-controller-manager=enabled
+ - kubernetes-etcd=enabled
+ - kubernetes-scheduler=enabled
+ - promenade-genesis=enabled
+ - ucp-control-plane=enabled
+ - maas-rack=enabled
+ - maas-region=enabled
+ - ceph-osd-bootstrap=enabled
+ - openstack-control-plane=enabled
+ - openvswitch=enabled
+ - openstack-l3-agent=enabled
+ - node-exporter=enabled
+ - sriov=enabled
+...
diff --git a/site/intel-pod18/software/charts/osh/openstack-compute-kit/chart-group.yaml b/site/intel-pod18/software/charts/osh/openstack-compute-kit/chart-group.yaml
new file mode 100644
index 0000000..73396e7
--- /dev/null
+++ b/site/intel-pod18/software/charts/osh/openstack-compute-kit/chart-group.yaml
@@ -0,0 +1,26 @@
+---
+# OVS-DPDK NOTE:
+# This replacement chartgroup deploys libvirt, openvswitch, neutron and nova
+# that contains config changes needed to support ovs-dpdk deployment.
+schema: armada/ChartGroup/v1
+metadata:
+ schema: metadata/Document/v1
+ name: openstack-compute-kit
+ replacement: true
+ layeringDefinition:
+ abstract: false
+ layer: site
+ parentSelector:
+ name: openstack-compute-kit-chart-group-global
+ actions:
+ - method: merge
+ path: .
+ storagePolicy: cleartext
+data:
+ description: Deploy Nova, Neutron, Openvswitch, and Libvirt for DPDK
+ chart_group:
+ - libvirt-ovsdpdk
+ - openvswitch-dpdk
+ - neutron-ovsdpdk
+ - nova-ovsdpdk
+...
diff --git a/site/intel-pod18/software/charts/osh/openstack-compute-kit/libvirt.yaml b/site/intel-pod18/software/charts/osh/openstack-compute-kit/libvirt.yaml
deleted file mode 100644
index f7092cd..0000000
--- a/site/intel-pod18/software/charts/osh/openstack-compute-kit/libvirt.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
----
-schema: armada/Chart/v1
-metadata:
- schema: metadata/Document/v1
- name: libvirt
- replacement: true
- layeringDefinition:
- abstract: false
- layer: site
- parentSelector:
- name: libvirt-global
- actions:
- - method: merge
- path: .
- storagePolicy: cleartext
-data:
- values:
- network:
- backend:
- - openvswitch
- - sriov
-...
diff --git a/site/intel-pod18/software/charts/osh/openstack-compute-kit/neutron.yaml b/site/intel-pod18/software/charts/osh/openstack-compute-kit/neutron.yaml
deleted file mode 100644
index 6cced90..0000000
--- a/site/intel-pod18/software/charts/osh/openstack-compute-kit/neutron.yaml
+++ /dev/null
@@ -1,72 +0,0 @@
----
-# 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
- replacement: true
- name: neutron
- layeringDefinition:
- abstract: false
- layer: site
- 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/site/intel-pod18/software/charts/osh/openstack-compute-kit/nova.yaml b/site/intel-pod18/software/charts/osh/openstack-compute-kit/nova.yaml
deleted file mode 100644
index b730f0d..0000000
--- a/site/intel-pod18/software/charts/osh/openstack-compute-kit/nova.yaml
+++ /dev/null
@@ -1,46 +0,0 @@
----
-# 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
- layeringDefinition:
- abstract: false
- layer: site
- parentSelector:
- name: nova-global
- 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"}]
-...