blob: aecbd80b593f449fc37f739540d8d07407875134 [file] [log] [blame]
Dean Troyerfda65b82011-11-02 12:13:33 -05001#!/usr/bin/env bash
2#
3# build_ci_config.sh - Build a config.ini for openstack-integration-tests
4# (https://github.com/openstack/openstack-integration-tests)
5
6function usage {
7 echo "$0 - Build config.ini for openstack-integration-tests"
8 echo ""
9 echo "Usage: $0 configfile"
10 exit 1
11}
12
13if [ ! "$#" -eq "1" ]; then
14 usage
15fi
16
17CONFIG_FILE=$1
18
19# Clean up any resources that may be in use
20cleanup() {
21 set +o errexit
22
23 # Mop up temporary files
24 if [ -n "$CONFIG_FILE_TMP" -a -e "$CONFIG_FILE_TMP" ]; then
25 rm -f $CONFIG_FILE_TMP
26 fi
27
28 # Kill ourselves to signal any calling process
29 trap 2; kill -2 $$
30}
31
32trap cleanup SIGHUP SIGINT SIGTERM
33
34# Keep track of the current directory
35TOOLS_DIR=$(cd $(dirname "$0") && pwd)
36TOP_DIR=`cd $TOOLS_DIR/..; pwd`
37
38# Abort if localrc is not set
39if [ ! -e $TOP_DIR/localrc ]; then
40 echo "You must have a localrc with ALL necessary passwords and configuration defined before proceeding."
41 echo "See stack.sh for required passwords."
42 exit 1
43fi
44
45# Source params
46source ./stackrc
47
48# Where Openstack code lives
49DEST=${DEST:-/opt/stack}
50
Dean Troyerb0e57cf2011-11-04 12:13:43 -050051DIST_NAME=${DIST_NAME:-natty}
52
Dean Troyerfda65b82011-11-02 12:13:33 -050053# Process network configuration vars
54GUEST_NETWORK=${GUEST_NETWORK:-1}
55GUEST_RECREATE_NET=${GUEST_RECREATE_NET:-yes}
56
57GUEST_IP=${GUEST_IP:-192.168.$GUEST_NETWORK.50}
58GUEST_CIDR=${GUEST_CIDR:-$GUEST_IP/24}
59GUEST_NETMASK=${GUEST_NETMASK:-255.255.255.0}
60GUEST_GATEWAY=${GUEST_GATEWAY:-192.168.$GUEST_NETWORK.1}
61GUEST_MAC=${GUEST_MAC:-"02:16:3e:07:69:`printf '%02X' $GUEST_NETWORK`"}
62GUEST_RAM=${GUEST_RAM:-1524288}
63GUEST_CORES=${GUEST_CORES:-1}
64
65# Use the GUEST_IP unless an explicit IP is set by ``HOST_IP``
66HOST_IP=${HOST_IP:-$GUEST_IP}
67# Use the first IP if HOST_IP still is not set
68if [ ! -n "$HOST_IP" ]; then
69 HOST_IP=`LC_ALL=C /sbin/ifconfig | grep -m 1 'inet addr:'| cut -d: -f2 | awk '{print $1}'`
70fi
71
72RABBIT_HOST=${RABBIT_HOST:-localhost}
73
74# Glance connection info. Note the port must be specified.
75GLANCE_HOSTPORT=${GLANCE_HOSTPORT:-$HOST_IP:9292}
76set `echo $GLANCE_HOSTPORT | tr ':' ' '`
77GLANCE_HOST=$1
78GLANCE_PORT=$2
79
80CONFIG_FILE_TMP=$(mktemp $CONFIG_FILE.XXXXXX)
81cat >$CONFIG_FILE_TMP <<EOF
82[environment]
Dean Troyerb0e57cf2011-11-04 12:13:43 -050083aki_location = $DEST/openstack-integration-tests/include/sample_vm/$DIST_NAME-server-cloudimg-amd64-vmlinuz-virtual
84#ari_location = $DEST/openstack-integration-tests/include/sample_vm/$DIST_NAME-server-cloudimg-amd64-loader
85ami_location = $DEST/openstack-integration-tests/include/sample_vm/$DIST_NAME-server-cloudimg-amd64.img
Dean Troyerfda65b82011-11-02 12:13:33 -050086
87[glance]
88host = $GLANCE_HOST
89apiver = v1.0
90port = $GLANCE_PORT
91image_id = 1
92
93[keystone]
94service_host = $HOST_IP
95service_port = 5000
Dean Troyer5db287c2011-11-02 21:21:36 -050096apiver = v2.0
Dean Troyerfda65b82011-11-02 12:13:33 -050097user = admin
98password = $ADMIN_PASSWORD
99tenant_id = 1
100
101[nova]
102host = $HOST_IP
103port = 8774
104apiver = v1.1
105project = admin
106user = admin
Dean Troyerb0e57cf2011-11-04 12:13:43 -0500107key = $ADMIN_PASSWORD
Dean Troyerfda65b82011-11-02 12:13:33 -0500108ssh_timeout = 300
109build_timeout = 300
110flavor_ref = 1
111flavor_ref_alt = 2
112
113[rabbitmq]
114host = $RABBIT_HOST
115user = guest
116password = $RABBIT_PASSWORD
117
118[swift]
119auth_host = $HOST_IP
120auth_port = 443
121auth_prefix = /auth/
122auth_ssl = yes
123account = system
124username = root
125password = password
126
127EOF
Dean Troyer5db287c2011-11-02 21:21:36 -0500128mv $CONFIG_FILE_TMP $CONFIG_FILE