From 4ddc7c4461f00a7c1dd0a3170f71b306cae264f8 Mon Sep 17 00:00:00 2001 From: A Holt Date: Mon, 23 Jul 2018 09:44:17 -0400 Subject: [PATCH] Update mongodb.service.j2 --- roles/mongodb/templates/mongodb.service.j2 | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/roles/mongodb/templates/mongodb.service.j2 b/roles/mongodb/templates/mongodb.service.j2 index 4407efddc..1ae050ae8 100644 --- a/roles/mongodb/templates/mongodb.service.j2 +++ b/roles/mongodb/templates/mongodb.service.j2 @@ -1,14 +1,20 @@ [Unit] Description=High-performance, schema-free document-oriented database After=syslog.target network.target - + [Service] Type=simple User=mongodb Group=mongodb -ExecStartPre=/usr/bin/mongod --repair --dbpath {{ mongodb_db_path }} +# FAILS (after power failures, etc) as --repair cannot run when lock file exists: (https://github.com/iiab/iiab/issues/942) +#ExecStartPre=/usr/bin/mongod --repair --dbpath /library/dbdata/mongodb +# FAILS as systemd cannot run bash here: +#ExecStartPre=if [ ! -f /library/dbdata/mongodb/mongod.lock ]; then /usr/bin/mongod --repair --dbpath {{ mongodb_db_path }}; fi +ExecStartPre=/usr/bin/iiab-mongodb-repair-if-no-lock ExecStart=/usr/bin/mongod -f {{ mongodb_conf }} ExecStop=/usr/bin/killall mongod - +# killall's SIGTERM (15) seems fine, to induce a graceful stop. This would work too: +#ExecStop=mongod --dbpath {{ mongodb_db_path }} --shutdown + [Install] WantedBy=multi-user.target