OPENSTACK_ENVIRONMENT=${OPENSTACK_ENVIRONMENT}
HEAT_STACK_TEMPLATE_NAME=${HEAT_STACK_TEMPLATE_NAME}
STACK_PREFIX=${STACK_PREFIX}
+ USE_ANTIAFFINITY_GROUP=true
FLAVOR_NAME=mos.fuel.huge.hdd_ext
JENKINS_LABELS=mos.fuel.huge mos.fuel.base.hdd_ext mos.fuel.base
IMAGE_NAME=${IMAGE_NAME}
OPENSTACK_ENVIRONMENT=${OPENSTACK_ENVIRONMENT}
HEAT_STACK_TEMPLATE_NAME=${HEAT_STACK_TEMPLATE_NAME}
STACK_PREFIX=${STACK_PREFIX}
+ USE_ANTIAFFINITY_GROUP=true
FLAVOR_NAME=mos.fuel.base.hdd_ext
JENKINS_LABELS=mos.fuel.base
IMAGE_NAME=${IMAGE_NAME}
name: CUSTOM_HEAT_STACK_YAML
description: "Overwrites HEAT_STACK_TEMPLATE_NAME with relative path to template file. Leave empty by default"
default: ""
+ - bool:
+ name: USE_ANTIAFFINITY_GROUP
+ description: "Add nova server group with anti-affinity policy to scheduler hints"
+ default: false
- string:
name: STACK_PREFIX
description: "Stack prefix"
- default: "swarm-slave"
+ default: "mos-slave"
- string:
name: FLAVOR_NAME
default: "dev.share"
exit 1
fi
+export TEMPLATE_FILE
set +x
source "${OPENSTACK_CLIENTS_VENV}"/bin/activate
-set -x
+ set -x
+
+ if [[ ${USE_ANTIAFFINITY_GROUP} ]] ; then
+ export GROUP_UUID="$(openstack server group show maintenance-ci-slave-group -c id -f value)"
+ if [[ -z "${GROUP_UUID}" ]] ; then
+ export GROUP_UUID="$(openstack server group create --policy anti-affinity maintenance-ci-slave-group -c id -f value)"
+ fi
+ python -c "import yaml, os
+with open(os.environ.get('TEMPLATE_FILE'), 'r') as f:
+ data = yaml.load(f)
+if data['resources']['node']['properties'].get('scheduler_hints') is None:
+ data['resources']['node']['properties']['scheduler_hints'] = {}
+data['resources']['node']['properties']['scheduler_hints']['group'] = os.environ.get('GROUP_UUID')
+with open(os.environ.get('TEMPLATE_FILE'), 'w') as f:
+ yaml.dump(data, f, default_flow_style=False)"
+ fi
+
echo "Using ${OS_AUTH_URL?} endpoint"
+
openstack stack create --wait -t ${TEMPLATE_FILE} --parameter "${parameter_string}" ${STACK_NAME}
openstack stack output show "${STACK_NAME}" --all
cat >stack_data.sh <<EOF