def __init__(self, core, vbox, ubuntu, openjre, management):
     self.lastProgress = -1.0
     self.coreSize = subutai.GetFileSize(core)
     self.vboxSize = subutai.GetFileSize(vbox)
     self.ubuntuSize = subutai.GetTemplateSize(ubuntu)
     self.openjreSize = subutai.GetTemplateSize(openjre)
     self.managementSize = subutai.GetTemplateSize(management)
     self.totalSize = self.coreSize + self.vboxSize + self.ubuntuSize + self.openjreSize + self.managementSize
def subutaistart():
    p2pSize = subutai.GetFileSize("p2p")
    totalSize = p2pSize
    p2pProgress = 0

    subutai.AddStatus("Download p2p binary")

    sfile = "/etc/systemd/system/p2p.service"
    if os.path.exists(sfile):
        subutai.RemoveSystemdUnit("p2p.service")

    subutai.download("p2p")
    while subutai.isDownloadComplete() != 1:
        sleep(0.05)
        p2pProgress = subutai.GetBytesDownload()
        updateProgress(p2pProgress, totalSize)

    subutai.SetProgress(1.0)

    tmpDir = subutai.GetTmpDir()
    installDir = subutai.GetInstallDir()

    subutai.AddStatus("Download finished. Installing")
    copyfile(tmpDir+"/p2p", installDir+"/bin/p2p")

    st = os.stat(installDir+"/bin/p2p")
    os.chmod(installDir+"/bin/p2p", st.st_mode | stat.S_IEXEC)

    subutai.AddStatus("Creating symlink")
    subutai.MakeLink(installDir+"/bin/p2p", "/usr/bin/p2p")

    subutai.AddStatus("Creating systemd unit")

    unit = '''
[Unit]
Description=Service for Subutai p2p daemon
Wants=network-online.target
After=network-online.target

[Service]
ExecStart=/opt/subutai/bin/p2p daemon
Restart=on-failure
WorkingDirectory=/opt/subutai/

TimeoutStopSec=30
Type=simple

[Install]
WantedBy=multi-user.target
    '''.strip()

    f = open(tmpDir+"p2p.service", 'w')
    f.write(unit)
    f.close()

    subutai.AddSystemdUnit("p2p.service", tmpDir+"p2p.service")

    subutai.Shutdown()

    return 0
Exemplo n.º 3
0
def subutaistart():

    tmpDir = subutai.GetTmpDir()

    chromeFilename = "GoogleChromeStandaloneEnterprise64.msi"

    chromeSize = subutai.GetFileSize(chromeFilename)
    totalSize = chromeSize
    chromeProgress = 0

    if subutai.IsChromeInstalled() != 0:
        subutai.AddStatus("Downloading Chrome")
        subutai.download(chromeFilename)
        while subutai.isDownloadComplete() != 1:
            sleep(0.05)
            chromeProgress = subutai.GetBytesDownload()
            updateProgress(chromeProgress, totalSize)

        chromeProgress = chromeSize

        subutai.AddStatus("Installing Chrome")
        try:
            call(['msiexec', '/qn', '/i', tmpDir + chromeFilename])
        except:
            subutai.RaiseError("Failed to install Google Chrome")
            sleep(5)

    subutai.AddStatus("Installing Browser Plugin")

    subutai.RegisterPlugin()

    subutai.Shutdown()

    return 0
def subutaistart():
    subutai.AddStatus("Download Tray application")

    trayFile = "SubutaiTray_libs.tar.gz"

    traySize = subutai.GetFileSize(trayFile)
    totalSize = traySize
    trayProgress = 0

    subutai.download(trayFile)
    while subutai.isDownloadComplete() != 1:
        sleep(0.05)
        trayProgress = subutai.GetBytesDownload()
        updateProgress(trayProgress, totalSize)

    trayProgress = traySize

    tmpDir = subutai.GetTmpDir()
    installDir = subutai.GetInstallDir()

    subutai.AddStatus("Unpacking Tray")

    call(['/usr/bin/killall', '-9', 'SubutaiTray'])

    tar = tarfile.open(tmpDir + "/" + trayFile, "r:gz")
    tar.extractall(installDir + "/bin/")
    tar.close()

    subutai.AddStatus("Creating Symlink")
    subutai.MakeLink(installDir + "/bin/SubutaiTray",
                     "/usr/local/bin/SubutaiTray")

    desktop = '''
[Desktop Entry]
Version=1.0
Name=Subutai Tray
Comment=Subutai Tray
Keywords=Internet;
Exec=SubutaiTray
Terminal=false
Type=Application
Icon=/usr/share/icons/launcher-logo.png
Categories=GNOME;Network;
StartupNotify=true
    '''.strip()

    f = open(tmpDir + "SubutaiTray.desktop", 'w')
    f.write(desktop)
    f.close()

    subutai.DesktopFileInstall(tmpDir + "SubutaiTray.desktop")
    subutai.StartTray()

    subutai.Shutdown()

    return 0
Exemplo n.º 5
0
 def setP2P(self, p2p):
     self.p2pSize = subutai.GetFileSize(p2p)
     self.p2pProgress = 0
Exemplo n.º 6
0
 def setTuntap(self, tuntap):
     self.tuntapSize = subutai.GetFileSize(tuntap)
     self.tuntapProgress = 0
Exemplo n.º 7
0
 def setCore(self, core):
     self.coreSize = subutai.GetFileSize(core)
     self.coreProgress = 0
Exemplo n.º 8
0
 def setVBox(self, vbox):
     self.vboxSize = subutai.GetFileSize(vbox)
     self.vboxProgress = 0
Exemplo n.º 9
0
 def setChrome(self, chrome):
     self.chromeSize = subutai.GetFileSize(chrome)
     self.chromeProgress = 0
Exemplo n.º 10
0
 def setNssm(self, nssm):
     self.nssmSize = subutai.GetFileSize(nssm)
     self.nssmProgress = 0
def subutaistart():

    tmpDir = subutai.GetTmpDir()
    installDir = subutai.GetInstallDir()

    trayFile = "SubutaiTray_libs_osx.tar.gz"
    libsshFile = "libssh2-1.6.0-0_osx.pkg"
    cocoasudoFile = "cocoasudo"

    cocoasudoSize = subutai.GetFileSize(cocoasudoFile)
    traySize = subutai.GetFileSize(trayFile)
    libsshSize = subutai.GetFileSize(libsshFile)
    totalSize = cocoasudoSize + traySize + libsshSize
    cocoasudoProgress = 0
    trayProgress = 0
    libsshProgress = 0

    if not os.path.exists(installDir + "bin/cocoasudo"):
        subutai.AddStatus("Downloading cocoasudo application")
        subutai.download(cocoasudoFile)
        while subutai.isDownloadComplete() != 1:
            sleep(0.05)
            cocoasudoProgress = subutai.GetBytesDownload()
            updateProgress(cocoasudoProgress, trayProgress, libsshProgress,
                           totalSize)

        try:
            copyfile(tmpDir + cocoasudoFile, installDir + "bin/cocoasudo")
            st = os.stat(installDir + "bin/cocoasudo")
            os.chmod(installDir + "bin/cocoasudo", st.st_mode | stat.S_IEXEC)
        except:
            subutai.RaiseError("Failed to install cocoasudo. Aborting")
            sleep(10)
            return -99

    cocoasudoProgress = cocoasudoSize

    subutai.AddStatus("Download Tray application")

    subutai.download(trayFile)
    while subutai.isDownloadComplete() != 1:
        sleep(0.05)
        trayProgress = subutai.GetBytesDownload()
        updateProgress(cocoasudoProgress, trayProgress, libsshProgress,
                       totalSize)

    trayProgress = traySize

    subutai.AddStatus("Installing Tray")

    try:
        tar = tarfile.open(tmpDir + "/" + trayFile, "r:gz")
        tar.extractall("/Applications/Subutai")
        tar.close()
    except:
        subutai.RaiseError("Failed to unpack Tray archive. Aborting")
        sleep(10)
        return 86

    subutai.AddStatus("Installing Tray dependencies")
    subutai.download(libsshFile)
    while subutai.isDownloadComplete() != 1:
        sleep(0.05)
        libsshProgress = subutai.GetBytesDownload()
        updateProgress(cocoasudoProgress, trayProgress, libsshProgress,
                       totalSize)

    libsshProgress = libsshSize

    try:
        call([
            installDir + 'bin/cocoasudo', '-prompt="Install libssh"',
            'installer', '-pkg', tmpDir + '/' + libsshFile, '-target', '/'
        ])
    except:
        subutai.RaiseError("Failed to install libssh. Aborting")
        sleep(10)
        return -99

    try:
        launch = 'tell application "SubutaiTray.app" to activate'
        p = Popen(['osascript', '-'],
                  stdin=PIPE,
                  stdout=PIPE,
                  stderr=PIPE,
                  universal_newlines=True)
        stdout, stderr = p.communicate(launch)
    except:
        subutai.RaiseError("Failed to launch Subutai Tray application")

    subutai.Shutdown()

    return 0
Exemplo n.º 12
0
 def setLibssh(self, libssh):
     self.libsshSize = subutai.GetFileSize(libssh)
     self.libsshProgress = 0
Exemplo n.º 13
0
 def setCocoasudo(self, cocoasudo):
     self.cocoasudoSize = subutai.GetFileSize(cocoasudo)
     self.cocoasudoProgress = 0
Exemplo n.º 14
0
def subutaistart():

    tmpDir = subutai.GetTmpDir()
    installDir = subutai.GetInstallDir()

    nssmSize = subutai.GetFileSize("nssm.exe")
    p2pSize = subutai.GetFileSize("p2p.exe")
    tuntapSize = subutai.GetFileSize("tap-windows-9.21.2.exe")
    totalSize = nssmSize + p2pSize + tuntapSize
    nssmProgress = 0
    p2pProgress = 0
    tuntapProgress = 0

    subutai.AddStatus("Installing Service Manager")

    if os.path.exists(installDir + "nssm.exe"):
        subutai.UnregisterService("Subutai P2P")
        sleep(30)
        subutai.ProcessKill("nssm.exe")
        subutai.download("nssm.exe")
        while subutai.isDownloadComplete() != 1:
            sleep(0.05)
            nssmProgress = subutai.GetBytesDownload()
            updateProgress(nssmProgress, p2pProgress, tuntapProgress,
                           totalSize)

        copyfile(tmpDir + "nssm.exe", installDir + "bin/nssm.exe")

    if not os.path.exists(installDir + "nssm.exe"):
        subutai.download("nssm.exe")
        while subutai.isDownloadComplete() != 1:
            sleep(0.05)
            nssmProgress = subutai.GetBytesDownload()
            updateProgress(nssmProgress, p2pProgress, tuntapProgress,
                           totalSize)

        subutai.UnregisterService("Subutai P2P")
        sleep(30)
        subutai.ProcessKill("nssm.exe")
        copyfile(tmpDir + "nssm.exe", installDir + "bin/nssm.exe")

    nssmProgress = nssmSize

    subutai.AddStatus("Downloading p2p binary")
    subutai.download("p2p.exe")
    while subutai.isDownloadComplete() != 1:
        sleep(0.05)
        p2pProgress = subutai.GetBytesDownload()
        updateProgress(nssmProgress, p2pProgress, tuntapProgress, totalSize)

    p2pProgress = p2pSize

    subutai.AddStatus("Downloading extra tools")
    subutai.download("tap-windows-9.21.2.exe")
    while subutai.isDownloadComplete() != 1:
        sleep(0.05)
        tuntapProgress = subutai.GetBytesDownload()
        updateProgress(nssmProgress, p2pProgress, tuntapProgress, totalSize)

    tuntapProgress = tuntapSize

    subutai.ProcessKill("p2p.exe")
    subutai.AddStatus("Installing P2P")
    if os.path.exists(installDir + "bin/p2p.exe"):
        subutai.AddStatus("Removing previous installation")
        os.remove(installDir + "bin/p2p.exe")

    if os.path.exists(installDir + "bin/p2p.exe"):
        subutai.RaiseError("Failed to remove p2p binary")

    subutai.AddStatus("Copying files")
    copyfile(tmpDir + "p2p.exe", installDir + "bin/p2p.exe")

    st = os.stat(installDir + "bin/p2p.exe")
    os.chmod(installDir + "bin/p2p.exe", st.st_mode | stat.S_IEXEC)

    subutai.AddStatus("Registering P2P as a Windows service")
    subutai.RegisterService("Subutai P2P", installDir + "bin/p2p.exe|daemon")

    subutai.AddStatus("Installing TUN/TAP driver")
    call([tmpDir + 'tap-windows-9.21.2.exe', '/S'])

    sleep(5)

    subutai.Shutdown()

    return 0
def subutaistart():
    tmpDir = subutai.GetTmpDir()
    installDir = subutai.GetInstallDir()

    cocoasudoFile = "cocoasudo"
    p2pFile = "p2p_osx"
    tuntapFile = "tuntap_20150118_osx.pkg"

    cocoasudoSize = subutai.GetFileSize(cocoasudoFile)
    p2pSize = subutai.GetFileSize(p2pFile)
    tuntapSize = subutai.GetFileSize(tuntapFile)
    totalSize = cocoasudoSize + p2pSize + tuntapSize
    cocoasudoProgress = 0
    p2pProgress = 0
    tuntapProgress = 0

    if not os.path.exists(installDir+"bin/cocoasudo"):
        subutai.AddStatus("Downloading cocoasudo application")
        subutai.download(cocoasudoFile)
        while subutai.isDownloadComplete() != 1:
            sleep(0.05)
            cocoasudoProgress = subutai.GetBytesDownload()
            updateProgress(cocoasudoProgress, p2pProgress, tuntapProgress,
                           totalSize)

        try:
            copyfile(tmpDir+cocoasudoFile, installDir+"bin/cocoasudo")
            st = os.stat(installDir+"bin/cocoasudo")
            os.chmod(installDir+"bin/cocoasudo", st.st_mode | stat.S_IEXEC)
        except:
            subutai.RaiseError("Failed to install cocoasudo. Aborting")
            sleep(10)
            return -99

    cocoasudoProgress = cocoasudoSize
    subutai.AddStatus("Download TUNTAP driver")
    subutai.download(tuntapFile)
    while subutai.isDownloadComplete() != 1:
        sleep(0.05)
        tuntapProgress = subutai.GetBytesDownload()
        updateProgress(cocoasudoProgress, p2pProgress, tuntapProgress,
                       totalSize)

    tuntapProgress = tuntapSize
    subutai.AddStatus("Download p2p binary")

    subutai.download(p2pFile)
    while subutai.isDownloadComplete() != 1:
        sleep(0.05)
        p2pProgress = subutai.GetBytesDownload()
        updateProgress(cocoasudoProgress, p2pProgress, tuntapProgress,
                       totalSize)

    p2pProgress = p2pSize
    subutai.AddStatus("Download finished. Installing")

    try:
        copyfile(tmpDir+p2pFile, installDir+"bin/p2p")
    except:
        subutai.RaiseError("Failed to move p2p binary to " +
                           installDir + "bin/p2p")
        return 21

    subutai.SetProgress(0.99)

    subutai.AddStatus("Making p2p binary executable")
    try:
        st = os.stat(installDir+"/bin/p2p")
        os.chmod(installDir+"/bin/p2p", st.st_mode | stat.S_IEXEC)
    except:
        subutai.RaiseError("Failed to make p2p binary executable")
        return 31

    subutai.AddStatus("Creating p2p service")
    service = '''
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>Label</key>
    <string>io.subutai.p2p.daemon</string>

    <key>ProgramArguments</key>
    <array>
    <string>/usr/local/bin/p2p</string>
    <string>daemon</string>
    </array>

    <key>KeepAlive</key>
    <true/>

    <key>StandardOutPath</key>
    <string>/var/log/p2p.log</string>

    <key>StandardErrorPath</key>
    <string>/var/log/p2p.log</string>

    <key>Debug</key>
    <true/>
    </dict>
    </plist>
    '''.strip()

    daemonFile = 'io.subutai.p2p.daemon.plist'

    f = open(tmpDir+daemonFile, 'w')
    f.write(service)
    f.close()

    syslog = '''
    # logfilename          [owner:group]    mode count size when  flags [/pid_file] [sig_num]
    /var/log/p2p.log                       644  7     *    $D0   J
    '''.strip()
    sf = open(tmpDir+'p2p.conf', 'w')
    sf.write(syslog)
    sf.close()

    subutai.AddStatus("Configure P2P Daemon")
    installScript = "#!/bin/bash\n\n"
    installScript = installScript + "cp " + tmpDir + daemonFile + " /Library/LaunchDaemons/" + daemonFile + "\n"
    installScript = installScript + "cp " + tmpDir + "p2p.conf /etc/newsyslog.d/p2p.conf\n"
    installScript = installScript + "launchctl load /Library/LaunchDaemons/" + daemonFile + "\n"
    installScript = installScript + "installer -pkg " + tmpDir + "tuntap_20150118.pkg -target /\n"
    installScript = installScript + "ln -s "+installDir+"/bin/p2p /usr/local/bin/p2p\n"

    f = open(tmpDir+"p2p-setup.sh", 'w')
    f.write(installScript)
    f.close()

    try:
        st = os.stat(tmpDir+"p2p-setup.sh")
        os.chmod(tmpDir+"p2p-setup.sh", st.st_mode | stat.S_IEXEC)
    except:
        subutai.RaiseError("Failed to configure p2p daemon")
        sleep(10)
        return 31

    try:
        script = 'do shell script "'+tmpDir+'p2p-setup.sh" with administrator privileges'
        p = Popen(['osascript', '-'], stdin=PIPE, stdout=PIPE, stderr=PIPE, universal_newlines=True)
        stdout, stderr = p.communicate(script)
    except:
        subutai.RaiseError("Failed to install p2p daemon")
        sleep(10)
        return 22

    subutai.SetProgress(1.00)

    sleep(5)
    subutai.Shutdown()

    return 0
Exemplo n.º 16
0
def subutaistart():
    subutai.AddStatus("Download Tray application")

    trayFile = "SubutaiTray_libs.zip"
    sshlibFile = "ssh.zip"

    traySize = subutai.GetFileSize(trayFile)
    libsshSize = subutai.GetFileSize(sshlibFile)
    totalSize = traySize + libsshSize
    trayProgress = 0
    libsshProgress = 0

    subutai.download(trayFile)
    while subutai.isDownloadComplete() != 1:
        sleep(0.05)
        trayProgress = subutai.GetBytesDownload()
        updateProgress(trayProgress, libsshProgress, totalSize)

    trayProgress = traySize

    subutai.download(sshlibFile)
    while subutai.isDownloadComplete() != 1:
        sleep(0.05)
        libsshProgress = subutai.GetBytesDownload()
        updateProgress(trayProgress, libsshProgress, totalSize)

    libsshProgress = libsshSize

    tmpDir = subutai.GetTmpDir()
    installDir = subutai.GetInstallDir()

    subutai.AddStatus("Installing Tray")

    subutai.ProcessKill("SubutaiTray.exe")
    subutai.ProcessKill("ssh.exe")
    subutai.ProcessKill("ssh-keygen.exe")

    try:
        zf = zipfile.ZipFile(tmpDir + "/" + trayFile, 'r')
        zf.extractall(installDir)
        zf.close()
        zfl = zipfile.ZipFile(tmpDir + "/" + sshlibFile, 'r')
        zfl.extractall(installDir + "/bin")
        zfl.close()
    except:
        subutai.RaiseError("Failed to replace tray")

    subutai.CreateDesktopShortcut(installDir + "/tray/SubutaiTray.exe",
                                  "Subutai Tray")

    subutai.AddStatus("Writing configuration")
    unPath = installDir.replace('\\', '/')
    unVBoxPath = subutai.GetVBoxPath().replace('\\', '/')
    f = open(unPath + "/tray/subutai_tray.ini", "w")
    f.write("P2P_Path=" + unPath + "/bin/p2p.exe\n")
    if unVBoxPath != "":
        f.write("VBoxManage_Path=" + unVBoxPath + "\n")
    f.write("Ssh_Path=" + unPath + "/bin/ssh.exe\n")
    f.write("Ssh_Keygen_Cmd=" + unPath + "/bin/ssh-keygen.exe\n")
    f.close()

    subutai.Shutdown()

    return 0
def subutaistart():
    tmpDir = subutai.GetTmpDir()
    installDir = subutai.GetInstallDir()

    cocoasudoSize = subutai.GetFileSize("cocoasudo")
    chromeSize = subutai.GetFileSize("GoogleChrome_osx.tar.gz")
    totalSize = cocoasudoSize + chromeSize
    cocoasudoProgress = 0
    chromeProgress = 0

    if not os.path.exists(installDir + "bin/cocoasudo"):
        subutai.AddStatus("Downloading cocoasudo application")
        subutai.download("cocoasudo")
        while subutai.isDownloadComplete() != 1:
            sleep(0.05)
            cocoasudoProgress = subutai.GetBytesDownload()
            updateProgress(cocoasudoProgress, chromeProgress, totalSize)

        try:
            copyfile(tmpDir + "cocoasudo", installDir + "bin/cocoasudo")
            st = os.stat(installDir + "bin/cocoasudo")
            os.chmod(installDir + "bin/cocoasudo", st.st_mode | stat.S_IEXEC)
        except:
            subutai.RaiseError("Failed to install cocoasudo. Aborting")
            sleep(10)
            return -99

    cocoasudoProgress = cocoasudoSize

    subutai.AddStatus("Checking Google Chrome Installation")
    if not os.path.exists("/Applications/Google Chrome.app"):
        subutai.AddStatus("Downloading Google Chrome")
        subutai.download("GoogleChrome_osx.tar.gz")
        while subutai.isDownloadComplete() != 1:
            sleep(0.05)
            chromeProgress = subutai.GetBytesDownload()
            updateProgress(cocoasudoProgress, chromeProgress, totalSize)

        subutai.AddStatus("Download Complete")
        chromeProgress = chromeSize
        updateProgress(cocoasudoProgress, chromeProgress, totalSize)

        #try:
        #    script = 'quit Application \"Google Chrome.app\"'
        #    p = Popen(['osascript', '-'], stdin=PIPE, stdout=PIPE, stderr=PIPE, universal_newlines=True)
        #    stdout, stderr = p.communicate(script)
        #except:
        #    subutai.RaiseError("Failed to stop Google Chrome")
        #    sleep(10)

        sleep(1)
        subutai.AddStatus("Installing Google Chrome")
        try:
            script = 'do shell script "/usr/bin/tar -xf ' + tmpDir + 'GoogleChrome_osx.tar.gz -C /Applications" with administrator privileges'
            p = Popen(['osascript', '-'],
                      stdin=PIPE,
                      stdout=PIPE,
                      stderr=PIPE,
                      universal_newlines=True)
            stdout, stderr = p.communicate(script)
        except:
            subutai.RaiseError("Failed to install Google Chrome")
            sleep(5)

    subutai.AddStatus("Installing Browser Plugin")
    sleep(3)

    location = os.environ[
        'HOME'] + '/Library/Application Support/Google/Chrome/External Extensions'
    if not os.path.exists(location):
        os.makedirs(location)

    ete = '{\n\t"external_update_url": "https://clients2.google.com/service/update2/crx"\n}'

    try:
        f = open(location + "/kpmiofpmlciacjblommkcinncmneeoaa.json", 'w')
        f.write(ete)  # python will convert \n to os.linesep
        f.close()
    except:
        subutai.RaiseError("Can't write plugin to Extensions directory")

    subutai.Shutdown()

    return 0
Exemplo n.º 18
0
def subutaistart():
    tmpDir = subutai.GetTmpDir()
    subutai.AddStatus("Downloading Google Chrome")

    chromeFilename = "google-chrome-stable_current_amd64.deb"

    chromeSize = subutai.GetFileSize(chromeFilename)
    totalSize = chromeSize
    chromeProgress = 0

    subutai.download(chromeFilename)
    while subutai.isDownloadComplete() != 1:
        sleep(0.05)
        chromeProgress = subutai.GetBytesDownload()
        updateProgress(chromeProgress, totalSize)

    chromeProgress = chromeSize

    try:
        call([
            '/usr/bin/gksudo', '--message',
            'Install Google Chrome Dependencies',
            'apt-get install libappindicator1 -y'
        ])

        call([
            '/usr/bin/gksudo', '--message', 'Install Google Chrome',
            'dpkg -i ' + tmpDir + chromeFilename
        ])
        sleep(20)
    except:
        subutai.RaiseError("Failed to install Google Chrome")
        sleep(5)

    subutai.AddStatus("Installing Browser Plugin")

    #location = os.environ['HOME'] + '/.config/google-chrome/Default/External Extensions'
    location = '/opt/google/chrome/extensions/'
    if not os.path.exists(location):
        try:
            call([
                '/usr/bin/gksudo', '--message', 'Create extension directory',
                'mkdir -p ' + location
            ])
        except:
            subutai.RaiseError("Failed to create " + location + " directory")
            sleep(5)
            return -22

    ete = '{\n\t"external_update_url": "https://clients2.google.com/service/update2/crx"\n}\n'

    f = open(tmpDir + "kpmiofpmlciacjblommkcinncmneeoaa.json", 'w')
    f.write(ete)  # python will convert \n to os.linesep
    f.close()

    try:
        call([
            '/usr/bin/gksudo', '--message', 'Create extension directory',
            'cp ' + tmpDir + 'kpmiofpmlciacjblommkcinncmneeoaa.json ' +
            location
        ])
    except:
        subutai.RaiseError("Failed to move extension file")
        sleep(5)
        return -22

    subutai.Shutdown()

    return 0
Exemplo n.º 19
0
 def setTray(self, tray):
     self.traySize = subutai.GetFileSize(tray)
     self.trayProgress = 0