Return-Path: X-Original-To: apmail-incubator-cloudstack-commits-archive@minotaur.apache.org Delivered-To: apmail-incubator-cloudstack-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id EA421E46E for ; Tue, 29 Jan 2013 14:04:42 +0000 (UTC) Received: (qmail 41493 invoked by uid 500); 29 Jan 2013 14:04:42 -0000 Delivered-To: apmail-incubator-cloudstack-commits-archive@incubator.apache.org Received: (qmail 41446 invoked by uid 500); 29 Jan 2013 14:04:42 -0000 Mailing-List: contact cloudstack-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: cloudstack-dev@incubator.apache.org Delivered-To: mailing list cloudstack-commits@incubator.apache.org Received: (qmail 41428 invoked by uid 99); 29 Jan 2013 14:04:42 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 29 Jan 2013 14:04:42 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 05B54826D45; Tue, 29 Jan 2013 14:04:42 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: hugo@apache.org To: cloudstack-commits@incubator.apache.org X-Mailer: ASF-Git Admin Mailer Subject: [2/2] git commit: Package the usage server Message-Id: <20130129140442.05B54826D45@tyr.zones.apache.org> Date: Tue, 29 Jan 2013 14:04:42 +0000 (UTC) Updated Branches: refs/heads/packaging bb3cb77a1 -> 4b9c021c0 Package the usage server Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/4b9c021c Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/4b9c021c Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/4b9c021c Branch: refs/heads/packaging Commit: 4b9c021c0f42431bef26689b64905403994fd6fb Parents: aa7ac08 Author: Hugo Trippaers Authored: Tue Jan 29 08:44:51 2013 +0100 Committer: Hugo Trippaers Committed: Tue Jan 29 14:59:44 2013 +0100 ---------------------------------------------------------------------- packaging/centos63/cloud-usage.rc | 138 ++++++++++++++++++++++++++++++++ packaging/centos63/cloud.spec | 24 +++++- usage/pom.xml | 68 ++++++++++++++++ 3 files changed, 229 insertions(+), 1 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4b9c021c/packaging/centos63/cloud-usage.rc ---------------------------------------------------------------------- diff --git a/packaging/centos63/cloud-usage.rc b/packaging/centos63/cloud-usage.rc new file mode 100755 index 0000000..9aa01ea --- /dev/null +++ b/packaging/centos63/cloud-usage.rc @@ -0,0 +1,138 @@ +#!/bin/bash + +### BEGIN INIT INFO +# Provides: cloud usage +# Required-Start: $network $local_fs +# Required-Stop: $network $local_fs +# Default-Start: 3 4 5 +# Default-Stop: 0 1 2 6 +# Short-Description: Start/stop Apache CloudStack Usage Monitor +# Description: This scripts Starts/Stops the Apache CloudStack Usage Monitor +## The CloudStack Usage Monitor is a part of the Apache CloudStack project and is used +## for storing usage statistics from instances. +## JSVC (Java daemonizing) is used for starting and stopping the usage monitor. +### END INIT INFO + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +. /etc/rc.d/init.d/functions + +SHORTNAME="cloud-usage" +PIDFILE=/var/run/"$SHORTNAME".pid +LOCKFILE=/var/lock/subsys/"$SHORTNAME" +LOGFILE=/var/log/cloud/usage/usage.log +PROGNAME="CloudStack Usage Monitor" +CLASS="com.cloud.usage.UsageServer" +PROG="jsvc" +DAEMON="/usr/bin/jsvc" +USER=cloud + +unset OPTIONS +[ -r /etc/sysconfig/default/"$SHORTNAME" ] && source /etc/sysconfig/default/"$SHORTNAME" + +# The first existing directory is used for JAVA_HOME (if JAVA_HOME is not defined in $DEFAULT) +JDK_DIRS="/usr/lib/jvm/java-6-openjdk /usr/lib/jvm/java-6-openjdk-i386 /usr/lib/jvm/java-6-openjdk-amd64 /usr/lib/jvm/java-6-sun /usr/lib/jvm/jre-1.6.0 /usr/lib/j2sdk1.5-sun /usr/lib/jre-openjdk" + +for jdir in $JDK_DIRS; do + if [ -r "$jdir/bin/java" -a -z "${JAVA_HOME}" ]; then + JAVA_HOME="$jdir" + fi +done +export JAVA_HOME + +SCP="" +DCP="" +UCP=`ls /usr/share/cloud/usage/java/* | tr '\n' ':'` +JCP="/usr/share/java/commons-daemon.jar" + +# We need to append the JSVC daemon JAR to the classpath +# AgentShell implements the JSVC daemon methods +export CLASSPATH="$SCP:$DCP:$UCP:$JCP:/etc/sysconfig + +start() { + if [ -s "$PIDFILE" ] && kill -0 $(cat "$PIDFILE") >/dev/null 2>&1; then + echo "$PROGNAME apparently already running" + exit 0 + fi + + if hostname --fqdn >/dev/null 2>&1 ; then + true + else + echo "The host name does not resolve properly to an IP address. Cannot start $PROGNAME" + exit 1 + fi + + echo -n "Starting $PROGNAME" "$SHORTNAME" + + if daemon --pidfile $PIDFILE $DAEMON -cp "$CLASSPATH" -pidfile "$PIDFILE" -user "$USER" -errfile SYSLOG -Dpid=$$ $CLASS + RETVAL=$? + then + rc=0 + sleep 1 + if ! kill -0 $(cat "$PIDFILE") >/dev/null 2>&1; then + failure + rc=1 + fi + else + rc=1 + fi + + if [ $rc -eq 0 ]; then + success + else + failure + rm -f "$PIDFILE" + fi + echo +} + +stop() { + echo -n "Stopping $PROGNAME" "$SHORTNAME" + killproc -p $PIDFILE $DAEMON + if [ "$?" -eq 0 ]; then + success + else + failure + fi + rm -f "$PIDFILE" + echo +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + status) + status -p $PIDFILE $SHORTNAME + RETVAL=$? + ;; + restart | force-reload) + stop + sleep 3 + start + ;; + *) + echo "Usage: $0 {start|stop|restart|force-reload|status}" + RETVAL=3 +esac + +exit $RETVAL + http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4b9c021c/packaging/centos63/cloud.spec ---------------------------------------------------------------------- diff --git a/packaging/centos63/cloud.spec b/packaging/centos63/cloud.spec index d828e67..50e1d11 100644 --- a/packaging/centos63/cloud.spec +++ b/packaging/centos63/cloud.spec @@ -112,10 +112,21 @@ Requires: bridge-utils Requires: ebtables Requires: jsvc Requires: jna +Requires: jakarta-commons-daemon +Requires: jakarta-commons-daemon-jsvc Group: System Environment/Libraries %description agent The CloudStack agent for KVM hypervisors +%package usage +Summary: CloudStack Usage calculation server +Requires: java >= 1.6.0 +Requires: jsvc +Requires: jakarta-commons-daemon +Requires: jakarta-commons-daemon-jsvc +%description usage +The CloudStack usage calculation service + %prep echo Doing CloudStack build @@ -196,6 +207,7 @@ chmod 770 ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/management chmod 770 ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/agent chmod -R ugo+x ${RPM_BUILD_ROOT}/usr/share/%{name}/management/webapps/client/WEB-INF/classes/scripts +# KVM Agent mkdir -p ${RPM_BUILD_ROOT}/etc/cloud/agent mkdir -p ${RPM_BUILD_ROOT}/var/log/cloud/agent install -D packaging/centos63/cloud-agent.rc ${RPM_BUILD_ROOT}/etc/init.d/%{name}-agent @@ -204,12 +216,17 @@ install -D agent/target/transformed/environment.properties ${RPM_BUILD_ROOT}/etc install -D agent/target/transformed/log4j-cloud.xml ${RPM_BUILD_ROOT}/etc/cloud/agent/log4j-cloud.xml install -D agent/target/transformed/cloud-setup-agent ${RPM_BUILD_ROOT}/usr/bin/cloud-setup-agent install -D agent/target/transformed/cloud-ssh ${RPM_BUILD_ROOT}/usr/bin/cloud-ssh - install -D plugins/hypervisors/kvm/target/%{name}-plugin-hypervisor-kvm-%{_maventag}.jar ${RPM_BUILD_ROOT}/usr/share/cloud/java/%{name}-plugin-hypervisor-kvm-%{_maventag}.jar cp plugins/hypervisors/kvm/target/dependencies/* ${RPM_BUILD_ROOT}/usr/share/cloud/java mkdir -p ${RPM_BUILD_ROOT}/usr/share/cloud/scripts cp -r scripts/* ${RPM_BUILD_ROOT}/usr/share/cloud/scripts +# Usage server +install -D usage/target/%{name}-usage-%{_maventag}.jar ${RPM_BUILD_ROOT}/usr/share/cloud/usage/java/%{name}-usage-%{_maventag}.jar +cp usage/target/dependencies/* ${RPM_BUILD_ROOT}/usr/share/cloud/usage/java +install -D packaging/centos63/cloud-usage.rc ${RPM_BUILD_ROOT}/etc/init.d/%{name}-usage +mkdir -p ${RPM_BUILD_ROOT}/var/log/cloud/usage/ + %clean [ ${RPM_BUILD_ROOT} != "/" ] && rm -rf ${RPM_BUILD_ROOT} @@ -306,6 +323,11 @@ fi %attr(0644,root,root) /usr/share/cloud/java/*.jar %attr(0755,root,root) /usr/share/cloud/scripts +%files usage +%attr(0755,root,root) %{_sysconfdir}/init.d/cloud-usage +%attr(0644,root,root) /usr/share/cloud/usage/java/*.jar +%dir /var/log/cloud/usage + %changelog * Fri Oct 03 2012 Hugo Trippaers 4.1.0 - new style spec file http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4b9c021c/usage/pom.xml ---------------------------------------------------------------------- diff --git a/usage/pom.xml b/usage/pom.xml index 252e293..9ecd6e1 100644 --- a/usage/pom.xml +++ b/usage/pom.xml @@ -36,5 +36,73 @@ install src test + + + org.apache.maven.plugins + maven-dependency-plugin + 2.5.1 + + + copy-dependencies + package + + copy-dependencies + + + target/dependencies + runtime + + + + + + maven-antrun-plugin + 1.7 + + + generate-resource + generate-resources + + run + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +