def build(self): # clone disk from prototype # SRC_HDD = '''C:\Users\chayapan\VirtualBox VMs\\erp01.vdi''' # vbox.clone_hdd(SRC_HDD,'clone.vdi') # create new disk # vbox.create_hdd(os.path.join(self.HOME,"test"),"12") # self.disk.append(Disk('test')) # create new vm # hostname = "VM 1" # vbox.create_vm(hostname, self.HOME) # self.host.append(Host(hostname)) # Add vm to the cluster # self.host[0].disk.append(self.disk[0]) # Add harddisk to the vm ### # Example cluster: # 3 hosts , clone.vdi for hostname in ['h1', 'h2', 'h3']: host = self.newHost(hostname) host.disk.append(Disk(hostname+'_1')) ctl = 'build.bat' f=open(ctl,"w");f.write(vbox.history_flush());f.close() ########################################### # Also build.... Register , Unregister , Clean , Power On, Power Off, Reset self.register(); self.unregister(); self.clean(); self.poweron(); self.poweroff(); self.reset();
def register(self): for host in self.host: vbox.register_vm(host.id,self.HOME) host.attach_hdd().set_spec() ctl = 'cluster_register.bat' f=open(ctl,"w");f.write(vbox.history_flush());f.close()
def clean(self): self.register() for host in self.host: vbox.unregister_vm(host.id, True) # Delete everything ctl = 'clean.bat' f=open(ctl,"w");f.write(vbox.history_flush());f.close()
def reset(self): for host in self.host: vbox.reset_vm(host.id) ctl = 'cluster_reset.bat' f=open(ctl,"w");f.write(vbox.history_flush());f.close()
def poweroff(self): for host in self.host: vbox.poweroff_vm(host.id) ctl = 'cluster_power_off.bat' f=open(ctl,"w");f.write(vbox.history_flush());f.close()
def poweron(self,headless=False): for host in self.host: vbox.poweron_vm(host.id) ctl = 'cluster_power_on.bat' f=open(ctl,"w");f.write(vbox.history_flush());f.close()