def __init__(self, config_dir, output_dir, output_path, volume_name, **kw ):
     threading.Thread.__init__(self)
     self.read_gateway_name = testlib.add_test_gateway( config_dir, volume_name, "UG", **kw )
     read_gateway_info = testlib.read_gateway( config_dir, self.read_gateway_name )
     self.read_gateway_id = read_gateway_info['g_id']
     
     volume_info = testlib.read_volume( config_dir, volume_name )
     self.volume_id = volume_info['volume_id']
     self.config_dir = config_dir
     self.volume_name = volume_name
     self.output_path = output_path
     self.output_dir = output_dir
     self.exitcode = 0
     self.errormsg = ""
     self.errors = False
    def __init__(self, config_dir, output_dir, output_path, volume_name, **kw):
        threading.Thread.__init__(self)
        self.read_gateway_name = testlib.add_test_gateway(
            config_dir, volume_name, "UG", **kw)
        read_gateway_info = testlib.read_gateway(config_dir,
                                                 self.read_gateway_name)
        self.read_gateway_id = read_gateway_info['g_id']

        volume_info = testlib.read_volume(config_dir, volume_name)
        self.volume_id = volume_info['volume_id']
        self.config_dir = config_dir
        self.volume_name = volume_name
        self.output_path = output_path
        self.output_dir = output_dir
        self.exitcode = 0
        self.errormsg = ""
        self.errors = False
    builtin_xattr_expected_values = {
        "user.syndicate_coordinator": None,
        "user.syndicate_cached_blocks": "0000", # for the getxattr gateway
        "user.syndicate_cached_file_path": None,
        "user.syndicate_read_ttl": "5000",
        "user.syndicate_write_ttl": "0"
    }

    # other attrs
    attr_name_base = 'foo-%s' % random_part
    attr_value_base = 'bar-%s' % random_part

    config_dir, output_dir = testlib.test_setup()
    volume_name = testlib.add_test_volume( config_dir )

    gateway_name = testlib.add_test_gateway( config_dir, volume_name, "UG", caps="ALL", email=testconf.SYNDICATE_ADMIN )
    getxattr_gateway_name = testlib.add_test_gateway( config_dir, volume_name, "UG", caps="ALL", port=31113, email=testconf.SYNDICATE_ADMIN )

    rg_gateway_name = testlib.add_test_gateway( config_dir, volume_name, "RG", caps="NONE", email=testconf.SYNDICATE_ADMIN )
    testlib.update_gateway( config_dir, rg_gateway_name, "port=31112", "driver=%s" % RG_DRIVER )

    # start the RG 
    rg_proc, rg_out_path = testlib.start_gateway( config_dir, RG_PATH, testconf.SYNDICATE_ADMIN, volume_name, rg_gateway_name )
    if not testlib.gateway_ping( 31112, 15 ):
        stop_and_save( output_dir, rg_proc, rg_out_path, "syndicate-rg")
        raise Exception("%s exited %s" % (RG_PATH, rg_proc.poll()))

    # put the file...
    exitcode, out = testlib.run( PUT_PATH, '-d2', '-f', '-c', os.path.join(config_dir, 'syndicate.conf'),
                                '-u', testconf.SYNDICATE_ADMIN, '-v', volume_name, '-g', gateway_name,
                                random_file_path, path )
    # path to file...
    assert 'DATASET_DIR' in ag_config
    testdir = ag_config['DATASET_DIR']
    if os.path.exists(testdir):
        shutil.rmtree(testdir)

    os.makedirs(testdir)
    
    local_path = testlib.make_random_file(16384, dir=testdir)
    output_path = "/%s" % os.path.basename(local_path)
    local_fd = open(local_path, "r")
    expected_data = local_fd.read()
    local_fd.close()

    # start up AG
    AG_gateway_name = testlib.add_test_gateway( config_dir, volume_name, "AG", caps="ALL", email=testconf.SYNDICATE_ADMIN )
    testlib.update_gateway( config_dir, AG_gateway_name, "driver=%s" % AG_DRIVER )

    ag_proc, ag_out_path = testlib.start_gateway( config_dir, AG_PATH, testconf.SYNDICATE_ADMIN, volume_name, AG_gateway_name, valgrind=True )
    time.sleep(30)

    if not testlib.gateway_ping( 31111, 15 ):
        raise Exception("%s exited %s" % (AG_PATH, ag_proc.poll()))

    # create separate threads for UGs 
    for i in xrange(0, num_threads):
        t = UGThread( config_dir, output_dir, output_path, volume_name, caps="ALL", port=(31111 + i + 1), email=testconf.SYNDICATE_ADMIN )
        threads.append(t)

    # run all threads 
    for i in xrange(0, num_threads):
Exemplo n.º 5
0
    inner_dir = os.path.join(testdir, "to_remove_1", "to_remove_2",
                             "to_remove_3")
    rmdir = os.path.join(testdir, "to_remove_1")
    os.makedirs(inner_dir)

    # put a file to publish
    local_paths = []
    for i in xrange(0, 1):
        local_path = testlib.make_random_file(16384, dir=inner_dir)
        local_paths.append(local_path)

    # start AG
    AG_gateway_name = testlib.add_test_gateway(config_dir,
                                               volume_name,
                                               "AG",
                                               caps="ALL",
                                               email=testconf.SYNDICATE_ADMIN)
    testlib.update_gateway(config_dir, AG_gateway_name, "port=31112",
                           "driver=%s" % AG_DRIVER)
    ag_proc, ag_out_path = testlib.start_gateway(config_dir,
                                                 AG_PATH,
                                                 testconf.SYNDICATE_ADMIN,
                                                 volume_name,
                                                 AG_gateway_name,
                                                 valgrind=True)
    time.sleep(30)

    if not testlib.gateway_ping(31112, 15):
        ag_exitcode, ag_out = testlib.stop_gateway(ag_proc, ag_out_path)
        testlib.save_output(output_dir, "syndicate-ag", ag_out)
Exemplo n.º 6
0
    return exitcode, out


if __name__ == "__main__":

    local_path = testlib.make_random_file(16384)
    local_fd = open(local_path, "r")
    expected_data = local_fd.read()
    local_fd.close()

    config_dir, output_dir = testlib.test_setup()
    volume_name = testlib.add_test_volume(config_dir)

    RG_gateway_name = testlib.add_test_gateway(config_dir,
                                               volume_name,
                                               "RG",
                                               caps="NONE",
                                               email=testconf.SYNDICATE_ADMIN)
    testlib.update_gateway(config_dir, RG_gateway_name, "port=31112",
                           "driver=%s" % RG_DRIVER)

    rg_proc, rg_out_path = testlib.start_gateway(config_dir,
                                                 RG_PATH,
                                                 testconf.SYNDICATE_ADMIN,
                                                 volume_name,
                                                 RG_gateway_name,
                                                 valgrind=True)
    if not testlib.gateway_ping(31112, 15):
        raise Exception("%s exited %s" % (RG_PATH, rg_proc.poll()))

    # should cause the RG to get updated that there's a new gateway
def stop_and_save( output_dir, proc, out_path, save_name ):
    exitcode, out = testlib.stop_gateway( proc, out_path )
    testlib.save_output( output_dir, save_name, out )
    return exitcode, out

if __name__ == "__main__":

    local_path = testlib.make_random_file(16384)
    local_fd = open(local_path, "r")
    expected_data = local_fd.read()
    local_fd.close()

    config_dir, output_dir = testlib.test_setup()
    volume_name = testlib.add_test_volume( config_dir, allow_anon=True, private=False )

    RG_gateway_name = testlib.add_test_gateway( config_dir, volume_name, "RG", caps="NONE", email=testconf.SYNDICATE_ADMIN )
    testlib.update_gateway( config_dir, RG_gateway_name, "port=31112", "driver=%s" % RG_DRIVER )

    rg_proc, rg_out_path = testlib.start_gateway( config_dir, RG_PATH, testconf.SYNDICATE_ADMIN, volume_name, RG_gateway_name, valgrind=True )
    if not testlib.gateway_ping( 31112, 15 ):
        raise Exception("%s exited %s" % (RG_PATH, rg_proc.poll()))

    # should cause the RG to get updated that there's a new gateway 
    gateway_name = testlib.add_test_gateway( config_dir, volume_name, "UG", caps="ALL", email=testconf.SYNDICATE_ADMIN )
    cat_gateway_name = testlib.add_test_gateway( config_dir, volume_name, "UG", caps="ALL", email="ANONYMOUS" )

    random_part = hex(random.randint(0, 2**32-1))[2:]
    output_paths = []

    for i in xrange(0, NUM_FILES):
        output_path = "/put-%s-%s" % (random_part, i)
if __name__ == "__main__":

    config_dir, output_dir = testlib.test_setup()
    volume_name = testlib.add_test_volume( config_dir )
    num_threads = 8
    threads = []
    
    local_path = testlib.make_random_file(16384)
    output_path = "/%s" % os.path.basename(local_path)
    local_fd = open(local_path, "r")
    expected_data = local_fd.read()
    local_fd.close()

    # start up RG
    RG_gateway_name = testlib.add_test_gateway( config_dir, volume_name, "RG", port=32110, email=testconf.SYNDICATE_ADMIN )
    testlib.update_gateway( config_dir, RG_gateway_name, "driver=%s" % RG_DRIVER )

    rg_proc, rg_out_path = testlib.start_gateway( config_dir, RG_PATH, testconf.SYNDICATE_ADMIN, volume_name, RG_gateway_name, valgrind=True )
    time.sleep(5)
    if rg_proc.poll() is not None:
        raise Exception("%s exited %s" % (RG_PATH, rg_proc.poll()))

    # put the file
    put_gateway_name = testlib.add_test_gateway( config_dir, volume_name, "UG", caps="ALL", port=31110, email=testconf.SYNDICATE_ADMIN )
    exitcode, out = testlib.run( PUT_PATH, '-d2', '-f', '-c', os.path.join(config_dir, 'syndicate.conf'), '-u', testconf.SYNDICATE_ADMIN, '-v', volume_name, '-g', put_gateway_name, local_path, output_path, valgrind=True )
    testlib.save_output( output_dir, "syndicate-put", out )

    if exitcode != 0:
        stop_and_save( output_dir, rg_proc, rg_out_path, "syndicate-rg")
        raise Exception("syndicate-put exit code %s" % exitcode)
        "user.syndicate_cached_blocks": "0000",  # for the getxattr gateway
        "user.syndicate_cached_file_path": None,
        "user.syndicate_read_ttl": "5000",
        "user.syndicate_write_ttl": "0"
    }

    # other attrs
    attr_name_base = 'foo-%s' % random_part
    attr_value_base = 'bar-%s' % random_part

    config_dir, output_dir = testlib.test_setup()
    volume_name = testlib.add_test_volume(config_dir)

    gateway_name = testlib.add_test_gateway(config_dir,
                                            volume_name,
                                            "UG",
                                            caps="ALL",
                                            email=testconf.SYNDICATE_ADMIN)
    getxattr_gateway_name = testlib.add_test_gateway(
        config_dir,
        volume_name,
        "UG",
        caps="ALL",
        port=31113,
        email=testconf.SYNDICATE_ADMIN)

    rg_gateway_name = testlib.add_test_gateway(config_dir,
                                               volume_name,
                                               "RG",
                                               caps="NONE",
                                               email=testconf.SYNDICATE_ADMIN)
Exemplo n.º 10
0
    config_dir, output_dir = testlib.test_setup()
    volume_name = testlib.add_test_volume(config_dir)
    num_threads = 8
    threads = []

    local_path = testlib.make_random_file(16384)
    output_path = "/%s" % os.path.basename(local_path)
    local_fd = open(local_path, "r")
    expected_data = local_fd.read()
    local_fd.close()

    # start up RG
    RG_gateway_name = testlib.add_test_gateway(config_dir,
                                               volume_name,
                                               "RG",
                                               port=32110,
                                               email=testconf.SYNDICATE_ADMIN)
    testlib.update_gateway(config_dir, RG_gateway_name,
                           "driver=%s" % RG_DRIVER)

    rg_proc, rg_out_path = testlib.start_gateway(config_dir,
                                                 RG_PATH,
                                                 testconf.SYNDICATE_ADMIN,
                                                 volume_name,
                                                 RG_gateway_name,
                                                 valgrind=True)
    if not testlib.gateway_ping(32110, 15):
        raise Exception("%s exited %s" % (RG_PATH, rg_proc.poll()))

    # put the file