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()
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
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)
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()
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