trove/integration/scripts/files/trove-guest.systemd.conf
Luke Browning 5f5c89ff9a Don't refresh trove code in guestagent once installed
Presently, the code is reloaded from the controller each time that
the guestagent is restarted.  The test in the trove-guest.service
file is wrong as it is looking for a directory as opposed to a file.

This improves the debug ability of the guestagent by allowing
LOG.debug statements to be manually inserted in the code.

Change-Id: I9703420d5ffd2b4e2d45dcd02435627e731250da
2017-11-20 11:41:17 -06:00

33 lines
1.5 KiB
Plaintext

[Unit]
Description=Trove Guest
After=syslog.target
After=network.target
[Service]
Type=simple
User=GUEST_USERNAME
Group=GUEST_USERNAME
ExecStartPre=/bin/bash -c "sudo mkdir -p GUEST_LOGDIR ; sudo chown GUEST_USERNAME:root GUEST_LOGDIR"
# If ~/trove-installed does not exist, copy the trove source from
# the user's development environment, then touch the sentinel file
ExecStartPre=/bin/bash -c "test -e /home/GUEST_USERNAME/trove-installed || sudo -u GUEST_USERNAME rsync -e 'ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' -avz --exclude='.*' HOST_SCP_USERNAME@CONTROLLER_IP:PATH_TROVE/ /home/GUEST_USERNAME/trove && touch /home/GUEST_USERNAME/trove-installed"
# If /etc/trove does not exist, create it and then copy the trove-guestagent.conf
# from /etc/trove on the user's development environment,
ExecStartPre=/bin/bash -c "test -d /etc/trove/conf.d || sudo mkdir -p /etc/trove/conf.d && sudo -u GUEST_USERNAME rsync -e 'ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' -avz --exclude='.*' HOST_SCP_USERNAME@CONTROLLER_IP:/etc/trove/trove-guestagent.conf ~GUEST_USERNAME/ && sudo mv ~GUEST_USERNAME/trove-guestagent.conf /etc/trove/conf.d/trove-guestagent.conf"
ExecStartPre=/bin/bash -c "sudo chown -R GUEST_USERNAME:root /etc/trove"
ExecStart=/home/GUEST_USERNAME/trove/contrib/trove-guestagent --config-dir=/etc/trove/conf.d
# Give a reasonable amount of time for the server to start up/shut down
TimeoutSec=300
# PgSql doesn't play nice with PrivateTmp
PrivateTmp=false
[Install]
WantedBy=multi-user.target