summaryrefslogtreecommitdiffstats
path: root/tools/vsperf-img-finalize.sh
blob: cf3677b84876b77eabf50daaa4b84f93a2a7ef4b (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
#!/bin/bash
##############################################################################
# Copyright (c) 2017 Nokia
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################

# PREREQUISITES
# modified image (yardstick-vsperf) must be uploaded to OpenStack
# must have a proper flavor (vsperf-flavor) for the image e.g.
# nova flavor-create vsperf-flavor auto 8192 80 6
# nova flavor-key vsperf-flavor set hw:numa_nodes=1
# nova flavor-key vsperf-flavor set hw:mem_page_size=1GB
# nova flavor-key vsperf-flavor set hw:cpu_policy=dedicated
# nova flavor-key vsperf-flavor set hw:vif_multiqueue_enabled=true

stackname="vsperf-install-stack"
template=vsperf_install.yml
new_image_name="yardstick-vsperf-server"

openstack stack create $stackname -f yaml -t $template
progress="WARMING_UP"

while [ "$progress" != "CREATE_COMPLETE" ]
do
  sleep 10
  echo "check stack status......."
  show_output=$(openstack stack show $stackname)
  progress=$(echo $show_output | sed 's/^.*stack_status . \([^ ]*\).*$/\1/')
  echo "$progress"
  if [ "$progress" == "CREATE_FAILED" ];then
    echo "create $stackname failed"
    exit 1
  fi
done

# has to stop the instance before taking the snapshot
nova stop $stackname
sleep 10

status=$(nova image-create --poll $stackname $new_image_name)
if [[ "$status" =~ "Finished" ]];then
  echo "$new_image_name finished"
fi

nova delete $stackname
sleep 10
openstack stack delete --yes $stackname
p">#echo ' '.join(packages) #set packages = $getVar('packages', []) #silent packages.pop(packages.index('MariaDB-Galera-server')) yum -y install --skip-broken --downloadonly #echo ' '.join(packages) #make repo mkdir -p /centos7-liberty-ppa/{Packages,repodata} find /var/cache/yum/ -name "*.rpm" | xargs -i cp {} /centos7-liberty-ppa/Packages/ rm /centos7-liberty-ppa/Packages/selinux-policy* -f rm /centos7-liberty-ppa/Packages/systemd* -f mv /epel-release-7-5.noarch.rpm /centos7-liberty-ppa/Packages/ cp /comps.xml /centos7-liberty-ppa/ cp /ceph_key_release.asc /centos7-liberty-ppa/ createrepo -g comps.xml /centos7-liberty-ppa mkdir /centos7-liberty-ppa/noarch mkdir /centos7-liberty-ppa/noarch/Packages cp -r /centos7-liberty-ppa/Packages/ceph* /centos7-liberty-ppa/noarch/Packages/ cp -r /centos7-liberty-ppa/repodata/ /centos7-liberty-ppa/noarch/ tar -zcvf /centos7-liberty-ppa.tar.gz /centos7-liberty-ppa