コード例 #1
0
ファイル: subuco.py プロジェクト: subutai-attic/launcher
    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
コード例 #2
0
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()
コード例 #3
0
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
コード例 #4
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
コード例 #5
0
def stopVm(machineName):
    subutai.SSHRun("sync")
    subutai.log("info", "Stopping Virtual machine")
    if subutai.CheckVMRunning(machineName) == 0:
        subutai.VBox("controlvm " + machineName + " poweroff soft")

    return
コード例 #6
0
ファイル: subuco.py プロジェクト: subutai-attic/launcher
 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
コード例 #7
0
ファイル: subuco.py プロジェクト: subutai-attic/launcher
    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
コード例 #8
0
ファイル: subuco.py プロジェクト: subutai-attic/launcher
 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
コード例 #9
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
コード例 #10
0
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
コード例 #11
0
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
コード例 #12
0
def stopVm(machineName):

    if subutai.CheckVMRunning(machineName) != 0:
        subutai.VBox("controlvm " + machineName + " poweroff soft")

    return
コード例 #13
0
def startVm(machineName):

    if subutai.CheckVMRunning(machineName) != 0:
        subutai.VBox("startvm --type headless " + machineName)

    return
コード例 #14
0
def startVm(machineName):
    subutai.log("info", "Starting virtual machine")
    if subutai.CheckVMRunning(machineName) != 0:
        subutai.VBox("startvm --type headless " + machineName)

    return