blob: 43d729f0d6f4780935e7c5dc54b3a99f2b0326e0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
#!/bin/bash
set -ex
bottlenecks_create_instance()
{
echo "create bottlenecks instance using heat template"
if [ -d $BOTTLENECKS_REPO_DIR ]; then
rm -rf ${BOTTLENECKS_REPO_DIR}
fi
mkdir -p ${BOTTLENECKS_REPO_DIR}
git config --global http.sslVerify false
git clone ${BOTTLENECKS_REPO} ${BOTTLENECKS_REPO_DIR}
source $BOTTLENECKS_REPO_DIR/rubbos/rubbos_scripts/1-1-1/scripts/env_preparation.sh
echo "upload keypair"
nova keypair-add --pub_key $KEY_PATH/bottleneck_key.pub $KEY_NAME
#need FIX, only upload the public key? should be keypair
echo "use heat template to create stack"
cd $HOT_PATH
heat stack-create bottlenecks -f ${TEMPLATE_NAME} -P "image=$IMAGE_NAME;key=$KEY_NAME;public_network=$PUBLIC_NET_NAME"
#need FIX, use stack to create 9 VMs
}
bottlenecks_cleanup()
{
echo "clean up bottlenecks images"
if ! glance image-list; then
return
fi
#need to check
for image in $(glance image-list | grep -e $IMAGE_NAME | awk '{print $2}'); do
echo "clean up image $image"
glance image-delete $iamge || true
done
}
bottlenecks_build_image()
{
echo "build bottlenecks image"
#need FIX
}
bottlenecks_load_cirros_image()
{
echo "load bottlenecks cirros image"
wget http://download.cirros-cloud.net/0.3.3/cirros-0.3.3-x86_64-disk.img -O /tmp/cirros.img
result=$(glance image-create \
--name cirros-0.3.3 \
--disk-format qcow2 \
--container-format bare \
--file /tmp/cirros.img)
echo "$result"
rm -rf /tmp/cirros.img
IMAGE_ID_CIRROS=$(echo "$result" | grep " id " | awk '{print $(NF-1)}')
if [ -z "$IMAGE_ID_CIRROS" ]; then
echo 'failed to upload cirros image to openstack'
exit 1
fi
echo "cirros image id: $IMAGE_ID_CIRROS"
}
bottlenecks_load_image()
{
echo "load bottlenecks image"
result=$(glance --os-image-api-version 1 image-create \
--name $IMAGE_NAME \
--is-public true --disk-format qcow2 \
--container-format bare \
--file $IMAGE_FILE_NAME)
echo "$result"
GLANCE_IMAGE_ID=$(echo "$result" | grep " id " | awk '{print $(NF-1)}')
if [ -z "$GLANCE_IMAGE_ID" ]; then
echo 'add image to glance failed'
exit 1
fi
sudo rm -f $IMAGE_FILE_NAME
echo "add glance image completed: $GLANCE_IMAGE_ID"
}
main()
{
echo "create instances with heat template"
BOTTLENECKS_REPO=https://gerrit.opnfv.org/gerrit/bottlenecks
BOTTLENECKS_REPO_DIR=/tmp/opnfvrepo/bottlenecks
#IMAGE_URL=http://205.177.226.235:9999
IMAGE_NAME=cirros-0.3.3
#need FIX, need a script to transfer the image from the url to be the installer images
KEY_PATH=$BOTTLENECKS_REPO_DIR/utils/infra_setup/bottlenecks_key
HOT_PATH=$BOTTLENECKS_REPO_DIR/utils/infra_setup/heat_template
KEY_NAME=bottlenecks_key
TEMPLATE_NAME=bottlenecks_template1.yaml
PUBLIC_NET_NAME=net04_ext
#need FIX
#IMAGE_FILE_NAME=""
#bottlenecks_cleanup
#bottlenecks_build_image
bottlenecks_load_cirros_image
bottlenecks_create_instance
}
main
set +ex
|