Commit c26920b1 authored by Ramon Nou's avatar Ramon Nou
Browse files

Merge branch 'rnou/rootinstall_fixes' into 'main'

Rnou/rootinstall fixes

This MR solves some issues with the installation on root scenarios (plugin / systemd). This also solves a CPU hog (100%) for the scheduler.

See merge request !125
parents a666747a 27f0580e
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -39,7 +39,7 @@
#define SCORDCTL_TMPDIR_DEFAULT "/tmp"
#define CARGO_PROG_DEFAULT     "@CARGO_PROGRAM@"
#define CARGO_PROTO_DEFAULT    SCORD_PROTO_DEFAULT
#define CARGO_PORT_DEFAULT     62000
#define CARGO_PORT_DEFAULT     @CARGO_BIND_PORT@

// clang-format on

+1 −1
Original line number Diff line number Diff line
@@ -183,4 +183,4 @@ export SCORD_QUERY_PROGRAM="@SCORD_QUERY_PROGRAM@"
export SCORDCTL_PROGRAM="@SCORDCTL_PROGRAM@"
export SCORDCTL_PROTO="@SCORD_TRANSPORT_PROTOCOL@"
export SCORDCTL_PORT="@SCORD_CTL_BIND_PORT@"
export CARGO_PORT="@CARGO_PORT@"
export CARGO_PORT="@CARGO_BIND_PORT@"
+4 −4
Original line number Diff line number Diff line
@@ -143,7 +143,7 @@ fi
# stored (note that $HOME is not set when this prolog script is being executed).
# shellcheck disable=SC2016
USER_HOME=$(run_as "$SLURM_JOB_USER" echo '$HOME')
USER_CONFIG_DIRECTORY="${XDG_CONFIG_HOME:-$USER_HOME/.config}"
USER_CONFIG_DIRECTORY="$USER_HOME/.config"
CARGO_CONFIG_DIRECTORY="$USER_CONFIG_DIRECTORY/cargo"
SYSTEMD_USER_DIRECTORY="$USER_CONFIG_DIRECTORY/systemd/user"

@@ -189,16 +189,16 @@ CARGO_HOSTS=$hostnames_csv
CARGO_NUM_NODES=$CARGO_NUM_NODES
CARGO_ADDRESS=$CARGO_MASTER_ADDRESS
EOT

CUID=$(id -u $SLURM_JOB_USER)
chown "$SLURM_JOB_USER":"$SLURM_JOB_GROUP" "$CARGO_CONFIG_FILE"

if ! run_as "$SLURM_JOB_USER" systemctl --user start "$CARGO_INSTANCE_NAME"; then
if ! run_as "$SLURM_JOB_USER" DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$CUID/bus systemctl --user start "$CARGO_INSTANCE_NAME"; then
  exit 1
fi

sleep 1s

if ! run_as "$SLURM_JOB_USER" systemctl --user is-active --quiet "$CARGO_INSTANCE_NAME"; then
if ! run_as "$SLURM_JOB_USER" DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$CUID/bus systemctl --user is-active --quiet "$CARGO_INSTANCE_NAME"; then
  echo "Cargo data stager failed to start"
  exit 1
fi
+1 −1
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@ Description=Cargo parallel data stager

[Service]
Type=simple
EnvironmentFile=%S/cargo/%I.cfg
EnvironmentFile=%h/.config/cargo/%I.cfg
ExecStart=@CMAKE_INSTALL_FULL_DATADIR@/@PROJECT_NAME@/slurm/cargoctl start -s ${CARGO_ADDRESS} -H ${CARGO_HOSTS} -n ${CARGO_NUM_NODES}
ExecStop=@CMAKE_INSTALL_FULL_DATADIR@/@PROJECT_NAME@/slurm/cargoctl stop -s ${CARGO_ADDRESS}
Restart=no
+2 −1
Original line number Diff line number Diff line
@@ -951,7 +951,8 @@ rpc_server::scheduler_update() {
    std::vector<std::pair<std::string, int>> return_set;
    const auto threshold = 0.1f;
    while(!m_shutting_down) {
        thallium::thread::self().sleep(m_network_engine, 1000);
        sleep(1);
        //thallium::thread::self().sleep(m_network_engine, 500);
        m_transfer_manager.lock();
        const auto transfer = m_transfer_manager.transfer();
        std::vector<scord::transfer_id> v_ids;
Loading