81 lines
2.6 KiB
Bash
Executable File
81 lines
2.6 KiB
Bash
Executable File
#!/bin/sh
|
|
# IBM(c) 2013 EPL license http://www.eclipse.org/legal/epl-v10.html
|
|
#-------------------------------------------------------------------------------
|
|
#=head1 setup_openstack_repo
|
|
#=head2 This command adds the OpenStack repository to the node. It is run
|
|
# as a postscript.
|
|
# Usage:
|
|
# For OpenStack Grizzly: setup_openstack_repo
|
|
# For other OpenStack versions: setup_openstack_repo folsom
|
|
#
|
|
#=cut
|
|
#-------------------------------------------------------------------------------
|
|
|
|
pmatch ()
|
|
{
|
|
case $1 in
|
|
$2) return 0;; # zero return code means string matched by pattern
|
|
esac
|
|
|
|
return 1 # non-zero return code means string not matched by pattern
|
|
}
|
|
|
|
# is_lsb_ubuntu exit status indicates whether system appears to be Ubuntu.
|
|
# Using required /etc/lsb-release file, instead of optional lsb_release command.
|
|
is_lsb_ubuntu ()
|
|
{
|
|
awk '
|
|
(match($0, "^[ \t]*DISTRIB_ID=") == 1) { # A DISTRIB_ID line
|
|
id = substr($0, RLENGTH + 1) # Save its value
|
|
}
|
|
|
|
END {
|
|
# Examine last DISTRIB_ID value to see if Ubuntu indicated
|
|
|
|
if (match(id, "^(Ubuntu|\"Ubuntu\")[ \t]*$") == 1) {
|
|
exit 0 # Ubuntu
|
|
}
|
|
exit 1 # Not Ubuntu
|
|
}
|
|
|
|
' /etc/lsb-release >/dev/null 2>&1
|
|
|
|
# Routine exit status is exit status of the last command -- the awk script.
|
|
#
|
|
# Note: if /etc/lsb-release does not exist, the exit status indicates
|
|
# failure (not Ubuntu), which is the correct outcome.
|
|
}
|
|
|
|
if [ "$(uname -s)" = "Linux" ]; then
|
|
if ( pmatch "$OSVER" "ubuntu*" ) || ( is_lsb_ubuntu ); then
|
|
urelease="precise" #default release name
|
|
urelease=`cat /etc/lsb-release |grep DISTRIB_CODENAME |cut -d= -f2`
|
|
|
|
opsrelease="grizzly"
|
|
if [[ -n "$1" ]]; then
|
|
opsrelease=$1
|
|
fi
|
|
echo "deb http://ubuntu-cloud.archive.canonical.com/ubuntu ${urelease}-updates/${opsrelease} main" > /etc/apt/sources.list.d/${opsrelease}.list
|
|
|
|
#Refresh the repository
|
|
apt-get install ubuntu-cloud-keyring -y
|
|
apt-get update
|
|
|
|
echo "Added the OpenStack ${opsrelease} version for Ubunto ${urelease} release to the repository, Please modify this script if you need a different version."
|
|
|
|
elif ( pmatch "$OSVER" "rh*" ) || [ -f /etc/redhat-release ]; then
|
|
#use yum repository
|
|
echo "Redhat. Please refer to http://sourceforge.net/apps/mediawiki/xcat/index.php?title=Deploying_OpenStack for how to setup OpenStack repository for RedHat".
|
|
else
|
|
echo "OpenStack deployment with xCAT is not supported on this platform yet.".
|
|
fi
|
|
else
|
|
echo "OpenStack is not supported on this platform."
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|