You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ed...@apache.org on 2012/09/19 00:55:25 UTC

git commit: add deb/rpm install.sh

Updated Branches:
  refs/heads/4.0 009698e35 -> 92fdeb53b


add deb/rpm install.sh


Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/92fdeb53
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/92fdeb53
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/92fdeb53

Branch: refs/heads/4.0
Commit: 92fdeb53bbb5fec29e593cbedeb9ace7baddf8cd
Parents: 009698e
Author: Edison Su <su...@gmail.com>
Authored: Tue Sep 18 15:55:11 2012 -0700
Committer: Edison Su <su...@gmail.com>
Committed: Tue Sep 18 15:55:11 2012 -0700

----------------------------------------------------------------------
 tools/build/installer/debinstall_full.sh |  163 +++++++++++++++++++++++
 tools/build/installer/rpminstall_full.sh |  176 +++++++++++++++++++++++++
 2 files changed, 339 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/92fdeb53/tools/build/installer/debinstall_full.sh
----------------------------------------------------------------------
diff --git a/tools/build/installer/debinstall_full.sh b/tools/build/installer/debinstall_full.sh
new file mode 100644
index 0000000..65c6eed
--- /dev/null
+++ b/tools/build/installer/debinstall_full.sh
@@ -0,0 +1,163 @@
+#!/bin/bash
+# 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.
+
+
+function cleanup() {
+    test -f /etc/apt/sources.list.vmops.bak && mv -f /etc/apt/sources.list.vmops.bak /etc/apt/sources.list || true
+}
+
+function setuprepo() {
+    pathtorepo=`pwd`
+    echo "Setting up the temporary repository..." >&2
+    cp /etc/apt/sources.list /etc/apt/sources.list.vmops.bak
+    echo "
+deb file://$pathtorepo ./" >> /etc/apt/sources.list
+
+    echo "Fetching updated listings..." >&2
+    aptitude update
+}
+
+function installed() {
+    dpkg -l "$@" 2> /dev/null | grep '^i' > /dev/null || return $?
+}
+
+function doinstall() {
+    aptitude install "$@" || return $?
+}
+    
+function doupdate() {
+    service cloud-management stop
+    apt-get --force-yes -y -u install "cloud-*"
+    service cloud-management restart
+}
+    
+function doremove() {
+    apt-get remove "$@" || return $?
+}
+
+[ `whoami` != 'root' ] && echo "This script must run as root" && exit 1
+
+trap "cleanup" INT TERM EXIT
+
+cd `dirname "$0"`
+setuprepo
+
+installms="    M) Install the Management Server   
+"
+installag="    A) Install the Agent
+"
+installus="    S) Install the Usage Monitor
+"
+installdb="    D) Install the database server     
+"
+quitoptio="    Q) Quit
+"
+unset removedb
+unset upgrade
+unset remove
+
+if installed cloud-client || installed cloud-agent || installed cloud-usage; then
+    upgrade="    U) Upgrade the CloudStack packages installed on this computer
+"
+    remove="    R) Stop any running CloudStack services and remove the CloudStack packages from this computer
+"
+fi
+if installed cloud-client ; then
+    unset installms
+fi
+if installed cloud-agent ; then
+    unset installag
+fi
+if installed cloud-usage ; then
+    unset installus
+fi
+if installed mysql-server ; then
+    unset installdb
+    removedb="    E) Remove the MySQL server (will not remove the MySQL databases)
+"
+fi
+
+read -p "Welcome to the Cloud.com CloudStack Installer.  What would you like to do?
+
+$installms$installag$installbm$installus$installdb$upgrade$remove$removedb$quitoptio
+    > " installtype
+
+if [ "$installtype" == "q" -o "$installtype" == "Q" ] ; then
+
+    true
+
+elif [ "$installtype" == "m" -o "$installtype" == "M" ] ; then
+
+    echo "Installing the Management Server..." >&2
+    doinstall cloud-client
+    true
+
+elif [ "$installtype" == "a" -o "$installtype" == "A" ] ; then
+
+    echo "Installing the Agent..." >&2
+    if doinstall cloud-agent cloud-system-iso ; then
+        echo "Agent installation is completed, please add the host from management server" >&2
+    else
+        true
+    fi
+elif [ "$installtype" == "s" -o "$installtype" == "S" ] ; then
+
+    echo "Installing the Usage Server..." >&2
+    doinstall cloud-usage
+    true
+
+elif [ "$installtype" == "d" -o "$installtype" == "D" ] ; then
+
+    echo "Installing the MySQL server..." >&2
+    if doinstall mysql-server ; then
+        if /usr/sbin/service mysql status > /dev/null 2>&1 ; then
+            echo "Restarting the MySQL server..." >&2
+            /usr/sbin/service mysql restart # mysqld running already, we restart it
+        else
+            echo "Starting the MySQL server..." >&2
+            /usr/sbin/service mysql start   # we start mysqld for the first time
+        fi
+    else
+        true
+    fi
+
+elif [ "$installtype" == "u" -o "$installtype" == "U" ] ; then
+
+    echo "Updating the CloudStack and its dependencies..." >&2
+    doupdate
+
+elif [ "$installtype" == "r" -o "$installtype" == "R" ] ; then
+
+    echo "Removing all CloudStack packages on this computer..." >&2
+    doremove 'cloud-*'
+
+elif [ "$installtype" == "e" -o "$installtype" == "E" ] ; then
+
+    echo "Removing the MySQL server on this computer..." >&2
+    doremove 'mysql-server'
+
+else
+
+    echo "Incorrect choice.  Nothing to do." >&2
+    exit 8
+
+fi
+
+
+echo "Done" >&2
+cleanup

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/92fdeb53/tools/build/installer/rpminstall_full.sh
----------------------------------------------------------------------
diff --git a/tools/build/installer/rpminstall_full.sh b/tools/build/installer/rpminstall_full.sh
new file mode 100755
index 0000000..f0b58c2
--- /dev/null
+++ b/tools/build/installer/rpminstall_full.sh
@@ -0,0 +1,176 @@
+#!/bin/bash
+# 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.
+
+function cleanup() {
+    rm -f /etc/yum.repos.d/cloud-temp.repo || true
+}
+
+function setuprepo() {
+    pathtorepo=`pwd`
+    echo "Setting up the temporary repository..." >&2
+    echo \
+"[cloud-temp]
+baseurl=file://$pathtorepo
+gpgcheck=0
+enabled=1
+name=CloudStack temporary repository
+" > /etc/yum.repos.d/cloud-temp.repo
+
+    echo "Cleaning Yum cache..." >&2
+    rm /var/cache/yum/cloud-temp/ -rf
+    yum clean expire-cache || true
+}
+
+function installed() {
+    rpm -q "$@" > /dev/null 2>&1 || return $?
+}
+
+function doinstall() {
+    yum install "$@" || return $?
+}
+    
+function doupdate() {
+    yum update --enablerepo='cloud-temp' 'cloud-*' || return $?
+}
+    
+function doremove() {
+    yum remove "$@" || return $?
+}
+
+[ `whoami` != 'root' ] && echo "This script must run as root" && exit 1
+
+trap "cleanup" INT TERM EXIT
+
+cd `dirname "$0"`
+setuprepo
+
+installms="    M) Install the Management Server   
+"
+installag="    A) Install the Agent
+"
+installbm="    B) Install BareMetal Agent
+"
+installus="    S) Install the Usage Monitor
+"
+installdb="    D) Install the database server     
+"
+quitoptio="    Q) Quit
+"
+unset removedb
+unset upgrade
+unset remove
+
+if installed cloud-client || installed cloud-agent || installed cloud-usage || installed cloud-baremetal-agent; then
+    upgrade="    U) Upgrade the CloudStack packages installed on this computer
+"
+    remove="    R) Stop any running CloudStack services and remove the CloudStack packages from this computer
+"
+fi
+if installed cloud-client ; then
+    unset installms
+fi
+if installed cloud-agent ; then
+    unset installag
+fi
+if installed cloud-baremetal-agent ; then
+    unset installbm
+fi
+if installed cloud-usage ; then
+    unset installus
+fi
+if installed mysql-server ; then
+    unset installdb
+    removedb="    E) Remove the MySQL server (will not remove the MySQL databases)
+"
+fi
+
+read -p "Welcome to the Cloud.com CloudStack Installer.  What would you like to do?
+
+$installms$installag$installbm$installus$installdb$upgrade$remove$removedb$quitoptio
+    > " installtype
+
+if [ "$installtype" == "q" -o "$installtype" == "Q" ] ; then
+
+    true
+
+elif [ "$installtype" == "m" -o "$installtype" == "M" ] ; then
+
+    echo "Installing the Management Server..." >&2
+    doinstall cloud-client cloud-premium 
+    true
+
+elif [ "$installtype" == "a" -o "$installtype" == "A" ] ; then
+
+    echo "Installing the Agent..." >&2
+    if doinstall cloud-agent cloud-premium ; then
+        echo "Agent installation is completed, please add the host from management server" >&2
+    else
+        true
+    fi
+elif [ "$installtype" == "b" -o "$installtype" == "B" ] ; then
+    echo "Installing the BareMetal Agent..." >&2
+    doinstall cloud-baremetal-agent
+    true
+
+elif [ "$installtype" == "s" -o "$installtype" == "S" ] ; then
+
+    echo "Installing the Usage Server..." >&2
+    doinstall cloud-usage cloud-premium 
+    true
+
+elif [ "$installtype" == "d" -o "$installtype" == "D" ] ; then
+
+    echo "Installing the MySQL server..." >&2
+    if doinstall mysql-server ; then
+        /sbin/chkconfig --add mysqld 
+        /sbin/chkconfig --level 345 mysqld on
+        if /sbin/service mysqld status > /dev/null 2>&1 ; then
+            echo "Restarting the MySQL server..." >&2
+            /sbin/service mysqld restart # mysqld running already, we restart it
+        else
+            echo "Starting the MySQL server..." >&2
+            /sbin/service mysqld start   # we start mysqld for the first time
+        fi
+    else
+        true
+    fi
+
+elif [ "$installtype" == "u" -o "$installtype" == "U" ] ; then
+
+    echo "Updating the CloudStack and its dependencies..." >&2
+    doupdate
+
+elif [ "$installtype" == "r" -o "$installtype" == "R" ] ; then
+
+    echo "Removing all CloudStack packages on this computer..." >&2
+    doremove 'cloud-*'
+
+elif [ "$installtype" == "e" -o "$installtype" == "E" ] ; then
+
+    echo "Removing the MySQL server on this computer..." >&2
+    doremove 'mysql-server'
+else
+
+    echo "Incorrect choice.  Nothing to do." >&2
+    exit 8
+
+fi
+
+
+echo "Done" >&2
+cleanup