Resolve "Root issues and stage-out with SPANK"

At the end, stage-out in root installation was never implemented, so this merge request does it:

  1. Stage-in (and waiting until copy happens, bool in trasfer_datasets)
  2. Stage-out (and waiting until copy happens)
  3. terminates adhoc fs
  4. removes adhoc fs directory.

Some issues with needed environment variables solved, however LIBGKFS_HOSTS_FILE and GKFS_DAEMON and GKFS_CLIENT should be defined in the environment as they are installation dependant.

Edited by Ramon Nou

Merge request reports

Loading
+6 −3
Changes for cli/scord_query.cpp: 6 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ struct query_config {
    std::string progname;
    std::string server_address;
    std::uint32_t job_id{};
    bool verbose{};
};

query_config
@@ -47,6 +48,7 @@ parse_command_line(int argc, char* argv[]) {
            ->required();
    app.add_option("job_id", cfg.job_id, "Job ID")->required();

    app.add_option("-v, --verbose  ", cfg.verbose, "Enable verbose output");
    try {
        app.parse(argc, argv);
        return cfg;
@@ -81,13 +83,14 @@ main(int argc, char* argv[]) {

        scord::job_info info =
                scord::query(scord::server{protocol, address}, cfg.job_id);

        if (cfg.verbose)
        fmt::print(stdout,
                   "Job metadata:\n"
                   "  adhoc_controller: {}\n"
                   "  adhoc_uuid: {}\n"
                   "  io_procs: {}\n",
                   info.adhoc_controller_address(), info.io_procs());

                   info.adhoc_controller_address(), info.uuid(), info.io_procs());
        else fmt::print(stdout,"{}\n", info.uuid());
    } catch(const std::exception& ex) {
        fmt::print(stderr, "Error: {}\n", ex.what());
        return EXIT_FAILURE;
+1 −1
Changes for examples/c/ADM_cancel_transfer.c: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -117,7 +117,7 @@ main(int argc, char* argv[]) {
    ADM_transfer_t tx;

    ret = ADM_transfer_datasets(server, job, sources, sources_len, targets,
                                targets_len, limits, limits_len, mapping, &tx);
                                targets_len, limits, limits_len, mapping, &tx, false);

    if(ret != ADM_SUCCESS) {
        fprintf(stderr,
+1 −1
Changes for examples/c/ADM_get_transfer_priority.c: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -117,7 +117,7 @@ main(int argc, char* argv[]) {
    ADM_transfer_t tx;

    ret = ADM_transfer_datasets(server, job, sources, sources_len, targets,
                                targets_len, limits, limits_len, mapping, &tx);
                                targets_len, limits, limits_len, mapping, &tx, false);

    if(ret != ADM_SUCCESS) {
        fprintf(stderr,
+1 −1
Changes for examples/c/ADM_link_transfer_to_data_operation.c: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -121,7 +121,7 @@ main(int argc, char* argv[]) {
    ADM_transfer_t tx;

    ret = ADM_transfer_datasets(server, job, sources, sources_len, targets,
                                targets_len, limits, limits_len, mapping, &tx);
                                targets_len, limits, limits_len, mapping, &tx, false);


    if(ret != ADM_SUCCESS) {
+1 −1
Changes for examples/c/ADM_set_transfer_priority.c: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -117,7 +117,7 @@ main(int argc, char* argv[]) {
    ADM_transfer_t tx;

    ret = ADM_transfer_datasets(server, job, sources, sources_len, targets,
                                targets_len, limits, limits_len, mapping, &tx);
                                targets_len, limits, limits_len, mapping, &tx, false);

    if(ret != ADM_SUCCESS) {
        fprintf(stderr,
Loading
Loading