summaryrefslogtreecommitdiffstats
path: root/meta-openstack/recipes-devtools/python/python-nova
diff options
context:
space:
mode:
authorAmy Fong <amy.fong@windriver.com>2014-07-24 13:04:41 -0400
committerBruce Ashfield <bruce.ashfield@windriver.com>2014-07-25 15:45:25 -0400
commit3bbd08214617f5a5e7b54253f9f8b786623546c8 (patch)
treed782a074f3a013b302446817ef9d147ddee6bb60 /meta-openstack/recipes-devtools/python/python-nova
parentce99c21125614dfa72428a9ef3ed563db8c99c93 (diff)
downloadmeta-cloud-services-3bbd08214617f5a5e7b54253f9f8b786623546c8.tar.gz
openstack initscript: add reset
Some of the openstack data is associated with external resources (ie glance may have external files), we explicitly invoke the delete commands on those in additional to dropping and recreating the databases. Signed-off-by: Amy Fong <amy.fong@windriver.com>
Diffstat (limited to 'meta-openstack/recipes-devtools/python/python-nova')
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova/nova.init29
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova/openrc21
2 files changed, 49 insertions, 1 deletions
diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova.init b/meta-openstack/recipes-devtools/python/python-nova/nova.init
index 87e72fa..46b28d3 100644
--- a/meta-openstack/recipes-devtools/python/python-nova/nova.init
+++ b/meta-openstack/recipes-devtools/python/python-nova/nova.init
@@ -86,6 +86,30 @@ status()
86 echo "$DESC is not running" 86 echo "$DESC is not running"
87} 87}
88 88
89reset()
90{
91 . /etc/nova/openrc
92
93 # Nova comute
94 simple_delete "nova list --all-tenant" "nova delete" 1 "vm"
95
96 stop
97
98 # This is to make sure postgres is configured and running
99 if ! pidof postmaster > /dev/null; then
100 /etc/init.d/postgresql-init
101 /etc/init.d/postgresql start
102 sleep 5
103 fi
104
105 sudo -u postgres dropdb nova
106 sudo -u postgres createdb nova
107 sleep 2
108 nova-manage db sync
109
110 start
111}
112
89case "$1" in 113case "$1" in
90 start) 114 start)
91 start 115 start
@@ -100,8 +124,11 @@ case "$1" in
100 status) 124 status)
101 status 125 status
102 ;; 126 ;;
127 reset)
128 reset
129 ;;
103 *) 130 *)
104 echo "Usage: $0 {start|stop|force-reload|restart|reload|status}" 131 echo "Usage: $0 {start|stop|force-reload|restart|reload|status|reset}"
105 exit 1 132 exit 1
106 ;; 133 ;;
107esac 134esac
diff --git a/meta-openstack/recipes-devtools/python/python-nova/openrc b/meta-openstack/recipes-devtools/python/python-nova/openrc
index c28f355..35327ac 100644
--- a/meta-openstack/recipes-devtools/python/python-nova/openrc
+++ b/meta-openstack/recipes-devtools/python/python-nova/openrc
@@ -4,3 +4,24 @@ export OS_PASSWORD=%OS_PASSWORD%
4export OS_AUTH_URL="http://%CONTROLLER_HOST%:5000/v2.0/" 4export OS_AUTH_URL="http://%CONTROLLER_HOST%:5000/v2.0/"
5export SERVICE_ENDPOINT="http://%CONTROLLER_HOST%:35357/v2.0" 5export SERVICE_ENDPOINT="http://%CONTROLLER_HOST%:35357/v2.0"
6export SERVICE_TOKEN=%SERVICE_TOKEN% 6export SERVICE_TOKEN=%SERVICE_TOKEN%
7
8function get_field() {
9 while read data; do
10 if [ "$1" -lt 0 ]; then
11 field="(\$(NF$1))"
12 else
13 field="\$$(($1 + 1))"
14 fi
15 echo "$data" | awk -F'[ \t]*\\|[ \t]*' "{print $field}"
16 done
17}
18
19function simple_delete() {
20 $1 | while read line; do
21 id=`echo $line | get_field $3`
22 if [ ! -z "$id" ] ; then
23 echo ">>> Delete $4: id=$id"
24 $2 $id > /dev/null 2>&1
25 fi
26 done
27}