def run(self): nova = Nova() node_name = key_name = self.temp_name() key_file = nova.create_key(key_name) base_image = nova.image_by_regexp(self.opts.base_image) s = nova.boot(node_name, nova.flavor('standard.xsmall'), base_image, key_name) ip = nova.public_ip(s) if self.opts.install_script_url: log("fetching " + self.opts.install_script_url) self.opts.install_script = "/tmp/" + node_name + '_install' run_cmd(['curl', '-o', self.opts.install_script, self.opts.install_script_url]) nova.scp(ip, "ubuntu", key_file, self.opts.install_script, '/tmp/novawiz_install') nova.run_cmd(ip, key_file, "chmod +x {0}".format("/tmp/novawiz_install")) nova.run_cmd(ip, key_file, "/tmp/novawiz_install") log("building image") nova.build_image(s, self.opts.name) log("destroying build node") nova.delete_key(key_name) log("destroying temp keypair") os.remove(key_file) nova.delete_server(s)
def run(self): nova = Nova() node_name = key_name = self.temp_name() key_file = nova.create_key(key_name) base_image = nova.image_by_regexp(self.opts.base_image) s = nova.boot(node_name, nova.flavor('standard.xsmall'), base_image, key_name) ip = nova.public_ip(s) if self.opts.install_script_url: log("fetching " + self.opts.install_script_url) self.opts.install_script = "/tmp/" + node_name + '_install' run_cmd([ 'curl', '-o', self.opts.install_script, self.opts.install_script_url ]) nova.scp(ip, "ubuntu", key_file, self.opts.install_script, '/tmp/novawiz_install') nova.run_cmd(ip, key_file, "chmod +x {0}".format("/tmp/novawiz_install")) nova.run_cmd(ip, key_file, "/tmp/novawiz_install") log("building image") nova.build_image(s, self.opts.name) log("destroying build node") nova.delete_key(key_name) log("destroying temp keypair") os.remove(key_file) nova.delete_server(s)