示例#1
0
  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)
示例#2
0
    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)