---
# ============LICENSE_START=======================================================
#  Copyright (C) 2019 The Nordix Foundation. All 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.
#
# SPDX-License-Identifier: Apache-2.0
# ============LICENSE_END=========================================================
details:
  pod_owner: Nordix
  contact: infra@nordix.org
  lab: Nordix OpenLab
  location: N/A
  type: baremetal
  link: http://wiki.nordix.org/
##############################################################################
jumphost:
  name: jumphost
  node:
    type: virtual
    vendor: vmware
    model: pc
    arch: x86_64
    cpus: 4
    cpu_cflags: host-model
    cores: 4
    memory: 16G
  disks:
    - name: disk1
      disk_capacity: 126G
      disk_type: ssd
      disk_interface: sata
      disk_rotation:
  os: ubuntu1804
  interfaces:
      # interface connected to admin/pxe/public network
      - address: 10.1.0.4
      # interface connected to mgmt network
      - address: 10.1.1.4
      # interface connected to extra network
      - address: 10.1.2.4
##############################################################################
nodes:
  - name: dell1
    node:
      type: baremetal
      vendor: Dell
      model: pc
      arch: x86_64
      cpus: 2
      cpu_cflags: host-model
      cores: 14
      memory: 128G
    disks: &disks
      - name: disk1
        disk_capacity: 372G
        disk_type: ssd
        disk_interface: sata
        disk_rotation:
    remote_params: &remote_params
      type:
        - ipmi
      user: root
      pass: calvin
    remote_management:
      <<: *remote_params
      address: 10.2.0.21
      mac_address: 54:48:10:f5:62:48
    interface_common_nic1: &interface_common_nic1
      name: nic1
      speed:
      features:
      vlan: native
    interface_common_nic2: &interface_common_nic2
      name: nic2
      speed:
      features:
      vlan: "1403"
    interface_common_nic3: &interface_common_nic3
      name: nic3
      speed:
      features:
      vlan: "1404"
    interfaces:
      # interface connected to admin/pxe/public network
      - mac_address: "e4:43:4b:03:56:ec"
        address: 10.1.0.21
        <<: *interface_common_nic1
      # interface connected to mgmt network
      - mac_address: "e4:43:4b:03:56:e8"
        address: 10.1.1.21
        <<: *interface_common_nic2
      # interface connected to extra network
      - mac_address: "e4:43:4b:03:56:e8"
        address: 10.1.2.21
        <<: *interface_common_nic3
  ##############################################################################
  - name: dell2
    node:
      type: baremetal
      vendor: Dell
      model: pc
      arch: x86_64
      cpus: 2
      cpu_cflags: host-model
      cores: 14
      memory: 128G
    disks: *disks
    remote_management:
      <<: *remote_params
      address: 10.2.0.22
      mac_address: 54:48:10:f5:62:16
    interfaces:
      # interface connected to admin/pxe/public network
      - mac_address: "e4:43:4b:03:57:0c"
        address: 10.1.0.22
        <<: *interface_common_nic1
      # interface connected to mgmt network
      - mac_address: "e4:43:4b:03:57:08"
        address: 10.1.1.22
        <<: *interface_common_nic2
      # interface connected to extra network
      - mac_address: "e4:43:4b:03:57:08"
        address: 10.1.2.22
        <<: *interface_common_nic3
  ##############################################################################
  - name: dell3
    node:
      type: baremetal
      vendor: Dell
      model: pc
      arch: x86_64
      cpus: 2
      cpu_cflags: host-model
      cores: 14
      memory: 128G
    disks: *disks
    remote_management:
      <<: *remote_params
      address: 10.2.0.23
      mac_address: "54:48:10:f5:61:e6"
    interfaces:
      # interface connected to admin/pxe/public network
      - mac_address: "e4:43:4b:03:03:54"
        address: 10.1.0.23
        <<: *interface_common_nic1
      # interface connected to mgmt network
      - mac_address: "e4:43:4b:03:03:50"
        address: 10.1.1.23
        <<: *interface_common_nic2
      # interface connected to extra network
      - mac_address: "e4:43:4b:03:03:50"
        address: 10.1.2.23
        <<: *interface_common_nic3
  ##############################################################################
  - name: dell4
    node:
      type: baremetal
      vendor: Dell
      model: pc
      arch: x86_64
      cpus: 2
      cpu_cflags: host-model
      cores: 14
      memory: 128G
    disks: *disks
    remote_management:
      <<: *remote_params
      address: 10.2.0.24
      mac_address: "54:48:10:f5:62:72"
    interfaces:
      # interface connected to admin/pxe/public network
      - mac_address: "e4:43:4b:03:52:44"
        address: 10.1.0.24
        <<: *interface_common_nic1
      # interface connected to mgmt network
      - mac_address: "e4:43:4b:03:52:40"
        address: 10.1.1.24
        <<: *interface_common_nic2
      # interface connected to extra network
      - mac_address: "e4:43:4b:03:52:40"
        address: 10.1.2.24
        <<: *interface_common_nic3
  ##############################################################################
  - name: dell5
    node:
      type: baremetal
      vendor: Dell
      model: pc
      arch: x86_64
      cpus: 2
      cpu_cflags: host-model
      cores: 14
      memory: 128G
    disks: *disks
    remote_management:
      <<: *remote_params
      address: 10.2.0.25
      mac_address: "54:48:10:f5:61:40"
    interfaces:
      # interface connected to admin/pxe/public network
      - mac_address: "e4:43:4b:03:57:2c"
        address: 10.1.0.25
        <<: *interface_common_nic1
      # interface connected to mgmt network
      - mac_address: "e4:43:4b:03:57:28"
        address: 10.1.1.25
        <<: *interface_common_nic2
      # interface connected to extra network
      - mac_address: "e4:43:4b:03:57:28"
        address: 10.1.2.25
        <<: *interface_common_nic3

# vim: set ts=2 sw=2 expandtab:
