Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
 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)
Ejemplo n.º 4
0
 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)