#!/bin/bash

RANK=$(flux getattr rank)

# Usage: modrm {all|<rank>} modname
modrm() {
    local where=$1; shift
    if test "$where" = "all" || test $where -eq $RANK; then
        flux module remove -f $*
    fi
}

core_dir=$(cd ${0%/*} && pwd -P)
all_dirs=$core_dir${FLUX_RC_EXTRA:+":$FLUX_RC_EXTRA"}
IFS=:
shopt -s nullglob
for rcdir in $all_dirs; do
    for rcfile in $rcdir/rc3.d/*; do
        echo running $rcfile
        $rcfile
    done
done
shopt -u nullglob

modrm 0 sched-simple
modrm all resource
modrm 0 job-exec
modrm 0 job-info
modrm 0 job-manager
modrm all job-ingest

modrm 0 cron
modrm all barrier

modrm all kvs-watch
modrm all kvs

flux content flush

backingmod=$(flux getattr content.backing-module 2>/dev/null) || true
modrm 0 ${backingmod:-content-sqlite}
