From: Tony Mack Date: Fri, 25 Jan 2008 19:37:08 +0000 (+0000) Subject: deleting X-Git-Tag: 2008-02-11-last-vmware-support~86 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=5611672571f873a3bac80461b25d33cf71dc7c0c;p=tests.git deleting --- diff --git a/qaapi/qa/modules/plc/__init__.py b/qaapi/qa/modules/plc/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/qaapi/qa/modules/plc/access_slice.py b/qaapi/qa/modules/plc/access_slice.py deleted file mode 100644 index 63b2162..0000000 --- a/qaapi/qa/modules/plc/access_slice.py +++ /dev/null @@ -1,68 +0,0 @@ -import traceback -import time -from qa.Test import Test -from qa import utils - -class access_slice(Test): - """ - Repeatedly attempt to use the specified users credentials to - access the specified node on the specified slice. - """ - - def call(self, email, slice_name, hostname, timeout=3): - api = self.config.api - auth = self.config.auth - email_parts = email.split("@") - keys_filename = email_parts[0] - keys_path = self.config.KEYS_PATH - private_key_path = keys_path + os.sep + keys_filename - public_key_path = private_key_path + ".pub" - - # Validate slice - slices = api.GetSlices(auth, [slice_name], ['name', 'slice_id', 'node_ids']) - if not slices: - raise Exception, "No such slice %(slice_name)s" % locals() - slice = slices[0] - - # Validate node - nodes = api.GetNodes(auth, [hostname], ['hostname', 'node_id', 'slice_ids']) - if not nodes: - raise Exception, "No such node %(hostname)s" % locals() - node = nodes[0] - if slice['slice_id'] not in node['slice_ids']: - raise Exception, "%(slice_name)s not on %(hostname)s" % locals() - - # Validate user - persons = api.GetPersons(auth, ['email'], ['person_id', 'key_ids', 'slice_ids']) - if not persons: - raise Exception, "No such person %(email)s" % locals() - person = persons[0] - if slice['slice_id'] not in person['slice_ids']: - raise Exception, "%(email)s not in slice %(slice_name)s" % locals() - - # get keys - if not os.path.isfile(private_key_path) or \ - not os.path.isfile(public_key_path): - # keys dont exist, call api.sync_user_key() - from qa.modules.api.sync_user_key import sync_user_key - sync_user_key()(email) - - # attempt to access slice - start_time = time.time() - end_time = start_time + timeout*60 - sleep = 30 - while time.time() < endtime: - if self.config.verbose: - utils.header("Trying to connect to %(slice_name)s@%(hostname)s" % locals()) - ssh_command = "ssh -i %(private_key_path)s %(slice_name)s@%(hostname)s" % locals() - host_check = os.system(ssh_command + " hostname ") - if host_check == 0: - if self.config.verbose: - utils.header("connecteed to %(slice_name)s@%(hostname)s" % locals()) - return 1 - else: - if self.config.verbose: - utils.header("failed to connect to %(slice_name)s@%(hostname)s" % locals()) - time.sleep(sleep) - - return 0 diff --git a/qaapi/qa/modules/plc/boot_node.py b/qaapi/qa/modules/plc/boot_node.py deleted file mode 100644 index 966cf47..0000000 --- a/qaapi/qa/modules/plc/boot_node.py +++ /dev/null @@ -1,66 +0,0 @@ -import os,sys -import base64 -from qa.Test import Test -from qa import utils - -image_types = ['node-iso', 'node-usb', 'generic-iso', 'generic-usb'] - -class boot_node(Test): - """ - Attempts to boot the specified node using qemu. - """ - - def call(self, hostname, image_type = 'node-iso', disk_size="4G"): - api = self.config.api - auth = self.config.auth - self.tdir = "/tmp/" - - # validate hostname - nodes = api.GetNodes(auth, [hostname], ['hostname']) - if not nodes: - raise Exception, "No such node %(hostname)s" % locals() - - bootimage = api.GetBootMedium(auth, hostname, image_type, '') - bootimage_path = '/%(tdir)s/%(hostname)s-bootcd.iso' % locals() - - if self.config.verbose: - utils.header("Creating bootcd for %(hostname)s at %(bootimage_path)s" % locals()) - # Create a temporary bootcd file - file = open(bootimage_path, 'w') - file.write(base64.b64decode(bootimage)) - file.close() - - # Create a temporary disk image - diskimage_path = "/%(tdir)s/%(hostname)s-hda.img" % locals() - qemu_img_cmd = "qemu-img create -f qcow2 %(diskimage_path)s %(disk_size)s" % locals() - (stdin, stdout, stderr) = os.popen3(qemu_img_cmd) - self.errors = stderr.readlines() - if self.errors: - raise Exception, "Unable to create disk image\n" + \ - "\n".join(self.errors) - - if self.config.verbose: - utils.header("Booting %(hostname)s" % locals()) - # Attempt to boot this node image - bootcmd = "qemu -hda %(diskimage_path)s -cdrom %(bootimage_path)s -smp 1 -m 256 -monitor stdio" % \ - locals() - (stdin, stdout, stderr) = os.popen3(bootcmd) - self.errors = stderr.readlines() - if self.errors: - raise Exception, "Unable to boot node image\n" + \ - "\n".join(self.errors) - - return 1 - - def get_image_medium(self, hostname, image_type, path): - api = self.config.api - auth = self.config.auth - - file = open(path, 'w') - if image-type in ['node-floppy', 'node-iso', 'node-usb', 'generic-iso', 'generic-usb']: - image = api.GetBootMedium(auth, hostname, image_type, '') - - - - - diff --git a/qaapi/qa/modules/plc/check_boot_state.py b/qaapi/qa/modules/plc/check_boot_state.py deleted file mode 100644 index 77df565..0000000 --- a/qaapi/qa/modules/plc/check_boot_state.py +++ /dev/null @@ -1,54 +0,0 @@ -import time - -from qa import utils -from qa.Test import Test - -class check_boot_state(Test): - """ - Continually checks the boot_state of the specified node until - either the node reaches boot, the node reaches debug or the - timeout is reached. - - Timeout represents the ammout of time (in minutes) we should - continue trying before quitting. - - Sleep represnet the ammount of time (in seconds) to wait in - between checks. - - Returns the boot state of the node. - """ - def call(self, hostname, timeout = 5, sleep = 30): - exit = False - api = self.config.api - auth = self.config.auth - - # Validate hostname - nodes = api.GetNodes(auth, [hostname], ['hostname']) - if not nodes: - raise Exception, "No such hostname %(hostname)s" % locals() - - start_time = time.time() - end_time = start_time + (timeout * 60) - - while not exit: - nodes = api.GetNodes(auth, [hostname], ['boot_state']) - node = nodes[0] - boot_state = node['boot_state'] - if self.config.verbose: - utils.header("%(hostname)s boot_state is %(boot_state)s" % locals()) - - if boot_state in ['boot', 'debug']: - exit = True - elif time.time() < end_time: - time.sleep(sleep) - else: - exit = True - - - if self.config.verbose: - if boot_state in ['boot']: - utils.header("%(hostname)s correctly installed and booted" % locals()) - else: - utils.header("%(hostname)s not fully booted" % locals()) - - return boot_state diff --git a/qaapi/qa/modules/plc/configure.py b/qaapi/qa/modules/plc/configure.py deleted file mode 100644 index 21b52c7..0000000 --- a/qaapi/qa/modules/plc/configure.py +++ /dev/null @@ -1,47 +0,0 @@ - -import os, sys -import traceback -from qa.Test import Test -from qa import utils - -class configure(Test): - """ - Configure the myplc from config options in config file - """ - - def call(self, system_type, root_dir): - tmpname = '/tmp/plc-cinfig-tty-%d' % os.getpid() - fileconf = open(tmpname, 'w') - for var in [ 'PLC_NAME', - 'PLC_ROOT_PASSWORD', - 'PLC_ROOT_USER', - 'PLC_MAIL_ENABLED', - 'PLC_MAIL_SUPPORT_ADDRESS', - 'PLC_DB_HOST', - 'PLC_API_HOST', - 'PLC_WWW_HOST', - 'PLC_BOOT_HOST', - 'PLC_NET_DNS1', - 'PLC_NET_DNS2']: - fileconf.write('e %s\n%s\n' % (var, getattr(self.config, var))) - fileconf.write('w\nq\n') - fileconf.close() - - mount_command = "/sbin/service plc mount" - full_command = "" - if system_type in ['vserv', 'vserver']: - full_command += " vserver %(root_dir)s exec " % locals() - elif system_type in ['chroot']: - full_command += " chroot %(root_dir)s " % locals() - else: - raise Exception, "Invalid system type %(sytem_type)s" % locals() - - full_command += " plc-config-tty < %(tmpname)s" % locals() - commands = [mount_command, full_command] - for command in commands: - if self.config.verbose: - utils.header(command) - (stdout, stderr) = utils.popen(command) - (stdout, stderr) = utils.popen("rm %s" % tmpname) - - return 1 diff --git a/qaapi/qa/modules/plc/get_boot_state.py b/qaapi/qa/modules/plc/get_boot_state.py deleted file mode 100644 index a7d3aed..0000000 --- a/qaapi/qa/modules/plc/get_boot_state.py +++ /dev/null @@ -1,54 +0,0 @@ -import time - -from qa import utils -from qa.Test import Test - -class get_boot_state(Test): - """ - Continually checks the boot_state of the specified node until - either the node reaches boot, the node reaches debug or the - timeout is reached. - - Timeout represents the ammout of time (in minutes) we should - continue trying before quitting. - - Sleep represnet the ammount of time (in seconds) to wait in - between checks. - - Returns the boot state of the node. - """ - def call(self, hostname, timeout = 5, sleep = 30): - exit = False - api = self.config.api - auth = self.config.auth - - # Validate hostname - nodes = api.GetNodes(auth, [hostname], ['hostname']) - if not nodes: - raise Exception, "No such hostname %(hostname)s" % locals() - - start_time = time.time() - end_time = start_time + (timeout * 60) - - while not exit: - nodes = api.GetNodes(auth, [hostname], ['boot_state']) - node = nodes[0] - boot_state = node['boot_state'] - if self.config.verbose: - utils.header("%(hostname)s boot_state is %(boot_state)s" % locals()) - - if boot_state in ['boot', 'debug']: - exit = True - elif time.time() < end_time: - time.sleep(sleep) - else: - exit = True - - - if self.config.verbose: - if boot_state in ['boot']: - utils.header("%(hostname)s correctly installed and booted" % locals()) - else: - utils.header("%(hostname)s not fully booted" % locals()) - - return boot_state diff --git a/qaapi/qa/modules/plc/install.py b/qaapi/qa/modules/plc/install.py deleted file mode 100644 index 3344da5..0000000 --- a/qaapi/qa/modules/plc/install.py +++ /dev/null @@ -1,54 +0,0 @@ - -import os, sys -import traceback -from qa import utils -from qa.Test import Test - -class install(Test): - """ - Installs a myplc - """ - - def call(self, system_type, root_dir, url=None): - - url_path = self.config.path - # Determine url - if not url: - try: - - url_file = open("%s/URL" % url_path) - url = url_file.read().strip() - url_file.close() - except IOError: - pass - if not url: - print "URL not specified" - sys.exit(1) - - # Save url - if self.config.verbose: - utils.header('Saving current myplc url into %s/URL' % url_path) - fsave=open('%s/URL' % url_path, "w") - fsave.write(url+'\n') - fsave.close() - - # Instal myplc from url - if self.config.verbose: - utils.header('Installing myplc from url %s' % url) - - # build command - full_command = "" - install_command = " rpm -Uvh %(url)s " - if system_type in ['vserv', 'vserver']: - full_command += " vserver %(root_dir)s exec " - elif system_type in ['chroot']: - pass - else: - raise Exception, "Invalid system type %(system_type)s" % locals() - - full_command += install_command % locals() - (stdout, stderr) = utils.popen(full_command) - if self.config.verbose: - utils.header("\n".join(stdout)) - - return 1 diff --git a/qaapi/qa/modules/plc/remote_call.py b/qaapi/qa/modules/plc/remote_call.py deleted file mode 100644 index ce7979c..0000000 --- a/qaapi/qa/modules/plc/remote_call.py +++ /dev/null @@ -1,23 +0,0 @@ -import os -from qa.Test import Test -from qa import utils - -class remote_call(Test): - """ - Attempt to connect to a node using the plc root key and - issue a command. - """ - - def call(self, root_key_path, hostname, command): - if not os.path.isfile(root_key_path): - raise Exception, "no such private key file %(root_key_path)s" % locals() - - full_command = "ssh -i %(root_key_path)s root@%(hostname)s %(command)s" % locals() - if self.config.verbose: - utils.header(full_command) - (stdout, stderr) = utils.popen(full_command) - if self.config.verbose: - utils.header("\n".join(stdout)) - - - return 1 diff --git a/qaapi/qa/modules/plc/start.py b/qaapi/qa/modules/plc/start.py deleted file mode 100644 index d8af4cd..0000000 --- a/qaapi/qa/modules/plc/start.py +++ /dev/null @@ -1,32 +0,0 @@ -import traceback -from qa.Test import Test -from qa import utils - -class start(Test): - """ - Starts the myplc service - """ - - def call(self, system_type, root_dir): - - start_command = " /sbin/service plc start " - full_command = "" - - if system_type in ['vserv', 'vserver']: - full_command += " vserver %(root_dir)s exec " - elif system_type in ['chroot']: - pass - else: - raise Exception, "Invalid system type %(system_type)s" % locals() - - full_command += start_command % locals() - - if self.config.verbose: - utils.header(full_command) - - (stdout, stderr) = utils.popen(full_command) - - if self.config.verbose: - utils.header("".join(stdout)) - - return 1 diff --git a/qaapi/qa/modules/plc/stop.py b/qaapi/qa/modules/plc/stop.py deleted file mode 100644 index feebf12..0000000 --- a/qaapi/qa/modules/plc/stop.py +++ /dev/null @@ -1,32 +0,0 @@ -import os, sys -import traceback -from qa.Test import Test -from qa import utils - -class stop(Test): - """ - Installs a myplc - """ - - def call(self, system_type, root_dir): - - stop_command = " /sbin/service plc stop " - full_command = "" - if system_type in ['vserv', 'vserver']: - full_command += " vserver %(root_dir)s exec " - elif system_type in ['chroot']: - pass - else: - raise Exception, "Invalid system type %(system_type)s" % locals() - - full_command += stop_command % locals() - - if self.config.verbose: - utils.header(full_command) - - (stdout, stderr) = utils.popen(full_command) - - if self.config.verbose: - utils.header("\n".join(stdout)) - - return 1 diff --git a/qaapi/qa/modules/plc/uninstall.py b/qaapi/qa/modules/plc/uninstall.py deleted file mode 100644 index 86e57aa..0000000 --- a/qaapi/qa/modules/plc/uninstall.py +++ /dev/null @@ -1,39 +0,0 @@ -import os, sys -import traceback -from qa.Test import Test -from qa import utils - -class uninstall(Test): - """ - Completely removes the installed myplc - """ - - def call(self, system_type, root_dir): - - remove_command = " rpm -e myplc " - full_command = "" - - if system_type in ['vserv', 'vserver']: - full_command += " vserver %(root_dir)s exec " - elif system_type in ['chroot']: - pass - else: - raise Exception, "Invalid system type %(system_type)s" % locals() - - if self.config.verbose: - utils.header("Removing myplc") - - full_command = full_command % locals() - (stdout, stderr) = utils.popen(full_command + "/sbin/service plc safestop") - if self.config.verbose: - utils.header("\n".join(stdout)) - - (stdout, stderr) = utils.popen(full_command + remove_command) - if self.config.verbose: - utils.header("\n".join(stdout)) - - (stdout, stderr) = utils.popen(full_command + " rm -rf /plc/data") - if self.config.verbose: - utiils.header("\n".join(stdout)) - - return 1