def cleanup_environment(env_id): env = objects.Environment(env_id) controller = env_util.get_one_controller(env) sftp = ssh.sftp(controller) admin_pass = env_util.get_admin_password(env, controller) script_filename = 'clean_env.py' with ssh.tempdir(controller) as tempdir: script_src_filename = os.path.join( magic_consts.CWD, "helpers", script_filename) script_dst_filename = os.path.join(tempdir, script_filename) sftp.put(script_src_filename, script_dst_filename) command = [ 'sh', '-c', '. /root/openrc; export OS_PASSWORD={0}; python {1}' .format(admin_pass, script_dst_filename), ] with ssh.popen(command, node=controller, stdin=ssh.PIPE) as proc: roles = ["controller", "compute"] for node in env_util.get_nodes(env, roles): data = "{0}\n{1}\n".format(node.data['fqdn'].split('.')[0], node.data['fqdn']) proc.stdin.write(data)
def cleanup_environment(env_id): env = objects.Environment(env_id) nodes = env.get_all_nodes() for node in nodes: node_util.remove_compute_upgrade_levels(node) controller = env_util.get_one_controller(env) sftp = ssh.sftp(controller) admin_pass = env_util.get_admin_password(env, controller) script_filename = 'clean_env.py' with ssh.tempdir(controller) as tempdir: script_src_filename = os.path.join(magic_consts.CWD, "helpers", script_filename) script_dst_filename = os.path.join(tempdir, script_filename) sftp.put(script_src_filename, script_dst_filename) command = [ 'sh', '-c', '. /root/openrc; export OS_PASSWORD={0}; python {1}'.format( admin_pass, script_dst_filename), ] with ssh.popen(command, node=controller, stdin=ssh.PIPE) as proc: roles = ["controller", "compute"] for node in env_util.get_nodes(env, roles): data = "{0}\n{1}\n".format(node.data['fqdn'].split('.')[0], node.data['fqdn']) proc.stdin.write(data)
def shutoff_vms(self): password = env_util.get_admin_password(self.env) cmd = [ '. /root/openrc;', 'nova list --os-password {0} --host {1}'.format( password, self.node.data['hostname']), '|', 'awk -F\| \'$4~/ACTIVE/{print($2)}', '|', 'xargs -I% nova stop %' ] out, err = ssh.call(cmd, stdout=ssh.PIPE, node=self.node)
def shutoff_vms(self): password = env_util.get_admin_password(self.env) cmd = ['. /root/openrc;', 'nova list --os-password {0} --host {1}' .format(password, self.node.data['hostname']), '|', 'awk -F\| \'$4~/ACTIVE/{print($2)}', '|', 'xargs -I% nova stop %'] out, err = ssh.call(cmd, stdout=ssh.PIPE, node=self.node)