Hi Stephen, > > > I'm deploying MongoDB to a number of servers using the script below. > > > Servers are Ubuntu 18.0.4. I have an issue where the installation > > > fails > > > to create a mongo folder in /var/run/ and thus can't start the service > > > (No > > > place to put the PID file) ... but after a reboot the MongoDB folder is > > > removed (because var/run is not persistent) > > > [...] > > > Is this an issue with how I'm installing mongo via Ansible?
> > No. It's not Ansible issue at all. MongoDB doesn't care about the > > directory. > > There are more options: > > 1) Put "pidfile" to persistent location > > https://docs.mongodb.com/manual/reference/configuration-options/ > > 2) Fix the service to create the directory. See hints > > https://github.com/mongodb/mongo/commit/50ca596ace0b1390482408f1b19ffb1f9170cab6 > > > > 3) Create the directory on your own at startup. > If I install Mongo manually apt-get install mongodb-org if install fine > and the /var/run/mongodb folder is created every reboot > it's only when I install via Ansible then it doesn't. > > e.g. a manual install also creates a mongodb file in /etc/init.d the > Ansible install does not > > I have worked round the problem with your option 3. > I have created a file in /urs/lib/tmpfiles.d called mongo.conf contents of: > > d /var/run/mongodb 0755 mongodb mongodb - > > This creates the mongodb directory every reboot. > > It does seem weird that the installs differs via Ansible vs manual There shouldn't be any difference in installing packages manually and with Ansible. If you're sure you've found a difference open an issue with the Ansible module. OFF-TOPIC: MongoDB. Just to close this issue here. You've configured the repo and installed "mongodb-org" which is maintained and supported by MongoDB Inc (they claim it's for Ubuntu). Standard Ubuntu 18.04 does not include it. If you want to find the problem take a look what packages are installed dpkg -l | grep mongo See what files are installed by the package apt-file list mongodb-org Examine the files and see what services are active /etc/init.d/mongodb /etc/mongodb.conf /lib/systemd/system/mongodb.service FWIW. Standard Ubuntu 18.04 mongodb-server put PID by default into the file /var/lib/mongodb/mongod.lock and the directory /var/run/mongodb lists the socket $ ls -1 /var/run/mongodb/ mongodb-27017.sock init.d shows $ grep RUNDIR /etc/init.d/mongodb RUNDIR=/run/mongodb PIDFILE=$RUNDIR/$NAME.pid DAEMON_OPTS=${DAEMON_OPTS:-"--unixSocketPrefix=$RUNDIR --config $CONF run"} test -e "$RUNDIR" || install -m 755 -o mongodb -g mongodb -d "$RUNDIR" If you think it's MongoDB problem proceed there. HTH, Cheers, -vlado -- You received this message because you are subscribed to the Google Groups "Ansible Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/20190916131317.66021a4d%40gmail.com.
pgpVrq7bF2O4W.pgp
Description: OpenPGP digital signature
