forked from Juniper/contrail-provisioning
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdevstack-cleanup.py
More file actions
executable file
·94 lines (74 loc) · 3.07 KB
/
Copy pathdevstack-cleanup.py
File metadata and controls
executable file
·94 lines (74 loc) · 3.07 KB
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
#!/usr/bin/python
import argparse
import ConfigParser
import os
import sys
import time
import re
import string
import socket
import subprocess
import json
from pprint import pformat
import tempfile
import platform
dist = platform.dist()[0]
if dist == 'centos':
subprocess.call("sudo pip-python install contrail_setup_utils/pycrypto-2.6.tar.gz", shell=True)
subprocess.call("sudo pip-python install contrail_setup_utils/paramiko-1.11.0.tar.gz", shell=True)
subprocess.call("sudo pip-python install contrail_setup_utils/Fabric-1.7.0.tar.gz", shell=True)
subprocess.call("sudo pip-python install contrail_setup_utils/zope.interface-3.7.0.tar.gz", shell=True)
from fabric.api import local
from fabric.operations import get, put
from fabric.context_managers import lcd, settings
class DevstackCleanup(object):
def __init__(self, args_str = None):
self._args = None
if not args_str:
args_str = ' '.join(sys.argv[1:])
self._parse_args(args_str)
with settings(warn_only = True):
with lcd("/home/stack/devstack"):
local("./unstack.sh")
local("sudo rm -rf /home/stack/devstack")
local("sudo yum remove -y mysql-libs")
local("sudo rm -rf /var/lib/mysql/")
local("sudo rm -rf /var/lib/zookeeper/")
local("sudo rm -rf /opt/stack/")
local("sudo rm -rf /opt/contrail/")
local("sudo rm -rf /etc/init.d/contrail")
local("sudo rm -rf /etc/rc.d/init.d/contrail")
local("sudo rm -rf /home/stack/keystone-signing")
local("sudo rm /etc/httpd/conf.d/horizon.conf")
local("sudo rm -rf /etc/nova/")
local("sudo rm -rf /etc/quantum/")
local("sudo rm -rf /etc/glance/")
local("sudo rm -rf /etc/cinder/")
local("sudo rm -rf /etc/keystone/")
local("sudo rm -rf /var/log/nova/")
local("sudo rm -rf /var/log/quantum/")
local("sudo rm -rf /var/log/glance/")
local("sudo rm -rf /var/log/cinder/")
local("sudo rm -rf /var/log/keystone/")
local("sudo rm -rf /usr/lib/python2.7/site-packages/*nova*/")
local("sudo rm -rf /usr/lib/python2.7/site-packages/*quantum*/")
local("sudo rm -rf /usr/lib/python2.7/site-packages/*glance*/")
local("sudo rm -rf /usr/lib/python2.7/site-packages/*cinder*/")
local("sudo rm -rf /usr/lib/python2.7/site-packages/*keystone*/")
result = local("sudo ls /etc/libvirt/qemu/instance*.xml | cut -d '/' -f 5 | cut -d '.' -f 1", capture = True)
for inst_name in result.split():
with settings(warn_only = True):
sudo('virsh destroy %s' %(inst_name))
sudo('virsh undefine %s' %(inst_name))
#end __init__
def _parse_args(self, args_str):
'''
Eg. python devstack-cleanup.py
'''
return
#end class DevstackCleanup
def main(args_str = None):
DevstackCleanup(args_str)
#end main
if __name__ == "__main__":
main()