From 1c82c1f875ca2681ff36e804fde8f6beb8f36c77 Mon Sep 17 00:00:00 2001 From: Ward Vandewege Date: Mon, 28 Sep 2015 21:00:32 -0400 Subject: [PATCH] More fixes for the SSO server packages. refs #7330 --- .../arvados-sso-server.postinst | 13 +-- jenkins/run-build-packages-sso.sh | 4 +- jenkins/run-test-packages-sso.sh | 81 ++++++++++++++----- 3 files changed, 71 insertions(+), 27 deletions(-) diff --git a/jenkins/arvados-sso-server-extras/arvados-sso-server.postinst b/jenkins/arvados-sso-server-extras/arvados-sso-server.postinst index ecd9b44..436f5bd 100755 --- a/jenkins/arvados-sso-server-extras/arvados-sso-server.postinst +++ b/jenkins/arvados-sso-server-extras/arvados-sso-server.postinst @@ -6,6 +6,7 @@ INSTALL_PATH=/var/www/arvados-sso RELEASE_PATH=$INSTALL_PATH/current SHARED_PATH=$INSTALL_PATH/shared CONFIG_PATH=/etc/arvados/sso +PACKAGE_NAME=arvados-sso-server DATABASE_READY=1 APPLICATION_READY=1 @@ -78,8 +79,8 @@ EOF echo echo "Assumption: $WEB_SERVICE is configured to serve your SSO server URL from" - echo " /var/www/arvados-sso/current" - echo "Assumption: configuration files are in /etc/arvados/sso/" + echo " $RELEASE_PATH" + echo "Assumption: configuration files are in $CONFIG_PATH" echo "Assumption: $WEB_SERVICE and passenger run as $WWW_OWNER" echo @@ -211,8 +212,8 @@ if [ "$DATABASE_READY" = "0" ]; then PLEASE NOTE: -The arvados-sso package was not configured completely because -/etc/arvados/database.yml needs some tweaking. Please refer to the +The $PACKAGE_NAME package was not configured completely because +$CONFIG_PATH/database.yml needs some tweaking. Please refer to the documentation at http://doc.arvados.org/install/install-sso.html#configure for more details. @@ -225,8 +226,8 @@ if [ "$APPLICATION_READY" = "0" ]; then PLEASE NOTE: -The arvados-sso package was not configured completely because -/etc/arvados/application.yml needs some tweaking. Please refer to the +The $PACKAGE_NAME package was not configured completely because +$CONFIG_PATH/application.yml needs some tweaking. Please refer to the documentation at http://doc.arvados.org/install/install-sso.html#configure for more details. diff --git a/jenkins/run-build-packages-sso.sh b/jenkins/run-build-packages-sso.sh index 8d1de52..2550135 100755 --- a/jenkins/run-build-packages-sso.sh +++ b/jenkins/run-build-packages-sso.sh @@ -3,7 +3,7 @@ . `dirname "$(readlink -f "$0")"`/run-library.sh read -rd "\000" helpmessage < /dev/null 2>&1 $SUDO apt-get -f install --yes set -e - $SUDO dpkg -i $PACKAGE_PATH + $SUDO dpkg -i $PACKAGE_PATH || EXITCODE=2 + + checkexit $EXITCODE "dpkg -i $PACKAGE_PATH" # Test 3: the package should remove cleanly - $SUDO apt-get remove arvados-sso --yes + $SUDO apt-get remove $PACKAGE_NAME --yes || EXITCODE=3 + + checkexit $EXITCODE "apt-get remove $PACKAGE_PATH --yes" # Test 4: the package configuration should remove cleanly - $SUDO dpkg --purge arvados-sso + $SUDO dpkg --purge $PACKAGE_NAME || EXITCODE=4 + + checkexit $EXITCODE "dpkg --purge $PACKAGE_PATH" if [[ -e "/var/www/arvados-sso" ]]; then - echo "Error: leftover items under /var/www/arvados-sso." - exit 4 + EXITCODE=4 fi + checkexit $EXITCODE "leftover items under /var/www/arvados-sso" + # Test 5: the package should remove cleanly with --purge - $SUDO dpkg -i $PACKAGE_PATH - $SUDO apt-get remove arvados-sso --purge --yes + $SUDO dpkg -i $PACKAGE_PATH || EXITCODE=5 + + checkexit $EXITCODE "dpkg -i $PACKAGE_PATH" + + $SUDO apt-get remove $PACKAGE_NAME --purge --yes || EXITCODE=5 + + checkexit $EXITCODE "apt-get remove $PACKAGE_PATH --purge --yes" if [[ -e "/var/www/arvados-sso" ]]; then - echo "Error: leftover items under /var/www/arvados-sso." - exit 5 + EXITCODE=5 fi + checkexit $EXITCODE "leftover items under /var/www/arvados-sso" + elif [[ "$FORMAT" == "rpm" ]]; then + + # Set up Nginx first + # (courtesy of https://www.phusionpassenger.com/library/walkthroughs/deploy/ruby/ownserver/nginx/oss/el6/install_passenger.html) + $SUDO yum install -q -y epel-release pygpgme curl + $SUDO curl --fail -sSLo /etc/yum.repos.d/passenger.repo https://oss-binaries.phusionpassenger.com/yum/definitions/el-passenger.repo + $SUDO yum install -q -y nginx passenger + $SUDO sed -i -e 's/^# passenger/passenger/' /etc/nginx/conf.d/passenger.conf + # Done setting up Nginx + # Test 2: the package should install cleanly - $SUDO yum -q -y --nogpgcheck localinstall $PACKAGE_PATH + $SUDO yum -q -y --nogpgcheck localinstall $PACKAGE_PATH || EXITCODE=3 + + checkexit $EXITCODE "yum -q -y --nogpgcheck localinstall $PACKAGE_PATH" # Test 3: the package should remove cleanly - $SUDO yum -q -y remove arvados-sso + $SUDO yum -q -y remove $PACKAGE_NAME || EXITCODE=3 + + checkexit $EXITCODE "yum -q -y remove $PACKAGE_PATH" if [[ -e "/var/www/arvados-sso" ]]; then - echo "Error: leftover items under /var/www/arvados-sso." - exit 3 + EXITCODE=3 fi + checkexit $EXITCODE "leftover items under /var/www/arvados-sso" + fi -echo "Testing complete, no errors!" +if [[ "$EXITCODE" == "0" ]]; then + echo "Testing complete, no errors!" +else + echo "Errors while testing!" +fi exit $EXITCODE -- 2.30.2