packaging: Include the Agent plugins dir in the classpath

For both the RPM and DEB packages are new directory for plugins
for the agent is created.

All JAR files in that directory will be added to the classpath
on boot of the agent.
This commit is contained in:
Wido den Hollander 2013-03-06 19:09:02 +01:00
parent 03bc74bd50
commit 9e02ed139f
5 changed files with 10 additions and 2 deletions

View File

@ -23,3 +23,4 @@
/usr/bin/cloud-ssh
/var/log/cloudstack/agent
/usr/share/cloudstack-agent/lib/*
/usr/share/cloudstack-agent/plugins

3
debian/rules vendored
View File

@ -56,10 +56,13 @@ install:
mkdir -p debian/tmp/var/log/$(PACKAGE)
mkdir -p debian/tmp/var/lib/$(PACKAGE)
mkdir -p debian/tmp/usr/bin
mkdir -p debian/tmp/usr/share
# cloudstack-agent
mkdir debian/tmp$(SYSCONFDIR)/$(PACKAGE)/agent
mkdir debian/tmp/var/log/$(PACKAGE)/agent
mkdir debian/tmp/usr/share/$(PACKAGE)-agent
mkdir debian/tmp/usr/share/$(PACKAGE)-agent/plugins
install -D agent/target/cloud-agent-4.2.0-SNAPSHOT.jar debian/tmp/usr/share/$(PACKAGE)-agent/lib/$(PACKAGE)-agent.jar
install -D plugins/hypervisors/kvm/target/cloud-plugin-hypervisor-kvm-4.2.0-SNAPSHOT.jar debian/tmp/usr/share/$(PACKAGE)-agent/lib/
install -D plugins/hypervisors/kvm/target/dependencies/* debian/tmp/usr/share/$(PACKAGE)-agent/lib/

View File

@ -57,11 +57,12 @@ done
export JAVA_HOME
ACP=`ls /usr/share/cloudstack-agent/lib/*.jar | tr '\n' ':' | sed s'/.$//'`
PCP=`ls /usr/share/cloudstack-agent/plugins/*.jar 2>/dev/null | tr '\n' ':' | sed s'/.$//'`
# We need to append the JSVC daemon JAR to the classpath
# AgentShell implements the JSVC daemon methods
# We also need JNA in the classpath (from the distribution) for the Libvirt Java bindings
export CLASSPATH="/usr/share/java/commons-daemon.jar:/usr/share/java/jna.jar:$ACP:/etc/cloudstack/agent:/usr/share/cloudstack-common/scripts"
export CLASSPATH="/usr/share/java/commons-daemon.jar:/usr/share/java/jna.jar:$ACP:$PCP:/etc/cloudstack/agent:/usr/share/cloudstack-common/scripts"
start() {
echo -n $"Starting $PROGNAME: "

View File

@ -256,6 +256,7 @@ chmod 770 ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/agent
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/agent
mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/agent
mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-agent/lib
mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-agent/plugins
install -D packaging/centos63/cloud-agent.rc ${RPM_BUILD_ROOT}%{_sysconfdir}/init.d/%{name}-agent
install -D agent/target/transformed/agent.properties ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/agent/agent.properties
install -D agent/target/transformed/environment.properties ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/agent/environment.properties
@ -395,6 +396,7 @@ fi
%config(noreplace) %{_sysconfdir}/%{name}/agent
%dir %{_localstatedir}/log/%{name}/agent
%attr(0644,root,root) %{_datadir}/%{name}-agent/lib/*.jar
%dir %{_datadir}/%{name}-agent/plugins
%doc LICENSE
%doc NOTICE

View File

@ -56,11 +56,12 @@ done
export JAVA_HOME
ACP=`ls /usr/share/cloudstack-agent/lib/*.jar | tr '\n' ':' | sed s'/.$//'`
PCP=`ls /usr/share/cloudstack-agent/plugins/*.jar 2>/dev/null | tr '\n' ':' | sed s'/.$//'`
# We need to append the JSVC daemon JAR to the classpath
# AgentShell implements the JSVC daemon methods
# We also need JNA in the classpath (from the distribution) for the Libvirt Java bindings
export CLASSPATH="/usr/share/java/commons-daemon.jar:/usr/share/java/jna.jar:$ACP:/etc/cloudstack/agent"
export CLASSPATH="/usr/share/java/commons-daemon.jar:/usr/share/java/jna.jar:$ACP:$PCP:/etc/cloudstack/agent"
wait_for_network() {
i=1