Verified Commit b4e9cbde authored by Alberto Miranda's avatar Alberto Miranda ♨️
Browse files

WIP: Add control node address to ADM_adhoc_context_t

Update tests to start scord-ctl as needed
parent a9d4eb8f
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
@@ -33,6 +33,9 @@ if(SCORD_BUILD_TESTS)
  set(TEST_ENV)
  list(APPEND TEST_ENV SCORD_LOG_OUTPUT=${TEST_DIRECTORY}/scord_daemon.log)

  set(SCORD_ADDRESS_STRING
    ${SCORD_TRANSPORT_PROTOCOL}://${SCORD_BIND_ADDRESS}:${SCORD_BIND_PORT})

  add_test(start_scord_daemon
    ${CMAKE_SOURCE_DIR}/scripts/runner.sh start scord.pid
           ${CMAKE_BINARY_DIR}/src/scord/scord -f
@@ -48,6 +51,27 @@ if(SCORD_BUILD_TESTS)

  set_tests_properties(stop_scord_daemon PROPERTIES FIXTURES_CLEANUP
    scord_daemon)

  set(SCORD_CTL_TRANSPORT_PROTOCOL ${SCORD_TRANSPORT_PROTOCOL})
  set(SCORD_CTL_BIND_ADDRESS ${SCORD_BIND_ADDRESS})
  math(EXPR SCORD_CTL_BIND_PORT "${SCORD_BIND_PORT} + 1")
  set(SCORD_CTL_ADDRESS_STRING
    ${SCORD_CTL_TRANSPORT_PROTOCOL}://${SCORD_CTL_BIND_ADDRESS}:${SCORD_CTL_BIND_PORT})

  add_test(start_scord_ctl
    ${CMAKE_SOURCE_DIR}/scripts/runner.sh start scord-ctl.pid
    ${CMAKE_BINARY_DIR}/src/scord-ctl/scord-ctl -l ${SCORD_CTL_ADDRESS_STRING} -o ${TEST_DIRECTORY}/scord_ctl.log
    )

  set_tests_properties(start_scord_ctl
    PROPERTIES FIXTURES_SETUP scord_ctl)

  add_test(stop_scord_ctl
    ${CMAKE_SOURCE_DIR}/scripts/runner.sh stop TERM scord-ctl.pid
    )

  set_tests_properties(stop_scord_ctl PROPERTIES FIXTURES_CLEANUP scord_ctl)

endif()

add_subdirectory(c)
+11 −5
Original line number Diff line number Diff line
@@ -36,14 +36,19 @@
int
main(int argc, char* argv[]) {

    if(argc != 2) {
        fprintf(stderr, "ERROR: no location provided\n");
        fprintf(stderr, "Usage: ADM_cancel_transfer <SERVER_ADDRESS>\n");
    test_info_t test_info = {
            .name = TESTNAME,
            .requires_server = true,
            .requires_controller = true,
    };

    cli_args_t cli_args;
    if(process_args(argc, argv, test_info, &cli_args)) {
        exit(EXIT_FAILURE);
    }

    int exit_status = EXIT_SUCCESS;
    ADM_server_t server = ADM_server_create("tcp", argv[1]);
    ADM_server_t server = ADM_server_create("tcp", cli_args.server_address);

    ADM_job_t job = NULL;
    ADM_node_t* job_nodes = prepare_nodes(NJOB_NODES);
@@ -64,7 +69,8 @@ main(int argc, char* argv[]) {
    assert(adhoc_resources);

    ADM_adhoc_context_t ctx = ADM_adhoc_context_create(
            ADM_ADHOC_MODE_SEPARATE_NEW, ADM_ADHOC_ACCESS_RDWR, 100, false);
            cli_args.controller_address, ADM_ADHOC_MODE_SEPARATE_NEW,
            ADM_ADHOC_ACCESS_RDWR, 100, false);
    assert(ctx);

    const char* name = "adhoc_storage_42";
+11 −5
Original line number Diff line number Diff line
@@ -36,14 +36,19 @@
int
main(int argc, char* argv[]) {

    if(argc != 2) {
        fprintf(stderr, "ERROR: no server address provided\n");
        fprintf(stderr, "Usage: ADM_connect_data_operation <SERVER_ADDRESS>\n");
    test_info_t test_info = {
            .name = TESTNAME,
            .requires_server = true,
            .requires_controller = true,
    };

    cli_args_t cli_args;
    if(process_args(argc, argv, test_info, &cli_args)) {
        exit(EXIT_FAILURE);
    }

    int exit_status = EXIT_SUCCESS;
    ADM_server_t server = ADM_server_create("tcp", argv[1]);
    ADM_server_t server = ADM_server_create("tcp", cli_args.server_address);

    ADM_job_t job;
    ADM_node_t* job_nodes = prepare_nodes(NJOB_NODES);
@@ -60,7 +65,8 @@ main(int argc, char* argv[]) {
    assert(adhoc_resources);

    ADM_adhoc_context_t ctx = ADM_adhoc_context_create(
            ADM_ADHOC_MODE_SEPARATE_NEW, ADM_ADHOC_ACCESS_RDWR, 100, false);
            cli_args.controller_address, ADM_ADHOC_MODE_SEPARATE_NEW,
            ADM_ADHOC_ACCESS_RDWR, 100, false);
    assert(ctx);

    const char* name = "adhoc_storage_42";
+11 −5
Original line number Diff line number Diff line
@@ -36,15 +36,20 @@
int
main(int argc, char* argv[]) {

    if(argc != 2) {
        fprintf(stderr, "ERROR: no location provided\n");
        fprintf(stderr, "Usage: ADM_define_data_operation <SERVER_ADDRESS>\n");
    test_info_t test_info = {
            .name = TESTNAME,
            .requires_server = true,
            .requires_controller = true,
    };

    cli_args_t cli_args;
    if(process_args(argc, argv, test_info, &cli_args)) {
        exit(EXIT_FAILURE);
    }

    int exit_status = EXIT_SUCCESS;

    ADM_server_t server = ADM_server_create("tcp", argv[1]);
    ADM_server_t server = ADM_server_create("tcp", cli_args.server_address);

    ADM_job_t job = NULL;
    ADM_node_t* job_nodes = prepare_nodes(NJOB_NODES);
@@ -65,7 +70,8 @@ main(int argc, char* argv[]) {
    assert(adhoc_resources);

    ADM_adhoc_context_t ctx = ADM_adhoc_context_create(
            ADM_ADHOC_MODE_SEPARATE_NEW, ADM_ADHOC_ACCESS_RDWR, 100, false);
            cli_args.controller_address, ADM_ADHOC_MODE_SEPARATE_NEW,
            ADM_ADHOC_ACCESS_RDWR, 100, false);
    assert(ctx);

    const char* name = "adhoc_storage_42";
+13 −6
Original line number Diff line number Diff line
@@ -34,9 +34,14 @@
int
main(int argc, char* argv[]) {

    if(argc != 2) {
        fprintf(stderr, "ERROR: no location provided\n");
        fprintf(stderr, "Usage: ADM_deploy_adhoc_storage <SERVER_ADDRESS>\n");
    test_info_t test_info = {
            .name = TESTNAME,
            .requires_server = true,
            .requires_controller = true,
    };

    cli_args_t cli_args;
    if(process_args(argc, argv, test_info, &cli_args)) {
        exit(EXIT_FAILURE);
    }

@@ -76,7 +81,8 @@ main(int argc, char* argv[]) {
    }

    // 3. the adhoc storage execution context
    adhoc_ctx = ADM_adhoc_context_create(ADM_ADHOC_MODE_SEPARATE_NEW,
    adhoc_ctx = ADM_adhoc_context_create(cli_args.controller_address,
                                         ADM_ADHOC_MODE_SEPARATE_NEW,
                                         ADM_ADHOC_ACCESS_RDWR, 100, false);

    if(adhoc_ctx == NULL) {
@@ -89,7 +95,7 @@ main(int argc, char* argv[]) {
    // now ready. Let's actually contact the server:

    // 1. Find the server endpoint
    if((server = ADM_server_create("tcp", argv[1])) == NULL) {
    if((server = ADM_server_create("tcp", cli_args.server_address)) == NULL) {
        fprintf(stderr, "Fatal error creating server\n");
        goto cleanup;
    }
@@ -108,7 +114,8 @@ main(int argc, char* argv[]) {
    // system, let's prepare a new execution context for the adhoc
    // storage system

    new_adhoc_ctx = ADM_adhoc_context_create(ADM_ADHOC_MODE_SEPARATE_NEW,
    new_adhoc_ctx = ADM_adhoc_context_create(cli_args.controller_address,
                                             ADM_ADHOC_MODE_SEPARATE_NEW,
                                             ADM_ADHOC_ACCESS_RDWR, 200, false);

    if(new_adhoc_ctx == NULL) {
Loading