From: Mo Morsi <mmorsi(a)redhat.com>
---
recipes/aeolus/files/deltacloud-core.service | 10 +++
recipes/aeolus/files/deltacloud-core.sysconf | 24 ++++++
recipes/aeolus/manifests/deltacloud.pp | 11 ++-
recipes/aeolus/templates/deltacloud-core | 103 --------------------------
4 files changed, 40 insertions(+), 108 deletions(-)
create mode 100644 recipes/aeolus/files/deltacloud-core.service
create mode 100644 recipes/aeolus/files/deltacloud-core.sysconf
delete mode 100644 recipes/aeolus/templates/deltacloud-core
diff --git a/recipes/aeolus/files/deltacloud-core.service
b/recipes/aeolus/files/deltacloud-core.service
new file mode 100644
index 0000000..3b9a5d7
--- /dev/null
+++ b/recipes/aeolus/files/deltacloud-core.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=An abstract cloud computing api
+After=syslog.target network.target
+
+[Service]
+Type=forking
+PIDFile=/var/run/deltacloud-core.pid
+EnvironmentFile=/etc/sysconfig/deltacloud-core
+ExecStart=/usr/bin/deltacloudd -i $DRIVER -e $ENV -p $PORT -d --pid
/var/run/deltacloud-core.pid
+ExecStop=/bin/kill -TERM $MAINPID
diff --git a/recipes/aeolus/files/deltacloud-core.sysconf
b/recipes/aeolus/files/deltacloud-core.sysconf
new file mode 100644
index 0000000..9184c19
--- /dev/null
+++ b/recipes/aeolus/files/deltacloud-core.sysconf
@@ -0,0 +1,24 @@
+# Deltacloud API configuration
+#
http://deltacloud.org
+
+# Default port where Deltacloud API will listen on (3002)
+# You should be able to access Deltacloud API on
http://localhost:PORT/api
+
+PORT=3002
+
+# Bind to HOST address (default: localhost)
+# You can use both IP address or hostname
+
+HOST=localhost
+
+# Default driver to be used (EC2).
+# NOTE: Some drivers require some additional gems to be installed.
+# Please reffer to
http://deltacloud.org to see what gems are needed for specific
+# drivers
+
+DRIVER="ec2"
+
+# Default log file for Deltacloud API
+# LOGFILE="/var/log/deltacloud-core/ec2.log"
+
+ENV='production'
diff --git a/recipes/aeolus/manifests/deltacloud.pp
b/recipes/aeolus/manifests/deltacloud.pp
index ce9ad05..38e75c5 100644
--- a/recipes/aeolus/manifests/deltacloud.pp
+++ b/recipes/aeolus/manifests/deltacloud.pp
@@ -12,16 +12,17 @@ class aeolus::deltacloud::core {
include ntp::client
### Start the aeolus services
- file { "/var/log/deltacloud-core": ensure => 'directory' }
- file {"/etc/init.d/deltacloud-core":
- content => template("aeolus/deltacloud-core"),
- mode => 755 }
+ file { "/var/log/deltacloud-core.log":}
+ file {"/lib/systemd/system/deltacloud-core.service":
+ source => "puppet:///modules/aeolus/deltacloud-core.service"}
+ file {"/etc/sysconfig/deltacloud-core":
+ source => "puppet:///modules/aeolus/deltacloud-core.sysconf"}
service { 'deltacloud-core':
ensure => 'running',
enable => true,
hasstatus => true,
- require => [Package['deltacloud-core'],
File["/etc/init.d/deltacloud-core", "/var/log/deltacloud-core"]]}
+ require => [Package['deltacloud-core'],
File["/lib/systemd/system/deltacloud-core.service",
"/var/log/deltacloud-core.log", "/etc/sysconfig/deltacloud-core"]]}
}
class aeolus::deltacloud::ec2 {
diff --git a/recipes/aeolus/templates/deltacloud-core
b/recipes/aeolus/templates/deltacloud-core
deleted file mode 100644
index 5f1f888..0000000
--- a/recipes/aeolus/templates/deltacloud-core
+++ /dev/null
@@ -1,103 +0,0 @@
-#!/bin/bash
-#
-#
-# deltacloud-core startup script for deltacloud-core server
-#
-# chkconfig: - 97 03
-# description: deltacloud-core is primary server process for the \
-# Deltacloud Core component.
-#
-
-[ -r /etc/sysconfig/deltacloud-core ] && . /etc/sysconfig/deltacloud-core
-
-ENV="${ENV:-production}"
-DRIVER="${DRIVER:-ec2}"
-PORT="${PORT:-3002}"
-LOCKFILE="${LOCKFILE:-/var/lock/subsys/deltacloud-core}"
-LOGFILE="${LOGFILE:-/var/log/deltacloud-core/$DRIVER.log}"
-PIDFILE="${THIN_PID:-/var/run/deltacloud-core.pid}"
-export
DELTACLOUD_MOCK_STORAGE=/usr/lib/ruby/gems/1.8/gems/deltacloud-core-0.3.0/lib/deltacloud/drivers/mock/data/
-
-PROG=/usr/bin/deltacloudd
-
-STARTTIMEOUT=20
-
-. /etc/init.d/functions
-
-start() {
- echo -n "Starting deltacloud-core: "
-
- if [ -f $LOCKFILE ] || [ -f $PIDFILE ] && checkpid `cat $PIDFILE` ; then
- echo_success
- echo
- echo "deltacloud-$DRIVER has already been started"
- exit 0
- fi
-
- $PROG -i $DRIVER -e $ENV -p $PORT >> $LOGFILE 2>&1 &
- RETVAL=$?
- echo $! > $PIDFILE
- if [ $RETVAL -eq 0 ] ; then
- TIMEOUT="$STARTTIMEOUT"
- while [ $TIMEOUT -gt 0 ]; do
- /usr/bin/curl --silent
http://localhost:$PORT/api >& /dev/null
- RETVAL=$?
- if [ $RETVAL -eq 0 ] ; then
- touch $LOCKFILE
- echo_success
- echo
- exit 0
- fi
- sleep 1
- let TIMEOUT=${TIMEOUT}-1
- done
- fi
-
- echo_failure
- echo
- exit 1
-}
-
-stop() {
- echo -n "Shutting down deltacloud-core: "
-
- # FIXME! we need to do a killproc -p <pidfile> here to ensure other deltacloud
- # daemons are not killed as well
- killproc -p $PIDFILE deltacloudd
- RETVAL=$?
- if [ $RETVAL -eq 0 ] && rm -f $LOCKFILE ; then
- echo_success
- echo
- else
- echo_failure
- echo
- fi
-}
-
-case "$1" in
- start)
- start
- ;;
- stop)
- stop
- ;;
- restart)
- stop
- start
- ;;
- reload)
- ;;
- force-reload)
- restart
- ;;
- status)
- status -p $PIDFILE $PROG
- RETVAL=$?
- ;;
- *)
- echo "Usage: deltacloud-core {start|stop|restart|status}"
- exit 1
- ;;
-esac
-
-exit $RETVAL
--
1.7.6