mirror of
				https://github.com/xcat2/xcat-core.git
				synced 2025-10-24 16:05:41 +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
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 |