3c97e0be89
Change-Id: Iec982af9735116ae159330e462f8267499ee6df6
502 lines
15 KiB
YAML
502 lines
15 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: NetworkLink
|
|
metadata:
|
|
name: oob
|
|
region: sitename
|
|
date: 17-FEB-2017
|
|
author: sh8121@att.com
|
|
description: Describe layer 1 attributes. Primary key is 'name'. These settings will generally be things the switch and server have to agree on
|
|
spec:
|
|
bonding:
|
|
mode: disabled
|
|
mtu: 1500
|
|
linkspeed: 100full
|
|
trunking:
|
|
mode: disabled
|
|
default_network: oob
|
|
allowed_networks:
|
|
- oob
|
|
---
|
|
# pxe is a bit of 'magic' indicating the link config used when PXE booting
|
|
# a node. All other links indicate network configs applied when the node
|
|
# is deployed.
|
|
apiVersion: 'drydock/v1'
|
|
kind: NetworkLink
|
|
metadata:
|
|
name: pxe
|
|
region: sitename
|
|
date: 17-FEB-2017
|
|
author: sh8121@att.com
|
|
description: Describe layer 1 attributes. Primary key is 'name'. These settings will generally be things the switch and server have to agree on
|
|
spec:
|
|
bonding:
|
|
mode: disabled
|
|
mtu: 1500
|
|
linkspeed: auto
|
|
# Is this link supporting multiple layer 2 networks?
|
|
# none is a port-based VLAN identified by default_network
|
|
# tagged is using 802.1q VLAN tagging. Untagged packets will default to default_netwokr
|
|
trunking:
|
|
mode: disabled
|
|
# use name, will translate to VLAN ID
|
|
default_network: pxe
|
|
allowed_networks:
|
|
- pxe
|
|
---
|
|
apiVersion: 'drydock/v1'
|
|
kind: NetworkLink
|
|
metadata:
|
|
name: gp
|
|
region: sitename
|
|
date: 17-FEB-2017
|
|
author: sh8121@att.com
|
|
description: Describe layer 1 attributes. These CIs will generally be things the switch and server have to agree on
|
|
# pxe is a bit of 'magic' indicating the link config used when PXE booting
|
|
# a node. All other links indicate network configs applied when the node
|
|
# is deployed.
|
|
spec:
|
|
# If this link is a bond of physical links, how is it configured
|
|
# 802.3ad
|
|
# active-backup
|
|
# balance-rr
|
|
# Can add support for others down the road
|
|
bonding:
|
|
mode: 802.3ad
|
|
# For LACP (802.3ad) xmit hashing policy: layer2, layer2+3, layer3+4, encap3+4
|
|
hash: layer3+4
|
|
# 802.3ad specific options
|
|
peer_rate: slow
|
|
mtu: 9000
|
|
linkspeed: auto
|
|
# Is this link supporting multiple layer 2 networks?
|
|
trunking:
|
|
mode: 802.1q
|
|
default_network: mgmt
|
|
allowed_networks:
|
|
- public
|
|
- mgmt
|
|
---
|
|
apiVersion: 'drydock/v1'
|
|
kind: Rack
|
|
metadata:
|
|
name: rack1
|
|
region: sitename
|
|
date: 24-AUG-2017
|
|
author: sh8121@att.com
|
|
description: A equipment rack
|
|
spec:
|
|
# List of TOR switches in this rack
|
|
tor_switches:
|
|
switch01name:
|
|
mgmt_ip: 1.1.1.1
|
|
sdn_api_uri: polo+https://api.sdn.example.com/switchmgmt?switch=switch01name
|
|
switch02name:
|
|
mgmt_ip: 1.1.1.2
|
|
sdn_api_uri: polo+https://api.sdn.example.com/switchmgmt?switch=switch02name
|
|
# GIS data for this rack
|
|
location:
|
|
clli: HSTNTXMOCG0
|
|
grid: EG12
|
|
# Networks wholly contained to this rack
|
|
# Nodes in a rack can only connect to local_networks of that rack
|
|
local_networks:
|
|
- pxe-rack1
|
|
---
|
|
apiVersion: 'drydock/v1'
|
|
kind: Network
|
|
metadata:
|
|
name: oob
|
|
region: sitename
|
|
date: 17-FEB-2017
|
|
author: sh8121@att.com
|
|
description: Describe layer 2/3 attributes. Primarily CIs used for configuring server interfaces
|
|
spec:
|
|
cidr: 172.16.100.0/24
|
|
ranges:
|
|
- type: static
|
|
start: 172.16.100.15
|
|
end: 172.16.100.254
|
|
dns:
|
|
domain: ilo.sitename.att.com
|
|
servers: 172.16.100.10
|
|
---
|
|
apiVersion: 'drydock/v1'
|
|
kind: Network
|
|
metadata:
|
|
name: pxe
|
|
region: sitename
|
|
date: 17-FEB-2017
|
|
author: sh8121@att.com
|
|
description: Describe layer 2/3 attributes. Primarily CIs used for configuring server interfaces
|
|
spec:
|
|
# Layer 2 VLAN segment id, could support other segmentations. Optional
|
|
vlan_id: '99'
|
|
# If this network utilizes a dhcp relay, where does it forward DHCPDISCOVER requests to?
|
|
dhcp_relay:
|
|
# Required if Drydock is configuring a switch with the relay
|
|
self_ip: 172.16.0.4
|
|
# Can refer to a unicast IP
|
|
upstream_target: 172.16.5.5
|
|
# MTU for this VLAN interface, if not specified it will be inherited from the link
|
|
mtu: 1500
|
|
# Network address
|
|
cidr: 172.16.0.0/24
|
|
# Desribe IP address ranges
|
|
ranges:
|
|
- type: dhcp
|
|
start: 172.16.0.5
|
|
end: 172.16.0.254
|
|
# DNS settings for this network
|
|
dns:
|
|
# Domain addresses on this network will be registered under
|
|
domain: admin.sitename.att.com
|
|
# DNS servers that a server using this network as its default gateway should use
|
|
servers: 172.16.0.10
|
|
---
|
|
apiVersion: 'drydock/v1'
|
|
kind: Network
|
|
metadata:
|
|
name: mgmt
|
|
region: sitename
|
|
date: 17-FEB-2017
|
|
author: sh8121@att.com
|
|
description: Describe layer 2/3 attributes. Primarily CIs used for configuring server interfaces
|
|
spec:
|
|
vlan_id: '100'
|
|
# Allow MTU to be inherited from link the network rides on
|
|
mtu: 1500
|
|
# Network address
|
|
cidr: 172.16.1.0/24
|
|
# Desribe IP address ranges
|
|
ranges:
|
|
- type: static
|
|
start: 172.16.1.15
|
|
end: 172.16.1.254
|
|
# Static routes to be added for this network
|
|
routes:
|
|
- subnet: 0.0.0.0/0
|
|
# A blank gateway would leave to a static route specifying
|
|
# only the interface as a source
|
|
gateway: 172.16.1.1
|
|
metric: 10
|
|
# DNS settings for this network
|
|
dns:
|
|
# Domain addresses on this network will be registered under
|
|
domain: mgmt.sitename.example.com
|
|
# DNS servers that a server using this network as its default gateway should use
|
|
servers: 172.16.1.9,172.16.1.10
|
|
---
|
|
apiVersion: 'drydock/v1'
|
|
kind: Network
|
|
metadata:
|
|
name: private
|
|
region: sitename
|
|
date: 17-FEB-2017
|
|
author: sh8121@att.com
|
|
description: Describe layer 2/3 attributes. Primarily CIs used for configuring server interfaces
|
|
spec:
|
|
vlan_id: '101'
|
|
mtu: 9000
|
|
cidr: 172.16.2.0/24
|
|
# Desribe IP address ranges
|
|
ranges:
|
|
# Type can be reserved (not used for baremetal), static (all explicit
|
|
# assignments should fall here), dhcp (will be used by a DHCP server on this network)
|
|
- type: static
|
|
start: 172.16.2.15
|
|
end: 172.16.2.254
|
|
dns:
|
|
domain: priv.sitename.example.com
|
|
servers: 172.16.2.9,172.16.2.10
|
|
---
|
|
apiVersion: 'drydock/v1'
|
|
kind: Network
|
|
metadata:
|
|
name: 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:
|
|
vlan_id: '102'
|
|
# MTU size for the VLAN interface
|
|
mtu: 1500
|
|
cidr: 172.16.3.0/24
|
|
# Desribe IP address ranges
|
|
ranges:
|
|
- type: static
|
|
start: 172.16.3.15
|
|
end: 172.16.3.254
|
|
routes:
|
|
- subnet: 0.0.0.0/0
|
|
gateway: 172.16.3.1
|
|
metric: 10
|
|
dns:
|
|
domain: sitename.example.com
|
|
servers: 8.8.8.8
|
|
---
|
|
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
|
|
physical_devices:
|
|
name:
|
|
partitions:
|
|
name:
|
|
part_uuid:
|
|
size:
|
|
bootable:
|
|
filesystem:
|
|
mountpoint:
|
|
format:
|
|
mount_options:
|
|
fs_uuid:
|
|
fs_label:
|
|
volume_group:
|
|
logical_volumes:
|
|
name:
|
|
volume_group:
|
|
size:
|
|
lv_uuid:
|
|
filesystem:
|
|
mountpoint:
|
|
format:
|
|
mount_options:
|
|
fs_uuid:
|
|
fs_label:
|
|
# 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'
|
|
---
|
|
apiVersion: 'drydock/v1'
|
|
kind: BaremetalNode
|
|
metadata:
|
|
name: controller01
|
|
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
|
|
# the hostname for a server, could be used in multiple DNS domains to
|
|
# represent different interfaces
|
|
interfaces:
|
|
- device_name: bond0
|
|
networks:
|
|
# '!' prefix for the value of the primary key indicates a record should be removed
|
|
- '!private'
|
|
# Addresses assigned to network 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: pxe
|
|
# The address assigned. Either a explicit IPv4 or IPv6 address
|
|
# or dhcp or slaac
|
|
address: dhcp
|
|
- network: mgmt
|
|
address: 172.16.1.20
|
|
- network: public
|
|
address: 172.16.3.20
|
|
- network: oob
|
|
address: 172.16.100.20
|
|
metadata:
|
|
rack: rack1
|
|
---
|
|
apiVersion: 'drydock/v1'
|
|
kind: BaremetalNode
|
|
metadata:
|
|
name: compute01
|
|
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
|
|
addressing:
|
|
- network: pxe
|
|
address: dhcp
|
|
- network: mgmt
|
|
address: 172.16.1.21
|
|
- network: private
|
|
address: 172.16.2.21
|
|
- network: oob
|
|
address: 172.16.100.21
|
|
metadata:
|
|
rack: rack2
|
|
---
|
|
apiVersion: 'drydock/v1'
|
|
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:
|
|
- address: '0000:00:03.0'
|
|
alias: prim_nic01
|
|
# type could identify expected hardware - used for hardware manifest validation
|
|
dev_type: '82540EM Gigabit Ethernet Controller'
|
|
bus_type: 'pci'
|
|
- address: '0000:00:04.0'
|
|
alias: prim_nic02
|
|
dev_type: '82540EM Gigabit Ethernet Controller'
|
|
bus_type: 'pci'
|
|
- address: '2:0.0.0'
|
|
alias: primary_boot
|
|
dev_type: 'VBOX HARDDISK'
|
|
bus_type: 'scsi'
|
|
...
|