#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: 'drydock/v1' kind: Region metadata: name: sitename date: 17-FEB-2017 description: Sample site design author: sh8121@att.com spec: tag_definitions: - tag: test definition_type: lshw_xpath definition: "//node[@id=\"display\"]/'clock units=\"Hz\"' > 1000000000" authorized_keys: - | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDENeyO5hLPbLLQRZ0oafTYWs1ieo5Q+XgyZQs51Ju jDGc8lKlWsg1/6yei2JewKMgcwG2Buu1eqU92Xn1SvMZLyt9GZURuBkyjcfVc/8GiU5QP1Of8B7CV0c kfUpHWYJ17olTzT61Hgz10ioicBF6cjgQrLNcyn05xoaJHD2Vpf8Unxzi0YzA2e77yRqBo9jJVRaX2q wUJuZrzb62x3zw8Knz6GGSZBn8xRKLaw1SKFpd1hwvL62GfqX5ZBAT1AYTZP1j8GcAoK8AFVn193SEU vjSdUFa+RNWuJhkjBRfylJczIjTIFb5ls0jpbA3bMA9DE7lFKVQl6vVwFmiIVBI1 samplekey --- apiVersion: 'drydock/v1' 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 kernel: generic kernel_params: quiet: true console: ttyS2 # Additional metadata to apply to a node metadata: # Freeform tags to be applied to the host tags: - deployment=initial owner_data: foo: bar --- apiVersion: 'drydock/v1' 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. primary_network: mgmt 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 device_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' ...