예제 #1
0
파일: gcloud.py 프로젝트: mxm/yoka
def delete_instances(prompt=False):
    if not env.hostnames:
        print "No hostnames configured. Cannot delete instances."
        return
    if prompt:
        ask = Prompt(
            "Delete cluster with the following hostnames?\n%s" %
            '\n'.join([str(elem) for elem in env.hostnames]), "y")
        if not ask.prompt():
            return
    LocalCommand("gcloud compute --project %s" % conf['project_name'],
                 "instances delete %s" % ' '.join(env.hostnames),
                 "--zone %s" % conf['zone'], "-q").execute()
    LocalCommand("gcloud compute --project %s" % conf['project_name'],
                 "disks delete %s" % ' '.join(env.disknames),
                 "--zone %s" % conf['zone'], "-q").execute()
    Configuration.delete()
예제 #2
0
파일: clusters.py 프로젝트: mxm/yoka
    def setup(self):
        gcloud.conf = self.config
        self.working_dir = self.config['working_dir']

        execute(gcloud.init)
        execute(gcloud.configure_ssh)

        try:
            execute(gcloud.create_instances)
            execute(gcloud.attach_disk)
            execute(gcloud.format_disk)
            execute(gcloud.mount_disk)
        except gcloud.ExistingInstancesException:
            resume = Prompt("Resume cluster with the following configuration? (y/n) %s" % self.config, "y")
            if not resume.prompt():
                raise Exception("Cluster could not be createcd.")

            #if Prompt("Reattach external storage? (only say 'y' if the cluster has been shutdown before)", "y").prompt():
            #    execute(gcloud.attach_disk)
            if Prompt("Mount external storage? (only say 'y' if the cluster has been shutdown before)", "y").prompt():
                execute(gcloud.mount_disk)

            interactive = Prompt("Do you want to configure the resume mode for each system? (y/n)", "y")
            if interactive.prompt():
                # ask later when setting up the systems
                return None

            resume_mode = MultiPrompt("Reuse cluster instances but fully install/configure (f), configure only (p), restart systems (r), or assume complete setup (c),? (f/p/r/c)")
            resume_mode_answer = resume_mode.prompt()
            if resume_mode_answer == "p":
                return ResumeMode.CONFIGURE
            elif resume_mode_answer == "r":
                return ResumeMode.RESTART
            elif resume_mode_answer == "c":
                return ResumeMode.RESUME

        execute(maintenance.update_package_cache)
        #execute(maintenance.upgrade)
        execute(maintenance.install_dependencies)
        execute(maintenance.set_java_home)
        execute(maintenance.set_key)
        execute(maintenance.set_up_dir, self.working_dir)

        return ResumeMode.FULL_SETUP
예제 #3
0
파일: clusters.py 프로젝트: aljoscha/yoka
 def setup(self):
     gcloud.conf = self.config
     self.working_dir = self.config['working_dir']
     execute(gcloud.init)
     execute(gcloud.configure_ssh)
     try:
         execute(gcloud.create_instances)
         execute(gcloud.attach_disk)
         execute(gcloud.mount_disk)
     except gcloud.ExistingInstancesException:
         prompt = Prompt("Resume cluster with the following configuration? (y/n) %s" % self.config, "y")
         if not prompt.prompt():
             raise Exception("Cluster could not be createcd.")
     execute(maintenance.update_package_cache)
     #execute(maintenance.upgrade)
     execute(maintenance.install_dependencies)
     execute(maintenance.set_java_home)
     execute(maintenance.set_key)
     execute(maintenance.set_up_dir, self.working_dir)
예제 #4
0
파일: gcloud.py 프로젝트: aljoscha/yoka
def delete_instances(prompt=False):
    if not env.hostnames:
        print "No hostnames configured. Cannot delete instances."
        return
    if prompt:
        ask = Prompt("Delete cluster with the following hostnames?\n%s"
                     % '\n'.join([str(elem) for elem in env.hostnames]), "y")
        if not ask.prompt():
            return
    LocalCommand(
        "gcloud compute --project %s" % conf['project_name'],
        "instances delete %s" % ' '.join(env.hostnames),
        "--zone %s" % conf['zone'],
        "-q"
    ).execute()
    LocalCommand(
        "gcloud compute --project %s" % conf['project_name'],
        "disks delete %s" % ' '.join(env.disknames),
        "--zone %s" % conf['zone'],
        "-q"
    ).execute()
    Configuration.delete()
예제 #5
0
파일: clusters.py 프로젝트: mxm/yoka
    def setup(self):
        gcloud.conf = self.config
        self.working_dir = self.config['working_dir']

        execute(gcloud.init)
        execute(gcloud.configure_ssh)

        try:
            execute(gcloud.create_instances)
            execute(gcloud.attach_disk)
            execute(gcloud.format_disk)
            execute(gcloud.mount_disk)
        except gcloud.ExistingInstancesException:
            resume = Prompt(
                "Resume cluster with the following configuration? (y/n) %s" %
                self.config, "y")
            if not resume.prompt():
                raise Exception("Cluster could not be createcd.")

            #if Prompt("Reattach external storage? (only say 'y' if the cluster has been shutdown before)", "y").prompt():
            #    execute(gcloud.attach_disk)
            if Prompt(
                    "Mount external storage? (only say 'y' if the cluster has been shutdown before)",
                    "y").prompt():
                execute(gcloud.mount_disk)

            interactive = Prompt(
                "Do you want to configure the resume mode for each system? (y/n)",
                "y")
            if interactive.prompt():
                # ask later when setting up the systems
                return None

            resume_mode = MultiPrompt(
                "Reuse cluster instances but fully install/configure (f), configure only (p), restart systems (r), or assume complete setup (c),? (f/p/r/c)"
            )
            resume_mode_answer = resume_mode.prompt()
            if resume_mode_answer == "p":
                return ResumeMode.CONFIGURE
            elif resume_mode_answer == "r":
                return ResumeMode.RESTART
            elif resume_mode_answer == "c":
                return ResumeMode.RESUME

        execute(maintenance.update_package_cache)
        #execute(maintenance.upgrade)
        execute(maintenance.install_dependencies)
        execute(maintenance.set_java_home)
        execute(maintenance.set_key)
        execute(maintenance.set_up_dir, self.working_dir)

        return ResumeMode.FULL_SETUP