set -e base="shared/1-data-1-empty" primus_base="$base/primus" secondus_base="$base/secondus" function as_primus { eval "$($SHELL "$UTILS/shared-daemon-env.sh" "$primus_base")" } function as_secondus { eval "$($SHELL "$UTILS/shared-daemon-env.sh" "$secondus_base")" } # Even if it's already intialized, we want to put the caller in primus' # environment as_primus secondus_bootstrap="$(pwd)/secondus-bootstrap.yml" if [ ! -d "$XDG_RUNTIME_DIR/isle" ]; then echo "Initializing shared single node cluster" mkdir a mkdir b mkdir c cat >daemon.yml < admin.yml isle daemon --config-path daemon.yml >daemon.log 2>&1 & pid="$!" echo "Waiting for primus daemon (process $pid) to initialize" while ! isle hosts list >/dev/null; do sleep 1; done $SHELL "$UTILS/register-cleanup.sh" "$pid" "1-data-1-empty-node-cluster/primus" echo "Creating secondus bootstrap" isle admin create-bootstrap \ --admin-path admin.yml \ --hostname secondus \ --ip 10.6.9.2 \ > "$secondus_bootstrap" ( as_secondus cat >daemon.yml <daemon.log 2>&1 & pid="$!" echo "Waiting for secondus daemon (process $!) to initialize" while ! isle hosts list >/dev/null; do sleep 1; done $SHELL "$UTILS/register-cleanup.sh" "$pid" "1-data-1-empty-node-cluster/secondus" ) fi