# Deployment configuration for a physical hardware POD
---

# this is used to generate the genconfig/cord-inv file
headnode:
  ip: '10.201.101.21'
  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'

  # cord dir is shared to corddev VM, causing permissions issues if these aren't set
  credentials_dir: '/opt/credentials'
  pki_dir: '/opt/pki'
  ssh_pki_dir: '/opt/ssh_pki'


  # 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.201.101.21/24'
  external_iface: 'eth2'
  external_gw: '10.201.101.1'
  skipTags:
  extraVars:
    - 'management_ignore_names=eth0'

  # Experimental: DPDK config options
  enable_dpdk: True
  vcpu_pin_set: '4-7'
  kernel_opts: '''isolcpus=2-7 nohz_full=2-7 rcu_nocbs=2-7'''
  hugepages: '75%' # make sure %hugepages enough for ovs and VMs
  dpdk_socket_memory: '1024,0' # single numa else 1024,1024 # make sure %hugepages enough for ovs and VMs
  dpdk_lcore_mask: '0x4' # core2
  fabric_interfaces: 'eth2' # not sure abt which is the fabric interface
  pmd_cpu_mask: '0x8' # core3

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

