# Copyright 2017 AT&T Intellectual Property. All other 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. #################### # # bootstrap_seed.yaml - Site server design definition for physical layer # #################### # version the schema in this file so consumers can rationally parse it --- apiVersion: 'v1.0' kind: Region metadata: name: sitename date: 17-FEB-2017 description: Sample site design author: sh8121@att.com # Not sure if we have site wide data that doesn't fall into another 'Kind' --- apiVersion: 'v1.0' kind: HostProfile metadata: name: defaults region: sitename date: 17-FEB-2017 author: sh8121@att.com description: Describe layer 2/3 attributes. Primarily CIs used for configuring server interfaces # No magic to this host_profile, it just provides a way to specify # sitewide settings. If it is absent from a node's inheritance chain # then these values will NOT be applied spec: # OOB (iLO, iDRAC, etc...) settings. Should prefer open standards such # as IPMI over vender-specific when possible. oob: type: ipmi # OOB networking should be preconfigured, but we can include a network # definition for validation or enhancement (DNS registration) network: oob account: admin credential: admin # Specify storage layout of base OS. Ceph out of scope storage: # How storage should be carved up: lvm (logical volumes), flat # (single partition) layout: lvm # Info specific to the boot and root disk/partitions bootdisk: # Device will specify an alias defined in hwdefinition.yaml device: primary_boot # For LVM, the size of the partition added to VG as a PV # For flat, the size of the partition formatted as ext4 root_size: 50g # The /boot partition. If not specified, /boot will in root boot_size: 2g # Info for additional partitions. Need to balance between # flexibility and complexity partitions: - name: logs device: primary_boot # Partition uuid if needed part_uuid: 84db9664-f45e-11e6-823d-080027ef795a size: 10g # Optional, can carve up unformatted block devices mountpoint: /var/log fstype: ext4 mount_options: defaults # Filesystem UUID or label can be specified. UUID recommended fs_uuid: cdb74f1c-9e50-4e51-be1d-068b0e9ff69e fs_label: logs # Platform (Operating System) settings platform: image: ubuntu_16.04_hwe kernel_params: default # Additional metadata to apply to a node metadata: # Base URL of the introspection service - may go in curtin data introspection_url: http://172.16.1.10:9090 --- apiVersion: 'v1.0' kind: HostProfile metadata: name: k8-node region: sitename date: 17-FEB-2017 author: sh8121@att.com description: Describe layer 2/3 attributes. Primarily CIs used for configuring server interfaces spec: # host_profile inheritance allows for deduplication of common CIs # Inheritance is additive for CIs that are lists of multiple items # To remove an inherited list member, prefix the primary key value # with '!'. host_profile: defaults # Hardware profile will map hardware specific details to the abstract # names uses in the host profile as well as specify hardware specific # configs. A viable model should be to build a host profile without a # hardware_profile and then for each node inherit the host profile and # specify a hardware_profile to map that node's hardware to the abstract # settings of the host_profile hardware_profile: HPGen9v3 # Network interfaces. interfaces: # Keyed on device_name # pxe is a special marker indicating which device should be used for pxe boot - device_name: pxe # The network link attached to this network_link: pxe # Slaves will specify aliases from hwdefinition.yaml slaves: - prim_nic01 # Which networks will be configured on this interface networks: - pxe - device_name: bond0 network_link: gp # If multiple slaves are specified, but no bonding config # is applied to the link, design validation will fail slaves: - prim_nic01 - prim_nic02 # If multiple networks are specified, but no trunking # config is applied to the link, design validation will fail networks: - mgmt - private metadata: # Explicit tag assignment tags: - 'test' # MaaS supports key/value pairs. Not sure of the use yet owner_data: foo: bar --- apiVersion: 'v1.0' kind: HostProfile metadata: name: k8-node-public region: sitename date: 17-FEB-2017 author: sh8121@att.com description: Describe layer 2/3 attributes. Primarily CIs used for configuring server interfaces spec: host_profile: k8-node interfaces: - device_name: bond0 networks: # This is additive, so adds a network to those defined in the host_profile # inheritance chain - public --- apiVersion: 'v1.0' kind: HardwareProfile metadata: name: HPGen9v3 region: sitename date: 17-FEB-2017 author: Scott Hussey spec: # Vendor of the server chassis vendor: HP # Generation of the chassis model generation: '8' # Version of the chassis model within its generation - not version of the hardware definition hw_version: '3' # The certified version of the chassis BIOS bios_version: '2.2.3' # Mode of the default boot of hardware - bios, uefi boot_mode: bios # Protocol of boot of the hardware - pxe, usb, hdd bootstrap_protocol: pxe # Which interface to use for network booting within the OOB manager, not OS device pxe_interface: 0 # Map hardware addresses to aliases/roles to allow a mix of hardware configs # in a site to result in a consistent configuration device_aliases: pci: - address: pci@0000:00:03.0 alias: prim_nic01 # type could identify expected hardware - used for hardware manifest validation type: '82540EM Gigabit Ethernet Controller' - address: pci@0000:00:04.0 alias: prim_nic02 type: '82540EM Gigabit Ethernet Controller' scsi: - address: scsi@2:0.0.0 alias: primary_boot type: 'VBOX HARDDISK'