2009-01-02 14:58:51 +00:00
#!/bin/bash
2009-01-19 18:05:46 +00:00
# -------------------------------------------------------------------------- #
2010-02-22 18:00:30 +01:00
# Copyright 2002-2010, OpenNebula Project Leads (OpenNebula.org) #
2009-01-19 18:05:46 +00:00
# #
# Licensed 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. #
#--------------------------------------------------------------------------- #
2009-01-02 14:58:51 +00:00
#-------------------------------------------------------------------------------
# Install program for OpenNebula. It will install it relative to
2010-07-11 20:39:10 +02:00
# $ONE_LOCATION if defined with the -d option, otherwise it'll be installed
2009-01-02 14:58:51 +00:00
# under /. In this case you may specified the oneadmin user/group, so you do
# not need run the OpenNebula daemon with root priviledges
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
# COMMAND LINE PARSING
#-------------------------------------------------------------------------------
usage( ) {
echo
2010-07-11 20:39:10 +02:00
echo "Usage: install.sh [-u install_user] [-g install_group] [-k keep conf]"
2009-10-22 11:20:27 +00:00
echo " [-d ONE_LOCATION] [-c occi|ec2] [-r] [-h]"
2010-07-11 20:39:10 +02:00
echo
2009-01-02 14:58:51 +00:00
echo "-u: user that will run opennebula, defults to user executing install.sh"
echo "-g: group of the user that will run opennebula, defults to user"
echo " executing install.sh"
2010-11-12 14:12:12 +01:00
echo "-k: keep configuration files of existing OpenNebula installation, useful"
echo " when upgrading. This flag should not be set when installing"
echo " OpenNebula for the first time"
2010-07-27 15:51:05 +02:00
echo "-d: target installation directory, if not defined it'd be root. Must be"
echo " an absolute path."
2009-10-22 11:20:27 +00:00
echo "-c: install only 'occi' or 'ec2' client files"
2009-01-02 14:58:51 +00:00
echo "-r: remove Opennebula, only useful if -d was not specified, otherwise"
echo " rm -rf \$ONE_LOCATION would do the job"
2009-08-27 17:25:39 +00:00
echo "-l: creates symlinks instead of copying files, useful for development"
2009-01-02 14:58:51 +00:00
echo "-h: prints this help"
2008-06-17 16:27:32 +00:00
}
2009-01-02 14:58:51 +00:00
#-------------------------------------------------------------------------------
2008-06-17 16:27:32 +00:00
2009-10-22 11:20:27 +00:00
TEMP_OPT = ` getopt -o hkrlc:u:g:d: -n 'install.sh' -- " $@ " `
2008-06-17 16:27:32 +00:00
2010-07-11 20:39:10 +02:00
if [ $? != 0 ] ; then
2009-01-02 14:58:51 +00:00
usage
exit 1
2008-06-17 16:27:32 +00:00
fi
2009-01-02 14:58:51 +00:00
eval set -- " $TEMP_OPT "
2008-07-17 19:42:17 +00:00
2009-01-02 14:58:51 +00:00
INSTALL_ETC = "yes"
UNINSTALL = "no"
2009-08-27 17:25:39 +00:00
LINK = "no"
2009-09-25 18:18:50 +00:00
CLIENT = "no"
2009-01-02 14:58:51 +00:00
ONEADMIN_USER = ` id -u`
ONEADMIN_GROUP = ` id -g`
SRC_DIR = $PWD
2008-11-13 16:21:17 +00:00
2009-01-02 14:58:51 +00:00
while true ; do
case " $1 " in
-h) usage; exit 0; ;
-k) INSTALL_ETC = "no" ; shift ; ;
-r) UNINSTALL = "yes" ; shift ; ;
2009-08-27 17:25:39 +00:00
-l) LINK = "yes" ; shift ; ;
2009-10-22 11:20:27 +00:00
-c) CLIENT = " $2 " ; shift 2; ;
2009-01-02 14:58:51 +00:00
-u) ONEADMIN_USER = " $2 " ; shift 2; ;
-g) ONEADMIN_GROUP = " $2 " ; shift 2; ;
2009-01-19 16:40:46 +00:00
-d) ROOT = " $2 " ; shift 2 ; ;
2009-01-02 14:58:51 +00:00
--) shift ; break ; ;
*) usage; exit 1 ; ;
esac
done
2008-11-13 16:21:17 +00:00
2009-10-22 11:20:27 +00:00
if echo " $CLIENT " | egrep -ivq '^(no|occi|ec2)$' ; then
echo " ERROR: client ' $CLIENT ' not valid. Use either 'occi' or 'ec2'. "
usage
exit 1
else
CLIENT = ` echo $CLIENT | tr [ :upper:] [ :lower:] `
fi
2009-01-02 14:58:51 +00:00
#-------------------------------------------------------------------------------
# Definition of locations
#-------------------------------------------------------------------------------
2009-01-19 16:40:46 +00:00
if [ -z " $ROOT " ] ; then
2009-01-02 14:58:51 +00:00
BIN_LOCATION = "/usr/bin"
LIB_LOCATION = "/usr/lib/one"
ETC_LOCATION = "/etc/one"
LOG_LOCATION = "/var/log/one"
VAR_LOCATION = "/var/lib/one"
2010-07-22 18:20:12 +02:00
IMAGES_LOCATION = " $VAR_LOCATION /images "
2009-01-02 14:58:51 +00:00
RUN_LOCATION = "/var/run/one"
2009-12-12 15:35:04 +00:00
LOCK_LOCATION = "/var/lock/one"
2009-01-02 14:58:51 +00:00
INCLUDE_LOCATION = "/usr/include"
2010-08-02 11:24:01 +02:00
SHARE_LOCATION = "/usr/share/one"
2010-10-14 17:24:01 +02:00
MAN_LOCATION = "/usr/share/man/man8"
2010-07-11 20:39:10 +02:00
2009-09-25 18:18:50 +00:00
if [ " $CLIENT " = "no" ] ; then
MAKE_DIRS = " $BIN_LOCATION $LIB_LOCATION $ETC_LOCATION $VAR_LOCATION \
$INCLUDE_LOCATION $SHARE_LOCATION \
2010-10-14 17:24:01 +02:00
$LOG_LOCATION $RUN_LOCATION $LOCK_LOCATION \
$IMAGES_LOCATION $MAN_LOCATION "
2010-07-11 20:39:10 +02:00
2009-09-25 18:18:50 +00:00
DELETE_DIRS = " $LIB_LOCATION $ETC_LOCATION $LOG_LOCATION $VAR_LOCATION \
$RUN_LOCATION $SHARE_DIRS "
2009-12-12 15:35:04 +00:00
CHOWN_DIRS = " $LOG_LOCATION $VAR_LOCATION $RUN_LOCATION $LOCK_LOCATION "
2009-09-25 18:18:50 +00:00
else
MAKE_DIRS = " $BIN_LOCATION $LIB_LOCATION "
2009-01-02 14:58:51 +00:00
2009-09-25 18:18:50 +00:00
DELETE_DIRS = ""
2009-01-02 14:58:51 +00:00
2009-09-25 18:18:50 +00:00
CHOWN_DIRS = ""
fi
2009-05-07 15:23:13 +00:00
2009-01-02 14:58:51 +00:00
else
2009-01-19 16:40:46 +00:00
BIN_LOCATION = " $ROOT /bin "
LIB_LOCATION = " $ROOT /lib "
ETC_LOCATION = " $ROOT /etc "
VAR_LOCATION = " $ROOT /var "
2010-07-22 18:20:12 +02:00
IMAGES_LOCATION = " $VAR_LOCATION /images "
2009-01-19 16:40:46 +00:00
INCLUDE_LOCATION = " $ROOT /include "
SHARE_LOCATION = " $ROOT /share "
2010-10-14 17:24:01 +02:00
MAN_LOCATION = " $ROOT /share/man/man8 "
2009-01-02 14:58:51 +00:00
2009-09-25 18:18:50 +00:00
if [ " $CLIENT " = "no" ] ; then
MAKE_DIRS = " $BIN_LOCATION $LIB_LOCATION $ETC_LOCATION $VAR_LOCATION \
2010-10-14 17:24:01 +02:00
$INCLUDE_LOCATION $SHARE_LOCATION $IMAGES_LOCATION \
$MAN_LOCATION "
2010-07-11 20:39:10 +02:00
2009-09-25 18:18:50 +00:00
DELETE_DIRS = " $MAKE_DIRS "
CHOWN_DIRS = " $ROOT "
else
MAKE_DIRS = " $BIN_LOCATION $LIB_LOCATION "
DELETE_DIRS = " $MAKE_DIRS "
fi
2009-01-02 14:58:51 +00:00
2009-01-19 16:40:46 +00:00
CHOWN_DIRS = " $ROOT "
2009-01-02 14:58:51 +00:00
fi
2008-11-13 16:21:17 +00:00
2009-01-02 14:58:51 +00:00
SHARE_DIRS = " $SHARE_LOCATION /examples \
2009-07-21 10:45:54 +00:00
$SHARE_LOCATION /examples/tm \
$SHARE_LOCATION /hooks"
2009-01-02 14:58:51 +00:00
ETC_DIRS = " $ETC_LOCATION /im_kvm \
$ETC_LOCATION /im_xen \
$ETC_LOCATION /im_ec2 \
$ETC_LOCATION /vmm_ec2 \
2010-09-29 12:07:20 +02:00
$ETC_LOCATION /vmm_ssh \
2010-09-30 17:16:31 +02:00
$ETC_LOCATION /vmm_sh \
2009-01-02 14:58:51 +00:00
$ETC_LOCATION /tm_nfs \
$ETC_LOCATION /tm_ssh \
2009-04-03 23:34:33 +00:00
$ETC_LOCATION /tm_dummy \
2009-10-16 13:50:56 +00:00
$ETC_LOCATION /tm_lvm \
2009-07-21 14:56:35 +00:00
$ETC_LOCATION /hm \
2010-07-09 18:59:42 +02:00
$ETC_LOCATION /auth \
2009-09-03 18:10:55 +00:00
$ETC_LOCATION /ec2query_templates \
$ETC_LOCATION /occi_templates"
2009-01-02 14:58:51 +00:00
2010-11-16 12:29:14 +01:00
LIB_DIRS = " $LIB_LOCATION /ruby \
2009-07-09 14:34:34 +00:00
$LIB_LOCATION /ruby/OpenNebula \
2009-10-11 23:06:46 +00:00
$LIB_LOCATION /ruby/cloud/ \
$LIB_LOCATION /ruby/cloud/econe \
$LIB_LOCATION /ruby/cloud/econe/views \
$LIB_LOCATION /ruby/cloud/occi \
2009-01-02 14:58:51 +00:00
$LIB_LOCATION /tm_commands \
$LIB_LOCATION /tm_commands/nfs \
$LIB_LOCATION /tm_commands/ssh \
$LIB_LOCATION /tm_commands/dummy \
2009-10-16 13:50:56 +00:00
$LIB_LOCATION /tm_commands/lvm \
2010-11-24 16:27:07 +01:00
$LIB_LOCATION /mads \
$LIB_LOCATION /remotes \
$LIB_LOCATION /remotes/im \
$LIB_LOCATION /remotes/im/kvm.d \
$LIB_LOCATION /remotes/im/xen.d \
$LIB_LOCATION /remotes/vmm/xen \
$LIB_LOCATION /remotes/vmm/kvm"
2009-01-02 14:58:51 +00:00
2010-11-16 12:29:14 +01:00
VAR_DIRS = " $VAR_LOCATION /remotes \
$VAR_LOCATION /remotes/im \
$VAR_LOCATION /remotes/im/kvm.d \
$VAR_LOCATION /remotes/im/xen.d \
$VAR_LOCATION /remotes/vmm/xen \
$VAR_LOCATION /remotes/vmm/kvm"
2009-10-22 11:20:27 +00:00
LIB_ECO_CLIENT_DIRS = " $LIB_LOCATION /ruby \
$LIB_LOCATION /ruby/OpenNebula
$LIB_LOCATION /ruby/cloud/ \
$LIB_LOCATION /ruby/cloud/econe"
LIB_OCCI_CLIENT_DIRS = " $LIB_LOCATION /ruby \
$LIB_LOCATION /ruby/OpenNebula
$LIB_LOCATION /ruby/cloud/occi"
2009-09-25 18:18:50 +00:00
if [ " $CLIENT " = "no" ] ; then
2010-11-16 12:29:14 +01:00
MAKE_DIRS = " $MAKE_DIRS $SHARE_DIRS $ETC_DIRS $LIB_DIRS $VAR_DIRS "
2009-10-22 11:20:27 +00:00
elif [ " $CLIENT " = "ec2" ] ; then
MAKE_DIRS = " $MAKE_DIRS $LIB_ECO_CLIENT_DIRS "
elif [ " $CLIENT " = "occi" ] ; then
MAKE_DIRS = " $MAKE_DIRS $LIB_OCCI_CLIENT_DIRS "
2009-09-25 18:18:50 +00:00
fi
2009-01-02 14:58:51 +00:00
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
# FILE DEFINITION, WHAT IS GOING TO BE INSTALLED AND WHERE
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
INSTALL_FILES[ 0] = " BIN_FILES: $BIN_LOCATION "
INSTALL_FILES[ 1] = " INCLUDE_FILES: $INCLUDE_LOCATION "
INSTALL_FILES[ 2] = " LIB_FILES: $LIB_LOCATION "
INSTALL_FILES[ 3] = " RUBY_LIB_FILES: $LIB_LOCATION /ruby "
2009-07-09 14:34:34 +00:00
INSTALL_FILES[ 4] = " RUBY_OPENNEBULA_LIB_FILES: $LIB_LOCATION /ruby/OpenNebula "
INSTALL_FILES[ 5] = " MADS_LIB_FILES: $LIB_LOCATION /mads "
2010-11-16 12:29:14 +01:00
INSTALL_FILES[ 6] = " IM_PROBES_FILES: $VAR_LOCATION /remotes/im "
INSTALL_FILES[ 7] = " IM_PROBES_KVM_FILES: $VAR_LOCATION /remotes/im/kvm.d "
INSTALL_FILES[ 8] = " IM_PROBES_XEN_FILES: $VAR_LOCATION /remotes/im/xen.d "
INSTALL_FILES[ 9] = " VMM_SSH_KVM_SCRIPTS: $VAR_LOCATION /remotes/vmm/kvm "
INSTALL_FILES[ 10] = " VMM_SSH_XEN_SCRIPTS: $VAR_LOCATION /remotes/vmm/xen "
2010-11-24 16:27:07 +01:00
INSTALL_FILES[ 11] = " IM_PROBES_FILES: $LIB_LOCATION /remotes/im "
INSTALL_FILES[ 12] = " IM_PROBES_KVM_FILES: $LIB_LOCATION /remotes/im/kvm.d "
INSTALL_FILES[ 13] = " IM_PROBES_XEN_FILES: $LIB_LOCATION /remotes/im/xen.d "
INSTALL_FILES[ 14] = " VMM_SSH_KVM_SCRIPTS: $LIB_LOCATION /remotes/vmm/kvm "
INSTALL_FILES[ 15] = " VMM_SSH_XEN_SCRIPTS: $LIB_LOCATION /remotes/vmm/xen "
INSTALL_FILES[ 16] = " NFS_TM_COMMANDS_LIB_FILES: $LIB_LOCATION /tm_commands/nfs "
INSTALL_FILES[ 17] = " SSH_TM_COMMANDS_LIB_FILES: $LIB_LOCATION /tm_commands/ssh "
INSTALL_FILES[ 18] = " DUMMY_TM_COMMANDS_LIB_FILES: $LIB_LOCATION /tm_commands/dummy "
INSTALL_FILES[ 19] = " LVM_TM_COMMANDS_LIB_FILES: $LIB_LOCATION /tm_commands/lvm "
INSTALL_FILES[ 20] = " EXAMPLE_SHARE_FILES: $SHARE_LOCATION /examples "
INSTALL_FILES[ 21] = " TM_EXAMPLE_SHARE_FILES: $SHARE_LOCATION /examples/tm "
INSTALL_FILES[ 22] = " HOOK_SHARE_FILES: $SHARE_LOCATION /hooks "
INSTALL_FILES[ 23] = " COMMON_CLOUD_LIB_FILES: $LIB_LOCATION /ruby/cloud "
INSTALL_FILES[ 24] = " ECO_LIB_FILES: $LIB_LOCATION /ruby/cloud/econe "
INSTALL_FILES[ 25] = " ECO_LIB_VIEW_FILES: $LIB_LOCATION /ruby/cloud/econe/views "
INSTALL_FILES[ 26] = " ECO_BIN_FILES: $BIN_LOCATION "
INSTALL_FILES[ 27] = " OCCI_LIB_FILES: $LIB_LOCATION /ruby/cloud/occi "
INSTALL_FILES[ 28] = " OCCI_BIN_FILES: $BIN_LOCATION "
INSTALL_FILES[ 29] = " MAN_FILES: $MAN_LOCATION "
2009-01-02 14:58:51 +00:00
2009-10-22 23:36:20 +00:00
INSTALL_ECO_CLIENT_FILES[ 0] = " COMMON_CLOUD_CLIENT_LIB_FILES: $LIB_LOCATION /ruby/cloud "
INSTALL_ECO_CLIENT_FILES[ 1] = " ECO_LIB_CLIENT_FILES: $LIB_LOCATION /ruby/cloud/econe "
INSTALL_ECO_CLIENT_FILES[ 2] = " ECO_BIN_CLIENT_FILES: $BIN_LOCATION "
2009-10-22 11:20:27 +00:00
INSTALL_OCCI_CLIENT_FILES[ 0] = " COMMON_CLOUD_CLIENT_LIB_FILES: $LIB_LOCATION /ruby/cloud "
2009-10-22 20:50:34 +00:00
INSTALL_OCCI_CLIENT_FILES[ 1] = " OCCI_LIB_CLIENT_FILES: $LIB_LOCATION /ruby/cloud/occi "
2009-10-22 11:20:27 +00:00
INSTALL_OCCI_CLIENT_FILES[ 2] = " OCCI_BIN_CLIENT_FILES: $BIN_LOCATION "
2009-09-25 18:18:50 +00:00
2009-01-02 14:58:51 +00:00
INSTALL_ETC_FILES[ 0] = " ETC_FILES: $ETC_LOCATION "
2010-08-31 10:47:22 +02:00
INSTALL_ETC_FILES[ 1] = " VMM_EC2_ETC_FILES: $ETC_LOCATION /vmm_ec2 "
2010-09-29 12:07:20 +02:00
INSTALL_ETC_FILES[ 2] = " VMM_SSH_ETC_FILES: $ETC_LOCATION /vmm_ssh "
2010-09-30 17:16:31 +02:00
INSTALL_ETC_FILES[ 3] = " VMM_SH_ETC_FILES: $ETC_LOCATION /vmm_sh "
INSTALL_ETC_FILES[ 4] = " IM_EC2_ETC_FILES: $ETC_LOCATION /im_ec2 "
INSTALL_ETC_FILES[ 5] = " TM_NFS_ETC_FILES: $ETC_LOCATION /tm_nfs "
INSTALL_ETC_FILES[ 6] = " TM_SSH_ETC_FILES: $ETC_LOCATION /tm_ssh "
INSTALL_ETC_FILES[ 7] = " TM_DUMMY_ETC_FILES: $ETC_LOCATION /tm_dummy "
INSTALL_ETC_FILES[ 8] = " TM_LVM_ETC_FILES: $ETC_LOCATION /tm_lvm "
INSTALL_ETC_FILES[ 9] = " HM_ETC_FILES: $ETC_LOCATION /hm "
INSTALL_ETC_FILES[ 10] = " AUTH_ETC_FILES: $ETC_LOCATION /auth "
INSTALL_ETC_FILES[ 11] = " ECO_ETC_FILES: $ETC_LOCATION "
INSTALL_ETC_FILES[ 12] = " ECO_ETC_TEMPLATE_FILES: $ETC_LOCATION /ec2query_templates "
INSTALL_ETC_FILES[ 13] = " OCCI_ETC_FILES: $ETC_LOCATION "
INSTALL_ETC_FILES[ 14] = " OCCI_ETC_TEMPLATE_FILES: $ETC_LOCATION /occi_templates "
2009-01-02 14:58:51 +00:00
#-------------------------------------------------------------------------------
# Binary files, to be installed under $BIN_LOCATION
#-------------------------------------------------------------------------------
BIN_FILES = " src/nebula/oned \
2010-05-14 17:49:23 +02:00
src/scheduler/src/sched/mm_sched \
2010-05-17 15:54:46 +02:00
src/cli/onevm \
src/cli/onehost \
src/cli/onevnet \
src/cli/oneuser \
2010-06-25 13:39:43 +02:00
src/cli/oneimage \
2010-07-09 11:49:19 +02:00
src/cli/onecluster \
2010-07-22 21:51:59 +02:00
share/scripts/one \
src/authm_mad/oneauth"
2009-01-02 14:58:51 +00:00
#-------------------------------------------------------------------------------
# C/C++ OpenNebula API Library & Development files
# Include files, to be installed under $INCLUDE_LOCATION
# Library files, to be installed under $LIB_LOCATION
#-------------------------------------------------------------------------------
2010-05-17 15:54:46 +02:00
INCLUDE_FILES = ""
LIB_FILES = ""
2009-01-02 14:58:51 +00:00
#-------------------------------------------------------------------------------
# Ruby library files, to be installed under $LIB_LOCATION/ruby
#-------------------------------------------------------------------------------
2010-08-31 23:28:05 +02:00
RUBY_LIB_FILES = " src/mad/ruby/ActionManager.rb \
2009-02-10 17:37:38 +00:00
src/mad/ruby/CommandManager.rb \
src/mad/ruby/OpenNebulaDriver.rb \
src/mad/ruby/VirtualMachineDriver.rb \
2010-05-17 15:54:46 +02:00
src/cli/client_utilities.rb \
src/cli/command_parse.rb \
2009-07-23 13:54:48 +00:00
src/oca/ruby/OpenNebula.rb \
2010-07-09 18:59:42 +02:00
src/tm_mad/TMScript.rb \
src/authm_mad/one_usage.rb \
src/authm_mad/quota.rb \
2010-07-12 19:49:46 +02:00
src/authm_mad/simple_auth.rb \
2010-07-16 18:48:20 +02:00
src/authm_mad/simple_permissions.rb \
src/authm_mad/ssh_auth.rb"
2009-01-02 14:58:51 +00:00
2009-07-23 13:54:48 +00:00
RUBY_OPENNEBULA_LIB_FILES = " src/oca/ruby/OpenNebula/Host.rb \
src/oca/ruby/OpenNebula/HostPool.rb \
src/oca/ruby/OpenNebula/Pool.rb \
src/oca/ruby/OpenNebula/User.rb \
src/oca/ruby/OpenNebula/UserPool.rb \
src/oca/ruby/OpenNebula/VirtualMachine.rb \
src/oca/ruby/OpenNebula/VirtualMachinePool.rb \
src/oca/ruby/OpenNebula/VirtualNetwork.rb \
src/oca/ruby/OpenNebula/VirtualNetworkPool.rb \
2010-06-25 13:36:42 +02:00
src/oca/ruby/OpenNebula/Image.rb \
src/oca/ruby/OpenNebula/ImagePool.rb \
2010-08-01 18:28:03 +02:00
src/oca/ruby/OpenNebula/ImageRepository.rb \
2010-07-09 11:49:19 +02:00
src/oca/ruby/OpenNebula/Cluster.rb \
src/oca/ruby/OpenNebula/ClusterPool.rb \
2009-07-23 13:54:48 +00:00
src/oca/ruby/OpenNebula/XMLUtils.rb"
2010-08-24 16:44:42 +02:00
2009-01-02 14:58:51 +00:00
#-------------------------------------------------------------------------------
# Driver executable files, to be installed under $LIB_LOCATION/mads
#-------------------------------------------------------------------------------
2009-09-25 16:03:03 +00:00
MADS_LIB_FILES = " src/mad/sh/madcommon.sh \
2009-01-02 14:58:51 +00:00
src/tm_mad/tm_common.sh \
2010-09-29 12:07:20 +02:00
src/vmm_mad/ssh/one_vmm_ssh.rb \
src/vmm_mad/ssh/one_vmm_ssh \
2010-09-30 17:16:31 +02:00
src/vmm_mad/sh/one_vmm_sh.rb \
src/vmm_mad/sh/one_vmm_sh \
2009-01-02 14:58:51 +00:00
src/vmm_mad/ec2/one_vmm_ec2.rb \
src/vmm_mad/ec2/one_vmm_ec2 \
2010-09-01 19:58:01 +02:00
src/vmm_mad/dummy/one_vmm_dummy.rb \
src/vmm_mad/dummy/one_vmm_dummy \
2009-01-02 14:58:51 +00:00
src/im_mad/im_ssh/one_im_ssh.rb \
src/im_mad/im_ssh/one_im_ssh \
2010-09-30 17:16:31 +02:00
src/im_mad/im_sh/one_im_sh.rb \
src/im_mad/im_sh/one_im_sh \
2009-01-02 14:58:51 +00:00
src/im_mad/ec2/one_im_ec2.rb \
src/im_mad/ec2/one_im_ec2 \
2010-09-01 19:58:01 +02:00
src/im_mad/dummy/one_im_dummy.rb \
src/im_mad/dummy/one_im_dummy \
2009-01-02 14:58:51 +00:00
src/tm_mad/one_tm \
2009-04-03 23:34:33 +00:00
src/tm_mad/one_tm.rb \
src/hm_mad/one_hm.rb \
2010-07-09 18:59:42 +02:00
src/hm_mad/one_hm \
src/authm_mad/one_auth_mad.rb \
2010-07-12 17:07:56 +02:00
src/authm_mad/one_auth_mad"
2010-08-24 16:44:42 +02:00
#-------------------------------------------------------------------------------
# VMM SH Driver KVM scripts, to be installed under $REMOTES_LOCATION/vmm/kvm
#-------------------------------------------------------------------------------
2010-09-29 12:07:20 +02:00
VMM_SSH_KVM_SCRIPTS = " src/vmm_mad/remotes/kvm/cancel \
2010-08-30 13:00:11 +02:00
src/vmm_mad/remotes/kvm/deploy \
src/vmm_mad/remotes/kvm/kvmrc \
src/vmm_mad/remotes/kvm/migrate \
src/vmm_mad/remotes/kvm/poll \
src/vmm_mad/remotes/kvm/restore \
src/vmm_mad/remotes/kvm/save \
src/vmm_mad/remotes/kvm/shutdown"
2010-08-24 16:44:42 +02:00
#-------------------------------------------------------------------------------
# VMM SH Driver Xen scripts, to be installed under $REMOTES_LOCATION/vmm/xen
#-------------------------------------------------------------------------------
2010-09-29 12:07:20 +02:00
VMM_SSH_XEN_SCRIPTS = " src/vmm_mad/remotes/xen/cancel \
2010-08-30 13:00:11 +02:00
src/vmm_mad/remotes/xen/deploy \
src/vmm_mad/remotes/xen/xenrc \
src/vmm_mad/remotes/xen/migrate \
src/vmm_mad/remotes/xen/poll \
src/vmm_mad/remotes/xen/restore \
src/vmm_mad/remotes/xen/save \
src/vmm_mad/remotes/xen/shutdown"
2010-08-24 16:44:42 +02:00
2009-01-02 14:58:51 +00:00
#-------------------------------------------------------------------------------
2010-08-19 18:58:00 +02:00
# Information Manager Probes, to be installed under $LIB_LOCATION/remotes
2009-01-02 14:58:51 +00:00
#-------------------------------------------------------------------------------
2010-08-30 13:00:11 +02:00
IM_PROBES_FILES = "src/im_mad/remotes/run_probes"
2010-08-19 18:58:00 +02:00
2010-10-05 16:09:34 +02:00
IM_PROBES_XEN_FILES = " src/im_mad/remotes/xen.d/xen.rb \
src/im_mad/remotes/xen.d/architecture.sh \
src/im_mad/remotes/xen.d/cpu.sh \
src/im_mad/remotes/xen.d/name.sh"
2010-08-19 18:58:00 +02:00
2010-10-05 16:09:34 +02:00
IM_PROBES_KVM_FILES = " src/im_mad/remotes/kvm.d/kvm.rb \
src/im_mad/remotes/kvm.d/architecture.sh \
src/im_mad/remotes/kvm.d/cpu.sh \
src/im_mad/remotes/kvm.d/name.sh"
2010-08-19 18:58:00 +02:00
2009-01-02 14:58:51 +00:00
#-------------------------------------------------------------------------------
# Transfer Manager commands, to be installed under $LIB_LOCATION/tm_commands
# - NFS TM, $LIB_LOCATION/tm_commands/nfs
# - SSH TM, $LIB_LOCATION/tm_commands/ssh
# - dummy TM, $LIB_LOCATION/tm_commands/dummy
2009-10-16 13:50:56 +00:00
# - LVM TM, $LIB_LOCATION/tm_commands/lvm
2009-01-02 14:58:51 +00:00
#-------------------------------------------------------------------------------
NFS_TM_COMMANDS_LIB_FILES = " src/tm_mad/nfs/tm_clone.sh \
src/tm_mad/nfs/tm_delete.sh \
src/tm_mad/nfs/tm_ln.sh \
src/tm_mad/nfs/tm_mkswap.sh \
src/tm_mad/nfs/tm_mkimage.sh \
2009-03-17 22:39:06 +00:00
src/tm_mad/nfs/tm_mv.sh \
src/tm_mad/nfs/tm_context.sh"
2009-01-02 14:58:51 +00:00
SSH_TM_COMMANDS_LIB_FILES = " src/tm_mad/ssh/tm_clone.sh \
src/tm_mad/ssh/tm_delete.sh \
src/tm_mad/ssh/tm_ln.sh \
src/tm_mad/ssh/tm_mkswap.sh \
src/tm_mad/ssh/tm_mkimage.sh \
2009-03-31 10:51:54 +00:00
src/tm_mad/ssh/tm_mv.sh \
src/tm_mad/ssh/tm_context.sh"
2009-01-02 14:58:51 +00:00
DUMMY_TM_COMMANDS_LIB_FILES = "src/tm_mad/dummy/tm_dummy.sh"
2009-10-16 13:50:56 +00:00
LVM_TM_COMMANDS_LIB_FILES = " src/tm_mad/lvm/tm_clone.sh \
src/tm_mad/lvm/tm_delete.sh \
src/tm_mad/lvm/tm_ln.sh \
src/tm_mad/lvm/tm_mkswap.sh \
src/tm_mad/lvm/tm_mkimage.sh \
src/tm_mad/lvm/tm_mv.sh \
src/tm_mad/lvm/tm_context.sh"
2009-01-02 14:58:51 +00:00
#-------------------------------------------------------------------------------
# Configuration files for OpenNebula, to be installed under $ETC_LOCATION
#-------------------------------------------------------------------------------
ETC_FILES = " share/etc/oned.conf \
share/etc/defaultrc"
#-------------------------------------------------------------------------------
# Virtualization drivers config. files, to be installed under $ETC_LOCATION
# - ec2, $ETC_LOCATION/vmm_ec2
2010-09-30 17:16:31 +02:00
# - sh, $ETC_LOCATION/vmm_sh
2010-09-29 12:07:20 +02:00
# - ssh, $ETC_LOCATION/vmm_ssh
2009-01-02 14:58:51 +00:00
#-------------------------------------------------------------------------------
VMM_EC2_ETC_FILES = " src/vmm_mad/ec2/vmm_ec2rc \
src/vmm_mad/ec2/vmm_ec2.conf"
2010-09-29 12:07:20 +02:00
VMM_SSH_ETC_FILES = " src/vmm_mad/ssh/vmm_sshrc \
src/vmm_mad/ssh/vmm_ssh_kvm.conf \
src/vmm_mad/ssh/vmm_ssh_xen.conf"
2010-09-30 17:16:31 +02:00
VMM_SH_ETC_FILES = "src/vmm_mad/sh/vmm_shrc"
2010-08-24 16:44:42 +02:00
2009-01-02 14:58:51 +00:00
#-------------------------------------------------------------------------------
# Information drivers config. files, to be installed under $ETC_LOCATION
# - ec2, $ETC_LOCATION/im_ec2
#-------------------------------------------------------------------------------
IM_EC2_ETC_FILES = " src/im_mad/ec2/im_ec2rc \
src/im_mad/ec2/im_ec2.conf"
#-------------------------------------------------------------------------------
# Storage drivers config. files, to be installed under $ETC_LOCATION
# - nfs, $ETC_LOCATION/tm_nfs
# - ssh, $ETC_LOCATION/tm_ssh
# - dummy, $ETC_LOCATION/tm_dummy
2009-10-16 13:50:56 +00:00
# - lvm, $ETC_LOCATION/tm_lvm
2009-01-02 14:58:51 +00:00
#-------------------------------------------------------------------------------
TM_NFS_ETC_FILES = " src/tm_mad/nfs/tm_nfs.conf \
src/tm_mad/nfs/tm_nfsrc"
TM_SSH_ETC_FILES = " src/tm_mad/ssh/tm_ssh.conf \
src/tm_mad/ssh/tm_sshrc"
TM_DUMMY_ETC_FILES = " src/tm_mad/dummy/tm_dummy.conf \
src/tm_mad/dummy/tm_dummyrc"
2009-10-16 13:50:56 +00:00
TM_LVM_ETC_FILES = " src/tm_mad/lvm/tm_lvm.conf \
src/tm_mad/lvm/tm_lvmrc"
2009-04-03 23:34:33 +00:00
#-------------------------------------------------------------------------------
# Hook Manager driver config. files, to be installed under $ETC_LOCATION/hm
#-------------------------------------------------------------------------------
HM_ETC_FILES = "src/hm_mad/hmrc"
2010-07-09 18:59:42 +02:00
#-------------------------------------------------------------------------------
# Hook Manager driver config. files, to be installed under $ETC_LOCATION/hm
#-------------------------------------------------------------------------------
2010-07-13 18:17:25 +02:00
AUTH_ETC_FILES = " src/authm_mad/auth_mad \
src/authm_mad/auth.conf"
2010-07-09 18:59:42 +02:00
2009-01-02 14:58:51 +00:00
#-------------------------------------------------------------------------------
# Sample files, to be installed under $SHARE_LOCATION/examples
#-------------------------------------------------------------------------------
EXAMPLE_SHARE_FILES = " share/examples/vm.template \
share/examples/vm.schema \
share/examples/private.net \
share/examples/public.net"
#-------------------------------------------------------------------------------
# TM Sample files, to be installed under $SHARE_LOCATION/examples/tm
#-------------------------------------------------------------------------------
TM_EXAMPLE_SHARE_FILES = " share/examples/tm/tm_clone.sh \
share/examples/tm/tm_delete.sh \
share/examples/tm/tm_ln.sh \
share/examples/tm/tm_mkimage.sh \
share/examples/tm/tm_mkswap.sh \
share/examples/tm/tm_mv.sh"
2009-07-21 10:45:54 +00:00
#-------------------------------------------------------------------------------
# HOOK scripts, to be installed under $SHARE_LOCATION/hooks
#-------------------------------------------------------------------------------
2009-10-23 14:52:03 +00:00
HOOK_SHARE_FILES = " share/hooks/ebtables-xen \
share/hooks/ebtables-kvm \
2010-07-22 18:20:12 +02:00
share/hooks/ebtables-flush \
share/hooks/image.rb"
2009-07-21 10:45:54 +00:00
2009-07-21 14:56:35 +00:00
#-------------------------------------------------------------------------------
2009-10-11 23:06:46 +00:00
# Common Cloud Files
2009-07-21 14:56:35 +00:00
#-------------------------------------------------------------------------------
2009-10-11 23:06:46 +00:00
COMMON_CLOUD_LIB_FILES = " src/cloud/common/CloudServer.rb \
2009-10-21 17:00:59 +00:00
src/cloud/common/CloudClient.rb \
2010-07-17 03:48:07 +02:00
src/cloud/common/Configuration.rb"
2009-07-23 12:01:47 +00:00
2009-10-22 11:20:27 +00:00
COMMON_CLOUD_CLIENT_LIB_FILES = "src/cloud/common/CloudClient.rb"
2009-10-11 23:06:46 +00:00
#-------------------------------------------------------------------------------
2010-07-11 20:39:10 +02:00
# EC2 Query for OpenNebula
2009-10-11 23:06:46 +00:00
#-------------------------------------------------------------------------------
ECO_LIB_FILES = " src/cloud/ec2/lib/EC2QueryClient.rb \
src/cloud/ec2/lib/EC2QueryServer.rb \
2010-07-16 19:12:25 +02:00
src/cloud/ec2/lib/ImageEC2.rb \
2009-10-11 23:06:46 +00:00
src/cloud/ec2/lib/econe-server.rb"
2009-10-22 11:20:27 +00:00
ECO_LIB_CLIENT_FILES = "src/cloud/ec2/lib/EC2QueryClient.rb"
2009-10-11 23:06:46 +00:00
ECO_LIB_VIEW_FILES = " src/cloud/ec2/lib/views/describe_images.erb \
src/cloud/ec2/lib/views/describe_instances.erb \
src/cloud/ec2/lib/views/register_image.erb \
src/cloud/ec2/lib/views/run_instances.erb \
src/cloud/ec2/lib/views/terminate_instances.erb"
2009-07-21 14:56:35 +00:00
2009-10-11 23:06:46 +00:00
ECO_BIN_FILES = " src/cloud/ec2/bin/econe-server \
src/cloud/ec2/bin/econe-describe-images \
src/cloud/ec2/bin/econe-describe-instances \
src/cloud/ec2/bin/econe-register \
src/cloud/ec2/bin/econe-run-instances \
src/cloud/ec2/bin/econe-terminate-instances \
src/cloud/ec2/bin/econe-upload"
2009-07-21 14:56:35 +00:00
2009-10-22 11:20:27 +00:00
ECO_BIN_CLIENT_FILES = " src/cloud/ec2/bin/econe-describe-images \
src/cloud/ec2/bin/econe-describe-instances \
src/cloud/ec2/bin/econe-register \
src/cloud/ec2/bin/econe-run-instances \
src/cloud/ec2/bin/econe-terminate-instances \
src/cloud/ec2/bin/econe-upload"
2009-10-11 23:06:46 +00:00
ECO_ETC_FILES = "src/cloud/ec2/etc/econe.conf"
ECO_ETC_TEMPLATE_FILES = "src/cloud/ec2/etc/templates/m1.small.erb"
2009-07-21 14:56:35 +00:00
2009-10-19 17:35:50 +00:00
#-----------------------------------------------------------------------------
2009-09-03 18:10:55 +00:00
# OCCI files
2009-10-19 17:35:50 +00:00
#-----------------------------------------------------------------------------
2009-09-03 18:10:55 +00:00
2009-10-20 02:01:57 +00:00
OCCI_LIB_FILES = " src/cloud/occi/lib/OCCIServer.rb \
2009-10-19 17:35:50 +00:00
src/cloud/occi/lib/occi-server.rb \
src/cloud/occi/lib/OCCIClient.rb \
2009-09-03 18:10:55 +00:00
src/cloud/occi/lib/VirtualMachineOCCI.rb \
src/cloud/occi/lib/VirtualMachinePoolOCCI.rb \
src/cloud/occi/lib/VirtualNetworkOCCI.rb \
2009-10-15 17:37:25 +00:00
src/cloud/occi/lib/VirtualNetworkPoolOCCI.rb \
src/cloud/occi/lib/ImageOCCI.rb \
2010-07-11 20:39:10 +02:00
src/cloud/occi/lib/ImagePoolOCCI.rb"
2009-09-03 18:10:55 +00:00
2009-10-22 11:20:27 +00:00
OCCI_LIB_CLIENT_FILES = "src/cloud/occi/lib/OCCIClient.rb"
2009-10-11 23:06:46 +00:00
OCCI_BIN_FILES = " src/cloud/occi/bin/occi-server \
src/cloud/occi/bin/occi-compute \
src/cloud/occi/bin/occi-network \
src/cloud/occi/bin/occi-storage"
2009-09-03 18:10:55 +00:00
2009-10-22 11:20:27 +00:00
OCCI_BIN_CLIENT_FILES = " src/cloud/occi/bin/occi-compute \
src/cloud/occi/bin/occi-network \
src/cloud/occi/bin/occi-storage"
2009-10-11 23:06:46 +00:00
OCCI_ETC_FILES = "src/cloud/occi/etc/occi-server.conf"
2009-09-03 18:10:55 +00:00
2010-11-30 12:52:30 +01:00
OCCI_ETC_TEMPLATE_FILES = " src/cloud/occi/etc/templates/common.erb \
2010-12-02 19:19:01 +01:00
src/cloud/occi/etc/templates/custom.erb \
2010-11-30 12:52:30 +01:00
src/cloud/occi/etc/templates/small.erb \
2009-10-11 23:06:46 +00:00
src/cloud/occi/etc/templates/medium.erb \
src/cloud/occi/etc/templates/large.erb"
2009-07-21 14:56:35 +00:00
2010-10-14 17:24:01 +02:00
#-----------------------------------------------------------------------------
# MAN files
#-----------------------------------------------------------------------------
MAN_FILES = " share/man/oneauth.8.gz \
share/man/onecluster.8.gz \
share/man/onehost.8.gz \
share/man/oneimage.8.gz \
share/man/oneuser.8.gz \
share/man/onevm.8.gz \
2010-10-19 17:28:36 +02:00
share/man/onevnet.8.gz \
share/man/econe-describe-images.8.gz \
share/man/econe-describe-instances.8.gz \
share/man/econe-register.8.gz \
share/man/econe-run-instances.8.gz \
share/man/econe-terminate-instances.8.gz \
share/man/econe-upload.8.gz \
share/man/occi-compute.8.gz \
share/man/occi-network.8.gz \
share/man/occi-storage.8.gz"
2010-10-14 17:24:01 +02:00
2009-10-19 17:35:50 +00:00
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
2009-01-02 14:58:51 +00:00
# INSTALL.SH SCRIPT
2009-10-19 17:35:50 +00:00
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
2009-01-02 14:58:51 +00:00
# --- Create OpenNebula directories ---
2010-07-11 20:39:10 +02:00
if [ " $UNINSTALL " = "no" ] ; then
2009-01-02 14:58:51 +00:00
for d in $MAKE_DIRS ; do
2009-01-19 16:40:46 +00:00
mkdir -p $DESTDIR $d
2009-01-02 14:58:51 +00:00
done
fi
2008-11-13 16:21:17 +00:00
2009-01-02 14:58:51 +00:00
# --- Install/Uninstall files ---
2008-12-02 15:52:03 +00:00
2009-01-02 14:58:51 +00:00
do_file( ) {
if [ " $UNINSTALL " = "yes" ] ; then
rm $2 /` basename $1 `
else
2009-08-27 17:25:39 +00:00
if [ " $LINK " = "yes" ] ; then
ln -s $SRC_DIR /$1 $DESTDIR $2
else
cp $SRC_DIR /$1 $DESTDIR $2
fi
2009-01-02 14:58:51 +00:00
fi
}
2008-12-02 15:52:03 +00:00
2009-09-25 18:18:50 +00:00
if [ " $CLIENT " = "no" ] ; then
INSTALL_SET = ${ INSTALL_FILES [@] }
2009-10-22 11:20:27 +00:00
elif [ " $CLIENT " = "occi" ] ; then
INSTALL_SET = ${ INSTALL_OCCI_CLIENT_FILES [@] }
elif [ " $CLIENT " = "ec2" ] ; then
INSTALL_SET = ${ INSTALL_ECO_CLIENT_FILES [@] }
2009-09-25 18:18:50 +00:00
fi
for i in ${ INSTALL_SET [@] } ; do
2009-01-02 14:58:51 +00:00
SRC = $` echo $i | cut -d: -f1`
DST = ` echo $i | cut -d: -f2`
2010-07-11 20:39:10 +02:00
eval SRC_FILES = $SRC
for f in $SRC_FILES ; do
2009-01-02 14:58:51 +00:00
do_file $f $DST
done
done
2008-11-13 16:21:17 +00:00
2009-09-25 18:18:50 +00:00
if [ " $CLIENT " = "no" -a " $INSTALL_ETC " = "yes" ] ; then
2009-01-02 14:58:51 +00:00
for i in ${ INSTALL_ETC_FILES [@] } ; do
SRC = $` echo $i | cut -d: -f1`
DST = ` echo $i | cut -d: -f2`
2010-07-11 20:39:10 +02:00
2009-08-27 17:25:39 +00:00
eval SRC_FILES = $SRC
2010-07-11 20:39:10 +02:00
2009-08-27 17:25:39 +00:00
OLD_LINK = $LINK
LINK = "no"
2010-07-11 20:39:10 +02:00
for f in $SRC_FILES ; do
2009-01-02 14:58:51 +00:00
do_file $f $DST
done
2010-07-11 20:39:10 +02:00
2009-08-27 17:25:39 +00:00
LINK = $OLD_LINK
2009-01-02 14:58:51 +00:00
done
fi
2008-06-17 16:27:32 +00:00
2009-01-02 14:58:51 +00:00
# --- Set ownership or remove OpenNebula directories ---
2008-12-02 16:16:20 +00:00
2010-07-11 20:39:10 +02:00
if [ " $UNINSTALL " = "no" ] ; then
2009-01-19 16:40:46 +00:00
for d in $CHOWN_DIRS ; do
2009-10-21 15:48:46 +00:00
chown -R $ONEADMIN_USER :$ONEADMIN_GROUP $DESTDIR $d
2009-01-19 16:40:46 +00:00
done
2010-07-27 15:51:05 +02:00
# --- Set correct permissions for Image Repository ---
2010-10-06 11:56:02 +02:00
if [ -d " $DESTDIR $IMAGES_LOCATION " ] ; then
chmod 3770 $DESTDIR $IMAGES_LOCATION
2010-07-27 15:51:05 +02:00
fi
2009-01-02 14:58:51 +00:00
else
2009-05-07 15:23:13 +00:00
for d in ` echo $DELETE_DIRS | awk '{for (i=NF;i>=1;i--) printf $i" "}' ` ; do
2009-01-02 14:58:51 +00:00
rmdir $d
done
fi