Exemple #1
0
    def process_view(self, request, view_func, view_args, view_kwargs):
        """
    Sets request.fs and request.jt on every request to point to the
    configured filesystem.
    """
        has_hadoop = apputil.has_hadoop()

        fs_ref = request.GET.get("fs", request.POST.get("fs", view_kwargs.get("fs")))
        if "fs" in view_kwargs:
            del view_kwargs["fs"]

        if not fs_ref:
            fs_ref = "default"
        try:
            request.fs = fsmanager.get_filesystem(fs_ref)
            request.fs_ref = fs_ref
        except KeyError:
            if fs_ref == "default" and not has_hadoop:
                request.fs = None
            else:
                raise

        if request.user.is_authenticated() and request.fs is not None:
            request.fs.setuser(request.user.username, request.user.get_groups())

        if request.user.is_authenticated() and has_hadoop:
            request.jt = cluster.get_mrcluster()
            if request.jt is not None:
                request.jt.setuser(request.user.username, request.user.get_groups())
        else:
            request.jt = None
Exemple #2
0
def test_non_default_cluster():
    NON_DEFAULT_NAME = 'non_default'
    cluster.clear_caches()
    reset = (
        conf.HDFS_CLUSTERS.set_for_testing({NON_DEFAULT_NAME: {}}),
        conf.MR_CLUSTERS.set_for_testing({NON_DEFAULT_NAME: {}}),
    )
    try:
        # This is indeed the only hdfs/mr cluster
        assert_equal(1, len(cluster.get_all_hdfs()))
        assert_equal(1, len(cluster.all_mrclusters()))
        assert_true(cluster.get_hdfs(NON_DEFAULT_NAME))
        assert_true(cluster.get_mrcluster(NON_DEFAULT_NAME))

        cli = make_logged_in_client()
        # That we can get to a view without errors means that the middlewares work
        cli.get('/about')
    finally:
        for old_conf in reset:
            old_conf()
Exemple #3
0
def test_non_default_cluster():
  NON_DEFAULT_NAME = 'non_default'
  cluster.clear_caches()
  reset = (
    conf.HDFS_CLUSTERS.set_for_testing({ NON_DEFAULT_NAME: { } }),
    conf.MR_CLUSTERS.set_for_testing({ NON_DEFAULT_NAME: { } }),
  )
  try:
    # This is indeed the only hdfs/mr cluster
    assert_equal(1, len(cluster.get_all_hdfs()))
    assert_equal(1, len(cluster.all_mrclusters()))
    assert_true(cluster.get_hdfs(NON_DEFAULT_NAME))
    assert_true(cluster.get_mrcluster(NON_DEFAULT_NAME))

    cli = make_logged_in_client()
    # That we can get to a view without errors means that the middlewares work
    cli.get('/about')
  finally:
    for old_conf in reset:
      old_conf()