From 3bbd08214617f5a5e7b54253f9f8b786623546c8 Mon Sep 17 00:00:00 2001 From: Amy Fong Date: Thu, 24 Jul 2014 13:04:41 -0400 Subject: 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 --- .../python/python-neutron/neutron-server.init | 50 +++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) (limited to 'meta-openstack/recipes-devtools/python/python-neutron/neutron-server.init') diff --git a/meta-openstack/recipes-devtools/python/python-neutron/neutron-server.init b/meta-openstack/recipes-devtools/python/python-neutron/neutron-server.init index 63440e8..0c78de6 100644 --- a/meta-openstack/recipes-devtools/python/python-neutron/neutron-server.init +++ b/meta-openstack/recipes-devtools/python/python-neutron/neutron-server.init @@ -71,6 +71,51 @@ status() echo "$DESC is not running" } +reset() +{ + . /etc/nova/openrc + + # Cleanup all neutron floating ip + simple_delete "neutron floatingip-list --all-tenant" "neutron floatingip-delete" 1 "neutron floatingip" + + # Cleanup all neutron router + neutron router-list | while read line; do + router_id=`echo $line | get_field 1` + neutron router-port-list $router_id | while read line_port; do + port_id=`echo $line_port | get_field 1` + subnet_id=`echo $line_port | get_field 4 | cut -d ' ' -f 2 | cut -d '"' -f 2` + if [ ! -z "$router_id" ] && [ ! -z "$subnet_id" ] ; then + echo ">>> Delete router-port: router_id=$router_id, port_id=$port_id, subnet_id=$subnet_id" + neutron router-interface-delete $router_id $subnet_id > /dev/null 2>&1 + fi + done + if [ ! -z "$router_id" ] ; then + echo ">>> Delete router: router_id=$router_id" + neutron router-delete $router_id > /dev/null 2>&1 + fi + done + + # Cleanup all neutron ports + simple_delete "neutron port-list --all-tenant" "neutron port-delete" 1 "neutron port" + + # Cleanup all neutron net + simple_delete "neutron net-list --all-tenant" "neutron net-delete" 1 "neutron net" + + stop + + # This is to make sure postgres is configured and running + if ! pidof postmaster > /dev/null; then + /etc/init.d/postgresql-init + /etc/init.d/postgresql start + sleep 2 + fi + + sudo -u postgres dropdb ovs_neutron + sudo -u postgres createdb ovs_neutron + + start +} + case "$1" in start) start @@ -85,8 +130,11 @@ case "$1" in status) status ;; + reset) + reset + ;; *) - echo "Usage: $0 {start|stop|force-reload|restart|reload|status}" + echo "Usage: $0 {start|stop|force-reload|restart|reload|status|reset}" exit 1 ;; esac -- cgit v1.2.3-54-g00ecf