diff options
author | Roy Tang <roy.s.tang@att.com> | 2019-10-02 19:33:33 +0000 |
---|---|---|
committer | Roy Tang <roy.s.tang@att.com> | 2019-12-04 19:59:09 +0000 |
commit | f23db145a7d5c425b12d346cb99e462ce5e9a815 (patch) | |
tree | 9e1153e427d739c831fbbd71ee153b92310520bd /site/intel-pod18 | |
parent | 77a1f5b22527c07f186e4d961ae1febe3fda2801 (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')
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"}] -... |