mirror of
				https://github.com/xcat2/xcat-core.git
				synced 2025-11-04 13:22:36 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			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
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 |