--- /dev/null
+---
+# The purpose of this file is to apply proper labels to Genesis node so the
+# proper services are installed and proper configuration applied. This should
+# not need to be changed for a new site.
+# #GLOBAL-CANDIDATE#
+schema: promenade/Genesis/v1
+metadata:
+ schema: metadata/Document/v1
+ name: genesis-site
+ layeringDefinition:
+ abstract: false
+ layer: site
+ parentSelector:
+ name: genesis-global
+ 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
+ - fluentd=enabled
+ - fluentbit=enabled
+ - node-exporter=enabled
+...
- storage
- overlay
- calico
+ p1p1:
+ slaves:
+ - 'sriov_nic01'
+ sriov:
+ vf_count: 32 # Currently ignored
+ trustedmode: false
+ p3p2:
+ slaves:
+ - 'sriov_nic02'
+ sriov:
+ vf_count: 32 # Currently ignored
+ trustedmode: false
storage:
physical_devices:
kube-ingress: enabled
beta.kubernetes.io/fluentd-ds-ready: 'true'
node-exporter: enabled
+ openstack-nova-compute: enabled
+ openstack-libvirt: kernel
sriov: enabled
...
---
- storage
- overlay
- calico
+ p1p1:
+ slaves:
+ - 'sriov_nic01'
+ sriov:
+ vf_count: 32 # Currently ignored
+ trustedmode: false
+ p3p2:
+ slaves:
+ - 'sriov_nic02'
+ sriov:
+ vf_count: 32 # Currently ignored
+ trustedmode: false
storage:
physical_devices:
vif_plugging_is_fatal: False
vif_plugging_timeout: 30
pci:
-{% if 'gpu' in yaml and 'alias' in yaml.gpu %}
-{% for alias in yaml.gpu.alias %}
- alias: '{ "name":"{{alias.name}}", "vendor_id":"{{alias.vendor_id}}", "product_id":"{{alias.product_id}}", "device_type":"type-PCI" }'
- passthrough_whitelist: '{"vendor_id": "{{alias.vendor_id}}", "product_id": "{{alias.product_id}}"}'
-{% endfor %}
-{% endif %}
-{% if 'sriov' in yaml and 'alias' in yaml.sriov %}
-{% for alias in yaml.sriov.alias %}
- alias: '{"name": "{{alias.name}}", "vendor_id": "{{alias.vendor_id}}", "product_id": "{{alias.product_id}}", "capability_type": "pci", "device_type": "type-PCI", "numa_policy": "required"}`'
-{% endfor %}
-{% endif %}
-{% if 'sriov' in yaml and 'nets' in yaml.sriov %}
-{% for sriovnet in yaml.sriov.nets %}
+{% if 'gpu' in yaml or 'sriov' in yaml %}
+ alias: |
+ {% if 'sriov' in yaml and 'alias' in yaml.sriov %}
+ {% for alias in yaml.sriov.alias %}
+ '{"name": "{{alias.name}}", "vendor_id": "{{alias.vendor_id}}", "product_id": "{{alias.product_id}}", "capability_type": "pci", "device_type": "type-PCI", "numa_policy": "required"}'
+ {% endfor %}
+ {% endif %}
+ {% if 'gpu' in yaml and 'alias' in yaml.gpu %}
+ {% for alias in yaml.gpu.alias %}
+ '{"name":"{{alias.name}}", "vendor_id":"{{alias.vendor_id}}", "product_id":"{{alias.product_id}}", "device_type":"type-PCI"}'
+ {% endfor %}
+ {% endif %}
passthrough_whitelist: |
- [{% for vf in sriovnet.whitelists -%}{"address":"{{vf["address"]}}","physical_network":"{{sriovnet.physical}}"}{{',' if not loop.last else ''}}{% endfor %}]
-{% endfor %}
+ [
+ {%- if 'sriov' in yaml and 'nets' in yaml.sriov %}
+ {% for sriovnet in yaml.sriov.nets %}
+ {%- for vf in sriovnet.whitelists -%}{"address":"{{vf["address"]}}","physical_network":"{{sriovnet.physical}}"}{{',' if not loop.last else ''}}{% endfor %}{{',' if not loop.last else '' -}}
+ {%- endfor -%}
+ {%- if 'gpu' in yaml and 'sriov' in yaml %},{% endif -%}
+ {%- for alias in yaml.gpu.alias %}{"vendor_id": "{{alias.vendor_id}}", "product_id": "{{alias.product_id}}"}{{',' if not loop.last else ''}}{% endfor -%}
+ ]
+ {% endif %}
{% endif %}
...