# Deployment configuration for a physical hardware POD
---

# this is used to generate the genconfig/cord-inv file
headnode:
  ip: '10.66.12.7'
  ansible_user: 'cord'
  ansible_ssh_pass: 'cord'
  ansible_ssh_port: 22

common:

  # set to the profile of cord you want to install
  cord_profile: 'rcord'

  # directories on the head node that the cord dir is copied to, and profile is created in
  cord_dir: '/opt/cord'
  cord_profile_dir: '/opt/cord_profile'


  # all of these are written to genconfig/config.yml, and needs a rework

  # Network address information for the head node:
  #
  # fabric_ip     - the IP address and mask bits to be used to configure the network
  #                 interface connected to the leaf - spine fabric
  #
  # management_ip - the IP address and mask bits to be used to configure the network
  #                 interface connecting the head node to the POD internal
  #                 management network. The head node will deliver DHCP addresses to
  #                 the other compute nodes over this interface
  #
  # external_ip   - the IP address and mask bits to be used to configure the network
  #                 interface connecting the head node (and the POD) to the
  #                 Internet. All traffic in the POD to external hosts will be
  #                 NAT-ed through this interface
  fabric_ip: '10.6.1.1/24'
  management_ip: '10.6.0.1/24'
  external_ip: '10.66.12.7/24'
  external_iface: 'ens255f1'
  external_gw: '10.66.12.20'
  skipTags:

passwords:
  compute_node: "ubuntu"
  maas_admin: "admin"
  maas_user: "cord"

docker:
  imageVersion: candidate

otherNodes:
  # Experimental
  #
  # Specifies the subnet and address range that will be used to allocate IP addresses
  # to the compute nodes as they are deployed into the POD.
  fabric:
    network: 10.6.1.1/24
    range_low: 10.6.1.2
    range_high: 10.6.1.253
