From 799182f0c40730e41253dc5c861857d219291c3b Mon Sep 17 00:00:00 2001 From: "Sridhar K. N. Rao" Date: Fri, 18 Oct 2019 14:35:14 +0530 Subject: Site definition for Intel Pod-10 This patch adds site definition for Intel Pod-10. Updated publickeys of luc and trevor Updated site-definition Updated divingbell Modifying common parts - FOR TESTING ONLY - Will be removed Trying with only 1 disk (bootdisk) Trying with 2 disks - /dev/sda as bootdisk, /dev/sdb as datadisk Change ceph config from directory to /dev/sdb (OSD-data only) Change ceph config from directory to /dev/sdb (OSD-Journl too) Reduce footprint of osh-infra (reduce disk pressure) Move ceph to site specific manifests Fix pod10 host/hardware profiles to be site local Fix Nova/Neutron parts to be site local Fix glance cirros image pull Fix type to site layer names for moved files Rename pod10 hardware/host profiles Move ceph fully to /dev/sdb Disable SR-IOV configuration Optimize disk storage for Nova VMs (use root disk or 3T) Signed-off-by: Sridhar K. N. Rao Change-Id: I2160e56744917510d4627cefca32031904188f77 --- .../software/charts/osh-infra/elasticsearch.yaml | 70 +++++++++++++++ .../software/charts/osh-infra/fluentbit.yaml | 18 ++++ .../software/charts/osh-infra/fluentd.yaml | 18 ++++ .../software/charts/osh-infra/prometheus.yaml | 33 +++++++ .../charts/osh/openstack-compute-kit/libvirt.yaml | 22 +++++ .../charts/osh/openstack-compute-kit/neutron.yaml | 72 +++++++++++++++ .../charts/osh/openstack-compute-kit/nova.yaml | 46 ++++++++++ .../charts/ucp/ceph/ceph-client-update.yaml | 26 ++++++ .../software/charts/ucp/ceph/ceph-client.yaml | 100 +++++++++++++++++++++ .../software/charts/ucp/ceph/ceph-osd.yaml | 30 +++++++ 10 files changed, 435 insertions(+) create mode 100644 site/intel-pod18/software/charts/osh-infra/elasticsearch.yaml create mode 100644 site/intel-pod18/software/charts/osh-infra/fluentbit.yaml create mode 100644 site/intel-pod18/software/charts/osh-infra/fluentd.yaml create mode 100644 site/intel-pod18/software/charts/osh-infra/prometheus.yaml create mode 100644 site/intel-pod18/software/charts/osh/openstack-compute-kit/libvirt.yaml create mode 100644 site/intel-pod18/software/charts/osh/openstack-compute-kit/neutron.yaml create mode 100644 site/intel-pod18/software/charts/osh/openstack-compute-kit/nova.yaml create mode 100644 site/intel-pod18/software/charts/ucp/ceph/ceph-client-update.yaml create mode 100644 site/intel-pod18/software/charts/ucp/ceph/ceph-client.yaml create mode 100644 site/intel-pod18/software/charts/ucp/ceph/ceph-osd.yaml (limited to 'site/intel-pod18/software/charts') diff --git a/site/intel-pod18/software/charts/osh-infra/elasticsearch.yaml b/site/intel-pod18/software/charts/osh-infra/elasticsearch.yaml new file mode 100644 index 0000000..2f7b3c1 --- /dev/null +++ b/site/intel-pod18/software/charts/osh-infra/elasticsearch.yaml @@ -0,0 +1,70 @@ +--- +schema: armada/Chart/v1 +metadata: + schema: metadata/Document/v1 + name: elasticsearch + labels: + name: elasticsearch-type + layeringDefinition: + abstract: false + layer: site + parentSelector: + hosttype: elasticsearch-global + actions: + - method: merge + path: . + storagePolicy: cleartext +data: + values: + pod: + replicas: + client: 3 + resources: + enabled: true + apache_proxy: + limits: + memory: "1024Mi" + cpu: "2000m" + requests: + memory: "0" + cpu: "0" + client: + requests: + memory: "4Gi" + cpu: "1000m" + limits: + memory: "8Gi" + cpu: "2000m" + master: + requests: + memory: "4Gi" + cpu: "1000m" + limits: + memory: "8Gi" + cpu: "2000m" + data: + requests: + memory: "4Gi" + cpu: "1000m" + limits: + memory: "8Gi" + cpu: "2000m" + prometheus_elasticsearch_exporter: + requests: + memory: "0" + cpu: "0" + limits: + memory: "1024Mi" + cpu: "2000m" + + storage: + requests: + storage: 10Gi + conf: + elasticsearch: + env: + java_opts: + client: "-Xms2048m -Xmx2048m" + data: "-Xms2048m -Xmx2048m" + master: "-Xms2048m -Xmx2048m" +... diff --git a/site/intel-pod18/software/charts/osh-infra/fluentbit.yaml b/site/intel-pod18/software/charts/osh-infra/fluentbit.yaml new file mode 100644 index 0000000..1620f26 --- /dev/null +++ b/site/intel-pod18/software/charts/osh-infra/fluentbit.yaml @@ -0,0 +1,18 @@ +--- +schema: armada/Chart/v1 +metadata: + schema: metadata/Document/v1 + name: fluentbit + labels: + name: fluentbit-type + layeringDefinition: + abstract: false + layer: site + parentSelector: + hosttype: fluentbit-global + actions: + - method: merge + path: . + storagePolicy: cleartext +data: {} +... diff --git a/site/intel-pod18/software/charts/osh-infra/fluentd.yaml b/site/intel-pod18/software/charts/osh-infra/fluentd.yaml new file mode 100644 index 0000000..0032414 --- /dev/null +++ b/site/intel-pod18/software/charts/osh-infra/fluentd.yaml @@ -0,0 +1,18 @@ +--- +schema: armada/Chart/v1 +metadata: + schema: metadata/Document/v1 + name: fluentd + labels: + name: fluentd-type + layeringDefinition: + abstract: false + layer: site + parentSelector: + hosttype: fluentd-global + actions: + - method: merge + path: . + storagePolicy: cleartext +data: {} +... diff --git a/site/intel-pod18/software/charts/osh-infra/prometheus.yaml b/site/intel-pod18/software/charts/osh-infra/prometheus.yaml new file mode 100644 index 0000000..c4cd4bf --- /dev/null +++ b/site/intel-pod18/software/charts/osh-infra/prometheus.yaml @@ -0,0 +1,33 @@ +--- +schema: armada/Chart/v1 +metadata: + schema: metadata/Document/v1 + replacement: true + name: prometheus + labels: + name: prometheus-type + layeringDefinition: + abstract: false + layer: site + parentSelector: + name: prometheus-global + actions: + - method: merge + path: . + storagePolicy: cleartext +data: + values: + pod: + resources: + enabled: true + prometheus: + limits: + memory: "4Gi" + cpu: "2000m" + requests: + memory: "2Gi" + cpu: "1000m" + storage: + requests: + storage: 10Gi +... 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 new file mode 100644 index 0000000..f7092cd --- /dev/null +++ b/site/intel-pod18/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: 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 new file mode 100644 index 0000000..6cced90 --- /dev/null +++ b/site/intel-pod18/software/charts/osh/openstack-compute-kit/neutron.yaml @@ -0,0 +1,72 @@ +--- +# 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 new file mode 100644 index 0000000..b730f0d --- /dev/null +++ b/site/intel-pod18/software/charts/osh/openstack-compute-kit/nova.yaml @@ -0,0 +1,46 @@ +--- +# 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"}] +... diff --git a/site/intel-pod18/software/charts/ucp/ceph/ceph-client-update.yaml b/site/intel-pod18/software/charts/ucp/ceph/ceph-client-update.yaml new file mode 100644 index 0000000..eb921b8 --- /dev/null +++ b/site/intel-pod18/software/charts/ucp/ceph/ceph-client-update.yaml @@ -0,0 +1,26 @@ +--- +# The purpose of this file is to define environment-specific parameters for ceph +# client update +schema: armada/Chart/v1 +metadata: + schema: metadata/Document/v1 + name: ucp-ceph-client-update + layeringDefinition: + abstract: false + layer: site + parentSelector: + name: ucp-ceph-client-update-global + actions: + - method: merge + path: . + storagePolicy: cleartext +data: + values: + conf: + pool: + target: + # NEWSITE-CHANGEME: Total number of OSDs. Does not need to change if + # your HW matches this site's HW. Verify for your environment. + # 8 OSDs per node x 3 nodes = 24 + osd: 3 +... diff --git a/site/intel-pod18/software/charts/ucp/ceph/ceph-client.yaml b/site/intel-pod18/software/charts/ucp/ceph/ceph-client.yaml new file mode 100644 index 0000000..e1e8ecf --- /dev/null +++ b/site/intel-pod18/software/charts/ucp/ceph/ceph-client.yaml @@ -0,0 +1,100 @@ +--- +# The purpose of this file is to define envrionment-specific parameters for the +# ceph client +schema: armada/Chart/v1 +metadata: + schema: metadata/Document/v1 + name: ucp-ceph-client + layeringDefinition: + abstract: false + layer: site + parentSelector: + name: ucp-ceph-client-global + actions: + - method: merge + path: . + storagePolicy: cleartext +data: + values: + conf: + pool: + target: + # NEWSITE-CHANGEME: The number of OSDs per ceph node. Does not need to + # change if your deployment HW matches this site's HW. + osd: 1 + spec: + # RBD pool + - name: rbd + application: rbd + replication: 1 + percent_total_data: 40 + - name: cephfs_metadata + application: cephfs + replication: 1 + percent_total_data: 5 + - name: cephfs_data + application: cephfs + replication: 1 + percent_total_data: 10 + # RadosGW pools + - name: .rgw.root + application: rgw + replication: 1 + percent_total_data: 0.1 + - name: default.rgw.control + application: rgw + replication: 1 + percent_total_data: 0.1 + - name: default.rgw.data.root + application: rgw + replication: 1 + percent_total_data: 0.1 + - name: default.rgw.gc + application: rgw + replication: 1 + percent_total_data: 0.1 + - name: default.rgw.log + application: rgw + replication: 1 + percent_total_data: 0.1 + - name: default.rgw.intent-log + application: rgw + replication: 1 + percent_total_data: 0.1 + - name: default.rgw.meta + application: rgw + replication: 1 + percent_total_data: 0.1 + - name: default.rgw.usage + application: rgw + replication: 1 + percent_total_data: 0.1 + - name: default.rgw.users.keys + application: rgw + replication: 1 + percent_total_data: 0.1 + - name: default.rgw.users.email + application: rgw + replication: 1 + percent_total_data: 0.1 + - name: default.rgw.users.swift + application: rgw + replication: 1 + percent_total_data: 0.1 + - name: default.rgw.users.uid + application: rgw + replication: 1 + percent_total_data: 0.1 + - name: default.rgw.buckets.extra + application: rgw + replication: 1 + percent_total_data: 0.1 + - name: default.rgw.buckets.index + application: rgw + replication: 1 + percent_total_data: 3 + - name: default.rgw.buckets.data + application: rgw + replication: 1 + percent_total_data: 34.8 +... diff --git a/site/intel-pod18/software/charts/ucp/ceph/ceph-osd.yaml b/site/intel-pod18/software/charts/ucp/ceph/ceph-osd.yaml new file mode 100644 index 0000000..25297d9 --- /dev/null +++ b/site/intel-pod18/software/charts/ucp/ceph/ceph-osd.yaml @@ -0,0 +1,30 @@ +--- +# The purpose of this file is to define environment-specific parameters for +# ceph-osd +schema: armada/Chart/v1 +metadata: + schema: metadata/Document/v1 + name: ucp-ceph-osd + layeringDefinition: + abstract: false + layer: site + parentSelector: + name: ucp-ceph-osd-global + actions: + - method: replace + path: .values.conf.storage.osd + - method: merge + path: . + storagePolicy: cleartext +data: + values: + conf: + storage: + osd: + - data: + type: directory + location: /var/lib/ceph/osd/osd-one + journal: + type: directory + location: /var/lib/ceph/journal/osd-one +... -- cgit 1.2.3-korg