#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. #################### --- schema: 'drydock/Region/v1' metadata: schema: 'metadata/Document/v1' name: 'sitename' storagePolicy: 'cleartext' labels: application: 'drydock' data: 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 --- schema: 'drydock/NetworkLink/v1' metadata: schema: 'metadata/Document/v1' name: oob storagePolicy: 'cleartext' labels: application: 'drydock' data: bonding: mode: disabled mtu: 1500 linkspeed: 100full ######################################## # FAILS HERE: no default_network is defined when trunking mode is disabled trunking: mode: disabled allowed_networks: - oob --- schema: 'drydock/NetworkLink/v1' metadata: schema: 'metadata/Document/v1' name: pxe storagePolicy: 'cleartext' labels: application: 'drydock' data: bonding: mode: disabled ######################################## # FAILS HERE: mtu < 1400 mtu: 700 linkspeed: auto trunking: mode: disabled default_network: pxe allowed_networks: - pxe --- schema: 'drydock/NetworkLink/v1' metadata: schema: 'metadata/Document/v1' name: gp storagePolicy: 'cleartext' labels: application: 'drydock' data: bonding: mode: 802.3ad hash: layer3+4 peer_rate: slow ######################################## # FAILS HERE: down delay and up delay < mon rate mon_rate: 150 down_delay: 50 up_delay: 50 ######################################## mtu: 9000 linkspeed: auto trunking: mode: 802.1q default_network: mgmt allowed_networks: - public - mgmt --- schema: 'drydock/Rack/v1' metadata: schema: 'metadata/Document/v1' name: rack1 storagePolicy: 'cleartext' labels: application: 'drydock' data: 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 location: clli: HSTNTXMOCG0 grid: EG12 local_networks: - pxe-rack1 --- schema: 'drydock/Network/v1' metadata: schema: 'metadata/Document/v1' name: oob storagePolicy: 'cleartext' labels: application: 'drydock' data: 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 --- schema: 'drydock/Network/v1' metadata: schema: 'metadata/Document/v1' name: pxe storagePolicy: 'cleartext' labels: application: 'drydock' data: dhcp_relay: self_ip: 172.16.0.4 upstream_target: 172.16.5.5 mtu: 1500 cidr: 172.16.0.0/24 ranges: - type: dhcp start: 172.16.0.5 end: 172.16.0.254 dns: domain: admin.sitename.att.com servers: 172.16.0.10 --- schema: 'drydock/Network/v1' metadata: schema: 'metadata/Document/v1' name: mgmt storagePolicy: 'cleartext' labels: application: 'drydock' data: vlan: '100' ######################################## # FAILS HERE: mtu of parent is 9000 mtu: 15000 cidr: 172.16.1.0/24 ranges: - type: static start: 172.16.1.15 end: 172.16.1.254 routes: - subnet: 0.0.0.0/0 ####################################### # FAILS HERE: ip not in cidr gateway: 141.16.1.1 metric: 10 dns: domain: mgmt.sitenameisverylongsoitshouldbeinvalidperrfcifikeepaddingoctetsafewmore.example.com servers: 172.16.1.9,172.16.1.10 --- schema: 'drydock/Network/v1' metadata: schema: 'metadata/Document/v1' name: private storagePolicy: 'cleartext' labels: application: 'drydock' data: vlan: '101' ######################################## # FAILS HERE: mtu of > 64000 mtu: 74000 cidr: 172.16.2.0/24 ranges: - 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 --- schema: 'drydock/Network/v1' metadata: schema: 'metadata/Document/v1' name: public storagePolicy: 'cleartext' labels: application: 'drydock' data: vlan: '102' mtu: 1500 cidr: 172.16.3.0/24 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 --- schema: 'drydock/HostProfile/v1' metadata: schema: 'metadata/Document/v1' name: defaults storagePolicy: 'cleartext' labels: application: 'drydock' data: oob: type: ipmi network: oob account: admin credential: admin storage: physical_devices: sda: labels: role: rootdisk partitions: ############################################### # FAILS HERE: root not set ############################################# # FAILS HERE: partitions size > 99% # FAILS HERE: duplicate mount point - name: test size: 100% bootable: true filesystem: mountpoint: '/boot' fstype: 'ext4' mount_options: 'defaults' ############################################### # FAILS HERE: boot volume < 1GB - name: boot size: 500m bootable: false filesystem: mountpoint: '/boot' fstype: 'ext4' mount_options: 'defaults' sdb: volume_group: 'failure' ######################################## # FAILS HERE: log_vg is unassigned ############################################## # FAILS HERE: size is < 0 volume_groups: log_vg: logical_volumes: - name: 'log_lv' size: '-77%' filesystem: mountpoint: '/var/log' fstype: 'xfs' mount_options: 'defaults' platform: image: ubuntu_16.04 kernel: generic kernel_params: quiet: true console: ttyS2 hugepages: 6 metadata: owner_data: foo: bar --- schema: 'drydock/HostProfile/v1' metadata: schema: 'metadata/Document/v1' name: 'k8-node' storagePolicy: 'cleartext' labels: application: 'drydock' data: host_profile: defaults hardware_profile: HPGen9v3 primary_network: mgmt interfaces: pxe: device_link: pxe labels: noconfig: true slaves: - prim_nic01 networks: - pxe bond0: device_link: gp slaves: - prim_nic01 - prim_nic02 networks: - mgmt - private metadata: tags: - 'test' --- schema: 'drydock/BaremetalNode/v1' metadata: schema: 'metadata/Document/v1' name: controller01 storagePolicy: 'cleartext' labels: application: 'drydock' data: host_profile: k8-node interfaces: bond0: networks: - '!private' addressing: - network: pxe address: dhcp ################################## # FAILS HERE: invalid network - network: invalid address: 172.10.1.20 ################################## # FAILS HERE: ip address not in network address: 141.16.1.20 ################################# # FAILS HERE: address duplicated for oob on both controller01 and computer01 - network: oob address: 172.16.100.21 metadata: rack: rack1 --- schema: 'drydock/BaremetalNode/v1' metadata: schema: 'metadata/Document/v1' ##### # Invalid hostname contains '__' name: bad__name storagePolicy: 'cleartext' labels: application: 'drydock' data: host_profile: k8-node addressing: - network: pxe address: dhcp ################################# # FAILS HERE: address duplicated fro both mgmt and private - network: mgmt address: 172.16.1.21 - network: private address: 172.16.1.21 ################################# # FAILS HERE: address duplicated for oob on both controller01 and computer01 - network: oob address: 172.16.100.21 metadata: rack: rack2 --- schema: 'drydock/HardwareProfile/v1' metadata: schema: 'metadata/Document/v1' name: HPGen9v3 storagePolicy: 'cleartext' labels: application: 'drydock' data: vendor: HP generation: '8' hw_version: '3' bios_version: '2.2.3' boot_mode: bios bootstrap_protocol: pxe pxe_interface: 0 device_aliases: prim_nic01: address: '0000:00:03.0' dev_type: '82540EM Gigabit Ethernet Controller' bus_type: 'pci' prim_nic02: address: '0000:00:04.0' dev_type: '82540EM Gigabit Ethernet Controller' bus_type: 'pci' primary_boot: address: '2:0.0.0' dev_type: 'VBOX HARDDISK' bus_type: 'scsi' --- schema: 'drydock/BootAction/v1' metadata: schema: 'metadata/Document/v1' name: helloworld storagePolicy: 'cleartext' labels: application: 'drydock' data: assets: - path: /var/tmp/hello.sh type: file permissions: '555' data: |- IyEvYmluL2Jhc2gKCmVjaG8gJ0hlbGxvIFdvcmxkISAtZnJvbSB7eyBub2RlLmhvc3RuYW1lIH19 Jwo= data_pipeline: - base64_decode - utf8_decode - template - path: /lib/systemd/system/hello.service type: unit permissions: '600' data: |- W1VuaXRdCkRlc2NyaXB0aW9uPUhlbGxvIFdvcmxkCgpbU2VydmljZV0KVHlwZT1vbmVzaG90CkV4 ZWNTdGFydD0vdmFyL3RtcC9oZWxsby5zaAoKW0luc3RhbGxdCldhbnRlZEJ5PW11bHRpLXVzZXIu dGFyZ2V0Cg== data_pipeline: - base64_decode - utf8_decode --- schema: 'drydock/BootAction/v1' metadata: schema: 'metadata/Document/v1' name: hw_filtered storagePolicy: 'cleartext' labels: application: 'drydock' data: node_filter: filter_set_type: 'union' filter_set: - filter_type: 'union' node_names: - 'compute01' assets: - path: /var/tmp/hello.sh type: file permissions: '555' data: |- IyEvYmluL2Jhc2gKCmVjaG8gJ0hlbGxvIFdvcmxkISAtZnJvbSB7eyBub2RlLmhvc3RuYW1lIH19 Jwo= data_pipeline: - base64_decode - utf8_decode - template - path: /lib/systemd/system/hello.service type: unit permissions: '600' data: |- W1VuaXRdCkRlc2NyaXB0aW9uPUhlbGxvIFdvcmxkCgpbU2VydmljZV0KVHlwZT1vbmVzaG90CkV4 ZWNTdGFydD0vdmFyL3RtcC9oZWxsby5zaAoKW0luc3RhbGxdCldhbnRlZEJ5PW11bHRpLXVzZXIu dGFyZ2V0Cg== data_pipeline: - base64_decode - utf8_decode ...