Beispiel #1
0
    def get_disk_for_user(email):
        VolMgr.log_debug("restoring disk for %s", email)
        # user = JBoxUserV2(email)

        custom_jimg = None
        # TODO: image path should be picked up from config
        # if user.has_resource_profile(JBoxUserV2.RES_PROF_JULIA_PKG_PRECOMP):
        #     custom_jimg = '/opt/julia_packages/jimg/stable/sys.ji'

        plugin = JBoxVol.jbox_get_plugin(JBoxVol.JBP_USERHOME)
        if plugin is None:
            raise Exception("No plugin found for %s" % (JBoxVol.JBP_USERHOME,))

        disk = plugin.get_disk_for_user(email)

        try:
            disk.setup_julia_image(custom_jimg)
            disk.setup_tutorial_link()
            disk.gen_ssh_key()
            disk.gen_gitconfig()
        except IOError, ioe:
            if ioe.errno == errno.ENOSPC:
                # continue login on ENOSPC to allow user to delete files
                JBoxVol.log_exception("No space left to configure JuliaBox for %s", email)
            else:
                raise
Beispiel #2
0
    def get_disk_for_user(email):
        VolMgr.log_debug("restoring disk for %s", email)

        plugin = JBoxVol.jbox_get_plugin(JBoxVol.JBP_USERHOME)
        if plugin is None:
            raise Exception("No plugin found for %s" % (JBoxVol.JBP_USERHOME,))

        disk = plugin.get_disk_for_user(email)

        try:
            #disk.setup_tutorial_link()
            disk.setup_structjump_link()
            disk.setup_structjump_console_link()
            # disk.setup_powergriddata_link()
            # disk.setup_env_link()
            disk.gen_ssh_key()
            disk.gen_gitconfig()
        except IOError as ioe:
            if ioe.errno == errno.ENOSPC:
                # continue login on ENOSPC to allow user to delete files
                JBoxVol.log_exception("No space left to configure JuliaBox for %s", email)
            else:
                raise

        return disk
Beispiel #3
0
 def get_pkg_mount_for_user(email):
     plugin = JBoxVol.jbox_get_plugin(JBoxVol.JBP_PKGBUNDLE)
     if plugin is None:
         raise Exception("No plugin found for %s" %
                         (JBoxVol.JBP_PKGBUNDLE, ))
     disk = plugin.get_disk_for_user(email)
     return disk
Beispiel #4
0
    def get_disk_for_user(email):
        VolMgr.log_debug("restoring disk for %s", email)
        user = JBoxUserV2(email)

        custom_jimg = None
        ipython_profile = 'julia'
        # TODO: image path should be picked up from config
        if user.has_resource_profile(JBoxUserV2.RES_PROF_JULIA_PKG_PRECOMP):
            custom_jimg = '/opt/julia_packages/jimg/stable/sys.ji'
            ipython_profile = 'jboxjulia'

        plugin = JBoxVol.jbox_get_plugin(JBoxVol.JBP_USERHOME)
        if plugin is None:
            raise Exception("No plugin found for %s" %
                            (JBoxVol.JBP_USERHOME, ))

        disk = plugin.get_disk_for_user(email)

        try:
            disk.setup_julia_image(ipython_profile, custom_jimg)
            disk.setup_tutorial_link()
            disk.gen_ssh_key()
            disk.gen_gitconfig()
        except IOError, ioe:
            if ioe.errno == errno.ENOSPC:
                # continue login on ENOSPC to allow user to delete files
                JBoxVol.log_exception(
                    "No space left to configure JuliaBox for %s", email)
            else:
                raise
Beispiel #5
0
    def get_disk_for_user(email):
        VolMgr.log_debug("restoring disk for %s", email)

        plugin = JBoxVol.jbox_get_plugin(JBoxVol.JBP_USERHOME)
        if plugin is None:
            raise Exception("No plugin found for %s" % (JBoxVol.JBP_USERHOME,))

        disk = plugin.get_disk_for_user(email)

        try:
            disk.setup_tutorial_link()
            disk.gen_ssh_key()
            disk.gen_gitconfig()
        except IOError as ioe:
            if ioe.errno == errno.ENOSPC:
                # continue login on ENOSPC to allow user to delete files
                JBoxVol.log_exception("No space left to configure JuliaBox for %s", email)
            else:
                raise

        return disk
Beispiel #6
0
 def get_cfg_mount_for_user(email):
     plugin = JBoxVol.jbox_get_plugin(JBoxVol.JBP_CONFIG)
     if plugin is None:
         raise Exception("No plugin found for %s" % (JBoxVol.JBP_CONFIG,))
     disk = plugin.get_disk_for_user(email)
     return disk
Beispiel #7
0
 def get_polsar_mount_for_user(email):
     plugin = JBoxVol.jbox_get_plugin(JBoxVol.JBP_POLSAR)
     if plugin is None:
         raise Exception("No plugin found for %s" % (JBoxVol.JBP_POLSAR,))
     disk = plugin.get_disk_for_user(email)
     return disk