def SetupVirtualMachine(self): subutai.AddStatus("Setting up virtual machine") subutai.SetAction("INSTVM") rc = 0 subutai.AddStatus("Installing VM") if subutai.CheckVMExists(self.name) != 0: subutai.download("core.ova") while subutai.isDownloadComplete() != 1: sleep(0.05) self.progress.setCoreProgress(subutai.GetBytesDownload()) self.progress.updateProgress() subutai.AddStatus("VM Image downloaded") self.progress.setCoreProgress(self.progress.getCoreSize()) self.progress.updateProgress() rc = subutai.VBoxS("import " + subutai.GetTmpDir().replace(" ", "+++") + "core.ova --vsys 0 --vmname " + self.name) if rc != 0: subutai.RaiseError("Failed to import Virtual Machine") return rc sleep(3) cpus = subutai.GetCoreNum() mem = subutai.GetMemSize() * 1024 subutai.VBox("modifyvm " + self.name + " --cpus " + str(cpus)) subutai.VBox("modifyvm " + self.name + " --memory " + str(mem)) return rc
def subutaistart(): subutai.CheckDirectories() tmpDir = subutai.GetTmpDir() targetDir = subutai.GetInstallDir() subutai.download("snappy.ova") while subutai.isDownloadComplete() != 1: sleep(0.05) subutai.download("subutai_" + subutai.GetMasterVersion() + "_amd64.snap") while subutai.isDownloadComplete() != 1: sleep(0.05) #os.system("tar zxf "+tmpDir+"/snappy.ova -C "+targetDir+"/resources/snappy.ovf") #subutai.VBox("import "+targetDir+"/resources/snappy.ovf") subutai.VBox("import " + tmpDir + "/snappy.ova") subutai.VBox("modifyvm snappy --cpus 2") subutai.VBox("modifyvm snappy --memory 200000") subutai.VBox("modifyvm snappy --nic1 nat") subutai.VBox("modifyvm snappy --cableconnected1 on") subutai.VBox( 'modifyvm snappy --natpf1 "ssh-fwd,tcp,,4567,,22" --natpf1 "https-fwd,tcp,,9999,,8443"' ) subutai.VBox("modifyvm snappy --rtcuseutc on") subutai.VBox("modifyvm snappy --name subutai-1") subutai.VBox("startvm --type headless subutai-1") #subutai.VBox("controlvm subuati-1 poweroff soft") subutai.Shutdown()
def enableHostonlyif(): adapterName = subutai.GetVBoxHostOnlyInterface() if adapterName == 'undefined': subutai.VBox("hostonlyif create") adapterName = subutai.GetVBoxHostOnlyInterface() subutai.VBox("hostonlyif ipconfig " + adapterName + " --ip 192.168.56.1") out = subutai.VBox("list dhcpservers") if out == '': subutai.VBox("dhcpserver add --ifname " + adapterName + " --ip 192.168.56.1 --netmask 255.255.255.0 --lowerip 192.168.56.100 --upperip 192.168.56.200") subutai.VBox("dhcpserver modify --ifname " + adapterName + " --enable") return 0
def reconfigureNic(machineName): subutai.AddStatus("Configuring Network") subutai.log("info", "Reconfiguring NIC") gateway = subutai.GetDefaultRoutingInterface() bridged = subutai.GetVBoxBridgedInterface(gateway) subutai.VBox("modifyvm " + machineName + ' --nic1 bridged --bridgeadapter1 ' + bridged) subutai.VBox("modifyvm " + machineName + " --nic2 nat") subutai.VBox("modifyvm " + machineName + " --cableconnected2 on") subutai.VBox("modifyvm " + machineName + ' --natpf2 ssh-fwd,tcp,,4567,,22 --natpf2 https-fwd,tcp,,9999,,8443') adapterName = subutai.GetVBoxHostOnlyInterface() if adapterName != 'undefined': subutai.VBox("modifyvm " + machineName + " --nic3 hostonly --hostonlyadapter3 " + adapterName) return
def stopVm(machineName): subutai.SSHRun("sync") subutai.log("info", "Stopping Virtual machine") if subutai.CheckVMRunning(machineName) == 0: subutai.VBox("controlvm " + machineName + " poweroff soft") return
def ConfigureNetwork(self): subutai.AddStatus("(Re)configuring Network") subutai.SetAction("NETCONF") rc = 0 gateway = subutai.GetDefaultRoutingInterface() bridged = subutai.GetVBoxBridgedInterface(gateway) bridged = bridged.replace(' ', '+++') subutai.VBox("modifyvm " + self.name + ' --nic1 bridged --bridgeadapter1 ' + bridged) subutai.VBox("modifyvm " + self.name + " --cableconnected1 on") subutai.VBox("modifyvm " + self.name + " --nic2 nat") subutai.VBox("modifyvm " + self.name + " --cableconnected2 on") subutai.VBox( "modifyvm " + self.name + ' --natpf2 ssh-fwd,tcp,,4567,,22 --natpf2 https-fwd,tcp,,9999,,8443' ) return rc
def PreconfigureNetwork(self): subutai.AddStatus("Configuring Network") subutai.SetAction("NETPCONF") subutai.VBox("modifyvm " + self.name + " --nic1 nat") subutai.VBox("modifyvm " + self.name + " --cableconnected1 on") subutai.VBox( "modifyvm " + self.name + " --natpf1 ssh-fwd,tcp,,4567,,22 --natpf1 https-fwd,tcp,,9999,,8443" ) subutai.VBox("modifyvm " + self.name + " --rtcuseutc on") adapterName = subutai.GetVBoxHostOnlyInterface() adapter = adapterName.replace(' ', '+++') if adapter != 'undefined': subutai.Information("Enabling host-only adapter " + adapterName) subutai.VBox("modifyvm " + self.name + " --nic3 hostonly --hostonlyadapter3 " + adapter) return 0
def EnableHostonlyInterface(self): subutai.Information("Enabling host-only interface") adapterName = subutai.GetVBoxHostOnlyInterface() if adapterName == 'undefined': subutai.Information("Setting up host-only interface " + adapterName) adapter = adapterName.replace(' ', '+++') subutai.VBox("hostonlyif create") adapter = subutai.GetVBoxHostOnlyInterface() subutai.VBox("hostonlyif ipconfig " + adapter + " --ip 192.168.56.1") out = subutai.VBox("list dhcpservers") if out == '': subutai.Information("Configuring DHCP server on " + adapterName) subutai.VBox( "dhcpserver add --ifname " + adapter + " --ip 192.168.56.1 --netmask 255.255.255.0 --lowerip 192.168.56.100 --upperip 192.168.56.200" ) subutai.VBox("dhcpserver modify --ifname " + adapter + " --enable") return 0
def setupVm(machineName, progress): subutai.log("info", "Setting up a VM") subutai.AddStatus("Installing VM") rc = 0 if subutai.CheckVMExists(machineName) != 0: subutai.download("core.ova") while subutai.isDownloadComplete() != 1: sleep(0.05) progress.setCoreProgress(subutai.GetBytesDownload()) progress.updateProgress() progress.setCoreProgress(progress.getCoreSize()) progress.updateProgress() rc = subutai.VBoxS("import " + subutai.GetTmpDir().replace(" ", "+++") + "core.ova --vsys 0 --vmname "+machineName) if rc != 0: return rc sleep(3) cpus = subutai.GetCoreNum() mem = subutai.GetMemSize() * 1024 subutai.VBox("modifyvm " + machineName + " --cpus " + str(cpus)) subutai.VBox("modifyvm " + machineName + " --memory " + str(mem)) subutai.VBox("modifyvm " + machineName + " --nic1 nat") subutai.VBox("modifyvm " + machineName + " --cableconnected1 on") subutai.VBox("modifyvm " + machineName + " --natpf1 ssh-fwd,tcp,,4567,,22 --natpf1 https-fwd,tcp,,9999,,8443") subutai.VBox("modifyvm " + machineName + " --rtcuseutc on") adapterName = subutai.GetVBoxHostOnlyInterface() if adapterName != 'undefined': subutai.VBox("modifyvm " + machineName + " --nic3 hostonly --hostonlyadapter3 " + adapterName) sleep(1) return rc
def setupVm(machineName): if subutai.CheckVMExists(machineName) != 0: subutai.download("core.ova") while subutai.isDownloadComplete() != 1: sleep(0.05) subutai.download("subutai_4.0.15_amd64-dev.snap") while subutai.isDownloadComplete() != 1: sleep(0.05) subutai.VBox("import /tmp/subutai/core.ova") subutai.VBox("modifyvm core --cpus 2") subutai.VBox("modifyvm core --nic1 nat") subutai.VBox("modifyvm core --cableconnected1 on") subutai.VBox( "modifyvm core --natpf1 ssh-fwd,tcp,,4567,,22 --natpf1 https-fwd,tcp,,9999,,8443" ) subutai.VBox("modifyvm core --rtcuseutc on") ret = subutai.VBoxS("modifyvm core --name " + machineName) if ret != 0: print(machineName + " is already exists") return
def reconfigureNic(machineName): print("Reconfiguring NIC on: " + machineName) subutai.VBox("controlvm " + machineName + " poweroff soft") gateway = subutai.GetDefaultRoutingInterface() print("Default gateway interface: '" + gateway + "'") bridged = subutai.GetVBoxBridgedInterface(gateway) print("Bridged interface: '" + bridged + "'") subutai.VBox("modifyvm " + machineName + ' --nic1 bridged --bridgeadapter1 ' + bridged) subutai.VBox("modifyvm " + machineName + " --nic2 nat") subutai.VBox("modifyvm " + machineName + " --cableconnected2 on") subutai.VBox( "modifyvm " + machineName + ' --natpf2 ssh-fwd,tcp,,4567,,22 --natpf2 https-fwd,tcp,,9999,,8443') ret = subutai.VBoxS("hostonlyif ipconfig vboxnet0 --ip 192.168.56.1") print("hostonlyif: " + str(ret)) if ret == 1: print("Creating hostonlyif") subutai.VBox("hostonlyif create") subutai.VBox("hostonlyif ipconfig vboxnet0 --ip 192.168.56.1") subutai.VBox( "dhcpserver add --ifname vboxnet0 --ip 192.168.56.1 --netmask 255.255.255.0 --lowerip 192.168.56.100 --upperip 192.168.56.200" ) subutai.VBox("dhcpserver modify --ifname vboxnet0 --enable") subutai.VBox("modifyvm " + machineName + " --nic3 hostonly --hostonlyadapter3 vboxnet0") subutai.VBox("startvm --type headless " + machineName) return
def stopVm(machineName): if subutai.CheckVMRunning(machineName) != 0: subutai.VBox("controlvm " + machineName + " poweroff soft") return
def startVm(machineName): if subutai.CheckVMRunning(machineName) != 0: subutai.VBox("startvm --type headless " + machineName) return
def startVm(machineName): subutai.log("info", "Starting virtual machine") if subutai.CheckVMRunning(machineName) != 0: subutai.VBox("startvm --type headless " + machineName) return