AstriCon September 27-29, 2016

(Logo) Astricon 2016 Was held in Glendale Arizona.

AstriCon 2016 was held at the Renaissance Glendale Hotel & Spa in Phoenix (Glendale), Arizona. It sounds like the type of place you might find cosplayers representing Halo’s United Nations Space Command Defense Force, but it is actually 3-days all about Asterisk – www.asterisk.org. So, although attendance isn’t quite what you’ll find at DragonCon, you will find lots of tasty talks and new friends that wanna geek out on just about all things telecom.

I was invited to speak on running Asterisk within an OpenStack cloud, a copy of the talk can be found here (link to shameless self-promotion coming soon!)

During the talk, I make reference to Wireshark *.pcap traces. Click here to download the Wireshark SIP & RTP Trace – Customer Perspective.

Finally, I make reference to instructions for running DevStack within a home environment. Instructions for building a DevStack environment are as follows.

Build your own OpenStack (DevStack) Environment at Home

The objective of this lab is to teach how to take an Ubuntu 14.04 (LTS) machine and stand-up an OpenStack environment so that you may continue your exploration of OpenStack on your own time outside of class. You might use an old laptop, AWS, Google Cloud, or use a VMWare or Xen to run it as a VM. The only prerequisite, is that you have a new install of Ubuntu 14.04 (or 16.04) on the machine.

This lab doesn’t actually install OpenStack, it installs DevStack. As the name implies, DevStack is for developers. It is designed to install on a single or dual-node system (the steps listed are for a single node system). Rather than do this lab in class, the instructor will demo it for you.

As the name implies, “DevStack” builds change rather rapidly. If you run into issues with the installation process, it might be worth re-trying these install steps 24 hours later (bugs are are typically fixed quickly).

I’ve tested DevStack using the following environments:

  • Deployed on a single VirtualBox VM with access to 4 gigs RAM, 1 NIC, 2 cores, and a 20 gig drive – No issues installing DevStack within a VirtualBox environment

  • Deployed on a single ESXi VM with access to 4 gigs RAM, 1 NIC, 2 cores, and a 20 gig drive – No issues installing DevStack within an ESXi environment

If you use Ubuntu 14.04 Desktop, then you can use the browser in Ubuntu to access Horizon. If you use the Server distro, you’ll need to configure HTTP access, and then access Horizon from your host OS (or any other OS with a GUI that has IP connectivity to your VM running DevStack). In all cases, default settings were chosen for installation.

1. Install DevStack on Ubuntu

[ubuntu@PC01 ~]$ sudo apt-get update

[ubuntu@PC01 ~]$ ip a

Record the IP address of your VM. Mine was 10.0.2.15

[ubuntu@PC01 ~]$ sudo apt-get install ntp

[ubuntu@PC01 ~]$ cat /etc/ntp.conf

You will see lots of lines, but the NTP servers being used are the following:
server 0.ubuntu.pool.ntp.org
server 1.ubuntu.pool.ntp.org
server 2.ubuntu.pool.ntp.org
server 3.ubuntu.pool.ntp.org

[ubuntu@PC01 ~]$ sudo timedatectl set-timezone UTC

[ubuntu@PC01 ~]$ sudo /etc/init.d/ntp restart

[ubuntu@PC01 ~]$ timedatectl

[ubuntu@PC01 ~]$ sudo apt-get install git -y

[ubuntu@PC01 ~]$ pwd

[ubuntu@PC01 ~]$ git clone https://git.openstack.org/openstack-dev/devstack

[ubuntu@PC01 ~]$ ls

[ubuntu@PC01 ~]$ cd devstack

[ubuntu@PC01 ~]$ less stack.sh

Press q to quit

[ubuntu@PC01 ~]$ less unstack.sh

Press q to quit

[ubuntu@PC01 ~]$ less clean.sh

Press q to quit

[ubuntu@PC01 ~]$ less samples/local.conf

Press q to quit

[ubuntu@PC01 ~]$ ./run_tests.sh

Confirm that all of the tests pass

2. Configure stack.sh via local.conf

Now to configure stack.sh. DevStack includes a sample in ~/devstack/samples/local.conf. The local.conf has the following parameters that need to be defined:

Set FLOATING_RANGE – A range not used on the local network, i.e. 192.168.1.224⁄27. This configures IP addresses ending in 225-254 to be used as floating IPs.
Set FIXED_RANGE and FIXED_NETWORK_SIZE to configure the internal address space used by the instances.
Set FLAT_INTERFACE to the Ethernet interface that connects the host to your local network. This is the interface that should be configured with the static IP address mentioned above.
Set the administrative password. This password is used for the admin and demo accounts set up as OpenStack users.
Set the MySQL administrative password. The default here is a random hex string which is inconvenient if you need to look at the database directly for anything.
Set the RabbitMQ password.
Set the service password. This is used by the OpenStack services (Nova, Glance, etc) to authenticate with Keystone.

Copy the setup file into ~/devstack, then explore what it contains. It is okay to leave this file as it. When the installation finishes, it will announce your sign in / password

ubuntu@PC01:~/devstack$ cp samples/local.conf ~/devstack/local.conf

ubuntu@PC01:~/devstack$ cat local.conf

ubuntu@PC01:~/devstack$ script -a ~/stack.out

ubuntu@PC01:~/devstack$ ./stack.sh

Note the current time. The installation of DevStack will take a bit; we’ve clocked it around 28 minutes. This is a good time to review the stack.sh documentation (http://docs.openstack.org/developer/devstack/stack.sh.html), as well as documentation on the DevStack project (http://docs.openstack.org/developer/devstack/). Be sure to keep checking the status of the installation. If something fails, it is important to catch it as quickly as possible.

ubuntu@PC01:~/devstack$ exit

ubuntu@PC01:~/devstack$ less ~/stack.out

ubuntu@PC01:~/devstack$ ls -l /opt/stack/logs

ubuntu@PC01:~/devstack$ cat ~/devstack/openrc

ubuntu@PC01:~/devstack$ source openrc admin admin

less /opt/stack/logs/stack.sh.log ## this doesn’t work

diff ~/stack.out /opt/stack/logs/stack.sh.log

3. Take control of DevStack with admin

This section will log you get you logged into Horizon, and give you some direction, but it’s up to you to explore and continue your OpenStack education. The installation of DevStack is quick and painless, so don’t be afraid that you might ‘break’ something! Refer to previous labs if you get stuck.

Log into Horizon (user: admin // password: nomoresecret)

http://(IP address of Ubuntu VM)/dashboard

To work from the CLI, type the following:

ubuntu@PC01:~/devstack$ source openrc admin

Issuing the previous command will set your privileges as admin.

Launch the python-OpenStack wrapper (easy place to start from)… think of this platform as the CLI version of Horizon. You can issue a common set of commands from here

ubuntu@PC01:~/devstack$ openstack

(openstack) help

Previous
Previous

Introduction to Python Programming

Next
Next

Installing VMware Tools from the Linux CLI