#!/bin/bash

#
# XenServer specific defaults for the /tools/xen/ scripts
# Similar to stackrc, you can override these in your localrc
#

# Name of this guest
GUEST_NAME=${GUEST_NAME:-DevStackOSDomU}

# Template cleanup
CLEAN_TEMPLATES=${CLEAN_TEMPLATES:-false}

# Size of image
VDI_MB=${VDI_MB:-5000}

# Devstack now contains many components.  4GB ram is not enough to prevent
# swapping and memory fragmentation - the latter of which can cause failures
# such as blkfront failing to plug a VBD and lead to random test fails.
#
# Set to 6GB so an 8GB XenServer VM can have a 1GB Dom0 and leave 1GB for VMs
OSDOMU_MEM_MB=6144
OSDOMU_VDI_GB=8

# Network mapping. Specify bridge names or network names. Network names may
# differ across localised versions of XenServer. If a given bridge/network
# was not found, a new network will be created with the specified name.

# Get the management network from the XS installation
VM_BRIDGE_OR_NET_NAME="OpenStack VM Network"
PUB_BRIDGE_OR_NET_NAME="OpenStack Public Network"
XEN_INT_BRIDGE_OR_NET_NAME="OpenStack VM Integration Network"

# VM Password
GUEST_PASSWORD=${GUEST_PASSWORD:-secrete}

# Extracted variables for OpenStack VM network device numbers.
# Make sure they form a continuous sequence starting from 0
MGT_DEV_NR=0
VM_DEV_NR=1
PUB_DEV_NR=2

# Host Interface, i.e. the interface on the nova vm you want to expose the
# services on. Usually the device connected to the management network or the
# one connected to the public network is used.
HOST_IP_IFACE=${HOST_IP_IFACE:-"eth${MGT_DEV_NR}"}

#
# Our nova host's network info
#

# Management network
MGT_IP=${MGT_IP:-dhcp}
MGT_NETMASK=${MGT_NETMASK:-ignored}

# VM Network
VM_IP=${VM_IP:-10.255.255.255}
VM_NETMASK=${VM_NETMASK:-255.255.255.0}

# Public network
# Aligned with stack.sh - see FLOATING_RANGE
PUB_IP=${PUB_IP:-172.24.4.10}
PUB_NETMASK=${PUB_NETMASK:-255.255.255.0}

# Ubuntu install settings
UBUNTU_INST_RELEASE="trusty"
UBUNTU_INST_TEMPLATE_NAME="Ubuntu 14.04 (64-bit) for DevStack"
# For 12.04 use "precise" and update template name
# However, for 12.04, you should be using
# XenServer 6.1 and later or XCP 1.6 or later
# 11.10 is only really supported with XenServer 6.0.2 and later
UBUNTU_INST_ARCH="amd64"
UBUNTU_INST_HTTP_HOSTNAME="archive.ubuntu.com"
UBUNTU_INST_HTTP_DIRECTORY="/ubuntu"
UBUNTU_INST_HTTP_PROXY=""
UBUNTU_INST_LOCALE="en_US"
UBUNTU_INST_KEYBOARD="us"
# network configuration for ubuntu netinstall
UBUNTU_INST_IP="dhcp"
UBUNTU_INST_NAMESERVERS=""
UBUNTU_INST_NETMASK=""
UBUNTU_INST_GATEWAY=""

# Create a separate xvdb. Tis could be used as a backing device for cinder
# volumes. Specify
#   XEN_XVDB_SIZE_GB=10
#   VOLUME_BACKING_DEVICE=/dev/xvdb
# in your localrc to avoid kernel lockups:
#   https://bugs.launchpad.net/cinder/+bug/1023755
#
# Set the size to 0 to avoid creation of additional disk.
XEN_XVDB_SIZE_GB=0

STACK_USER=stack
DOMZERO_USER=domzero

RC_DIR="../.."

restore_nounset=$(set +o | grep nounset)
set +u

## Note that the lines below are coming from stackrc to support
## new-style config files

# allow local overrides of env variables, including repo config
if [[ -f $RC_DIR/localrc ]]; then
    # Old-style user-supplied config
    source $RC_DIR/localrc
elif [[ -f $RC_DIR/.localrc.auto ]]; then
    # New-style user-supplied config extracted from local.conf
    source $RC_DIR/.localrc.auto
fi

$restore_nounset