Skip to content

Commit

Permalink
Merge pull request #3537 from ggouaillardet/topic/pmix_bootstrap
Browse files Browse the repository at this point in the history
broker: add support for PMIx bootstrap
  • Loading branch information
mergify[bot] authored Mar 17, 2021
2 parents 428762d + 723ad13 commit ce879ba
Show file tree
Hide file tree
Showing 14 changed files with 330 additions and 14 deletions.
10 changes: 10 additions & 0 deletions config/x_ac_pmix.m4
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# It is fatal if --enable-pmix-bootstrap and pmix package not found.
# (PKG_CHECK_MODULES default behavior is to fail if package not found)
AC_DEFUN([X_AC_PMIX], [
AC_ARG_ENABLE([pmix-bootstrap],
AS_HELP_STRING([--enable-pmix-bootstrap], [Enable PMIx bootstrap]))
AS_IF([test "x$enable_pmix_bootstrap" = "xyes"], [
PKG_CHECK_MODULES([PMIX], [pmix])
AC_DEFINE([HAVE_LIBPMIX], [1], [Enable PMIx bootstrap])
])
])
2 changes: 2 additions & 0 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -385,6 +385,8 @@ AS_IF([test "x$enable_content_s3" = "xyes"], [

AM_CONDITIONAL([ENABLE_CONTENT_S3], [test "x$enable_content_s3" = "xyes"])

X_AC_PMIX

##
# Check for systemd
##
Expand Down
7 changes: 5 additions & 2 deletions src/broker/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ AM_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_srcdir)/src/include \
-I$(top_builddir)/src/common/libflux \
$(PMIX_CFLAGS) \
$(ZMQ_CFLAGS) \
$(LIBUUID_CFLAGS) \
$(VALGRIND_CFLAGS)
Expand Down Expand Up @@ -64,7 +65,8 @@ flux_broker_LDADD = \
$(builddir)/libbroker.la \
$(top_builddir)/src/common/libflux-core.la \
$(top_builddir)/src/common/libpmi/libpmi_client.la \
$(top_builddir)/src/common/libflux-internal.la
$(top_builddir)/src/common/libflux-internal.la \
$(PMIX_LIBS)

flux_broker_LDFLAGS =

Expand All @@ -82,7 +84,8 @@ test_ldadd = \
$(top_builddir)/src/common/libflux-core.la \
$(top_builddir)/src/common/libpmi/libpmi_client.la \
$(top_builddir)/src/common/libflux-internal.la \
$(top_builddir)/src/common/libtap/libtap.la
$(top_builddir)/src/common/libtap/libtap.la \
$(PMIX_LIBS)

test_ldflags = \
-no-install
Expand Down
10 changes: 6 additions & 4 deletions src/broker/boot_pmi.c
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@ static int set_instance_level_attr (struct pmi_handle *pmi,
kvsname,
"flux.instance-level",
val,
sizeof (val));
sizeof (val),
-1);
if (result == PMI_SUCCESS)
level = val;
if (attr_add (attrs, "instance-level", level, FLUX_ATTRFLAG_IMMUTABLE) < 0)
Expand All @@ -75,7 +76,8 @@ static int set_broker_mapping_attr (struct pmi_handle *pmi,
kvsname,
"PMI_process_mapping",
buf,
sizeof (buf)) == PMI_SUCCESS)
sizeof (buf),
-1) == PMI_SUCCESS)
val = buf;
if (attr_add (attrs, "broker.mapping", val, FLUX_ATTRFLAG_IMMUTABLE) < 0)
return -1;
Expand Down Expand Up @@ -256,7 +258,7 @@ int boot_pmi (struct overlay *overlay, attr_t *attrs, int tbon_k)
goto error;
}
result = broker_pmi_kvs_get (pmi, pmi_params.kvsname,
key, val, sizeof (val));
key, val, sizeof (val), rank);
if (result != PMI_SUCCESS) {
log_msg ("broker_pmi_kvs_get %s: %s", key, pmi_strerror (result));
goto error;
Expand Down Expand Up @@ -290,7 +292,7 @@ int boot_pmi (struct overlay *overlay, attr_t *attrs, int tbon_k)
goto error;
}
result = broker_pmi_kvs_get (pmi, pmi_params.kvsname,
key, val, sizeof (val));
key, val, sizeof (val), rank);

if (result != PMI_SUCCESS) {
log_msg ("broker_pmi_kvs_get %s: %s", key, pmi_strerror (result));
Expand Down
Loading

0 comments on commit ce879ba

Please sign in to comment.