Esempio n. 1
0
def expose_machines(seed_profile, uuids=[]):
    driver = obtain_driver(seed_profile)
    
    if uuids:
        return driver.list_nodes(uuids)

    return driver.list_nodes()
Esempio n. 2
0
def water_machines(seed_profile, uuids):
    """
    Bootstrap with salt
    """
    nodes = []
    if seed_profile.driver == 'aws':
        driver = obtain_driver(seed_profile)
        nodes = [i for i in driver.list_nodes() if i.name == seed_profile.name]
    for libcloud_node in nodes:
        logger = logging.getLogger('*'.join([__name__, libcloud_node.name]))
        libcloud_node, private_ips = libcloud_node.driver.wait_until_running(
            nodes=[libcloud_node], ssh_interface="private_ips")[0]

    scripts = []
    for script in seed_profile.init_scripts:
        logger.warn("SCRIPT: %s" % script)
        _file = FileDeployment(find_script(script),
                target="/home/%s/%s" % (seed_profile.ami_user, script), )
        scripts.append(_file)
    msd = MultiStepDeployment(scripts)
    deploy_msd_to_node(libcloud_node, msd, seed_profile.keypair['local_path'])