summaryrefslogtreecommitdiffstats
path: root/tests/clean.py
diff options
context:
space:
mode:
authorRyota MIBU <r-mibu@cq.jp.nec.com>2016-02-20 13:08:30 +0900
committerRyota MIBU <r-mibu@cq.jp.nec.com>2016-02-20 13:08:30 +0900
commite891316ac35f062c66b15a7ee7981016c6edcc9e (patch)
tree5e9d7ae4f16d38e6b6d8ffa422ab6f8e64747e52 /tests/clean.py
parenteed432fa413d3afeecdd65ef0f73559920012df9 (diff)
test: fix bugs (ssh args and force-down in cleanup)
This patch fixes two bugs: - ssh target hostname is wrong (it trailing by ':') - novaclient cannot execute 'force-down' since it tries to use v2.0 endpoint which doesn't spport the new API, Change-Id: I5ef3a8eda5fa7a6730b4eb456d0441d40718a010 Signed-off-by: Ryota MIBU <r-mibu@cq.jp.nec.com>
Diffstat (limited to 'tests/clean.py')
-rw-r--r--tests/clean.py45
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/clean.py b/tests/clean.py
new file mode 100644
index 00000000..af966aed
--- /dev/null
+++ b/tests/clean.py
@@ -0,0 +1,45 @@
+##############################################################################
+# Copyright (c) 2016 NEC Corporation and others.
+#
+# 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
+##############################################################################
+
+import argparse
+import json
+import os
+
+import novaclient.client as novaclient
+
+
+nova_api_version = 2.11
+
+def enable_compute_host(hostname):
+ self.nova = novaclient.Client(self.nova_api_version,
+ os.environ['OS_USERNAME'],
+ os.environ['OS_PASSWORD'],
+ os.environ['OS_TENANT_NAME'],
+ os.environ['OS_AUTH_URL'],
+ connection_pool=True)
+ opts = {'all_tenants': True, 'host': hostname}
+ for server in self.nova.servers.list(detailed=False, search_opts=opts):
+ self.nova.servers.reset_state(server, 'active')
+ self.nova.services.force_down(hostname, 'nova-compute', False)
+
+
+def get_args():
+ parser = argparse.ArgumentParser(description='Doctor Test Cleaner')
+ parser.add_argument('hostname', metavar='HOSTNAME', type=str, nargs='?',
+ help='a hostname to be re-enable')
+ return parser.parse_args()
+
+
+def main():
+ args = get_args()
+ enable_compute_host(args.hostname)
+
+
+if __name__ == '__main__':
+ main()