def expose_machines(seed_profile, uuids=[]): driver = obtain_driver(seed_profile) if uuids: return driver.list_nodes(uuids) return driver.list_nodes()
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'])