support multiple sets of airship files
[yaml_builds.git] / site_type / sriov / templates / baremetal / rack.j2
diff --git a/site_type/sriov/templates/baremetal/rack.j2 b/site_type/sriov/templates/baremetal/rack.j2
new file mode 100644 (file)
index 0000000..464a826
--- /dev/null
@@ -0,0 +1,88 @@
+{% for server in yaml.masters %}
+---
+##############################################################################
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.        #
+#                                                                            #
+# Licensed under the Apache License, Version 2.0 (the "License"); you may    #
+# not use this file except in compliance with the License.                   #
+#                                                                            #
+# You may obtain a copy of the License at                                    #
+#       http://www.apache.org/licenses/LICENSE-2.0                           #
+#                                                                            #
+# Unless required by applicable law or agreed to in writing, software        #
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT  #
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.           #
+# See the License for the specific language governing permissions and        #
+# limitations under the License.                                             #
+##############################################################################
+schema: 'drydock/BaremetalNode/v1'
+metadata:
+  schema: 'metadata/Document/v1'
+  name: {{server.name}}
+  layeringDefinition:
+    abstract: false
+    layer: site
+  storagePolicy: cleartext
+data:
+  host_profile: ControlPlane
+  # the hostname for a server, could be used in multiple DNS domains to
+  # represent different interfaces
+  addressing:
+      # Which network the address applies to. If a network appears in addressing
+      # that isn't assigned to an interface, design validation will fail
+    - network: oob
+      address: {{server.oob}}
+    - network: pxe
+      # The address assigned. Either a explicit IPv4 or IPv6 address
+      # or dhcp or slaac
+      address: {{server.pxe}}
+    - network: oam
+      address: {{server.host}}
+    - network: storage
+      address: {{server.storage}}
+    - network: overlay
+      address: {{server.neutron}}
+    - network: calico
+      address: {{server.ksn}}
+  metadata:
+    rack: RACK01
+    tags:
+      - 'masters'
+{% endfor %}
+{% if 'workers' in yaml %}{% for server in yaml.workers %}
+---
+schema: 'drydock/BaremetalNode/v1'
+metadata:
+  schema: 'metadata/Document/v1'
+  name: {{server.name}}
+  layeringDefinition:
+    abstract: false
+    layer: site
+  storagePolicy: cleartext
+data:
+  host_profile: ComputePlane
+  # the hostname for a server, could be used in multiple DNS domains to
+  # represent different interfaces
+  addressing:
+      # Which network the address applies to. If a network appears in addressing
+      # that isn't assigned to an interface, design validation will fail
+    - network: oob
+      address: {{server.oob}}
+    - network: pxe
+      # The address assigned. Either a explicit IPv4 or IPv6 address
+      # or dhcp or slaac
+      address: {{server.pxe}}
+    - network: oam
+      address: {{server.host}}
+    - network: storage
+      address: {{server.storage}}
+    - network: overlay
+      address: {{server.neutron}}
+    - network: calico
+      address: {{server.ksn}}
+  metadata:
+    rack: RACK01
+    tags:
+      - 'workers'
+{% endfor %}{% endif %}
+...