def installOpenjre(openjreFile, progress):
    td = "/var/snap/subutai-dev/common/lxc/tmpdir/"
    awk = " | awk '{print $5}'"

    rc = subutai.SSHStartSession("mng-setup2")
    if rc != 0:
        subutai.AddStatus("Downloading JVM")
        subutai.SSHRun("sudo subutai -d import openjre16 1>/tmp/openjre16-1.log 2>/tmp/openjre16-2.log")
        return 0

    subutai.AddStatus("Downloading JVM")
    rc = subutai.SSHExecute("mng-setup2", "sudo subutai import openjre16 &")
    if rc[0] != 0:
        subutai.RaiseError("Failed to install OpenJRE in background. Switching to static install")
        subutai.SSHRun("sudo subutai import openjre16 >/tmp/openjre16.log 2>&1")
    else:
        checks = 0
        while True:
            out = subutai.SSHRunOut("ps -ef | grep \"subutai import\" | grep -v grep | awk '{print $2}'")
            if out == '':
                break
            sleep(1)
            checks = checks + 1
            if checks >= 60:
                subutai.SSHExecute("mng-setup2", "ls / &")
                checks = 0
            out = subutai.SSHRunOut("ls -l "+td+openjreFile+awk)
            try:
                val = int(out)
                progress.setOpenjreProgress(val)
                progress.updateProgress()
            except:
                pass

    subutai.SSHStopSession("mng-setup2")
def stopVm(machineName):
    subutai.SSHRun("sync")
    subutai.log("info", "Stopping Virtual machine")
    if subutai.CheckVMRunning(machineName) == 0:
        subutai.VBox("controlvm " + machineName + " poweroff soft")

    return
Esempio n. 3
0
    def InstallUbuntu(self):
        subutai.SetAction("INSTUB")
        td = "/var/snap/subutai/common/lxc/tmpdir/"
        awk = " | awk '{print $5}'"

        subutai.AddStatus("Downloading Ubuntu Linux")
        rc = subutai.SSHStartSession("mng-setup")

        if rc != 0:
            subutai.RaiseError(
                "Failed to install Ubuntu interactively. Switching to static install"
            )
            subutai.SSHRun(
                "sudo subutai -d import ubuntu16 >/tmp/ubuntu16.log 2>&1")
            return 0

        rc = subutai.SSHExecute("mng-setup", "sudo subutai import ubuntu16 &")
        if rc[0] != 0:
            subutai.RaiseError(
                "Failed to install Ubuntu in background. Switching to static install"
            )
            subutai.SSHRun(
                "sudo subutai -d import ubuntu16 >/tmp/ubuntu16.log 2>&1")
        else:
            checks = 0
            while True:
                out = subutai.SSHRunOut(
                    "ps -ef | grep \"subutai import\" | grep -v grep | awk '{print $2}'"
                )
                if out == '':
                    subutai.AddStatus("Download completed")
                    break
                sleep(1)
                checks = checks + 1
                if checks >= 60:
                    subutai.SSHExecute("mng-setup", "ls / &")
                    checks = 0
                out = subutai.SSHRunOut("ls -l " + td + self.UbuntuFile + awk)
                try:
                    val = int(out)
                    self.progress.setUbuntuProgress(val)
                    self.progress.updateProgress()
                except:
                    pass

        subutai.SSHStopSession("mng-setup")
        return 0
Esempio n. 4
0
    def InstallManagement(self):
        subutai.SetAction("INSTMNG")
        td = "/var/snap/subutai/common/lxc/tmpdir/"
        awk = " | awk '{print $5}'"

        rc = subutai.SSHStartSession("mng-setup3")
        if rc != 0:
            subutai.AddStatus("Installing Management Container")
            subutai.SSHRun(
                "sudo subutai -d import management 1>/tmp/management-1.log 2>/tmp/management-2.log"
            )
            return 0

        subutai.AddStatus("Installing Management Container")
        rc = subutai.SSHExecute("mng-setup3",
                                "sudo subutai import management &")
        if rc[0] != 0:
            subutai.RaiseError(
                "Failed to install Management in background. Switching to static install"
            )
            subutai.SSHRun(
                "sudo subutai import management >/tmp/management.log 2>&1")
        else:
            checks = 0
            while True:
                out = subutai.SSHRunOut(
                    "ps -ef | grep \"subutai import\" | grep -v grep | awk '{print $2}'"
                )
                if out == '':
                    break
                sleep(1)
                checks = checks + 1
                if checks >= 60:
                    subutai.SSHExecute("mng-setup3", "ls / &")
                    checks = 0
                out = subutai.SSHRunOut("ls -l " + td + "*" +
                                        self.ManagementFile + "*" + awk)
                try:
                    val = int(out)
                    self.progress.setManagementProgress(val)
                    self.progress.updateProgress()
                except:
                    pass

        subutai.SSHStopSession("mng-setup3")
        return 0
def installSnapFromStore():
    subutai.AddStatus("Installing Subutai")
    subutai.log("info", "Installing subutai snap")
    subutai.SSHRun("sudo snap install --beta --devmode subutai-dev > /tmp/subutai-snap.log 2>&1")

    sleep(5)
    out = subutai.SSHRunOut("which subutai-dev >/dev/null; echo $?")
    if out != '0':
        return 55

    return 0
def installSubutai(snapFile, user, host, port):
    subutai.download("launcher-prepare-server")
    while subutai.isDownloadComplete() != 1:
        sleep(0.05)

    call([
        '/usr/bin/scp', '-P4567', '-o', 'StrictHostKeyChecking=no',
        '/tmp/subutai/launcher-prepare-server',
        '[email protected]:~/prepare-server'
    ])
    call([
        '/usr/bin/scp', '-P4567', '-o', 'StrictHostKeyChecking=no',
        '/tmp/subutai/subutai_4.0.15_amd64-dev.snap',
        '[email protected]:~/subutai_latest.snap'
    ])

    subutai.SSHRun("sudo chmod +x /home/ubuntu/prepare-server")
    subutai.SSHRun("sudo /home/ubuntu/prepare-server")

    return
Esempio n. 7
0
    def StopVirtualMachine(self):
        subutai.SetAction("STOPVM")
        subutai.SSHRun("sync && poweroff")
        subutai.log("info", "Stopping Virtual machine")
        sleep(15)
        rc = 0
        if subutai.CheckVMRunning(self.name) == 0:
            sleep(15)
            if subutai.CheckVMRunning(self.name) == 0:
                rc = subutai.VBoxS("controlvm " + self.name + " poweroff soft")

        return rc
def installManagement():
    print("Waiting for machine to bring up SSH")
    attempts = 0
    while subutai.TestSSH() != 0:
        sleep(1)
        attempts = attempts + 1
        if attempts == 30:
            print("SSH timeout for 30 seconds")
            return

    print("Importing management")
    subutai.SSHRun("sudo subutai -d import management")

    return
def setupSSH():

    print("Waiting for machine to bring up SSH")
    attempts = 0
    while subutai.TestSSH() != 0:
        sleep(1)
        attempts = attempts + 1
        if attempts == 30:
            print("SSH timeout for 30 seconds")
            return

    print("SSH Session is running")
    subutai.SSHRun("mkdir -p /home/subutai/.ssh")
    subutai.InstallSSHKey()

    return
Esempio n. 10
0
    def InstallSnap(self):
        subutai.SetAction("INSTSNAP")
        subutai.AddStatus("Installing Subutai. This may take a few minutes")
        command = 'sudo snap install --beta --devmode subutai > /tmp/subutai-snap.log 2>&1'
        attempts = 0
        while attempts < 10:
            subutai.SSHRun(
                "sudo snap install --beta --devmode subutai > /tmp/subutai-snap.log 2>&1"
            )

            out = subutai.SSHRunOut("which subutai >/dev/null; echo $?")
            if out == '0':
                return 0
            sleep(30)
            attempts = attempts + 1

        return 55
def installSnapFromStore():
    print("Installing snap from store")
    subutai.SSHRun("sudo snap install --beta --devmode subutai-dev")

    return
def initBtrfs():
    subutai.log("info", "Initializing BTRFS")
    subutai.AddStatus("Initializing BTRFS")
    subutai.SSHRun("sudo subutai-dev.btrfsinit /dev/sdb")

    return
Esempio n. 13
0
 def InitBTRFS(self):
     subutai.SetAction("INITBTRFS")
     subutai.AddStatus("Initializing BTRFS")
     subutai.SSHRun("sudo subutai.btrfsinit /dev/sdb")
     return 0
Esempio n. 14
0
 def SetupAlias(self):
     subutai.SetAction("SETALIAS")
     subutai.log("info", "Setting Alias")
     subutai.SSHRun("sudo bash -c 'snap alias subutai-dev subutai'")
     return 0
def setAlias():
    print("Setting alias")
    subutai.SSHRun("sudo bash -c 'snap alias subutai-dev subutai'")

    return
def setAlias():
    subutai.log("info", "Setting Alias")
    subutai.SSHRun("sudo bash -c 'snap alias subutai-dev subutai'")
    return
def setupSSH():
    subutai.log("info", "Setting up SSH")
    subutai.SSHRun("mkdir -p /home/subutai/.ssh")
    subutai.InstallSSHKey()

    return
Esempio n. 18
0
 def SetupSSH(self):
     subutai.SetAction("SETUPSSH")
     subutai.log("info", "Setting up SSH")
     subutai.SSHRun("mkdir -p /home/subutai/.ssh")
     subutai.InstallSSHKey()
     return 0
def initBtrfs():
    print("Initializing btrfs")
    subutai.SSHRun("sudo subutai-dev.btrfsinit /dev/sdb")

    return