1. Prerequisites – Minimal requirements for hosting in AWS, but not limited to:
- Ubuntu Server 14.04.3 LTS – 64bit
- Minimum 2VCPU – Cores
- Minimum 8 GB RAM for just OpenStack (m4.large), Minimum 16 GB RAM for Sahara and clustering (m4.xlarge)
- Atleast 40 GB of diskspace
2. Install Ubuntu if you dont have one
3. Verify installed version using
lsb_release -d free -m df -h
4. Update to the latest binaries
sudo apt-get update
5. Create a SUDO user – alternatively you can use the /devstack/tools/create-stack-user.sh to create a user after step 8
sudo -i adduser stack Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Changing the user information for username Enter the new value, or press ENTER for the default Full Name []:stack Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] Y
6. Add user to SUDOERs group
usermod -aG sudo stack echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
7. Switch to the new stack user
su - stack check if the user can do sudo operations without password prompts sudo ls -la /root
8. Switch to user home and install GIT and checkout devstack
cd ~ sudo apt-get install git git clone https://github.com/openstack-dev/devstack
9. Configure devstack – update local.config and move to /devstack
cd /devstack cp sample/local.conf .
* Update the passwords for the accounts
ADMIN_PASSWORD=St@ckNewPwd1 DATABASE_PASSWORD=St@ckNewPwd1 RABBIT_PASSWORD=St@ckNewPwd1 SERVICE_PASSWORD=St@ckNewPwd1
* If you are running on a physical machine with a static IP you can update the following property. On AWS its better to leave it commented as the local IP will be changed on each restart, unless the Elastic IP is assigned to the instance
HOST_IP=172.31.26.172
* And add the following line at the end of the file. These entries will add the Sahara plugin (Data Processing) in OpenStack UI
echo "enable_plugin sahara git://github.com/openstack/sahara" >> local.conf echo "enable_plugin sahara-dashboard git://github.com/openstack/sahara-dashboard" >> local.conf echo "enable_plugin ceilometer git://github.com/openstack/ceilometer" >> local.conf
10. Start the stack services
./stack.sh
* This takes up sometime and logs will be available at /opt/stack/logs. On successful completion you will find details something similar as below.
========================= DevStack Component Timing ========================= Total runtime 1169 run_process 57 test_with_retry 3 apt-get-update 3 pip_install 299 restart_apache_server 10 wait_for_service 11 git_timed 244 apt-get 69 ========================= This is your host IP address: 172.31.26.172 This is your host IPv6 address: ::1 Horizon is now available at http://172.31.26.172/dashboard Keystone is serving at http://172.31.26.172/identity/ The default users are: admin and demo The password: St@ckNewPwd1 stack@ip-172-31-26-172:~/devstack$
11. To access the dashboard hit http://172.31.26.172/dashboard in browser (with the ip as displayed in the above step). If you are running in local PC you can directly access with the above url. But if you are running on AWS, this is the internal IP and will not be available to the outside world. In this case, allow HTTP access on 80 port for the outside world and access the service with the Public IP or DNS hostname allocated to your instance. This in my case http://54.23.123.43/dashboard.