Adaptations for OVS-DPDK blueprint
[yaml_builds.git] / site_type / ovsdpdk-a13 / templates / profiles / host / cp_r720.j2
diff --git a/site_type/ovsdpdk-a13/templates/profiles/host/cp_r720.j2 b/site_type/ovsdpdk-a13/templates/profiles/host/cp_r720.j2
new file mode 100644 (file)
index 0000000..d2f52c8
--- /dev/null
@@ -0,0 +1,254 @@
+---
+# The primary control plane host profile for Airship for DELL R720s, and
+# should not need to be altered if you are using matching HW. The active
+# participants in the Ceph cluster run on this profile. Other control plane
+# services are not affected by primary vs secondary designation.
+schema: drydock/HostProfile/v1
+metadata:
+  schema: metadata/Document/v1
+  name: cp_r720-primary
+  storagePolicy: cleartext
+  layeringDefinition:
+    abstract: false
+    layer: site
+    parentSelector:
+      hosttype: cp-global
+    actions:
+      - method: replace
+        path: .interfaces
+      - method: replace
+        path: .storage
+      - method: merge
+        path: .
+data:
+  hardware_profile: dell_r720
+
+  primary_network: oam
+  interfaces:
+    pxe:
+      device_link: pxe
+      slaves:
+        - pxe_nic01
+      networks:
+        - pxe
+    bond0:
+      device_link: data
+      slaves:
+        - data_nic01
+        - data_nic02
+      networks:
+        - oam
+        - storage
+        - overlay
+        - calico
+    dpdk:
+      device_link: dpdk
+      slaves:
+        - dpdk_nic01
+      networks:
+        - dpdk
+  storage:
+    physical_devices:
+{% for disk in yaml.disks %}
+      {{disk.name}}:
+      {% if 'labels' in disk %}
+        labels:
+        {% for key, value in disk.labels.items() %}
+          {{key}}: '{{value}}'
+        {% endfor %}
+      {% endif %}
+        partitions:
+       {% for p in disk.partitions %}
+          - name: '{{p.name}}'
+            size: '{{p.size}}'
+            {% if 'bootable' in p %}
+            bootable: {{p.bootable}}
+            {% endif %}
+            filesystem:
+              mountpoint: '{{p.mountpoint}}'
+              fstype: 'ext4'
+              mount_options: 'defaults'
+      {% endfor %}
+{% endfor %}
+
+  platform:
+    kernel: 'hwe-16.04'
+    kernel_params:
+{% if 'platform' in yaml and 'kernel_params' in yaml.platform %}
+{% for key, value in yaml.platform.kernel_params.items() %}
+      {{key}}: '{{value}}'
+{% endfor %}
+{% else %}
+      console: 'ttyS1,115200n8'
+      intel_iommu: 'on'
+      iommu: 'pt'
+      amd_iommu: 'on'
+      transparent_hugepage: 'never'
+{% endif %}
+{% if 'platform' in yaml and 'vcpu_pin_set' in yaml.platform %}
+      isolcpus: '{{yaml.platform.vcpu_pin_set}}'
+{% endif %}
+
+  metadata:
+    owner_data:
+      control-plane: enabled
+      ucp-control-plane: enabled
+      openstack-control-plane: enabled
+      openstack-heat: enabled
+      openstack-keystone: enabled
+      openstack-rabbitmq: enabled
+      openstack-dns-helper: enabled
+      openstack-mariadb: enabled
+      openstack-nova-control: enabled
+      # openstack-etcd: enabled
+      openstack-mistral: enabled
+      openstack-memcached: enabled
+      openstack-glance: enabled
+      openstack-horizon: enabled
+      openstack-cinder-control: enabled
+      openstack-cinder-volume: control
+      openstack-neutron: enabled
+      openvswitch: enabled
+      ucp-barbican: enabled
+      ceph-mon: enabled
+      ceph-mgr: enabled
+      ceph-osd: enabled
+      ceph-mds: enabled
+      ceph-rgw: enabled
+      ucp-maas: enabled
+      kube-dns: enabled
+      tenant-ceph-control-plane: enabled
+      tenant-ceph-mon: enabled
+      tenant-ceph-osd: enabled
+      tenant-ceph-rgw: enabled
+      tenant-ceph-mgr: enabled
+      kubernetes-apiserver: enabled
+      kubernetes-controller-manager: enabled
+      kubernetes-etcd: enabled
+      kubernetes-scheduler: enabled
+      tiller-helm: enabled
+      kube-etcd: enabled
+      calico-policy: enabled
+      calico-node: enabled
+      calico-etcd: enabled
+      ucp-armada: enabled
+      ucp-drydock: enabled
+      ucp-deckhand: enabled
+      ucp-shipyard: enabled
+      IAM: enabled
+      ucp-promenade: enabled
+      prometheus-server: enabled
+      prometheus-client: enabled
+      fluentd: enabled
+      fluentbit: enabled
+      influxdb: enabled
+      kibana: enabled
+      elasticsearch-client: enabled
+      elasticsearch-master: enabled
+      elasticsearch-data: enabled
+      postgresql: enabled
+      kube-ingress: enabled
+      beta.kubernetes.io/fluentd-ds-ready: 'true'
+      node-exporter: enabled
+      openstack-nova-compute: enabled
+      openstack-libvirt: kernel
+      sriov: enabled
+...
+---
+schema: drydock/HostProfile/v1
+metadata:
+  schema: metadata/Document/v1
+  name: cp_r720-secondary
+  storagePolicy: cleartext
+  layeringDefinition:
+    abstract: false
+    layer: site
+    parentSelector:
+      hosttype: cp-global
+    actions:
+      - method: replace
+        path: .interfaces
+      - method: replace
+        path: .storage
+      - method: replace
+        path: .metadata.owner_data
+      - method: merge
+        path: .
+data:
+  hardware_profile: dell_r720
+
+  primary_network: oam
+  interfaces:
+    pxe:
+      device_link: pxe
+      slaves:
+        - pxe_nic01
+      networks:
+        - pxe
+    bond0:
+      device_link: data
+      slaves:
+        - data_nic01
+        - data_nic02
+      networks:
+        - oam
+        - storage
+        - overlay
+        - calico
+    dpdk:
+      device_link: dpdk
+      slaves:
+        - dpdk_nic01
+      networks:
+        - dpdk
+  storage:
+    physical_devices:
+{% for disk in yaml.disks %}
+      {{disk.name}}:
+      {% if 'labels' in disk %}
+        labels:
+        {% for key, value in disk.labels.items() %}
+          {{key}}: '{{value}}'
+        {% endfor %}
+      {% endif %}
+        partitions:
+       {% for p in disk.partitions %}
+          - name: '{{p.name}}'
+            size: '{{p.size}}'
+            {% if 'bootable' in p %}
+            bootable: {{p.bootable}}
+            {% endif %}
+            filesystem:
+              mountpoint: '{{p.mountpoint}}'
+              fstype: 'ext4'
+              mount_options: 'defaults'
+      {% endfor %}
+{% endfor %}
+
+  platform:
+    kernel: 'hwe-16.04'
+    kernel_params:
+{% if 'platform' in yaml and 'kernel_params' in yaml.platform %}
+{% for key, value in yaml.platform.kernel_params.items() %}
+      {{key}}: '{{value}}'
+{% endfor %}
+{% else %}
+      console: 'ttyS1,115200n8'
+      intel_iommu: 'on'
+      iommu: 'pt'
+      amd_iommu: 'on'
+      transparent_hugepage: 'never'
+{% endif %}
+{% if 'platform' in yaml and 'vcpu_pin_set' in yaml.platform %}
+      isolcpus: '{{yaml.platform.vcpu_pin_set}}'
+{% endif %}
+
+  metadata:
+    owner_data:
+      openstack-nova-compute: enabled
+      openvswitch: enabled
+      tenant-ceph-osd: enabled
+      openstack-libvirt: kernel
+      sriov: enabled
+      beta.kubernetes.io/fluentd-ds-ready: 'true'
+...