diff --git a/src/slurmd/common/slurmstepd_init.c b/src/slurmd/common/slurmstepd_init.c index f161878de9290159c6fd96b114d46bed9ff57432..35643d5ae199646da212d12f7370ceee80585b80 100644 --- a/src/slurmd/common/slurmstepd_init.c +++ b/src/slurmd/common/slurmstepd_init.c @@ -68,6 +68,8 @@ extern void pack_slurmd_conf_lite(slurmd_conf_t *conf, buf_t *buffer) pack32(conf->daemonize, buffer); packstr(conf->node_topo_addr, buffer); packstr(conf->node_topo_pattern, buffer); + packstr(conf->oci_container_id_pattern, buffer); + packstr(conf->oci_runtime, buffer); pack16(conf->port, buffer); packstr(conf->gres, buffer); } @@ -106,6 +108,9 @@ extern int unpack_slurmd_conf_lite_no_alloc(slurmd_conf_t *conf, buf_t *buffer) conf->daemonize = uint32_tmp; safe_unpackstr_xmalloc(&conf->node_topo_addr, &uint32_tmp, buffer); safe_unpackstr_xmalloc(&conf->node_topo_pattern, &uint32_tmp, buffer); + safe_unpackstr_xmalloc(&conf->oci_container_id_pattern, + &uint32_tmp, buffer); + safe_unpackstr_xmalloc(&conf->oci_runtime, &uint32_tmp, buffer); safe_unpack16(&conf->port, buffer); safe_unpackstr_xmalloc(&conf->gres, &uint32_tmp, buffer); } diff --git a/src/slurmd/slurmd/slurmd.c b/src/slurmd/slurmd/slurmd.c index 68f2c1b24631c5547f04f8a379f84032fcdba55d..5b480cf4d0c5c5491a511c4057aa40dbf18caad7 100644 --- a/src/slurmd/slurmd/slurmd.c +++ b/src/slurmd/slurmd/slurmd.c @@ -1059,6 +1059,10 @@ _read_config(void) if (cf->control_addr == NULL) fatal("Unable to establish controller machine"); + + conf->oci_container_id_pattern = xstrdup(cf->oci_container_id_pattern); + conf->oci_runtime = xstrdup(cf->oci_runtime); + if (cf->slurmctld_port == 0) fatal("Unable to establish controller port"); diff --git a/src/slurmd/slurmd/slurmd.h b/src/slurmd/slurmd/slurmd.h index b7bab8b375cf363fbe088ff707f81617deff5b2e..d4d09ed709a7c857abe5361caefe97f5e8ae16c1 100644 --- a/src/slurmd/slurmd/slurmd.h +++ b/src/slurmd/slurmd/slurmd.h @@ -113,6 +113,8 @@ typedef struct slurmd_config { char *node_name; /* node name */ char *node_topo_addr; /* node's topology address */ char *node_topo_pattern;/* node's topology address pattern */ + char *oci_container_id_pattern; /* OCI Container id pattern */ + char *oci_runtime; /* OCI Container runtime command */ char *conffile; /* config filename */ char *logfile; /* slurmd logfile, if any */ uint32_t syslog_debug; /* send output to both logfile and