6d29229b09
- Update schemas to add some missing allowed properties - Use additionalProperties field to enforce structure of storage devices and network interfaces - Remove duplicate unit tests Change-Id: I8fb98205bc4a99208fc0e26a5724f6c0960a8278
163 lines
5.2 KiB
YAML
163 lines
5.2 KiB
YAML
#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:
|
|
physical_devices:
|
|
sda:
|
|
labels:
|
|
role: rootdisk
|
|
partitions:
|
|
- name: root
|
|
size: 20g
|
|
bootable: true
|
|
filesystem:
|
|
mountpoint: '/'
|
|
fstype: 'ext4'
|
|
mount_options: 'defaults'
|
|
- name: boot
|
|
size: 1g
|
|
bootable: false
|
|
filesystem:
|
|
mountpoint: '/boot'
|
|
fstype: 'ext4'
|
|
mount_options: 'defaults'
|
|
sdb:
|
|
volume_group: 'log_vg'
|
|
volume_groups:
|
|
log_vg:
|
|
logical_volumes:
|
|
- name: 'log_lv'
|
|
size: '500m'
|
|
filesystem:
|
|
mountpoint: '/var/log'
|
|
fstype: 'xfs'
|
|
mount_options: 'defaults'
|
|
# 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:
|
|
# The network link attached to this
|
|
device_link: pxe
|
|
labels:
|
|
# this interface will be used only for PXE booting during deploy
|
|
noconfig: true
|
|
# Slaves will specify aliases from hwdefinition.yaml or kernel device names
|
|
slaves:
|
|
- prim_nic01
|
|
# Which networks will be configured on this interface
|
|
networks:
|
|
- pxe
|
|
bond0:
|
|
device_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'
|
|
...
|