#!/bin/bash # -------------------------------------------------------------------------- # # Copyright 2002-2020, OpenNebula Project, OpenNebula Systems # # # # 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. # #--------------------------------------------------------------------------- # #------------------------------------------------------------------------------- # Install program for OpenNebula. It will install it relative to # $ONE_LOCATION if defined with the -d option, otherwise it'll be installed # under /. In this case you may specified the oneadmin user/group, so you do # not need run the OpenNebula daemon with root privileges #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- # COMMAND LINE PARSING #------------------------------------------------------------------------------- usage() { echo echo "Usage: install.sh [-u install_user] [-g install_group] [-k keep conf]" echo " [-d ONE_LOCATION] [-c cli|ec2] [-r]" echo " [-s] [-p] [-G] [-f] [-l] [-e] [-h]" echo echo "-u: user that will run opennebula, defaults to user executing install.sh" echo "-g: group of the user that will run opennebula, defaults to user" echo " executing install.sh" 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" echo "-d: target installation directory, if not defined it'd be root. Must be" echo " an absolute path." echo "-c: install client utilities: OpenNebula cli and ec2 client files" echo "-s: install OpenNebula Sunstone" echo "-p: do not install OpenNebula Sunstone non-minified files" echo "-F: install OpenNebula FireEdge" echo "-P: do not install OpenNebula FireEdge non-minified files" echo "-G: install only OpenNebula Gate" echo "-f: install only OpenNebula Flow" echo "-r: remove Opennebula, only useful if -d was not specified, otherwise" echo " rm -rf \$ONE_LOCATION would do the job" echo "-l: creates symlinks instead of copying files, useful for development" echo "-e: install OpenNebula docker machine driver" echo "-h: prints this help" } #------------------------------------------------------------------------------- PARAMETERS=":u:g:d:ehkrlcspFPorlfG" INSTALL_ETC="yes" UNINSTALL="no" LINK="no" CLIENT="no" ONEGATE="no" SUNSTONE="no" SUNSTONE_DEV="yes" FIREEDGE="no" FIREEDGE_DEV="yes" ONEFLOW="no" ONEADMIN_USER=`id -u` ONEADMIN_GROUP=`id -g` SRC_DIR=$PWD DOCKER_MACHINE="no" while getopts $PARAMETERS opt; do case $opt in e) DOCKER_MACHINE="yes" ;; h) usage; exit 0;; k) INSTALL_ETC="no" ;; r) UNINSTALL="yes" ;; l) LINK="yes" ;; c) CLIENT="yes"; INSTALL_ETC="no" ;; G) ONEGATE="yes" ;; s) SUNSTONE="yes" ;; p) SUNSTONE_DEV="no" ;; F) FIREEDGE="yes" ;; P) FIREEDGE_DEV="no" ;; f) ONEFLOW="yes" ;; u) ONEADMIN_USER="$OPTARG" ;; g) ONEADMIN_GROUP="$OPTARG" ;; d) ROOT="$OPTARG" ;; \?) usage; exit 1 ;; esac done shift $(($OPTIND - 1)) #------------------------------------------------------------------------------- # Definition of locations #------------------------------------------------------------------------------- CONF_LOCATION="$HOME/.one" if [ -z "$ROOT" ] ; then BIN_LOCATION="/usr/bin" LIB_LOCATION="/usr/lib/one" SBIN_LOCATION="/usr/sbin" ETC_LOCATION="/etc/one" LOG_LOCATION="/var/log/one" VAR_LOCATION="/var/lib/one" ONEGATE_LOCATION="$LIB_LOCATION/onegate" SUNSTONE_LOCATION="$LIB_LOCATION/sunstone" FIREEDGE_LOCATION="$LIB_LOCATION/fireedge" ONEFLOW_LOCATION="$LIB_LOCATION/oneflow" ONEHEM_LOCATION="$LIB_LOCATION/onehem" SYSTEM_DS_LOCATION="$VAR_LOCATION/datastores/0" DEFAULT_DS_LOCATION="$VAR_LOCATION/datastores/1" RUN_LOCATION="/var/run/one" LOCK_LOCATION="/var/lock/one" INCLUDE_LOCATION="/usr/include" SHARE_LOCATION="/usr/share/one" MAN_LOCATION="/usr/share/man/man1" VM_LOCATION="/var/lib/one/vms" DOCS_LOCATION="/usr/share/doc/one" SUNSTONE_MAIN_JS_LOCATION="$VAR_LOCATION/sunstone" DOCKER_MACHINE_LOCATION="src/docker_machine/src/docker_machine/bin/docker-machine-driver-opennebula" if [ "$CLIENT" = "yes" ]; then MAKE_DIRS="$BIN_LOCATION $LIB_LOCATION $ETC_LOCATION" DELETE_DIRS="" CHOWN_DIRS="" elif [ "$SUNSTONE" = "yes" ]; then MAKE_DIRS="$BIN_LOCATION $LIB_LOCATION $VAR_LOCATION \ $SUNSTONE_LOCATION $ETC_LOCATION $SUNSTONE_MAIN_JS_LOCATION" DELETE_DIRS="$MAKE_DIRS" CHOWN_DIRS="" elif [ "$FIREEDGE" = "yes" ]; then MAKE_DIRS="$BIN_LOCATION $LIB_LOCATION $VAR_LOCATION \ $ETC_LOCATION $FIREEDGE_LOCATION" DELETE_DIRS="$MAKE_DIRS" CHOWN_DIRS="" elif [ "$ONEGATE" = "yes" ]; then MAKE_DIRS="$BIN_LOCATION $LIB_LOCATION $VAR_LOCATION \ $ONEGATE_LOCATION $ETC_LOCATION" DELETE_DIRS="$MAKE_DIRS" CHOWN_DIRS="" elif [ "$ONEFLOW" = "yes" ]; then MAKE_DIRS="$BIN_LOCATION $LIB_LOCATION $VAR_LOCATION $ONEFLOW_LOCATION \ $ETC_LOCATION" DELETE_DIRS="$MAKE_DIRS" CHOWN_DIRS="" elif [ "$DOCKER_MACHINE" = "yes" ]; then MAKE_DIRS="$BIN_LOCATION" DELETE_DIRS="$MAKE_DIRS" CHOWN_DIRS="" else MAKE_DIRS="$BIN_LOCATION $SBIN_LOCATION $LIB_LOCATION $ETC_LOCATION $VAR_LOCATION \ $INCLUDE_LOCATION $SHARE_LOCATION $DOCS_LOCATION \ $LOG_LOCATION $RUN_LOCATION $LOCK_LOCATION \ $SYSTEM_DS_LOCATION $DEFAULT_DS_LOCATION $MAN_LOCATION \ $VM_LOCATION $ONEGATE_LOCATION $ONEFLOW_LOCATION \ $SUNSTONE_MAIN_JS_LOCATION $ONEHEM_LOCATION" DELETE_DIRS="$LIB_LOCATION $ETC_LOCATION $LOG_LOCATION $VAR_LOCATION \ $RUN_LOCATION $SHARE_DIRS" CHOWN_DIRS="$LOG_LOCATION $VAR_LOCATION $RUN_LOCATION $LOCK_LOCATION" fi else BIN_LOCATION="$ROOT/bin" SBIN_LOCATION="$ROOT/sbin" LIB_LOCATION="$ROOT/lib" ETC_LOCATION="$ROOT/etc" VAR_LOCATION="$ROOT/var" RUN_LOCATION="$VAR_LOCATION/run" LOCK_LOCATION="$VAR_LOCATION/lock" ONEGATE_LOCATION="$LIB_LOCATION/onegate" SUNSTONE_LOCATION="$LIB_LOCATION/sunstone" FIREEDGE_LOCATION="$LIB_LOCATION/fireedge" ONEFLOW_LOCATION="$LIB_LOCATION/oneflow" ONEHEM_LOCATION="$LIB_LOCATION/onehem" SYSTEM_DS_LOCATION="$VAR_LOCATION/datastores/0" DEFAULT_DS_LOCATION="$VAR_LOCATION/datastores/1" INCLUDE_LOCATION="$ROOT/include" SHARE_LOCATION="$ROOT/share" MAN_LOCATION="$ROOT/share/man/man1" VM_LOCATION="$VAR_LOCATION/vms" DOCS_LOCATION="$ROOT/share/doc" SUNSTONE_MAIN_JS_LOCATION="$VAR_LOCATION/sunstone" DOCKER_MACHINE_LOCATION="src/docker_machine/src/docker_machine/bin/docker-machine-driver-opennebula" if [ "$CLIENT" = "yes" ]; then MAKE_DIRS="$BIN_LOCATION $LIB_LOCATION $ETC_LOCATION" DELETE_DIRS="$MAKE_DIRS" elif [ "$ONEGATE" = "yes" ]; then MAKE_DIRS="$BIN_LOCATION $LIB_LOCATION $VAR_LOCATION \ $ONEGATE_LOCATION $ETC_LOCATION" DELETE_DIRS="$MAKE_DIRS" elif [ "$SUNSTONE" = "yes" ]; then MAKE_DIRS="$BIN_LOCATION $LIB_LOCATION $VAR_LOCATION \ $SUNSTONE_LOCATION $ETC_LOCATION $SUNSTONE_MAIN_JS_LOCATION" DELETE_DIRS="$MAKE_DIRS" elif [ "$FIREEDGE" = "yes" ]; then MAKE_DIRS="$BIN_LOCATION $LIB_LOCATION $VAR_LOCATION \ $FIREEDGE_LOCATION $ETC_LOCATION" DELETE_DIRS="$MAKE_DIRS" elif [ "$ONEFLOW" = "yes" ]; then MAKE_DIRS="$BIN_LOCATION $LIB_LOCATION $VAR_LOCATION $ONEFLOW_LOCATION \ $ETC_LOCATION" DELETE_DIRS="$MAKE_DIRS" elif [ "$DOCKER_MACHINE" = "yes" ]; then MAKE_DIRS="$BIN_LOCATION" DELETE_DIRS="$MAKE_DIRS" else MAKE_DIRS="$BIN_LOCATION $SBIN_LOCATION $LIB_LOCATION $ETC_LOCATION $VAR_LOCATION \ $INCLUDE_LOCATION $SHARE_LOCATION $SYSTEM_DS_LOCATION \ $DEFAULT_DS_LOCATION $MAN_LOCATION $DOCS_LOCATION \ $VM_LOCATION $ONEGATE_LOCATION $ONEFLOW_LOCATION \ $SUNSTONE_MAIN_JS_LOCATION $ONEHEM_LOCATION $LOCK_LOCATION $RUN_LOCATION" DELETE_DIRS="$MAKE_DIRS" CHOWN_DIRS="$ROOT" fi CHOWN_DIRS="$ROOT" fi SHARE_DIRS="$SHARE_LOCATION/examples \ $SHARE_LOCATION/examples/host_hooks \ $SHARE_LOCATION/examples/network_hooks \ $SHARE_LOCATION/websockify \ $SHARE_LOCATION/websockify/websockify \ $SHARE_LOCATION/esx-fw-vnc \ $SHARE_LOCATION/oneprovision \ $SHARE_LOCATION/dockerhub \ $SHARE_LOCATION/dockerhub/dockerfiles \ $SHARE_LOCATION/schemas \ $SHARE_LOCATION/schemas/libvirt \ $SHARE_LOCATION/schemas/xsd \ $SHARE_LOCATION/ssh \ $SHARE_LOCATION/start-scripts \ $SHARE_LOCATION/conf \ $SHARE_LOCATION/context \ $SHARE_LOCATION/onecfg $SHARE_LOCATION/onecfg/etc" ETC_DIRS="$ETC_LOCATION/vmm_exec \ $ETC_LOCATION/hm \ $ETC_LOCATION/auth \ $ETC_LOCATION/auth/certificates \ $ETC_LOCATION/ec2query_templates \ $ETC_LOCATION/sunstone-views \ $ETC_LOCATION/cli \ $ETC_LOCATION/sunstone-views/kvm \ $ETC_LOCATION/sunstone-views/vcenter \ $ETC_LOCATION/sunstone-views/mixed" LIB_DIRS="$LIB_LOCATION/ruby \ $LIB_LOCATION/ruby/opennebula \ $LIB_LOCATION/ruby/opennebula/flow \ $LIB_LOCATION/ruby/cloud/ \ $LIB_LOCATION/ruby/cloud/econe \ $LIB_LOCATION/ruby/cloud/econe/views \ $LIB_LOCATION/ruby/cloud/CloudAuth \ $LIB_LOCATION/ruby/onedb \ $LIB_LOCATION/ruby/onedb/shared \ $LIB_LOCATION/ruby/onedb/local \ $LIB_LOCATION/ruby/onedb/patches \ $LIB_LOCATION/ruby/vendors \ $LIB_LOCATION/mads \ $LIB_LOCATION/sh \ $LIB_LOCATION/sh/override \ $LIB_LOCATION/ruby/cli \ $LIB_LOCATION/ruby/cli/one_helper \ $LIB_LOCATION/ruby/vcenter_driver \ $LIB_LOCATION/ruby/nsx_driver \ $LIB_LOCATION/oneprovision/lib \ $LIB_LOCATION/oneprovision/lib/terraform \ $LIB_LOCATION/oneprovision/lib/terraform/providers \ $LIB_LOCATION/oneprovision/lib/terraform/providers/templates \ $LIB_LOCATION/oneprovision/lib/terraform/providers/templates/aws \ $LIB_LOCATION/oneprovision/lib/terraform/providers/templates/packet \ $LIB_LOCATION/oneprovision/lib/provision \ $LIB_LOCATION/oneprovision/lib/provision_template \ $LIB_LOCATION/oneprovision/lib/provider \ $LIB_LOCATION/oneprovision/lib/provision/resources \ $LIB_LOCATION/oneprovision/lib/provision/resources/virtual \ $LIB_LOCATION/oneprovision/lib/provision/resources/physical $LIB_LOCATION/onecfg/lib \ $LIB_LOCATION/onecfg/lib/common \ $LIB_LOCATION/onecfg/lib/common/helpers \ $LIB_LOCATION/onecfg/lib/common/logger \ $LIB_LOCATION/onecfg/lib/config \ $LIB_LOCATION/onecfg/lib/config/type \ $LIB_LOCATION/onecfg/lib/config/type/augeas \ $LIB_LOCATION/onecfg/lib/config/type/yaml \ $LIB_LOCATION/onecfg/lib/patch" VAR_DIRS="$VAR_LOCATION/remotes \ $VAR_LOCATION/remotes/etc \ $VAR_LOCATION/remotes/etc/tm/fs_lvm \ $VAR_LOCATION/remotes/etc/tm/ssh \ $VAR_LOCATION/remotes/etc/datastore/fs \ $VAR_LOCATION/remotes/etc/datastore/ceph \ $VAR_LOCATION/remotes/etc/im/kvm-probes.d \ $VAR_LOCATION/remotes/etc/im/lxd-probes.d \ $VAR_LOCATION/remotes/etc/im/firecracker-probes.d \ $VAR_LOCATION/remotes/etc/market/http \ $VAR_LOCATION/remotes/etc/vmm/kvm \ $VAR_LOCATION/remotes/etc/vmm/lxd \ $VAR_LOCATION/remotes/etc/vmm/firecracker \ $VAR_LOCATION/remotes/etc/vmm/vcenter \ $VAR_LOCATION/remotes/etc/vnm \ $VAR_LOCATION/remotes/im \ $VAR_LOCATION/remotes/im/lib \ $VAR_LOCATION/remotes/im/kvm.d \ $VAR_LOCATION/remotes/im/kvm-probes.d/host/beacon \ $VAR_LOCATION/remotes/im/kvm-probes.d/host/monitor \ $VAR_LOCATION/remotes/im/kvm-probes.d/host/system \ $VAR_LOCATION/remotes/im/kvm-probes.d/vm/monitor \ $VAR_LOCATION/remotes/im/kvm-probes.d/vm/status \ $VAR_LOCATION/remotes/im/dummy.d \ $VAR_LOCATION/remotes/im/dummy-probes.d/host/beacon \ $VAR_LOCATION/remotes/im/dummy-probes.d/host/monitor \ $VAR_LOCATION/remotes/im/dummy-probes.d/host/system \ $VAR_LOCATION/remotes/im/dummy-probes.d/vm/monitor \ $VAR_LOCATION/remotes/im/dummy-probes.d/vm/status \ $VAR_LOCATION/remotes/im/lxd.d \ $VAR_LOCATION/remotes/im/lxd-probes.d/host/beacon \ $VAR_LOCATION/remotes/im/lxd-probes.d/host/monitor \ $VAR_LOCATION/remotes/im/lxd-probes.d/host/system \ $VAR_LOCATION/remotes/im/lxd-probes.d/vm/monitor \ $VAR_LOCATION/remotes/im/lxd-probes.d/vm/status \ $VAR_LOCATION/remotes/im/firecracker.d \ $VAR_LOCATION/remotes/im/firecracker-probes.d/host/beacon \ $VAR_LOCATION/remotes/im/firecracker-probes.d/host/monitor \ $VAR_LOCATION/remotes/im/firecracker-probes.d/host/system \ $VAR_LOCATION/remotes/im/firecracker-probes.d/vm/monitor \ $VAR_LOCATION/remotes/im/firecracker-probes.d/vm/status \ $VAR_LOCATION/remotes/im/vcenter.d \ $VAR_LOCATION/remotes/im/ec2.d \ $VAR_LOCATION/remotes/im/ec2-probes.d/host/beacon \ $VAR_LOCATION/remotes/im/ec2-probes.d/host/monitor \ $VAR_LOCATION/remotes/im/ec2-probes.d/host/system \ $VAR_LOCATION/remotes/im/ec2-probes.d/vm/monitor \ $VAR_LOCATION/remotes/im/ec2-probes.d/vm/status \ $VAR_LOCATION/remotes/im/az.d \ $VAR_LOCATION/remotes/im/az-probes.d/host/beacon \ $VAR_LOCATION/remotes/im/az-probes.d/host/monitor \ $VAR_LOCATION/remotes/im/az-probes.d/host/system \ $VAR_LOCATION/remotes/im/az-probes.d/vm/monitor \ $VAR_LOCATION/remotes/im/az-probes.d/vm/status \ $VAR_LOCATION/remotes/im/one.d \ $VAR_LOCATION/remotes/im/one-probes.d/host/beacon \ $VAR_LOCATION/remotes/im/one-probes.d/host/monitor \ $VAR_LOCATION/remotes/im/one-probes.d/host/system \ $VAR_LOCATION/remotes/im/one-probes.d/vm/monitor \ $VAR_LOCATION/remotes/im/one-probes.d/vm/status \ $VAR_LOCATION/remotes/im/packet.d \ $VAR_LOCATION/remotes/im/packet-probes.d/host/beacon \ $VAR_LOCATION/remotes/im/packet-probes.d/host/monitor \ $VAR_LOCATION/remotes/im/packet-probes.d/host/system \ $VAR_LOCATION/remotes/im/packet-probes.d/vm/monitor \ $VAR_LOCATION/remotes/im/packet-probes.d/vm/status \ $VAR_LOCATION/remotes/vmm \ $VAR_LOCATION/remotes/vmm/lib \ $VAR_LOCATION/remotes/vmm/kvm \ $VAR_LOCATION/remotes/vmm/vcenter \ $VAR_LOCATION/remotes/vmm/ec2 \ $VAR_LOCATION/remotes/vmm/az \ $VAR_LOCATION/remotes/vmm/one \ $VAR_LOCATION/remotes/vmm/lxd \ $VAR_LOCATION/remotes/vmm/packet \ $VAR_LOCATION/remotes/vmm/firecracker \ $VAR_LOCATION/remotes/vnm \ $VAR_LOCATION/remotes/vnm/802.1Q \ $VAR_LOCATION/remotes/vnm/802.1Q/pre.d \ $VAR_LOCATION/remotes/vnm/802.1Q/post.d \ $VAR_LOCATION/remotes/vnm/802.1Q/clean.d \ $VAR_LOCATION/remotes/vnm/vxlan \ $VAR_LOCATION/remotes/vnm/vxlan/pre.d \ $VAR_LOCATION/remotes/vnm/vxlan/post.d \ $VAR_LOCATION/remotes/vnm/vxlan/clean.d \ $VAR_LOCATION/remotes/vnm/dummy \ $VAR_LOCATION/remotes/vnm/dummy/pre.d \ $VAR_LOCATION/remotes/vnm/dummy/post.d \ $VAR_LOCATION/remotes/vnm/dummy/clean.d \ $VAR_LOCATION/remotes/vnm/bridge \ $VAR_LOCATION/remotes/vnm/bridge/pre.d \ $VAR_LOCATION/remotes/vnm/bridge/post.d \ $VAR_LOCATION/remotes/vnm/bridge/clean.d \ $VAR_LOCATION/remotes/vnm/ebtables \ $VAR_LOCATION/remotes/vnm/ebtables/pre.d \ $VAR_LOCATION/remotes/vnm/ebtables/post.d \ $VAR_LOCATION/remotes/vnm/ebtables/clean.d \ $VAR_LOCATION/remotes/vnm/fw \ $VAR_LOCATION/remotes/vnm/fw/pre.d \ $VAR_LOCATION/remotes/vnm/fw/post.d \ $VAR_LOCATION/remotes/vnm/fw/clean.d \ $VAR_LOCATION/remotes/vnm/ovswitch \ $VAR_LOCATION/remotes/vnm/ovswitch/pre.d \ $VAR_LOCATION/remotes/vnm/ovswitch/post.d \ $VAR_LOCATION/remotes/vnm/ovswitch/clean.d \ $VAR_LOCATION/remotes/vnm/ovswitch_vxlan \ $VAR_LOCATION/remotes/vnm/ovswitch_vxlan/pre.d \ $VAR_LOCATION/remotes/vnm/ovswitch_vxlan/post.d \ $VAR_LOCATION/remotes/vnm/ovswitch_vxlan/clean.d \ $VAR_LOCATION/remotes/vnm/vcenter \ $VAR_LOCATION/remotes/vnm/vcenter/pre.d \ $VAR_LOCATION/remotes/vnm/vcenter/post.d \ $VAR_LOCATION/remotes/vnm/vcenter/clean.d \ $VAR_LOCATION/remotes/vnm/elastic \ $VAR_LOCATION/remotes/vnm/hooks/pre \ $VAR_LOCATION/remotes/vnm/hooks/post \ $VAR_LOCATION/remotes/vnm/hooks/clean \ $VAR_LOCATION/remotes/tm/ \ $VAR_LOCATION/remotes/tm/dummy \ $VAR_LOCATION/remotes/tm/shared \ $VAR_LOCATION/remotes/tm/fs_lvm \ $VAR_LOCATION/remotes/tm/qcow2 \ $VAR_LOCATION/remotes/tm/ssh \ $VAR_LOCATION/remotes/tm/ceph \ $VAR_LOCATION/remotes/tm/dev \ $VAR_LOCATION/remotes/tm/vcenter \ $VAR_LOCATION/remotes/tm/iscsi_libvirt \ $VAR_LOCATION/remotes/hooks \ $VAR_LOCATION/remotes/hooks/ft \ $VAR_LOCATION/remotes/hooks/vcenter \ $VAR_LOCATION/remotes/hooks/vcenter/templates \ $VAR_LOCATION/remotes/hooks/raft \ $VAR_LOCATION/remotes/datastore \ $VAR_LOCATION/remotes/datastore/dummy \ $VAR_LOCATION/remotes/datastore/fs \ $VAR_LOCATION/remotes/datastore/ceph \ $VAR_LOCATION/remotes/datastore/dev \ $VAR_LOCATION/remotes/datastore/vcenter \ $VAR_LOCATION/remotes/market \ $VAR_LOCATION/remotes/market/http \ $VAR_LOCATION/remotes/market/one \ $VAR_LOCATION/remotes/market/s3 \ $VAR_LOCATION/remotes/market/common \ $VAR_LOCATION/remotes/market/linuxcontainers \ $VAR_LOCATION/remotes/market/turnkeylinux \ $VAR_LOCATION/remotes/market/dockerhub \ $VAR_LOCATION/remotes/datastore/iscsi_libvirt \ $VAR_LOCATION/remotes/auth \ $VAR_LOCATION/remotes/auth/plain \ $VAR_LOCATION/remotes/auth/ssh \ $VAR_LOCATION/remotes/auth/x509 \ $VAR_LOCATION/remotes/auth/ldap \ $VAR_LOCATION/remotes/auth/server_x509 \ $VAR_LOCATION/remotes/auth/server_cipher \ $VAR_LOCATION/remotes/auth/dummy \ $VAR_LOCATION/remotes/ipam/dummy \ $VAR_LOCATION/remotes/ipam/packet \ $VAR_LOCATION/remotes/ipam/aws" SUNSTONE_DIRS="$SUNSTONE_LOCATION/routes \ $SUNSTONE_LOCATION/models \ $SUNSTONE_LOCATION/models/OpenNebulaJSON \ $SUNSTONE_LOCATION/views \ $SUNSTONE_LOCATION/services" SUNSTONE_MINIFIED_DIRS="$SUNSTONE_LOCATION/public \ $SUNSTONE_LOCATION/public/dist \ $SUNSTONE_LOCATION/public/dist/console \ $SUNSTONE_LOCATION/public/css \ $SUNSTONE_LOCATION/public/css/opensans \ $SUNSTONE_LOCATION/public/bower_components/fontawesome \ $SUNSTONE_LOCATION/public/bower_components/fontawesome/web-fonts-with-css \ $SUNSTONE_LOCATION/public/bower_components/fontawesome/web-fonts-with-css/webfonts \ $SUNSTONE_LOCATION/public/locale/languages \ $SUNSTONE_LOCATION/public/images \ $SUNSTONE_LOCATION/public/images/logos" FIREEDGE_DIRS="$FIREEDGE_LOCATION" ONEFLOW_DIRS="$ONEFLOW_LOCATION/lib \ $ONEFLOW_LOCATION/lib/strategy \ $ONEFLOW_LOCATION/lib/models" LIB_ECO_CLIENT_DIRS="$LIB_LOCATION/ruby \ $LIB_LOCATION/ruby/opennebula \ $LIB_LOCATION/ruby/cloud/ \ $LIB_LOCATION/ruby/cloud/econe" LIB_OCA_CLIENT_DIRS="$LIB_LOCATION/ruby \ $LIB_LOCATION/ruby/opennebula" LIB_CLI_CLIENT_DIRS="$LIB_LOCATION/ruby/cli \ $LIB_LOCATION/ruby/cli/one_helper" CONF_CLI_DIRS="$ETC_LOCATION/cli" if [ "$CLIENT" = "yes" ]; then MAKE_DIRS="$MAKE_DIRS $LIB_ECO_CLIENT_DIRS \ $LIB_OCA_CLIENT_DIRS $LIB_CLI_CLIENT_DIRS $CONF_CLI_DIRS \ $ETC_LOCATION" elif [ "$ONEGATE" = "yes" ]; then MAKE_DIRS="$MAKE_DIRS $LIB_OCA_CLIENT_DIRS" elif [ "$SUNSTONE" = "yes" ]; then if [ "$SUNSTONE_DEV" = "no" ]; then MAKE_DIRS="$MAKE_DIRS $SUNSTONE_DIRS $SUNSTONE_MINIFIED_DIRS $LIB_OCA_CLIENT_DIRS" else MAKE_DIRS="$MAKE_DIRS $SUNSTONE_DIRS $LIB_OCA_CLIENT_DIRS" fi elif [ "$ONEFLOW" = "yes" ]; then MAKE_DIRS="$MAKE_DIRS $ONEFLOW_DIRS $LIB_OCA_CLIENT_DIRS" elif [ "$SUNSTONE_DEV" = "no" ]; then MAKE_DIRS="$MAKE_DIRS $SHARE_DIRS $ETC_DIRS $LIB_DIRS $VAR_DIRS \ $SUNSTONE_DIRS $SUNSTONE_MINIFIED_DIRS $ONEFLOW_DIRS" else MAKE_DIRS="$MAKE_DIRS $SHARE_DIRS $ETC_DIRS $LIB_DIRS $VAR_DIRS \ $SUNSTONE_DIRS $FIREEDGE_DIRS $ONEFLOW_DIRS" fi #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- # FILE DEFINITION, WHAT IS GOING TO BE INSTALLED AND WHERE #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- INSTALL_FILES=( BIN_FILES:$BIN_LOCATION SBIN_FILES:$SBIN_LOCATION INCLUDE_FILES:$INCLUDE_LOCATION LIB_FILES:$LIB_LOCATION RUBY_LIB_FILES:$LIB_LOCATION/ruby RUBY_AUTH_LIB_FILES:$LIB_LOCATION/ruby/opennebula RUBY_OPENNEBULA_LIB_FILES:$LIB_LOCATION/ruby/opennebula RUBY_OPENNEBULA_LIB_FLOW_FILES:$LIB_LOCATION/ruby/opennebula/flow MAD_RUBY_LIB_FILES:$LIB_LOCATION/ruby MAD_RUBY_LIB_FILES:$VAR_LOCATION/remotes MAD_SH_LIB_FILES:$LIB_LOCATION/sh MAD_SH_LIB_FILES:$VAR_LOCATION/remotes ONEDB_FILES:$LIB_LOCATION/ruby/onedb ONEDB_PATCH_FILES:$LIB_LOCATION/ruby/onedb/patches MADS_LIB_FILES:$LIB_LOCATION/mads IM_PROBES_FILES:$VAR_LOCATION/remotes/im IM_PROBES_LIB_FILES:$VAR_LOCATION/remotes/im/lib IM_PROBES_KVM_FILES:$VAR_LOCATION/remotes/im/kvm.d IM_PROBES_FIRECRACKER_FILES:$VAR_LOCATION/remotes/im/firecracker.d IM_PROBES_DUMMY_FILES:$VAR_LOCATION/remotes/im/dummy.d IM_PROBES_LXD_FILES:$VAR_LOCATION/remotes/im/lxd.d IM_PROBES_VCENTER_FILES:$VAR_LOCATION/remotes/im/vcenter.d IM_PROBES_EC2_FILES:$VAR_LOCATION/remotes/im/ec2.d IM_PROBES_AZ_FILES:$VAR_LOCATION/remotes/im/az.d IM_PROBES_ONE_FILES:$VAR_LOCATION/remotes/im/one.d IM_PROBES_PACKET_FILES:$VAR_LOCATION/remotes/im/packet.d IM_PROBES_KVM_HOST_BEACON_FILES:$VAR_LOCATION/remotes/im/kvm-probes.d/host/beacon IM_PROBES_KVM_HOST_MONITOR_FILES:$VAR_LOCATION/remotes/im/kvm-probes.d/host/monitor IM_PROBES_KVM_HOST_SYSTEM_FILES:$VAR_LOCATION/remotes/im/kvm-probes.d/host/system IM_PROBES_KVM_VM_MONITOR_FILES:$VAR_LOCATION/remotes/im/kvm-probes.d/vm/monitor IM_PROBES_KVM_VM_STATUS_FILES:$VAR_LOCATION/remotes/im/kvm-probes.d/vm/status IM_PROBES_ETC_KVM_PROBES_FILES:$VAR_LOCATION/remotes/etc/im/kvm-probes.d IM_PROBES_DUMMY_HOST_BEACON_FILES:$VAR_LOCATION/remotes/im/dummy-probes.d/host/beacon IM_PROBES_DUMMY_HOST_MONITOR_FILES:$VAR_LOCATION/remotes/im/dummy-probes.d/host/monitor IM_PROBES_DUMMY_HOST_SYSTEM_FILES:$VAR_LOCATION/remotes/im/dummy-probes.d/host/system IM_PROBES_DUMMY_VM_MONITOR_FILES:$VAR_LOCATION/remotes/im/dummy-probes.d/vm/monitor IM_PROBES_DUMMY_VM_STATUS_FILES:$VAR_LOCATION/remotes/im/dummy-probes.d/vm/status IM_PROBES_LXD_HOST_BEACON_FILES:$VAR_LOCATION/remotes/im/lxd-probes.d/host/beacon IM_PROBES_LXD_HOST_MONITOR_FILES:$VAR_LOCATION/remotes/im/lxd-probes.d/host/monitor IM_PROBES_LXD_HOST_SYSTEM_FILES:$VAR_LOCATION/remotes/im/lxd-probes.d/host/system IM_PROBES_LXD_VM_MONITOR_FILES:$VAR_LOCATION/remotes/im/lxd-probes.d/vm/monitor IM_PROBES_LXD_VM_STATUS_FILES:$VAR_LOCATION/remotes/im/lxd-probes.d/vm/status IM_PROBES_LXD_PROBES_FILES:$VAR_LOCATION/remotes/im/lxd-probes.d IM_PROBES_ETC_LXD_PROBES_FILES:$VAR_LOCATION/remotes/etc/im/lxd-probes.d IM_PROBES_AZ_HOST_BEACON_FILES:$VAR_LOCATION/remotes/im/az-probes.d/host/beacon IM_PROBES_AZ_HOST_MONITOR_FILES:$VAR_LOCATION/remotes/im/az-probes.d/host/monitor IM_PROBES_AZ_HOST_SYSTEM_FILES:$VAR_LOCATION/remotes/im/az-probes.d/host/system IM_PROBES_AZ_VM_MONITOR_FILES:$VAR_LOCATION/remotes/im/az-probes.d/vm/monitor IM_PROBES_AZ_VM_STATUS_FILES:$VAR_LOCATION/remotes/im/az-probes.d/vm/status IM_PROBES_EC2_HOST_BEACON_FILES:$VAR_LOCATION/remotes/im/ec2-probes.d/host/beacon IM_PROBES_EC2_HOST_MONITOR_FILES:$VAR_LOCATION/remotes/im/ec2-probes.d/host/monitor IM_PROBES_EC2_HOST_SYSTEM_FILES:$VAR_LOCATION/remotes/im/ec2-probes.d/host/system IM_PROBES_EC2_VM_MONITOR_FILES:$VAR_LOCATION/remotes/im/ec2-probes.d/vm/monitor IM_PROBES_EC2_VM_STATUS_FILES:$VAR_LOCATION/remotes/im/ec2-probes.d/vm/status IM_PROBES_ONE_HOST_BEACON_FILES:$VAR_LOCATION/remotes/im/one-probes.d/host/beacon IM_PROBES_ONE_HOST_MONITOR_FILES:$VAR_LOCATION/remotes/im/one-probes.d/host/monitor IM_PROBES_ONE_HOST_SYSTEM_FILES:$VAR_LOCATION/remotes/im/one-probes.d/host/system IM_PROBES_ONE_VM_MONITOR_FILES:$VAR_LOCATION/remotes/im/one-probes.d/vm/monitor IM_PROBES_ONE_VM_STATUS_FILES:$VAR_LOCATION/remotes/im/one-probes.d/vm/status IM_PROBES_PACKET_HOST_BEACON_FILES:$VAR_LOCATION/remotes/im/packet-probes.d/host/beacon IM_PROBES_PACKET_HOST_MONITOR_FILES:$VAR_LOCATION/remotes/im/packet-probes.d/host/monitor IM_PROBES_PACKET_HOST_SYSTEM_FILES:$VAR_LOCATION/remotes/im/packet-probes.d/host/system IM_PROBES_PACKET_VM_MONITOR_FILES:$VAR_LOCATION/remotes/im/packet-probes.d/vm/monitor IM_PROBES_PACKET_VM_STATUS_FILES:$VAR_LOCATION/remotes/im/packet-probes.d/vm/status IM_PROBES_VERSION:$VAR_LOCATION/remotes IM_PROBES_FIRECRACKER_HOST_BEACON_FILES:$VAR_LOCATION/remotes/im/firecracker-probes.d/host/beacon IM_PROBES_FIRECRACKER_HOST_MONITOR_FILES:$VAR_LOCATION/remotes/im/firecracker-probes.d/host/monitor IM_PROBES_FIRECRACKER_HOST_SYSTEM_FILES:$VAR_LOCATION/remotes/im/firecracker-probes.d/host/system IM_PROBES_FIRECRACKER_VM_MONITOR_FILES:$VAR_LOCATION/remotes/im/firecracker-probes.d/vm/monitor IM_PROBES_FIRECRACKER_VM_STATUS_FILES:$VAR_LOCATION/remotes/im/firecracker-probes.d/vm/status IM_PROBES_ETC_FIRECRACKER_PROBES_FILES:$VAR_LOCATION/remotes/etc/im/firecracker-probes.d AUTH_SSH_FILES:$VAR_LOCATION/remotes/auth/ssh AUTH_X509_FILES:$VAR_LOCATION/remotes/auth/x509 AUTH_LDAP_FILES:$VAR_LOCATION/remotes/auth/ldap AUTH_SERVER_X509_FILES:$VAR_LOCATION/remotes/auth/server_x509 AUTH_SERVER_CIPHER_FILES:$VAR_LOCATION/remotes/auth/server_cipher AUTH_DUMMY_FILES:$VAR_LOCATION/remotes/auth/dummy AUTH_PLAIN_FILES:$VAR_LOCATION/remotes/auth/plain VMM_EXEC_LIB_VCENTER_FILES:$LIB_LOCATION/ruby/vcenter_driver VMM_EXEC_LIB_NSX_FILES:$LIB_LOCATION/ruby/nsx_driver VMM_EXEC_LIB:$VAR_LOCATION/remotes/vmm/lib VMM_EXEC_KVM_SCRIPTS:$VAR_LOCATION/remotes/vmm/kvm VMM_EXEC_LXD_SCRIPTS:$VAR_LOCATION/remotes/vmm/lxd VMM_EXEC_LXD_LIB:$VAR_LOCATION/remotes/vmm/lxd VMM_EXEC_FIRECRACKER_SCRIPTS:$VAR_LOCATION/remotes/vmm/firecracker VMM_EXEC_FIRECRACKER_LIB:$VAR_LOCATION/remotes/vmm/firecracker VMM_EXEC_ETC_KVM_SCRIPTS:$VAR_LOCATION/remotes/etc/vmm/kvm VMM_EXEC_ETC_LXD_SCRIPTS:$VAR_LOCATION/remotes/etc/vmm/lxd VMM_EXEC_ETC_FIRECRACKER_SCRIPTS:$VAR_LOCATION/remotes/etc/vmm/firecracker VMM_EXEC_VCENTER_SCRIPTS:$VAR_LOCATION/remotes/vmm/vcenter VMM_EXEC_ETC_VCENTER_SCRIPTS:$VAR_LOCATION/remotes/etc/vmm/vcenter VMM_EXEC_EC2_SCRIPTS:$VAR_LOCATION/remotes/vmm/ec2 VMM_EXEC_AZ_SCRIPTS:$VAR_LOCATION/remotes/vmm/az VMM_EXEC_ONE_SCRIPTS:$VAR_LOCATION/remotes/vmm/one VMM_EXEC_PACKET_SCRIPTS:$VAR_LOCATION/remotes/vmm/packet TM_FILES:$VAR_LOCATION/remotes/tm TM_SHARED_FILES:$VAR_LOCATION/remotes/tm/shared TM_FS_LVM_FILES:$VAR_LOCATION/remotes/tm/fs_lvm TM_FS_LVM_ETC_FILES:$VAR_LOCATION/remotes/etc/tm/fs_lvm/fs_lvm.conf TM_QCOW2_FILES:$VAR_LOCATION/remotes/tm/qcow2 TM_SSH_FILES:$VAR_LOCATION/remotes/tm/ssh TM_SSH_ETC_FILES:$VAR_LOCATION/remotes/etc/tm/ssh TM_CEPH_FILES:$VAR_LOCATION/remotes/tm/ceph TM_DEV_FILES:$VAR_LOCATION/remotes/tm/dev TM_ISCSI_FILES:$VAR_LOCATION/remotes/tm/iscsi_libvirt TM_DUMMY_FILES:$VAR_LOCATION/remotes/tm/dummy TM_VCENTER_FILES:$VAR_LOCATION/remotes/tm/vcenter DATASTORE_DRIVER_COMMON_SCRIPTS:$VAR_LOCATION/remotes/datastore/ DATASTORE_DRIVER_DUMMY_SCRIPTS:$VAR_LOCATION/remotes/datastore/dummy DATASTORE_DRIVER_FS_SCRIPTS:$VAR_LOCATION/remotes/datastore/fs DATASTORE_DRIVER_ETC_FS_SCRIPTS:$VAR_LOCATION/remotes/etc/datastore/fs DATASTORE_DRIVER_CEPH_SCRIPTS:$VAR_LOCATION/remotes/datastore/ceph DATASTORE_DRIVER_ETC_CEPH_SCRIPTS:$VAR_LOCATION/remotes/etc/datastore/ceph DATASTORE_DRIVER_DEV_SCRIPTS:$VAR_LOCATION/remotes/datastore/dev DATASTORE_DRIVER_VCENTER_SCRIPTS:$VAR_LOCATION/remotes/datastore/vcenter DATASTORE_DRIVER_ISCSI_SCRIPTS:$VAR_LOCATION/remotes/datastore/iscsi_libvirt DATASTORE_DRIVER_ETC_SCRIPTS:$VAR_LOCATION/remotes/etc/datastore MARKETPLACE_DRIVER_HTTP_SCRIPTS:$VAR_LOCATION/remotes/market/http MARKETPLACE_DRIVER_ETC_HTTP_SCRIPTS:$VAR_LOCATION/remotes/etc/market/http MARKETPLACE_DRIVER_ONE_SCRIPTS:$VAR_LOCATION/remotes/market/one MARKETPLACE_DRIVER_S3_SCRIPTS:$VAR_LOCATION/remotes/market/s3 MARKETPLACE_DRIVER_COMMON_SCRIPTS:$VAR_LOCATION/remotes/market/common MARKETPLACE_DRIVER_LXC_SCRIPTS:$VAR_LOCATION/remotes/market/linuxcontainers MARKETPLACE_DRIVER_TK_SCRIPTS:$VAR_LOCATION/remotes/market/turnkeylinux MARKETPLACE_DRIVER_DH_SCRIPTS:$VAR_LOCATION/remotes/market/dockerhub IPAM_DRIVER_DUMMY_SCRIPTS:$VAR_LOCATION/remotes/ipam/dummy IPAM_DRIVER_PACKET_SCRIPTS:$VAR_LOCATION/remotes/ipam/packet IPAM_DRIVER_EC2_SCRIPTS:$VAR_LOCATION/remotes/ipam/aws NETWORK_FILES:$VAR_LOCATION/remotes/vnm NETWORK_HOOKS_PRE_FILES:$VAR_LOCATION/remotes/vnm/hooks/pre NETWORK_HOOKS_CLEAN_FILES:$VAR_LOCATION/remotes/vnm/hooks/clean NETWORK_ETC_FILES:$VAR_LOCATION/remotes/etc/vnm NETWORK_8021Q_FILES:$VAR_LOCATION/remotes/vnm/802.1Q NETWORK_VXLAN_FILES:$VAR_LOCATION/remotes/vnm/vxlan NETWORK_DUMMY_FILES:$VAR_LOCATION/remotes/vnm/dummy NETWORK_BRIDGE_FILES:$VAR_LOCATION/remotes/vnm/bridge NETWORK_EBTABLES_FILES:$VAR_LOCATION/remotes/vnm/ebtables NETWORK_FW_FILES:$VAR_LOCATION/remotes/vnm/fw NETWORK_OVSWITCH_FILES:$VAR_LOCATION/remotes/vnm/ovswitch NETWORK_OVSWITCH_VXLAN_FILES:$VAR_LOCATION/remotes/vnm/ovswitch_vxlan NETWORK_VCENTER_FILES:$VAR_LOCATION/remotes/vnm/vcenter NETWORK_ELASTIC_FILES:$VAR_LOCATION/remotes/vnm/elastic EXAMPLE_SHARE_FILES:$SHARE_LOCATION/examples EXAMPLE_HOST_HOOKS_SHARE_FILES:$SHARE_LOCATION/examples/host_hooks LXD_NETWORK_HOOKS:$SHARE_LOCATION/examples/network_hooks WEBSOCKIFY_SHARE_RUN_FILES:$SHARE_LOCATION/websockify WEBSOCKIFY_SHARE_MODULE_FILES:$SHARE_LOCATION/websockify/websockify ESX_FW_VNC_SHARE_FILES:$SHARE_LOCATION/esx-fw-vnc INSTALL_GEMS_SHARE_FILES:$SHARE_LOCATION ONETOKEN_SHARE_FILE:$SHARE_LOCATION FOLLOWER_CLEANUP_SHARE_FILE:$SHARE_LOCATION HOOK_FT_FILES:$VAR_LOCATION/remotes/hooks/ft HOOK_VCENTER_FILES:$VAR_LOCATION/remotes/hooks/vcenter HOOK_VCENTER_TMPLS:$VAR_LOCATION/remotes/hooks/vcenter/templates HOOK_RAFT_FILES:$VAR_LOCATION/remotes/hooks/raft COMMON_CLOUD_LIB_FILES:$LIB_LOCATION/ruby/cloud CLOUD_AUTH_LIB_FILES:$LIB_LOCATION/ruby/cloud/CloudAuth ECO_LIB_FILES:$LIB_LOCATION/ruby/cloud/econe ECO_LIB_VIEW_FILES:$LIB_LOCATION/ruby/cloud/econe/views ECO_BIN_FILES:$BIN_LOCATION MAN_FILES:$MAN_LOCATION DOCS_FILES:$DOCS_LOCATION CLI_LIB_FILES:$LIB_LOCATION/ruby/cli ONE_CLI_LIB_FILES:$LIB_LOCATION/ruby/cli/one_helper VENDOR_DIRS:$LIB_LOCATION/ruby/vendors START_SCRIPT_SHARE_FILES:$SHARE_LOCATION/start-scripts LIBVIRT_RNG_SHARE_MODULE_FILES:$SHARE_LOCATION/schemas/libvirt XSD_FILES:$SHARE_LOCATION/schemas/xsd SSH_SH_LIB_FILES:$LIB_LOCATION/sh SSH_SH_OVERRIDE_LIB_FILES:$LIB_LOCATION/sh/override SSH_SHARE_FILES:$SHARE_LOCATION/ssh CONTEXT_SHARE:$SHARE_LOCATION/context DOCKERFILE_TEMPLATE:$SHARE_LOCATION/dockerhub DOCKERFILES_TEMPLATES:$SHARE_LOCATION/dockerhub/dockerfiles ) INSTALL_CLIENT_FILES=( COMMON_CLOUD_CLIENT_LIB_FILES:$LIB_LOCATION/ruby/cloud ECO_LIB_CLIENT_FILES:$LIB_LOCATION/ruby/cloud/econe ECO_BIN_CLIENT_FILES:$BIN_LOCATION COMMON_CLOUD_CLIENT_LIB_FILES:$LIB_LOCATION/ruby/cloud CLI_BIN_FILES:$BIN_LOCATION CLI_LIB_FILES:$LIB_LOCATION/ruby/cli ONE_CLI_LIB_FILES:$LIB_LOCATION/ruby/cli/one_helper CLI_CONF_FILES:$ETC_LOCATION/cli OCA_LIB_FILES:$LIB_LOCATION/ruby RUBY_OPENNEBULA_LIB_FILES:$LIB_LOCATION/ruby/opennebula RUBY_OPENNEBULA_LIB_FLOW_FILES:$LIB_LOCATION/ruby/opennebula/flow RUBY_AUTH_LIB_FILES:$LIB_LOCATION/ruby/opennebula ) INSTALL_ONEPROVISION_FILES=( ONEPROVISION_BIN_FILES:$BIN_LOCATION ONEPROVISION_ONE_LIB_FILES:$LIB_LOCATION/ruby/cli/one_helper ONEPROVISION_CONF_FILES:$ETC_LOCATION/cli ONEPROVISION_ANSIBLE_FILES:$SHARE_LOCATION/oneprovision ONEPROVISION_TEMPLATES_FILES:$SHARE_LOCATION/oneprovision/provisions ONEPROVISION_LIB_FILES:$LIB_LOCATION/oneprovision/lib ONEPROVISION_LIB_TF_FILES:$LIB_LOCATION/oneprovision/lib/terraform ONEPROVISION_LIB_PROVIDERS_FILES:$LIB_LOCATION/oneprovision/lib/terraform/providers ONEPROVISION_LIB_AWS_ERB_FILES:$LIB_LOCATION/oneprovision/lib/terraform/providers/templates/aws ONEPROVISION_LIB_PACKET_ERB_FILES:$LIB_LOCATION/oneprovision/lib/terraform/providers/templates/packet ONEPROVISION_LIB_PROVISION_FILES:$LIB_LOCATION/oneprovision/lib/provision ONEPROVISION_LIB_RESOURCES_FILES:$LIB_LOCATION/oneprovision/lib/provision/resources ONEPROVISION_LIB_PHYSICAL_R_FILES:$LIB_LOCATION/oneprovision/lib/provision/resources/physical ONEPROVISION_LIB_VIRTUAL_R_FILES:$LIB_LOCATION/oneprovision/lib/provision/resources/virtual ONEPROVISION_LIB_PROVIDER_FILES:$LIB_LOCATION/oneprovision/lib/provider ONEPROVISION_LIB_PROVISION_TEMPLATE_FILES:$LIB_LOCATION/oneprovision/lib/provision_template ) INSTALL_ONECFG_FILES=( ONECFG_BIN_FILES:$BIN_LOCATION ONECFG_LIB_FILES:$LIB_LOCATION/onecfg/lib ONECFG_LIB_COMMON_FILES:$LIB_LOCATION/onecfg/lib/common ONECFG_LIB_COMMON_HELPERS_FILES:$LIB_LOCATION/onecfg/lib/common/helpers ONECFG_LIB_COMMON_LOGGER_FILES:$LIB_LOCATION/onecfg/lib/common/logger ONECFG_LIB_CONFIG_FILES:$LIB_LOCATION/onecfg/lib/config ONECFG_LIB_CONFIG_TYPE_FILES:$LIB_LOCATION/onecfg/lib/config/type ONECFG_LIB_CONFIG_TYPE_AUGEAS_FILES:$LIB_LOCATION/onecfg/lib/config/type/augeas ONECFG_LIB_CONFIG_TYPE_YAML_FILES:$LIB_LOCATION/onecfg/lib/config/type/yaml ONECFG_LIB_PATCH_FILES:$LIB_LOCATION/onecfg/lib/patch ONECFG_SHARE_ETC_FILES:$SHARE_LOCATION/onecfg/etc ) INSTALL_SUNSTONE_RUBY_FILES=( RUBY_OPENNEBULA_LIB_FILES:$LIB_LOCATION/ruby/opennebula RUBY_OPENNEBULA_LIB_FLOW_FILES:$LIB_LOCATION/ruby/opennebula/flow OCA_LIB_FILES:$LIB_LOCATION/ruby ) INSTALL_SUNSTONE_FILES=( SUNSTONE_FILES:$SUNSTONE_LOCATION SUNSTONE_BIN_FILES:$BIN_LOCATION SUNSTONE_MODELS_FILES:$SUNSTONE_LOCATION/models SUNSTONE_MODELS_JSON_FILES:$SUNSTONE_LOCATION/models/OpenNebulaJSON SUNSTONE_VIEWS_FILES:$SUNSTONE_LOCATION/views SUNSTONE_ROUTES_FILES:$SUNSTONE_LOCATION/routes SUNSTONE_SERVICES_FILES:$SUNSTONE_LOCATION/services ) INSTALL_SUNSTONE_PUBLIC_MINIFIED_FILES=( SUNSTONE_PUBLIC_JS_FILES:$SUNSTONE_LOCATION/public/dist SUNSTONE_PUBLIC_JS_GUAC_FILES:$SUNSTONE_LOCATION/guac/dist SUNSTONE_PUBLIC_JS_CONSOLE_FILES:$SUNSTONE_LOCATION/public/dist/console SUNSTONE_PUBLIC_FONT_AWSOME:$SUNSTONE_LOCATION/public/bower_components/fontawesome/web-fonts-with-css/webfonts SUNSTONE_PUBLIC_CSS_FILES:$SUNSTONE_LOCATION/public/css SUNSTONE_PUBLIC_IMAGES_FILES:$SUNSTONE_LOCATION/public/images SUNSTONE_PUBLIC_LOGOS_FILES:$SUNSTONE_LOCATION/public/images/logos SUNSTONE_PUBLIC_LOCALE_CA:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_CS_CZ:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_DE:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_DA:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_EN_US:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_ES_ES:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_FA_IR:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_FR_FR:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_IT_IT:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_JA:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_LT_LT:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_NL_NL:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_PL:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_PT_PT:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_PT_BR:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_RU_RU:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_SK_SK:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_ZH_CN:$SUNSTONE_LOCATION/public/locale/languages SUNSTONE_PUBLIC_LOCALE_TR_TR:$SUNSTONE_LOCATION/public/locale/languages ) INSTALL_SUNSTONE_PUBLIC_DEV_DIR=( SUNSTONE_PUBLIC_DEV_DIR:$SUNSTONE_LOCATION SUNSTONE_GUAC_DEV_DIR:$SUNSTONE_LOCATION ) INSTALL_SUNSTONE_ETC_FILES=( SUNSTONE_ETC_FILES:$ETC_LOCATION SUNSTONE_ETC_VIEW_KVM:$ETC_LOCATION/sunstone-views/kvm SUNSTONE_ETC_VIEW_VCENTER:$ETC_LOCATION/sunstone-views/vcenter SUNSTONE_ETC_VIEW_MIXED:$ETC_LOCATION/sunstone-views/mixed ) INSTALL_FIREEDGE_FILES=( FIREEDGE_MINIFIED_FILES:$FIREEDGE_LOCATION FIREEDGE_BIN_FILES:$BIN_LOCATION FIREEDGE_ETC_FILES:$ETC_LOCATION ) INSTALL_FIREEDGE_DEV_DIRS=( FIREEDGE_DEV_FILES:$FIREEDGE_LOCATION ) INSTALL_ONEGATE_FILES=( ONEGATE_FILES:$ONEGATE_LOCATION ONEGATE_BIN_FILES:$BIN_LOCATION ) INSTALL_ONEGATE_ETC_FILES=( ONEGATE_ETC_FILES:$ETC_LOCATION ) INSTALL_ONEFLOW_FILES=( ONEFLOW_FILES:$ONEFLOW_LOCATION ONEFLOW_BIN_FILES:$BIN_LOCATION ONEFLOW_LIB_FILES:$ONEFLOW_LOCATION/lib ONEFLOW_LIB_STRATEGY_FILES:$ONEFLOW_LOCATION/lib/strategy ONEFLOW_LIB_MODELS_FILES:$ONEFLOW_LOCATION/lib/models ) INSTALL_ONEFLOW_ETC_FILES=( ONEFLOW_ETC_FILES:$ETC_LOCATION ) INSTALL_ONEHEM_FILES=( ONEHEM_FILES:$ONEHEM_LOCATION ONEHEM_BIN_FILES:$BIN_LOCATION ) INSTALL_ONEHEM_ETC_FILES=( ONEHEM_ETC_FILES:$ETC_LOCATION ) INSTALL_DOCKER_MACHINE_FILES=( DOCKER_MACHINE_BIN_FILES:$BIN_LOCATION ) INSTALL_ETC_FILES=( ETC_FILES:$ETC_LOCATION ETC_FILES:$SHARE_LOCATION/conf EC2_ETC_FILES:$ETC_LOCATION VCENTER_ETC_FILES:$ETC_LOCATION AZ_ETC_FILES:$ETC_LOCATION VMM_EXEC_ETC_FILES:$ETC_LOCATION/vmm_exec HM_ETC_FILES:$ETC_LOCATION/hm AUTH_ETC_FILES:$ETC_LOCATION/auth ECO_ETC_FILES:$ETC_LOCATION ECO_ETC_TEMPLATE_FILES:$ETC_LOCATION/ec2query_templates CLI_CONF_FILES:$ETC_LOCATION/cli ) #------------------------------------------------------------------------------- # Binary files, to be installed under $BIN_LOCATION #------------------------------------------------------------------------------- BIN_FILES="src/nebula/oned \ src/scheduler/src/sched/mm_sched \ src/cli/onevm \ src/cli/oneacct \ src/cli/oneshowback \ src/cli/onehost \ src/cli/onevnet \ src/cli/oneuser \ src/cli/oneimage \ src/cli/onegroup \ src/cli/onetemplate \ src/cli/oneacl \ src/cli/onedatastore \ src/cli/onecluster \ src/cli/onezone \ src/cli/oneflow \ src/cli/oneflow-template \ src/cli/onesecgroup \ src/cli/onevmgroup \ src/cli/onevdc \ src/cli/onevrouter \ src/cli/onemarket \ src/cli/onemarketapp \ src/cli/onevcenter \ src/cli/onevntemplate \ src/cli/onehook \ src/onedb/onedb \ share/scripts/qemu-kvm-one-gen \ share/scripts/one" #------------------------------------------------------------------------------- # Binary files, to be installed under $SBIN_LOCATION #------------------------------------------------------------------------------- SBIN_FILES="src/vmm_mad/remotes/lib/firecracker/install-firecracker" #------------------------------------------------------------------------------- # C/C++ OpenNebula API Library & Development files # Include files, to be installed under $INCLUDE_LOCATION # Library files, to be installed under $LIB_LOCATION #------------------------------------------------------------------------------- INCLUDE_FILES="" LIB_FILES="" #------------------------------------------------------------------------------- # Ruby library files, to be installed under $LIB_LOCATION/ruby #------------------------------------------------------------------------------- RUBY_LIB_FILES="src/mad/ruby/ActionManager.rb \ src/mad/ruby/CommandManager.rb \ src/mad/ruby/OpenNebulaDriver.rb \ src/mad/ruby/VirtualMachineDriver.rb \ src/mad/ruby/PublicCloudDriver.rb \ src/mad/ruby/DriverExecHelper.rb \ src/mad/ruby/ssh_stream.rb \ src/vnm_mad/one_vnm.rb \ src/oca/ruby/opennebula.rb \ src/sunstone/OpenNebulaVNC.rb \ src/sunstone/opennebula_guac.rb \ src/sunstone/opennebula_vmrc.rb \ src/sunstone/OpenNebulaAddons.rb \ src/vmm_mad/remotes/vcenter/vcenter_driver.rb \ src/vmm_mad/remotes/nsx/nsx_driver.rb \ src/vmm_mad/remotes/az/az_driver.rb \ src/vmm_mad/remotes/ec2/ec2_driver.rb \ src/vmm_mad/remotes/one/opennebula_driver.rb \ src/vmm_mad/remotes/packet/packet_driver.rb \ src/vnm_mad/remotes/elastic/aws_vnm.rb \ src/vnm_mad/remotes/elastic/packet_vnm.rb" #------------------------------------------------------------------------------- # Ruby auth library files, to be installed under $LIB_LOCATION/ruby/opennebula #------------------------------------------------------------------------------- RUBY_AUTH_LIB_FILES="src/authm_mad/remotes/ssh/ssh_auth.rb \ src/authm_mad/remotes/server_x509/server_x509_auth.rb \ src/authm_mad/remotes/server_cipher/server_cipher_auth.rb \ src/authm_mad/remotes/ldap/ldap_auth.rb \ src/authm_mad/remotes/x509/x509_auth.rb" #----------------------------------------------------------------------------- # MAD Script library files, to be installed under $LIB_LOCATION/