training-labs scripts cleanup

By request, I am posting a cosmetic changeset to clean up spelling,
formatting, whitespace, and comments (some visible by script users) in
training-labs. A few variables and function names have been changed
(decapitalization, consistency).

Scope: This changeset does not affect the workings of the code and
therefore does not fix bugs. Bug fixes go into separate patches.

Special notes:
* Scripts/Neutron/Neutron.sh still installs quantum, but the naming
  within said script is now consistent. That can only be temporary,
  a switch to a more recent release should happen soonish.

* I left the numbers for steps in some scripts (Glance.sh); maybe
  the manuals are meant to refer to these numbers!? Of course, they
  will change occasionally (this time, for instance, I changed them
  to match the actual order).

* Scripts that use non-standard functionality should use bash, not sh;
  shebangs fixed

* I didn't touch README.md, training-guides-cluster-scripts.tar: these,
  too, are for a separate changeset

Related-Bug: #1312764
Change-Id: I01005f96b03ef3fbeeaa0b9d9d0e804aaed7af83
This commit is contained in:
Roger Luethi 2014-04-21 19:39:06 +02:00
parent 35a21be2bf
commit a14a288d18
32 changed files with 376 additions and 389 deletions

View File

@ -1,23 +1,22 @@
#!/bin/sh
#
# About:Setup Dependences for Virtual Box Sandbox
# meant for OpenStack Labs.
# About: Set up dependencies for VirtualBox sandbox meant for OpenStack Labs.
#
# Contact: pranav@aptira.com
# Copyright : Aptira @aptira,aptira.com
# Copyright: Aptira @aptira,aptira.com
# License: Apache Software License (ASL) 2.0
###############################################################################
# #
# This Script will install Cinder related packages and after installaion, it #
# This script will install Cinder related packages and after installation, it #
# will configure Cinder, populate the database. #
# #
###############################################################################
# Note: You DoNot Need Internet for this due to the magic of --download-only
# Note: No Internet access required -- packages downloaded by PreInstall.sh
echo "Internet connection is not required for this script to run"
SCRIPT_DIR=$(cd $(dirname "$0") && pwd)
Install_Cinder() {
install_cinder() {
# 1. Install Cinder
apt-get install -y cinder-api cinder-scheduler cinder-volume iscsitarget open-iscsi iscsitarget-dkms
@ -29,21 +28,21 @@ Install_Cinder() {
service iscsitarget start
service open-iscsi start
# 4. Configure the templates
# 4. Install the templates
cp --no-preserve=mode,ownership "$SCRIPT_DIR/Templates/api-paste.ini" /etc/cinder/api-paste.ini
cp --no-preserve=mode,ownership "$SCRIPT_DIR/Templates/cinder.conf" /etc/cinder/cinder.conf
# 5. MySQL database
cinder-manage db sync
# 5. Format the disks -- see if something else is available instead of
# fdisk
bash format_volumes # Need Expert Advice on this ....
# 6. Format the disks -- see if something else is available instead of
# fdisk
bash format_volumes # Need expert advice on this ....
pvcreate /dev/sdb
vgcreate cinder-volumes /dev/sdb
# 6. Restart Cinder Related Services
# 7. Restart Cinder related services
for i in $( ls /etc/init.d/cinder-* ); do $i restart; done
}
Install_Cinder
install_cinder

View File

@ -1,19 +1,17 @@
#!/bin/sh
#!/bin/bash
#
# About:Setup Dependences for Virtual Box Sandbox
# meant for OpenStack Labs.
# About: Set up dependencies for VirtualBox sandbox meant for OpenStack Labs.
#
# Contact: pranav@aptira.com
# Copyright : Aptira @aptira,aptira.com
# Copyright: Aptira @aptira,aptira.com
# License: Apache Software License (ASL) 2.0
###############################################################################
# #
# This Script will configure cinder volumes #
# This script will configure Cinder volumes #
# #
###############################################################################
# Note: You DoNot Need Internet for this due to the magic of --download-only
echo "Enter Location of Disk To be used for formatting"
echo -n "Enter location of disk to be used for formatting: "
read $disk
# Assuming /dev/sdb for now

View File

@ -1,48 +1,47 @@
#!/bin/sh
#!/bin/bash
#
# About:Setup Dependences for Virtual Box Sandbox
# meant for OpenStack Labs.
# About: Set up dependencies for VirtualBox sandbox meant for OpenStack Labs.
#
# Contact: pranav@aptira.com
# Copyright : Aptira @aptira,aptira.com
# Copyright: Aptira @aptira,aptira.com
# License: Apache Software License (ASL) 2.0
###############################################################################
# #
# This Script will install Glance related packages and after installaion, it #
# This script will install Glance related packages and after installation, it #
# will configure Glance #
# #
###############################################################################
# Note: You DoNot Need Internet for this due to the magic of --download-only
# Note: No Internet access required -- packages downloaded by PreInstall.sh
echo "Internet connection is not required for this script to run"
SCRIPT_DIR=$(cd $(dirname "$0") && pwd)
glance_conf(){
glance_conf() {
#1. Install Glance
# 1. Install Glance
apt-get install -y glance
#2. Configure the Config Files
# 2. Install the config files
cp --no-preserve=mode,ownership "$SCRIPT_DIR/Templates/glance-api.conf" /etc/glance/glance-api.conf
cp --no-preserve=mode,ownership "$SCRIPT_DIR/Templates/glance-api-paste.ini" /etc/glance/glance-api-paste.ini
cp --no-preserve=mode,ownership "$SCRIPT_DIR/Templates/glance-registry-paste.ini" /etc/glance/glance-registry-paste.ini
cp --no-preserve=mode,ownership "$SCRIPT_DIR/Templates/glance-registry.conf" /etc/glance/glance-registry.conf
#3. Restart Glance Services
# 3. Restart Glance services
service glance-api restart
service glance-registry restart
#5. Sync Glance Database
# 4. Sync Glance database
glance-manage db_sync
#4. Upload Cirros Image to Glance
# 5. Upload CirrOS image to Glance
source "$SCRIPT_DIR/../Keystone/Scripts/Credentials.sh"
# CirrOS image downloaded in PreInstall.sh
glance image-create --name myFirstImage --is-public true --container-format bare --disk-format qcow2 < "$SCRIPT_DIR"/cirros-*-x86_64-disk.img
#5. Check The Image
# 6. Check the image
glance image-list
}
echo "Running Glance Configuration"
echo "Running Glance configuration"
glance_conf

View File

@ -296,7 +296,7 @@ s3_store_create_bucket_on_put = False
# will be used. If required, an alternative directory can be specified here.
#s3_store_object_buffer_dir = /path/to/dir
# When forming a bucket url, boto will either set the bucket name as the
# When forming a bucket URL, boto will either set the bucket name as the
# subdomain or as the first token of the path. Amazon's S3 service will
# accept it as the subdomain, but Swift's S3 middleware requires it be
# in the path. Set this to 'path' or 'subdomain' - defaults to 'subdomain'.

View File

@ -1,30 +1,29 @@
#!/bin/sh
#
# About:Setup Dependences for Virtual Box Sandbox
# meant for OpenStack Labs.
# About: Set up dependencies for VirtualBox sandbox meant for OpenStack Labs.
#
# Contact: pranav@aptira.com
# Copyright : Aptira @aptira,aptira.com
# Copyright: Aptira @aptira,aptira.com
# License: Apache Software License (ASL) 2.0
###############################################################################
# #
# This Script will install Horizon related packages. #
# This script will install Horizon related packages. #
# #
###############################################################################
# Note: You DoNot Need Internet for this due to the magic of --download-only
# Note: No Internet access required -- packages downloaded by PreInstall.sh
echo "Internet connection is not required for this script to run"
SCRIPT_DIR=$(cd $(dirname "$0") && pwd)
Install_Horizon() {
install_horizon() {
# 1. Install Horizon
apt-get install -y openstack-dashboard memcached
# 2. Restart Apache2 and Memcached
# 2. Restart apache2 and memcached
service apache2 restart
service memcached restart
echo " You are done with OpenStack Installation "
echo " You are done with the OpenStack installation "
}
Install_Horizon
install_horizon

View File

@ -1,27 +1,26 @@
#!/bin/sh
#!/bin/bash
#
# About:Setup Dependences for Virtual Box Sandbox
# meant for OpenStack Labs.
# About: Set up dependencies for VirtualBox sandbox meant for OpenStack Labs.
#
# Contact: pranav@aptira.com
# Copyright : Aptira @aptira,aptira.com
# Copyright: Aptira @aptira,aptira.com
# License: Apache Software License (ASL) 2.0
###############################################################################
# #
# This Script will install keystone related packages and after installaion, #
# This script will install Keystone related packages and after installation, #
# it will configure Keystone, populate the database. #
# #
###############################################################################
# Note: You Do Not Need Internet for this due to the magic of --download-only
# Note: No Internet access required -- packages downloaded by PreInstall.sh
echo "Internet connection is not required for this script to run"
SCRIPT_DIR=$(cd $(dirname "$0") && pwd)
pre_keystone(){
pre_keystone() {
# 1. Database - MySQL and Python MySQL DB Connector
debconf-set-selections <<< 'mysql-server mysql-server/root_password password '$MySQL_RPaSS''
debconf-set-selections <<< 'mysql-server mysql-server/root_password_again password '$MySQL_RPaSS''
debconf-set-selections <<< 'mysql-server mysql-server/root_password password '$MYSQL_PASS''
debconf-set-selections <<< 'mysql-server mysql-server/root_password_again password '$MYSQL_PASS''
apt-get install -y mysql-server python-mysqldb
# Configure MySQL to listen to other all IP addresses
@ -45,45 +44,44 @@ keystone_conf() {
# 1. Install Keystone
apt-get -y install keystone
# Create database Keystone, Glance, Quantum, Nova, and Cinder
mysql -u "root" -p"$MYSQL_PASS" -e "create database keystone"
mysql -u "root" -p"$MYSQL_PASS" -e "GRANT ALL ON keystone.* TO 'keystoneUser'@'%' IDENTIFIED BY 'keystonePass';"
mysql -u "root" -p"$MYSQL_PASS" -e "create database glance"
mysql -u "root" -p"$MYSQL_PASS" -e "GRANT ALL ON glance.* TO 'glanceUser'@'%' IDENTIFIED BY 'glancePass';"
mysql -u "root" -p"$MYSQL_PASS" -e "create database quantum"
mysql -u "root" -p"$MYSQL_PASS" -e "GRANT ALL ON quantum.* TO 'quantumUser'@'%' IDENTIFIED BY 'quantumPass';"
mysql -u "root" -p"$MYSQL_PASS" -e "create database nova"
mysql -u "root" -p"$MYSQL_PASS" -e "GRANT ALL ON nova.* TO 'novaUser'@'%' IDENTIFIED BY 'novaPass';"
mysql -u "root" -p"$MYSQL_PASS" -e "create database cinder"
mysql -u "root" -p"$MYSQL_PASS" -e "GRANT ALL ON cinder.* TO 'cinderUser'@'%' IDENTIFIED BY 'cinderPass';"
# Create Database Keystone, Glance, Quantum, Nova and Cinder
mysql -u "root" -p"$MySQL_RPaSS" -e "create database keystone"
mysql -u "root" -p"$MySQL_RPaSS" -e "GRANT ALL ON keystone.* TO 'keystoneUser'@'%' IDENTIFIED BY 'keystonePass';"
mysql -u "root" -p"$MySQL_RPaSS" -e "create database glance"
mysql -u "root" -p"$MySQL_RPaSS" -e "GRANT ALL ON glance.* TO 'glanceUser'@'%' IDENTIFIED BY 'glancePass';"
mysql -u "root" -p"$MySQL_RPaSS" -e "create database quantum"
mysql -u "root" -p"$MySQL_RPaSS" -e "GRANT ALL ON quantum.* TO 'quantumUser'@'%' IDENTIFIED BY 'quantumPass';"
mysql -u "root" -p"$MySQL_RPaSS" -e "create database nova"
mysql -u "root" -p"$MySQL_RPaSS" -e "GRANT ALL ON nova.* TO 'novaUser'@'%' IDENTIFIED BY 'novaPass';"
mysql -u "root" -p"$MySQL_RPaSS" -e "create database cinder"
mysql -u "root" -p"$MySQL_RPaSS" -e "GRANT ALL ON cinder.* TO 'cinderUser'@'%' IDENTIFIED BY 'cinderPass';"
# 2. Configure keystone scripts (copy the template file)
# 2. Configure Keystone scripts (copy the template file)
cp --no-preserve=mode,ownership "$SCRIPT_DIR/Templates/Keystone.conf" /etc/keystone/keystone.conf
# 3. Restart The Keystone Services
# 3. Restart the Keystone services
service keystone restart
# 4. Populate the database using db_sync
keystone-manage db_sync
# Create User and grant access to the user
# Create user and grant access to the user
sh "$SCRIPT_DIR/Scripts/keystone_basic.sh"
sh "$SCRIPT_DIR/Scripts/keystone_endpoints_basic.sh"
# Load the Auth Creds
# Load the authentication credentials
source "$SCRIPT_DIR/Scripts/Credentials.sh"
# List keystone users
# List Keystone users
keystone user-list
}
if [ "$#" -ne 1 ]; then
# Create and populate required MySQL databases
echo "Enter MySQL root password:"
read MySQL_RPaSS
echo -n "Enter MySQL root password: "
read MYSQL_PASS
else
MySQL_RPaSS=$1
MYSQL_PASS=$1
fi
echo "Running pre_keystone"

View File

@ -1,15 +1,13 @@
#!/bin/bash
#
# About:Setup Dependences for Virtual Box Sandbox
# meant for OpenStack Labs.
# About: Set up dependencies for VirtualBox sandbox meant for OpenStack Labs.
#
# Contact: pranav@aptira.com
# License: Apache Software License (ASL) 2.0
# Inspired by https://github.com/mseknibilel/OpenStack-Grizzly-Install-Guide
###############################################################################
# #
# This Script will pupolate database and configure keystone related packages #
# and after installaion, itbase. #
# This script adds users and grants them roles #
# #
###############################################################################
@ -38,12 +36,12 @@ ADMIN_ROLE=$(get_id keystone role-create --name=admin)
KEYSTONEADMIN_ROLE=$(get_id keystone role-create --name=KeystoneAdmin)
KEYSTONESERVICE_ROLE=$(get_id keystone role-create --name=KeystoneServiceAdmin)
# Add Roles to Users in Tenants
# Add roles to users in tenants
keystone user-role-add --user-id $ADMIN_USER --role-id $ADMIN_ROLE --tenant-id $ADMIN_TENANT
keystone user-role-add --user-id $ADMIN_USER --role-id $KEYSTONEADMIN_ROLE --tenant-id $ADMIN_TENANT
keystone user-role-add --user-id $ADMIN_USER --role-id $KEYSTONESERVICE_ROLE --tenant-id $ADMIN_TENANT
# The Member role is used by Horizon and Swift
# The member role is used by horizon and swift
MEMBER_ROLE=$(get_id keystone role-create --name=Member)
# Configure service users/roles

View File

@ -1,15 +1,13 @@
#!/bin/bash
#
# About:Setup Dependences for Virtual Box Sandbox
# meant for OpenStack Labs.
# About: Set up dependencies for VirtualBox sandbox meant for OpenStack Labs.
#
# Contact: pranav@aptira.com
# License: Apache Software License (ASL) 2.0
# Inspired by https://github.com/mseknibilel/OpenStack-Grizzly-Install-Guide
###############################################################################
# #
# This Script will pupolate database and configure keystone related packages #
# and after installaion, itbase. #
# This script creates keystone services and endpoints #
# #
###############################################################################

View File

@ -1,5 +1,5 @@
[DEFAULT]
# A "shared secret" between keystone and other openstack services
# A "shared secret" between keystone and other OpenStack services
# admin_token = ADMIN
# The IP address of the network interface to listen on

View File

@ -1,58 +1,57 @@
#!/bin/sh
#!/bin/bash
#
# About:Setup Dependences for Virtual Box Sandbox
# meant for OpenStack Labs.
# About: Set up dependencies for VirtualBox sandbox meant for OpenStack Labs.
#
# Contact: pranav@aptira.com
# Copyright : Aptira @aptira,aptira.com
# Copyright: Aptira @aptira,aptira.com
# License: Apache Software License (ASL) 2.0
###############################################################################
# #
# This Script will install Neutron related packages and after installaion, it #
# will configure Neutron, populate the database. #
# This script will install Quantum related packages and after installation, it#
# will configure Quantum, populate the database. #
# #
###############################################################################
# Note: You DoNot Need Internet for this due to the magic of --download-only
# Note: No Internet access required -- packages downloaded by PreInstall.sh
echo "Internet connection is not required for this script to run"
SCRIPT_DIR=$(cd $(dirname "$0") && pwd)
Neutron_SingleNode() {
quantum_singlenode() {
# 1. Install Neutron, OVS etc.
# 1. Install Quantum, OVS etc.
apt-get install -y quantum-server openvswitch-switch openvswitch-datapath-dkms quantum-plugin-openvswitch quantum-plugin-openvswitch-agent dnsmasq quantum-dhcp-agent quantum-l3-agent
#br-int will be used for VM integration
# br-int will be used for VM integration
ovs-vsctl add-br br-int
#br-ex is used to make to access the internet (not covered in this guide)
# br-ex is used for Internet access (not covered in this guide)
ovs-vsctl add-br br-ex
cp --no-preserve=mode,ownership "$SCRIPT_DIR/Templates/SingleNode/interfaces-single" /etc/network/interfaces
ovs-vsctl add-port br-ex eth1
#iptables --table nat --append POSTROUTING --out-interface eth2 -j MASQUERADE # May need to do this ...
# May need to do this ...
#iptables --table nat --append POSTROUTING --out-interface eth2 -j MASQUERADE
#ptables --append FORWARD --in-interface br-ex -j ACCEPT
# 2. Configure Quantum Configuration files
# 2. Install Quantum configuration files
cp --no-preserve=mode,ownership "$SCRIPT_DIR/Templates/SingleNode/ovs_quantum_plugin.ini" /etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini
cp --no-preserve=mode,ownership "$SCRIPT_DIR/Templates/SingleNode/api-paste.ini" /etc/quantum/api-paste.ini
cp --no-preserve=mode,ownership "$SCRIPT_DIR/Templates/SingleNode/quantum.conf" /etc/quantum/quantum.conf
cp --no-preserve=mode,ownership "$SCRIPT_DIR/Templates/SingleNode/metadata_agent.ini" /etc/quantum/metadata_agent.ini
# 3. Restart Quantum Server
# 3. Restart Quantum server
for i in $( ls /etc/init.d/quantum-* ); do sudo $i restart; done
service dnsmasq restart
}
Neutron_MultiNode() {
# Single Node For Now.
Neutron_SingleNode
quantum_multinode() {
# Single node for now.
quantum_singlenode
}
# For Now its just single Node
# For now it is just single node
if [ "$1" == "Single" ]; then
Neutron_SingleNode
quantum_singlenode
else
Neutron_MultiNode
quantum_multinode
fi

View File

@ -4,7 +4,7 @@
auto lo
iface lo inet loopback
# Virtual Box NAT -- for internet access to VM
# VirtualBox NAT -- for Internet access to VM
auto eth2
iface eth2 inet static
@ -25,7 +25,7 @@ up ip link set $IFACE promisc on
down ip link set $IFACE promisc off
down ifconfig $IFACE down
# VM internet Access
# VM Internet Access
auto br-ex
iface br-ex inet static
address 192.168.100.51

View File

@ -1,28 +1,27 @@
#!/bin/sh
#!/bin/bash
#
# About:Setup Dependences for Virtual Box Sandbox
# meant for OpenStack Labs.
# About: Set up dependencies for VirtualBox sandbox meant for OpenStack Labs.
#
# Contact: pranav@aptira.com
# Copyright : Aptira @aptira,aptira.com
# Copyright: Aptira @aptira,aptira.com
# License: Apache Software License (ASL) 2.0
###############################################################################
# #
# This Script will install Nova related packages and after installaion, it #
# This script will install Nova related packages and after installation, it #
# will configure Nova, populate the database. #
# #
###############################################################################
# Note: You DoNot Need Internet for this due to the magic of --download-only
# Note: No Internet access required -- packages downloaded by PreInstall.sh
echo "Internet connection is not required for this script to run"
SCRIPT_DIR=$(cd $(dirname "$0") && pwd)
Nova_SingleNode() {
nova_singlenode() {
# 1. Install Nova, OVS etc.
apt-get install -y kvm libvirt-bin pm-utils nova-api nova-cert novnc nova-consoleauth nova-scheduler nova-novncproxy nova-doc nova-conductor nova-compute-kvm
apt-get install -y kvm libvirt-bin pm-utils nova-api nova-cert novnc nova-consoleauth nova-scheduler nova-novncproxy nova-doc nova-conductor nova-compute-kvm
# 2. Configure Nova Configuration files
# 2. Install Nova configuration files
cp --no-preserve=mode,ownership "$SCRIPT_DIR/Templates/SingleNode/nova/api-paste.ini" /etc/nova/api-paste.ini
cp --no-preserve=mode,ownership "$SCRIPT_DIR/Templates/SingleNode/nova/nova.conf" /etc/nova/nova.conf
cp --no-preserve=mode,ownership "$SCRIPT_DIR/Templates/SingleNode/libvirt/qemu.conf" /etc/libvirt/qemu.conf
@ -30,33 +29,33 @@ Nova_SingleNode() {
cp --no-preserve=mode,ownership "$SCRIPT_DIR/Templates/SingleNode/libvirt/libvirt-bin.conf" /etc/init/libvirt-bin.conf
cp --no-preserve=mode,ownership "$SCRIPT_DIR/Templates/SingleNode/libvirt/libvirt-bin" /etc/default/libvirt-bin
cp --no-preserve=mode,ownership "$SCRIPT_DIR/Templates/SingleNode/nova/nova-compute.conf" /etc/nova/nova-compute.conf
# Destroy Default Virtual Bridges
# Destroy default virtual bridges
virsh net-destroy default
virsh net-undefine default
service dbus restart && service libvirt-bin restart
# 3. Synch Database
# 3. Synch database
nova-manage db sync
# 4. Restart Nova Services
# 4. Restart Nova services
for i in $( ls /etc/init.d/nova-* ); do sudo $i restart; done
# 5. This is just because I like to see the smiley faces :)
nova-manage service list
}
Nova_MultiNode() {
# Single Node For Now.
Nova_SingleNode
nova_multinode() {
# Single node for now.
nova_singlenode
}
# For Now its just single Node
# For now it is just single node
if [ "$1" == "Single" ]; then
Nova_SingleNode
nova_singlenode
else
Nova_MultiNode
nova_multinode
fi

View File

@ -53,7 +53,7 @@ paste.filter_factory = nova.api.ec2:Validator.factory
paste.app_factory = nova.api.ec2:Executor.factory
#############
# Openstack #
# OpenStack #
#############
[composite:osapi_compute]

View File

@ -1,56 +1,54 @@
#!/bin/sh
#!/bin/bash
#
# About:Setup Dependences for Virtual Box Sandbox
# meant for OpenStack Labs.
# About: Set up dependencies for VirtualBox sandbox meant for OpenStack Labs.
#
# Contact: pranav@aptira.com
# Copyright : Aptira @aptira,aptira.com
# Copyright: Aptira @aptira,aptira.com
# License: Apache Software License (ASL) 2.0
#################################################################################
# #
# This Script will carry out few tasks after installing OpenStack. #
# #
#################################################################################
################################################################################
# #
# This script will carry out few tasks after installing OpenStack. #
# #
################################################################################
SCRIPT_DIR=$(cd $(dirname "$0") && pwd)
# Create Tenant
# Create tenant
keystone tenant-create --name Os_Training
echo "Enter Tenant ID"
read Tenant_ID
echo -n "Enter tenant id: "
read TENANT_ID
#Create User and assign required role
keystone user-create --name=trainee --pass=cloud --tenant-id $Tenant_ID --email=user_one@domain.com
echo "Enter User ID"
read User_ID
# Create user and assign required role
keystone user-create --name=trainee --pass=cloud --tenant-id $TENANT_ID --email=user_one@domain.com
echo -n "Enter user id: "
read USER_ID
keystone role-list
echo "Enter Role ID"
read Role_ID
keystone user-role-add --tenant-id $Tenant_ID --user-id $User_ID --role-id $Role_ID
echo -n "Enter role id: "
read ROLE_ID
keystone user-role-add --tenant-id $TENANT_ID --user-id $USER_ID --role-id $ROLE_ID
# Create Networks
quantum net-create --tenant-id $Tenant_ID training_network
# Create network
quantum net-create --tenant-id $TENANT_ID training_network
# Add Subnet
quantum subnet-create --tenant-id $Tenant_ID training_network 25.25.25.0/24
echo "Enter Subnet ID"
read Subnet_ID
# Add subnet
quantum subnet-create --tenant-id $TENANT_ID training_network 25.25.25.0/24
echo -n "Enter subnet id: "
read SUBNET_ID
# Create Router
quantum router-create --tenant-id $Tenant_ID training_router
echo "Enter Router ID"
read training_router
# Create router
quantum router-create --tenant-id $TENANT_ID training_router
echo -n "Enter router id: "
read ROUTER_ID
# Add Router to L3 Agent
# Add router to L3 agent
quantum agent-list # to get the l3 agent ID
echo "Enter L3 agent ID"
read l3_agent_ID
quantum l3-agent-router-add $l3_agent_ID $training_router
echo -n "Enter L3 agent id: "
read L3_AGENT_ID
quantum l3-agent-router-add $L3_AGENT_ID $ROUTER_ID
# Add Router To Subnet
quantum router-interface-add $training_router $Subnet_ID
# Add router to subnet
quantum router-interface-add $ROUTER_ID $SUBNET_ID
echo "For Logging into your Cloud Via. Dashboard, use the following Credentials :"
echo "User Name: trainee"
echo "For logging into your cloud via Dashboard, use the following credentials:"
echo "User name: trainee"
echo "Password: cloud"

View File

@ -1,34 +1,32 @@
#!/bin/sh
#!/bin/bash
#
# About:Setup Dependences for Virtual Box Sandbox
# meant for OpenStack Labs.
# About: Set up dependencies for VirtualBox sandbox meant for OpenStack Labs.
#
# Contact: pranav@aptira.com
# Copyright : Aptira @aptira,aptira.com
# Copyright: Aptira @aptira,aptira.com
# License: Apache Software License (ASL) 2.0
###################################################
# This Script will download the required packages #
# using apt-get --download-only option. #
# #
# This script will install and get your VM ready #
# for OpenStack. #
###################################################
################################################################################
# #
# This script downloads the required packages and configures the network #
# interfaces. #
# Downloading all packages here allows the remaining scripts to run without #
# Internet access, which may be useful for training in unusual locations. #
# #
################################################################################
# Assumptions : It is assumed that internet is
# switched on/VM has internet connection.
# Internet is required for this script to run.
# Note: Internet access is required for this script to run.
SCRIPT_DIR=$(cd $(dirname "$0") && pwd)
# Add a Few required packages
# Add a few required packages
apt-get install -y ubuntu-cloud-keyring python-software-properties software-properties-common python-keyring
# Update apt-get
# Update package index
apt-get -y update
# Add OpenStack Grizzly Repo.
# Add OpenStack Grizzly repo
echo deb http://ubuntu-cloud.archive.canonical.com/ubuntu precise-updates/grizzly main >> /etc/apt/sources.list.d/grizzly.list
# Update apt-get, Upgrade Installed Packages and Kernel Upgrade
# Update package index, upgrade installed packages and upgrade kernel
apt-get -y --download-only update
apt-get -y --download-only upgrade
apt-get -y --download-only dist-upgrade
@ -37,14 +35,14 @@ apt-get install -y --download-only ubuntu-cloud-keyring python-software-properti
# Download CirrOS images for use in Glance.sh
wget --directory-prefix="$SCRIPT_DIR/../Glance" http://download.cirros-cloud.net/0.3.2/cirros-0.3.2-x86_64-disk.img
# Configure the Network Interfaces by using the templates in the networking
# part of this folder.
# Configure the network interfaces by using the templates in the Templates
# directory
# TO BE ADDED LATER ON.
#service networking restart
configure_networks(){
## Check if its single node or multi node
configure_networks() {
# Check if it is single node or multi node
if [ "$1" == "single-node" ]; then
# Copy Single Node interfaces file to /etc/network/
echo "Configuring Network for Single Node"
@ -52,26 +50,26 @@ configure_networks(){
else
if [ "$1" == "multi-node" ]; then
## If it is multi node, check which type of node it is.
case "$2" in
# If it is multi node, check which type of node it is
case "$2" in
"control")
## Configure network for control node
echo "Configuring Network for Control Node"
# Configure network for control node
echo "Configuring network for control node"
cp --no-preserve=mode,ownership "$SCRIPT_DIR/Templates/interfaces-control" /etc/network/interfaces
;;
"compute")
## Configure network for compute node.
echo "Configuring Network for Compute Node"
# Configure network for compute node
echo "Configuring network for compute node"
cp --no-preserve=mode,ownership "$SCRIPT_DIR/Templates/interfaces-compute" /etc/network/interfaces
;;
"network")
## Configure network for network node.
echo "Configuring Network for Network Node"
# Configure network for network node
echo "Configuring network for network node"
cp --no-preserve=mode,ownership "$SCRIPT_DIR/Templates/interfaces-network" /etc/network/interfaces
;;
*)
echo "Invalid Input, cannot figure out which node this is. Error!!!"
echo "Invalid input, cannot figure out which node this is. Error!"
esac
fi
fi
@ -79,16 +77,8 @@ configure_networks(){
service networking restart
}
# Get (apt-get) all the packages and download them but not install them using
# the --download-only option.
# Advantage/Use/Need of --download-only in this particular case is due to the
# weird use-case of teaching OpenStack by deploying OpenStack in a local/remote
# location (College,Uni,Office,Conferences etc.) and the practise of keeping
# all the packages downloaded but-not-installed eliminates the need for
# internet while deploying openstack.
single_node() {
#Install All package on the given Virtual Machine ...
# Install all package on the given virtual machine
apt-get install -y --download-only mysql-server python-mysqldb rabbitmq-server ntp vlan bridge-utils \
keystone glance openvswitch-switch openvswitch-datapath-dkms quantum-server quantum-plugin-openvswitch \
quantum-plugin-openvswitch-agent dnsmasq quantum-dhcp-agent quantum-l3-agent cpu-checker kvm libvirt-bin \
@ -96,19 +86,19 @@ single_node() {
nova-compute-kvm cinder-api cinder-scheduler cinder-volume iscsitarget open-iscsi iscsitarget-dkms openstack-dashboard memcached
configure_networks $1 $2
}
multi_node(){
# $2 will be the node defination -- like control node, compute node,
multi_node() {
# $2 will be the node definition -- like control node, compute node,
# network node.
configure_networks $1 $2
# Install packages as per the node defination ...
# Install packages as per the node definition ...
# TO BE DONE.
## Also need to figure out whether to download all the packages even
## if they are not playing any role in the given node to keep the scripts simpler
# Also need to figure out whether to download all the packages even
# if they are not playing any role in the given node to keep the scripts
# simpler
}
if [ "$1" == "single-node" ]; then
@ -117,8 +107,8 @@ else
if [ "$1" == "multi-node" ]; then
multi_node $1 $2
else
echo "invalid option ... cannot proceede"
echo "Invalid option ... cannot proceed"
fi
fi
echo -e "Your VM is ready for OpenStack Installation ... \n you dont need internet from now on"
echo -e "Your VM is ready for installing OpenStack\nYou don't need Internet access from now on."

View File

@ -4,20 +4,20 @@
auto lo
iface lo inet loopback
# Virtual Box NAT -- for internet access to VM
# VirtualBox NAT -- for Internet access to VM
auto eth2
iface eth2 inet dhcp
# OpenStack Multi Node
# Compute Node
# OpenStack multi node
# Compute node
#Management Network
# OpenStack management network (internal)
auto eth0
iface eth0 inet static
address 10.10.10.53
netmask 255.255.255.0
#Expose OpenStack API over internet/external network
# OpenStack data network (internal)
auto eth1
iface eth1 inet static
address 10.20.20.53

View File

@ -4,20 +4,20 @@
auto lo
iface lo inet loopback
# Virtual Box NAT -- for internet access to VM
# VirtualBox NAT -- for Internet access to VM
auto eth2
iface eth2 inet dhcp
# OpenStack Multi Node
# Control Node
# OpenStack multi node
# Control node
# OpenStack Management Network
# OpenStack management network (internal)
auto eth0
iface eth0 inet static
address 10.10.10.51
netmask 255.255.255.0
# Expose OpenStack API to External Network/Internet
# OpenStack API network (external)
auto eth1
iface eth1 inet static
address 192.168.100.51

View File

@ -4,26 +4,26 @@
auto lo
iface lo inet loopback
# Virtual Box NAT -- for internet access to VM
# VirtualBox NAT -- for Internet access to VM
auto eth3
iface eth3 inet dhcp
# OpenStack Multi Node
# Network Node
# OpenStack multi node
# Network node
# OpenStack Management Network
# OpenStack management network (internal)
auto eth0
iface eth0 inet static
address 10.10.10.52
netmask 255.255.255.0
# VM Internal Communication Network
# OpenStack data network (internal)
auto eth1
iface eth1 inet static
address 10.20.20.52
netmask 255.255.255.0
# VM internet/external network Access
# OpenStack API network (external)
auto eth2
iface eth2 inet static
address 192.168.100.52

View File

@ -4,19 +4,19 @@
auto lo
iface lo inet loopback
# Virtual Box NAT -- for internet access to VM
# VirtualBox NAT -- for Internet access to VM
auto eth2
iface eth2 inet dhcp
# OpenStack Single Node.
# OpenStack single node
# OpenStack Management Network
# OpenStack management network (internal)
auto eth0
iface eth0 inet static
address 10.10.10.51
netmask 255.255.255.0
# Expose OpenStack API to External Network/Internet
# OpenStack API network (external)
auto eth1
iface eth1 inet static
address 192.168.100.51

View File

@ -4,20 +4,20 @@
auto lo
iface lo inet loopback
# Virtual Box NAT -- for internet access to VM
# VirtualBox NAT -- for Internet access to VM
auto eth0
iface eth0 inet dhcp
# OpenStack Multi Node
# Compute Node
# OpenStack multi node
# Compute node
#Management Network
# Management network
auto eth1
iface eth1 inet static
address 10.10.10.53
netmask 255.255.255.0
#Expose OpenStack API over internet/external network
# Expose OpenStack API over Internet/external network
auto eth2
iface eth2 inet static
address 10.20.20.53

View File

@ -4,20 +4,20 @@
auto lo
iface lo inet loopback
# Virtual Box NAT -- for internet access to VM
# VirtualBox NAT -- for Internet access to VM
auto eth0
iface eth0 inet dhcp
# OpenStack Multi Node
# Control Node
# OpenStack multi node
# Control node
# OpenStack Management Network
# OpenStack management network
auto eth1
iface eth1 inet static
address 10.10.10.51
netmask 255.255.255.0
# Expose OpenStack API to External Network/Internet
# Expose OpenStack API to external network/Internet
auto eth2
iface eth2 inet static
address 192.168.100.51

View File

@ -4,26 +4,26 @@
auto lo
iface lo inet loopback
# Virtual Box NAT -- for internet access to VM
# VirtualBox NAT -- for Internet access to VM
auto eth0
iface eth0 inet dhcp
# OpenStack Multi Node
# Network Node
# OpenStack multi node
# Network node
# OpenStack Management Network
# OpenStack management network
auto eth1
iface eth1 inet static
address 10.10.10.52
netmask 255.255.255.0
# VM Internal Communication Network
# VM internal communication network
auto eth2
iface eth2 inet static
address 10.20.20.52
netmask 255.255.255.0
# VM internet/external network Access
# VM Internet/external network access
auto eth3
iface eth3 inet static
address 192.168.100.52

View File

@ -4,19 +4,19 @@
auto lo
iface lo inet loopback
# Virtual Box NAT -- for internet access to VM
# VirtualBox NAT -- for Internet access to VM
auto eth0
iface eth0 inet dhcp
# OpenStack Single Node.
# OpenStack single node
# OpenStack Management Network
# OpenStack management network
auto eth1
iface eth1 inet static
address 10.10.10.51
netmask 255.255.255.0
# Expose OpenStack API to External Network/Internet
# Expose OpenStack API to external network/Internet
auto eth2
iface eth2 inet static
address 192.168.100.51

View File

@ -1,60 +1,60 @@
#!/bin/bash
#
# This script is for testing Scripts inside this folder.
# This script is for testing scripts inside this folder.
#
# Contact: pranav@aptira.com
# Copyright : Aptira @aptira,aptira.com
# Copyright: Aptira @aptira,aptira.com
# License: Apache Software License (ASL) 2.0
###############################################################################
# #
# Testing the Scripts #
# Testing the scripts #
# #
###############################################################################
# Ignore the above content its for decorations
source Keystone/Scripts/Credentials.sh
echo -e "
Run this script from inside your Virtual Machine or test machine
this script is meant for testing the Scripts related to OpenStack and
not related to Virtual Box.
echo "
Run this script from inside your virtual machine or test machine.
This script is meant for testing the scripts related to OpenStack and
not related to VirtualBox.
The sole aim of this script is to test all of the given OpenStack Scripts
present in the sub folder which deploys OpenStack as it is very important
that thee scripts install and configure OpenStack properly with a touch
of reliability otherwise one mite as well use DevStack ;).
The sole aim of this script is to test all of the OpenStack scripts
present in the sub folder which deploys OpenStack, as it is very important
that the scripts install and configure OpenStack properly with a touch
of reliability otherwise one might as well use DevStack ;).
"
echo -e "Warning!!! This may break your Operating System."
echo "Warning!!! This may break your operating system."
echo -e "Do you want to continue(y/N)?"
echo -n "Do you want to continue (y/N)? "
read cont
if [ "$cont" == "Y" -o "$cont" == "y" ]; then
# Missing Exception Handlers :((, would have been very handy here
echo "You Pressed Yes."
echo -e "Testing PreInstall"
echo "You pressed Yes."
echo "Testing PreInstall.sh"
bash PreInstall/PreInstall.sh "single-node" > Logs/PreInstall.log
echo -e "Testing Keystone"
echo "Testing Keystone.sh"
bash Keystone/Keystone.sh > Logs/Keystone.log
echo -e "Testing Glance"
echo "Testing Glance.sh"
bash Glance/Glance.sh > Logs/Glance.log
echo -e "Testing Cinder"
echo "Testing Cinder.sh"
bash Cinder/Cinder.sh > Logs/Cinder.log
echo -e "Testing Neutron"
echo "Testing Neutron.sh"
bash Neutron/Neutron.sh > Logs/Neutron.log
echo -e "Testing Nova"
echo "Testing Nova.sh"
bash Nova/Nova.sh > Logs/Nova.log
echo -e "Testing Horizon"
echo "Testing Horizon.sh"
bash Horizon/Horizon.sh > Logs/Horizon.log
echo -e "Testing PostInstall"
echo "Testing PostInstall.sh"
bash PostInstall/PostInstall.sh > Logs/PostInstall.log
fi
echo -e "Mostly the tests run fine ... although Im not sure !!! Please Read the Terminal Messages Carefully."
echo "Mostly the tests run fine ... although I'm not sure."
echo "Please read the terminal messages carefully."

View File

@ -4,41 +4,49 @@
# Vagrantfile
# Author: Trevor Roberts Jr (VMTrooper@gmail.com)
#
# NOTE: Before attempting to use this file, follow the required Vagrant deployment steps:
# NOTE: Before attempting to use this file, follow the required Vagrant
# deployment steps:
#
# http://docs.vagrantup.com/v2/installation/index.html
#
# This file directs Vagrant on how to deploy the student VMs.
# It is possible to do a Single-VM or Multi-VM deployment based on
# It is possible to do a single-VM or multi-VM deployment based on
# the entries that are enabled in the "nodes" hash at the start of this file.
#
# By default, only the Single VM (allinone) deployment type is enabled.
# For Multi-VM, comment out 'allinone' and uncomment 'controller', 'compute', and 'network'
# Vagrant uses Virtualbox Guest Additions to modify VM properties
# By default, only the single VM (allinone) deployment type is enabled.
# For multi-VM, comment out 'allinone' and uncomment 'controller', 'compute',
# and 'network'.
#
# Vagrant uses VirtualBox Guest Additions to modify VM properties
# (hostname, IP, resource allocation) according to VM function.
#
# Vagrant's Shell Provisioner receives deployment instructions from the following files:
# Vagrant's shell provisioner receives deployment instructions from the
# following files:
# allinone.sh
# controller.sh
# compute.sh
# network.sh
# Removing these files without removing the Shell Provisioner command will cause Vagrant errors
# Removing these files without removing the shell provisioner command will
# cause Vagrant errors.
#
# After determining the deployment type, build this environment by typing this
# command at the prompt:
#
# After determining the deployment type, build this environment by typing this command at the prompt:
# vagrant up
#
# Verify your VM status by typing this command at the prompt:
# vagrant status
#
# SSH to your VM by typing this command at the prompt:
# vagrant ssh vmname (ex: vagrant ssh compute)
# vagrant ssh vmname (for example: vagrant ssh compute)
#
# See the remaining OpenStack Training Labs code for more details at GitHub:
# https://github.com/openstack/openstack-manuals/tree/master/doc/training-guides/training-labs
nodes = {
'allinone' => 51,
# 'controller' => 51,
# 'compute' => 201,
# 'network' => 210,
'allinone' => 51,
# 'controller' => 51,
# 'compute' => 201,
# 'network' => 210,
}
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
@ -46,37 +54,41 @@ VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# Every Vagrant virtual environment requires a box (similar to OVA) to build from.
# The Vagrantfile currently uses Ubuntu 12.04 LTS (aka Precise Pangolin)
# Modify the line below and the box_url line to use a different distribution
# Every Vagrant virtual environment requires a box (similar to OVA) to build
# from. The Vagrantfile currently uses Ubuntu 12.04 LTS (aka Precise
# Pangolin). Modify the line below and the box_url line to use a different
# distribution
config.vm.box = "precise64"
# The url from where the 'config.vm.box' box will be fetched if it
# The URL from where the 'config.vm.box' box will be fetched if it
# doesn't already exist on the user's system.
config.vm.box_url = "http://files.vagrantup.com/precise64.box"
# Define each VM's settings (ex: hostname, IP, RAM, vCPU, etc.)
# Define each VM's settings (ex: hostname, IP address, RAM, vCPU, etc.)
nodes.each do |prefix, fourth_octet|
config.vm.define "#{prefix}" do |box|
box.vm.hostname = "#{prefix}"
#Management network
# Management network
box.vm.network :private_network, ip: "10.10.10.#{fourth_octet}", :netmask => "255.255.255.0"
#Services Network
# Data network
box.vm.network :private_network, ip: "10.20.20.#{fourth_octet}", :netmask => "255.255.255.0"
#API Network
# API network
box.vm.network :private_network, ip: "192.168.100.#{fourth_octet}", :netmask => "255.255.255.0"
# Forward port 80 to host port 8080 for only the Controller or All-In-One Deployment for Horizon
# Forward port 80 to host port 8080 for only the controller or
# all-in-one deployment for Horizon
if prefix == "controller" or prefix == "allinone"
box.vm.network "forwarded_port", guest: 80, host: 8080
end
# Run the Shell Provisioning Script file
# Run the shell provisioning script file
box.vm.provision :shell, :path => "#{prefix}.sh"
# Advanced VirtualBox settings
box.vm.provider :virtualbox do |vbox|
# Single node resource allocations. will be more selective for multi-node
# Single node resource allocations; will be more selective for
# multi-node
vbox.customize ["modifyvm", :id, "--memory", 2048]
vbox.customize ["modifyvm", :id, "--cpus", 2]
# Multi-node resource allocation based on the prefix name.
# Multi-node resource allocation based on the prefix name
if prefix == "controller"
vbox.customize ["modifyvm", :id, "--memory", 1024]
vbox.customize ["modifyvm", :id, "--cpus", 1]
@ -87,8 +99,8 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
vbox.customize ["modifyvm", :id, "--memory", 1024]
vbox.customize ["modifyvm", :id, "--cpus", 1]
end
#nicpromisc flag begins nic count at 1, not 0.
#setting all NICs to promiscuous mode per Pranav's specification
# nicpromisc flag begins nic count at 1, not 0
# Setting all NICs to promiscuous mode per Pranav's specification
vbox.customize ["modifyvm", :id, "--nicpromisc2", "allow-all"]
vbox.customize ["modifyvm", :id, "--nicpromisc3", "allow-all"]
vbox.customize ["modifyvm", :id, "--nicpromisc4", "allow-all"]

View File

@ -1,29 +1,30 @@
# allinone.sh
#
# Author: Trevor Roberts Jr (VMTrooper@gmail.com)
# This script is called by the Vagrant Shell Provisioner to build the student's lab machine.
# This script is called by the Vagrant shell provisioner to build the student's
# lab machine.
#
# Vagrant's Shell Provisioner receives deployment instructions from this file.
# Removing this file without removing the Shell Provisioner command in the Vagrantfile
# will cause deployment errors
# Vagrant's shell provisioner receives deployment instructions from this file.
# Removing this file without removing the shell provisioner command in the
# Vagrantfile will cause deployment errors.
#
# See the remaining OpenStack Training Labs code for more details at GitHub:
# https://github.com/openstack/openstack-manuals/tree/master/doc/training-guides/training-labs
#Change to the root user
# Change to the root user
sudo su -
cd ~
#Get latest catalogs from Ubuntu
# Get latest catalogs from Ubuntu
apt-get update
apt-get install -y vim
#Copy the deployment scripts to /root
# Copy the deployment scripts to /root
cp -avr /vagrant/Scripts .
cd Scripts
mkdir Logs
#Execute the deployment scripts
#./auto_scripts.sh
echo "Execute PreInstall Script to Build Student Environment"
# Execute the deployment scripts
# ./auto_scripts.sh
echo "Execute PreInstall script to build student environment"
bash PreInstall/Vagrant-PreInstall.sh "single-node" > Logs/PreInstall.log

View File

@ -1,30 +1,31 @@
# compute.sh
#
# Author: Trevor Roberts Jr (VMTrooper@gmail.com)
# This script is called by the Vagrant Shell Provisioner to build the student's lab machine.
# This script is called by the Vagrant shell provisioner to build the student's
# lab machine.
#
# Vagrant's Shell Provisioner receives deployment instructions from this file.
# Removing this file without removing the Shell Provisioner command in the Vagrantfile
# will cause deployment errors
# Vagrant's shell provisioner receives deployment instructions from this file.
# Removing this file without removing the shell provisioner command in the
# Vagrantfile will cause deployment errors.
#
# See the remaining OpenStack Training Labs code for more details at GitHub:
# https://github.com/openstack/openstack-manuals/tree/master/doc/training-guides/training-labs
#Change to the root user
# Change to the root user
sudo su -
cd ~
#Get latest catalogs from Ubuntu
# Get latest catalogs from Ubuntu
apt-get update
apt-get install -y vim
#Copy the deployment scripts to /root
# Copy the deployment scripts to /root
cp -avr /vagrant/Scripts .
cd Scripts
mkdir Logs
#Execute the deployment scripts
#./auto_scripts.sh
echo "Execute PreInstall Script to Build Student Environment"
# Execute the deployment scripts
# ./auto_scripts.sh
echo "Execute PreInstall script to build student environment"
bash PreInstall/PreInstall.sh "single-node" > Logs/PreInstall.log

View File

@ -1,30 +1,31 @@
# compute.sh
# controller.sh
#
# Author: Trevor Roberts Jr (VMTrooper@gmail.com)
# This script is called by the Vagrant Shell Provisioner to build the student's lab machine.
# This script is called by the Vagrant shell provisioner to build the student's
# lab machine.
#
# Vagrant's Shell Provisioner receives deployment instructions from this file.
# Removing this file without removing the Shell Provisioner command in the Vagrantfile
# will cause deployment errors
# Vagrant's shell provisioner receives deployment instructions from this file.
# Removing this file without removing the shell provisioner command in the
# Vagrantfile will cause deployment errors.
#
# See the remaining OpenStack Training Labs code for more details at GitHub:
# https://github.com/openstack/openstack-manuals/tree/master/doc/training-guides/training-labs
#Change to the root user
# Change to the root user
sudo su -
cd ~
#Get latest catalogs from Ubuntu
# Get latest catalogs from Ubuntu
apt-get update
apt-get install -y vim
#Copy the deployment scripts to /root
# Copy the deployment scripts to /root
cp -avr /vagrant/Scripts .
cd Scripts
mkdir Logs
#Execute the deployment scripts
#./auto_scripts.sh
echo "Execute PreInstall Script to Build Student Environment"
# Execute the deployment scripts
# ./auto_scripts.sh
echo "Execute PreInstall script to build student environment"
bash PreInstall/PreInstall.sh "single-node" > Logs/PreInstall.log

View File

@ -1,23 +1,22 @@
#!/bin/bash
#
# About:Setup Dependences for Virtual Box Sandbox
# meant for OpenStack Labs.
# About: Set up dependencies for VirtualBox sandbox meant for OpenStack Labs.
#
# Contact: pranav@aptira.com
# Copyright : Aptira @aptira,aptira.com
# Copyright: Aptira @aptira,aptira.com
# License: Apache Software License (ASL) 2.0
###############################################################################
# #
# This Script will ask the user for type of OpenStack install... #
# and it will configure the VM #
# This script will ask the user for the type of OpenStack install and it will #
# configure the VM #
# #
###############################################################################
# Check for kvm-ok >> Virtual Box >>
# Check for kvm-ok >> VirtualBox >>
# Colors and Decorations (Ignore)
# Colors and decorations (ignore)
RCol='\e[0m' # Text Reset
RCol='\e[0m' # Text reset
#Regular #Bold #Underline #High Intensity #BoldHigh Intens #Background #High Intensity Backgrounds
@ -34,14 +33,14 @@ echo -e "${On_Bla}"
echo -e "
${IWhi}##################################################
${BIRed}Note: ${BIblu}You need internet for this script to run
${BIRed}Note: ${BIblu}You need Internet access for this script to run
${IWhi}##################################################"
echo -e "${IYel}"
echo -e "${RCol}"
end(){
echo -e "${BBlu}Program Terminating"
echo -e "${BBlu}Program terminating"
echo -e "${RCol}"
exit
}
@ -51,10 +50,10 @@ check (){
echo -e "${BBlu}... $1 Success ..."
else
if [$2 -eq 1 ]; then
echo -e "${BIRed}Failed Terminating"
echo -e "${BIRed}Failed. Terminating"
end
else
echo -e "${BIRed}$2 Failed !!! Please Recheck"
echo -e "${BIRed}$2 Failed! Please recheck"
end
fi
fi
@ -65,7 +64,7 @@ read single_node_install
if [ "$single_node_install" == "Y" -o "$single_node_install" == "y" ]; then
echo "Configuring VirtualBox VM's for Single Node Deployment"
echo "Configuring VirtualBox VMs for single node deployment"
./singlenode.sh
else
@ -75,7 +74,7 @@ else
if [ "$multi_node_install" == "Y" -o "$multi_node_install" == "y" ]; then
echo "Configuring VirtualBox VM's for Multi Node Deployment"
echo "Configuring VirtualBox VMs for multi node deployment"
./multinode.sh
fi
fi

View File

@ -1,29 +1,28 @@
#!/bin/sh
#
# About:Setup Dependences for Virtual Box Sandbox
# meant for OpenStack Labs.
# About: Set up dependencies for VirtualBox sandbox meant for OpenStack Labs.
#
# Contact: pranav@aptira.com
# Copyright : Aptira @aptira,aptira.com
# Copyright: Aptira @aptira,aptira.com
# License: Apache Software License (ASL) 2.0
###############################################################################
# #
# Carry out tasks for settingup Multi Node Environment for OpenStack #
# #
# Carry out tasks for setting up multi node environment for OpenStack #
# #
###############################################################################
echo "Multi Node"
echo "This script is to be implemented later on, Please Refer to Single Node for now."
echo "Multi node"
echo "This script is to be implemented later on. Please refer to single node for now."
uname=root
pass=cloud
vm_id="d57da699-ff1e-4b24-b270-78093a2b25a9"
# Download The VM From Repo/Storage Space on Internet.
# Download the VM from repo/storage space on the Internet
# Regester the VM & Start the VM.
# Execute the Single Node Script to configure the network.
# Register the VM and start the VM
# Execute the single node script to configure the network
#vboxmanage guestcontrol $vm_id execute --image "/bin/ls" --username $uname --password $pass --wait-exit --wait-stdout
# Execute the single node install scripts and take snapshots after each scriptboxmanage guestcontrol $vm_id execute --image "/bin/ls" --username $uname --password $pass --wait-exit --wait-stdout
# Execute the single node install scripts and take snapshots after each script
# vboxmanage guestcontrol $vm_id execute --image "/bin/ls" --username $uname --password $pass --wait-exit --wait-stdout
# vboxmanage snapshot $vm_id take "test_snapshot" --description "test snapshot -- igore :D"

View File

@ -1,30 +1,31 @@
# network.sh
#
# Author: Trevor Roberts Jr (VMTrooper@gmail.com)
# This script is called by the Vagrant Shell Provisioner to build the student's lab machine.
# This script is called by the Vagrant shell provisioner to build the student's
# lab machine.
#
# Vagrant's Shell Provisioner receives deployment instructions from this file.
# Removing this file without removing the Shell Provisioner command in the Vagrantfile
# will cause deployment errors
# Vagrant's shell provisioner receives deployment instructions from this file.
# Removing this file without removing the shell provisioner command in the
# Vagrantfile will cause deployment errors.
#
# See the remaining OpenStack Training Labs code for more details at GitHub:
# https://github.com/openstack/openstack-manuals/tree/master/doc/training-guides/training-labs
#Change to the root user
# Change to the root user
sudo su -
cd ~
#Get latest catalogs from Ubuntu
# Get latest catalogs from Ubuntu
apt-get update
apt-get install -y vim
#Copy the deployment scripts to /root
# Copy the deployment scripts to /root
cp -avr /vagrant/Scripts .
cd Scripts
mkdir Logs
#Execute the deployment scripts
#./auto_scripts.sh
echo "Execute PreInstall Script to Build Student Environment"
# Execute the deployment scripts
# ./auto_scripts.sh
echo "Execute PreInstall script to build student environment"
bash PreInstall/PreInstall.sh "single-node" > Logs/PreInstall.log

View File

@ -1,60 +1,58 @@
#!/bin/sh
#
# About:Setup Dependences for Virtual Box Sandbox
# meant for OpenStack Labs.
# About: Set up dependencies for VirtualBox sandbox meant for OpenStack Labs.
#
# Contact: pranav@aptira.com
# Copyright : Aptira @aptira,aptira.com
# Copyright: Aptira @aptira,aptira.com
# License: Apache Software License (ASL) 2.0
###############################################################################
# #
# Carry out tasks for settingup Single Node Environment for OpenStack #
# #
# Carry out tasks for setting up single node environment for OpenStack #
# #
###############################################################################
echo "Single Node"
echo "Single node"
uname=
pass=
vm_id=
# Download The VM From Repo/Storage Space on Internet.
# Download the VM from repo/storage space on the Internet
# Regester the VM & Start the VM.
# Execute the Single Node Script to configure the network and getting Ubuntu
# Ready for openstack.
# Register the VM and start the VM
# Execute the single node script to configure the network and getting Ubuntu
# ready for OpenStack
vboxmanage guestcontrol $vm_id execute --image "/bin/ls" --username $uname --password $pass --wait-exit --wait-stdout
# Snapshot 1. Basic Settings
# Snapshot 1. Basic settings
# Execute the single node install scripts and take snapshots after each script
# 1. Download all the packages using apt-get --download-only but not installing
# them.
# 2. Snapshot 2. Offline Ready
# 2. Snapshot 2. Offline ready
# 3. Keystone
# 4. Snapshot 3. Keystone Ready
# 4. Snapshot 3. Keystone ready
# 5. Glance
# 6. Snapshot 4. Glance Ready
# 6. Snapshot 4. Glance ready
# 7. Quantum
# 8. Snapshot 5. Quantum Ready
# 8. Snapshot 5. Quantum ready
# 9. Nova
# 10. Snapshot 6. Nova Ready
# 10. Snapshot 6. Nova ready
# 11. Cinder
# 12. Snapshot 7. Cinder Ready
# 12. Snapshot 7. Cinder ready
# 13. Horizon
# 14. Snapshot 8. Horizon Ready
# 14. Snapshot 8. Horizon ready
# 15. Configure and Kickstart VM in OpenStack
# 16. Snapshot 9. OpenStack Configured
# 15. Configure and kickstart VM in OpenStack
# 16. Snapshot 9. OpenStack configured