From: Igor Gajsin Date: Wed, 11 Mar 2015 12:48:53 +0000 (+0300) Subject: Add cinder-volume-vmware init files X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=596153e0c749df64bf011536eb4d2b6f228bbc93;p=openstack-build%2Fcinder-build.git Add cinder-volume-vmware init files Add 2 cinder-volume init-files special for vmware-related environments. They will be locaited in /usr/share/cinder and will be copied by puppet to /etc/init or /etc/init.d when it will be needed. Change-Id: Id794b193d4976ca55bf5c3fd55c284162112ac55 --- diff --git a/debian/cinder-volume-vmware.conf b/debian/cinder-volume-vmware.conf new file mode 100644 index 000000000..2e531c61a --- /dev/null +++ b/debian/cinder-volume-vmware.conf @@ -0,0 +1,21 @@ +# vim: set ft=upstart et ts=2: +description "Cinder volume service for vmware" +author "Igor Gajsin igajsin@mirantis.com" + +start on runlevel [2345] +stop on runlevel [!2345] + +chdir /var/run + +pre-start script + mkdir -p /var/run/cinder + chown cinder:cinder /var/run/cinder + + mkdir -p /var/lock/cinder + chown cinder:root /var/lock/cinder +end script + +script + [ -r /etc/default/$UPSTART_JOB ] &&. /etc/default/$UPSTART_JOB + start-stop-daemon --start --chuid cinder --exec /usr/bin/cinder-volume -- $CINDER_VOLUME_OPTS +end script diff --git a/debian/cinder-volume.dirs b/debian/cinder-volume.dirs index 769913906..2923f025c 100644 --- a/debian/cinder-volume.dirs +++ b/debian/cinder-volume.dirs @@ -1 +1,2 @@ var/lib/cinder/volumes +usr/share/cinder \ No newline at end of file diff --git a/debian/cinder-volume.install b/debian/cinder-volume.install index bbaf426b3..cbe16b457 100644 --- a/debian/cinder-volume.install +++ b/debian/cinder-volume.install @@ -1,4 +1,5 @@ debian/cinder_tgt.conf etc/tgt/conf.d +debian/cinder-volume-vmware.conf usr/share/cinder etc/cinder/rootwrap.d/volume.filters /etc/cinder/rootwrap.d usr/bin/cinder-volume usr/bin/cinder-volume-usage-audit diff --git a/rpm/SOURCES/openstack-cinder-volume-vmware.init b/rpm/SOURCES/openstack-cinder-volume-vmware.init new file mode 100644 index 000000000..063ace5df --- /dev/null +++ b/rpm/SOURCES/openstack-cinder-volume-vmware.init @@ -0,0 +1,114 @@ +#!/bin/sh +# +# openstack-cinder-volume OpenStack Cinder Volume Services +# +# chkconfig: - 98 02 +# description: Volume Workers interact with iSCSI storage to manage \ +# LVM-based instance volumes. Specific functions include: \ +# * Create Volumes \ +# * Establish Compute volumes +## BEGIN INIT INFO +# Provides: +# Required-Start: $remote_fs $network $syslog +# Required-Stop: $remote_fs $syslog +# Default-Stop: 0 1 6 +# Short-Description: OpenStack cinder Volume Worker +# Description: Volume Workers interact with iSCSI storage to manage +# LVM-based instance volumes. Specific functions include: +# * Create Volumes +# * Delete Volumes +# * Establish Compute volumes +### END INIT INFO + +. /etc/rc.d/init.d/functions + +suffix=volume +cluster=${0##*-} # s/cluster/index/ +prog=openstack-cinder-$suffix-vmware-$cluster +exec="/usr/bin/cinder-$suffix" +config="/etc/cinder/cinder.conf" +pidfile="/var/run/cinder/cinder-$suffix.$cluster.pid" +logfile="/var/log/cinder/$suffix-$cluster.log" + +[ -r /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog + +lockfile=/var/lock/subsys/$prog + +start() { + [ -x $exec ] || exit 5 + [ -f $config ] || exit 6 + echo -n $"Starting $prog: " + daemon --user cinder --pidfile $pidfile "$exec --logfile $logfile ${OPTIONS} &>/dev/null & echo \$! > $pidfile" + retval=$? + echo + [ $retval -eq 0 ] && touch $lockfile + return $retval +} + +stop() { + echo -n $"Stopping $prog: " + killproc -p $pidfile ${prog%%.*} + if pgrep -f "cinder-$suffix.*$cluster\.conf" &>/dev/null ; then + sleep 2 + pgrep -f "cinder-$suffix.*$cluster\.conf" &>/dev/null && \ + pkill -f "$cluster.conf" + fi + retval=$? + echo + [ $retval -eq 0 ] && rm -f $lockfile + return $retval +} + +restart() { + stop + start +} + +reload() { + restart +} + +force_reload() { + restart +} + +rh_status() { + status -p $pidfile $prog +} + +rh_status_q() { + rh_status >/dev/null 2>&1 +} + + +case "$1" in + start) + rh_status_q && exit 0 + $1 + ;; + stop) + rh_status_q || exit 0 + $1 + ;; + restart) + $1 + ;; + reload) + rh_status_q || exit 7 + $1 + ;; + force-reload) + force_reload + ;; + status) + rh_status + ;; + condrestart|try-restart) + rh_status_q || exit 0 + restart + ;; + *) + echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" + exit 2 +esac +exit $? diff --git a/rpm/SPECS/openstack-cinder.spec b/rpm/SPECS/openstack-cinder.spec index 6c9e4754e..714577924 100644 --- a/rpm/SPECS/openstack-cinder.spec +++ b/rpm/SPECS/openstack-cinder.spec @@ -17,7 +17,7 @@ Source10: openstack-cinder-api.init Source11: openstack-cinder-scheduler.init Source12: openstack-cinder-volume.init Source13: openstack-cinder-backup.init - +Source14: openstack-cinder-volume-vmware.init Source20: cinder-sudoers # @@ -201,6 +201,7 @@ install -d -m 755 %{buildroot}%{_localstatedir}/log/cinder # Install config files install -d -m 755 %{buildroot}%{_sysconfdir}/cinder install -p -D -m 640 %{SOURCE1} %{buildroot}%{_datadir}/cinder/cinder-dist.conf +install -p -D -m 755 %{SOURCE14} %{buildroot}%{_datadir}/cinder/openstack-cinder-volume-vmware install -p -D -m 640 etc/cinder/cinder.conf.sample %{buildroot}%{_sysconfdir}/cinder/cinder.conf install -d -m 755 %{buildroot}%{_sysconfdir}/cinder/volumes install -p -D -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/tgt/conf.d/cinder.conf