CSS Corp Open Source Services

[OpenStack Beginner’s Guide for Ubuntu 11.04] – Installation and Configuration

with 98 comments

Installation and configuration

The following section describes how to set up a minimal cloud infrastructure based on OpenStack using 3 machines. These machines are referred to in this and subsequent chapters as Server1 and Server2 and Client1. Server1 runs all the 7 components of Nova as well as Glance and OpenStack dashboard. Server2 runs only nova-compute. Since OpenStack components follow a shared-nothing policy, each component or any group of components can be installed any server.

Client1 is not a required component. In our sample setup, it is used for bundling images and for using as a client for web interface and to run euca commands for managing the infrastructure. Having this client ensures that you do not need to meddle with the servers for tasks such as bundling. Also, bundling of Desktop Systems including Windows will require GUI and it is better to have a dedicated machine for this purpose. We would recommend this machine to be VT-Enabled so that KVM can be run and Windows VMs can be run during image creation for bundling.

The installation steps use certain specifics such as hostnames/IP addresses etc. Modify them to suit your environment before using them. The following table summarizes these specifics.

Server 1 Server 2 Client 1
Functionality All components of Open Stack including nova-compute nova-compute Client
No of NICs eth0 -Public N/W,eth1 -Private N/W eth0 -Public N/W,eth1 -Private N/W eth0- Public N/W
Ipaddresses Eth0-10.10.10.2,eth1-192.168.3.1 Eth0-10.10.10.3,eth1-192.168.3.2 Eth0-10.10.10.4
Hostname server1.example.com server2.example.com client.example.com
 DNS servers 10.10.10.3 10.10.10.3 10.10.10.3
Gateway IP 10.10.10.1 10.10.10.1 10.10.10.1

Server1

Base OS

Boot the server off the Ubuntu server 11.04 CD. At the graphical menu select Install Ubuntu server and proceed with basic installation steps.
We will also be running nova-volume on this server and it is ideal to have a dedicated partition for the use of nova-volume. So, ensure that you choose manual partitioning scheme while installing Ubuntu Server and create a dedicated partition with adequate amount of space for this purpose. We have referred to this partition in the rest of the chapter as /dev/sda6. You can substitute the correct device name of this dedciated partition based on your local setup while following the instructions. Also ensure that the parition type is set as Linux LVM ( 8e ) using fdisk either during install or immediately after installation is over.

  • Create the first user with the name ‘localadmin’ .
  • Installation lets you setup the IP address for the first interface i.e. eth0. Set the IP address details.
  • During installation select only Openssh-server in the packages menu.

Nova and Glance have been included in Universe repository . Enable Universe repository in your /etc/apt/sources.list.

Update the machine using the following commands.

sudo apt-get update
sudo apt-get upgrade

Install bridge-utils:

sudo apt-get install bridge-utils

Reboot the server and login as the admin user(localadmin) created during the OS installation.

Networking Configuration

Edit the /etc/network/interfaces file so as to looks like this:

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 10.10.10.2
netmask 255.255.255.0
broadcast 10.10.10.255
gateway 10.10.10.1
dns-nameservers 10.10.10.100

auto br100
iface br100 inet static
bridge_ports eth1
bridge_stp off
bridge_maxwait 0
bridge_fd 0
address 192.168.3.1
netmask 255.255.0.0
broadcast 192.168.255.255

Restart the network now

sudo /etc/init.d/networking restart

NTP Server

Install NTP package. This server is going to act as an NTP server for the nodes. The time on all components of OpenStack will have to be in sync. We can run NTP server on this and have other components sync to it.

sudo apt-get install ntp

Open the file /etc/ntp.conf and add the following 2 lines to make sure that the server serves time even when its connectivity to the Internet is down. The following settings ensure that the NTP server uses its own clock as the clock source:

server 127.127.1.0
fudge 127.127.1.0 stratum 10

Restart NTP service to make the changes effective

sudo /etc/init.d/ntp restart

Glance

Glance is an image Server that Nova can use to pickup images from. Glance is very modular and can use several types of storage backends such as filestore, s3 etc. We are installing Glance before installing Nova, so that when we get to configuring Nova, glance is ready to be used by Nova.

sudo apt-get install glance

The default config file at /etc/glance/glance.conf is good to use for a simple file store as the storage backend. Glance can be configured to use other storage backends such as swift. This will be covered in more detail in the chapter on “Image Management”.

Glance uses sqlite as the default database backend. While sqlite offers a quick and easy way to get started, for production use, you may consider a database such as MySQL or Postgresql. This will be covered in more detail in the chapter on “Image Management”

Glance has two components – glance-api and glance-registry. These can be controlled using the concerned upstart jobs.

MySQL Server

Install mysql-server package

sudo apt-get install -y mysql-server

Configuration

Set a variable called “MYSQL_PASS” for use in the various commands below:

MYSQL_PASS="mygreatsecret"

Change the bind address from 127.0.0.1 to 0.0.0.0 in /etc/mysql/my.cnf and it will look like this:

bind-address = 0.0.0.0

Restart mysql server to ensure that it starts listening on all interfaces.

sudo restart mysql

If you did not set the mysql root password during installation, set it now.

mysqladmin -u root password $MYSQL_PASS

Create a database named nova.

sudo mysql -uroot -p$MYSQL_PASS -e 'CREATE DATABASE nova;'

Update the database to grant super user privileges for root user to login from any IP.

sudo mysql -uroot -p$MYSQL_PASS -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;"

Set mysql root password for login from any IP.

sudo mysql -uroot -p$MYSQL_PASS -e "SET PASSWORD FOR 'root'@'%' = PASSWORD('$MYSQL_PASS');"

Nova Components

Install the messaging queue server, RabbitMQ and various nova components.

sudo apt-get install -y rabbitmq-server nova-common nova-doc python-nova nova-api nova-network nova-volume nova-objectstore nova-scheduler nova-compute

Install euca2ools package for command line tools to interact with nova.

sudo apt-get install -y euca2ools

Install unzip for extracting archives.

sudo apt-get install -y unzip

Edit the /etc/nova/nova.conf file to look like this.

--dhcpbridge_flagfile=/etc/nova/nova.conf
--dhcpbridge=/usr/bin/nova-dhcpbridge
--logdir=/var/log/nova
--lock_path=/var/lock/nova
--state_path=/var/lib/nova
--verbose
--s3_host=10.10.10.2
--rabbit_host=192.168.3.1
--cc_host=192.168.3.1
--ec2_url=http://10.10.10.2:8773/services/Cloud
--fixed_range=192.168.0.0/16
--network_size=8
--FAKE_subdomain=ec2
--routing_source_ip=192.168.3.1
--sql_connection=mysql://root:mygreatsecret@10.10.10.2/nova
--glance_host=192.168.3.1
--image_service=nova.image.glance.GlanceImageService
--iscsi_ip_prefix=192.168.

Enable iscsi target.

sudo sed -i 's/false/true/g' /etc/default/iscsitarget

Restart the iscsitarget service.

sudo service iscsitarget restart

Create a Physical Volume.

sudo pvcreate /dev/sda6

Create a Volume Group named.

sudo vgcreate nova-volumes /dev/sda6

Create a group called “nova”.

sudo groupadd nova

Change the ownership of the /etc/nova folder and permissions for /etc/nova/nova.conf:

sudo chown -R root:nova /etc/nova
sudo chmod 644 /etc/nova/nova.conf

Restart all the nova related services.

sudo /etc/init.d/libvirt-bin restart; sudo restart nova-network; sudo restart nova-compute; sudo restart nova-api; sudo restart nova-objectstore; sudo restart nova-scheduler; sudo restart nova-volume; sudo restart glance-api; sudo restart glance-registry

Create nova schema in the Mysql Database.

sudo nova-manage db sync

Create a list of Ips to be used from the network of fixed Ips set inside nova.conf.

sudo nova-manage network create 192.168.3.0/24 1 255

Allocate 32 Pubic IP addresses for use with the instances starting from 10.10.10.225.

sudo nova-manage floating create 10.10.10.2 10.10.10.224/27

Create a user with admin rights on nova.

sudo nova-manage user admin novaadmin

Create a project named proj.

sudo nova-manage project create proj novaadmin

Create a directory to download nova credentials and download the zip file.

mkdir /home/localadmin/creds

Generate and save credentials for accessing/managing the nova cloud.

sudo nova-manage project zipfile proj novaadmin /home/localadmin/creds/novacreds.zip

Contents of novacreds.zip are required to use euca2ools to manage the cloud infrastructure and you will need to transfer this zip file to any machine from where you want to run the commands from euca2ools. We will be using these credentials from client1 as well.

Navigate in to the folder created and extract the files and change their ownership.

cd /home/localadmin/creds
unzip novacreds.zip
sudo chown localadmin:localadmin /home/localadmin/creds/ -R

Here are the files extracted:
cacert.pem, cert.pem, novarc, pk.pem
novarc contains several environmental variables including your nova credentials to be set before you can use the commands from euca2ools such euca-describe-images, euca-describe-instances etc. these variables can be set by sourcing novarc file.

source /home/localadmin/creds/novarc

Restart all the nova related services.

sudo /etc/init.d/libvirt-bin restart; sudo restart nova-network; sudo restart nova-compute; sudo restart nova-api; sudo restart nova-objectstore; sudo restart nova-scheduler; sudo restart nova-volume; sudo restart glance-api; sudo restart glance-registry

Check if the credentials are working and if nova has been setup properly by running:

euca-describe-availability-zones verbose

If you see something like the following with all components happy, it means that the set up is ready to be used.

AVAILABILITYZONE nova available
AVAILABILITYZONE |- server1
AVAILABILITYZONE | |- nova-compute enabled : -) 2011-04-03 07:48:50
AVAILABILITYZONE | |- nova-scheduler enabled : -) 2011-04-03 07:48:48
AVAILABILITYZONE | |- nova-network enabled : -) 2011-04-03 07:48:49
AVAILABILITYZONE | |- nova-volume enabled : -) 2011-04-03 07:48:49

Nova Dashboard

OpenStack-dashboard is a web interface for managing users, user credentials, key pairs, images, instances etc.
Install bazaar version control system to fetch required software from the repository at launchpad.

sudo apt-get install -y bzr
sudo easy_install virtualenv

You have already finished setting up credentials for a user called localadmin in the Nova configuration section above. The credentials of this user will need to embedded into the dashboard’s configuration file.

Checkout the source of OpenStack-dashboard from bzr and run run_tests.sh, which does not only test the installation, but also installs several dependencies of the dashboard.

sudo bzr init-repo .
sudo bzr branch lp:openstack-dashboard -r 46 /opt/osdb
cd /opt/osdb
sudo sh run_tests.sh
cd openstack-dashboard

Note:It has been tested with version 46 of OpenStack Dashboard

Since you are trying to checkout from bzr anonymously, a message saying “You have not informed bzr of your Launchpad ID…” is displayed. You can safely ignore that.

Edit /opt/osdb/openstack-dashboard/local/local_settings.py to include certain details required for connecting to nova-api.

NOVA_DEFAULT_ENDPOINT = 'http://localhost:8773/services/Cloud'
NOVA_DEFAULT_REGION = 'nova'
NOVA_ACCESS_KEY = 'b6a7e3ca-f894-473b-abca-84329d9829fa:proj'
NOVA_SECRET_KEY = '2d61a361-965a-4ed6-966a-d9f543b42531'
NOVA_ADMIN_USER = 'novaadmin'
NOVA_PROJECT = 'proj'

A simple way of doing this will be to copy the relevant lines from novarc file that we discussed above.

Setting Up E-mail service for the web interface

In order to to have mails generated by OpenStack dashboard delivered, we need to configure dashboard with the details of an smtp server by editing local_settings.py file.

EMAIL_HOST = 'server1.example.com'
EMAIL_PORT = 25
If the mail server provides only authenticated SMTP, add the following lines:
EMAIL_USER =
EMAIL_PASSWORD =

If the mail server requires a TLS connection, add the following lines:

EMAIL_USE_TLS = 'True'

Create a openstack-dashboard database and its schema with the syncdb command. Provide the name/email address/desired password of the administrative user when prompted.

sudo tools/with_venv.sh dashboard/manage.py syncdb

While creating the schema, the above command asks you to create an admin account for the dashboard. Choose the user name as the project admin’s user name you chose above while creating the project ( novadmin in our case). You can choose any password you like.

Launch the default python-django server. If you want the dashboard application to be available on port 8000 :

sudo tools/with_venv.sh dashboard/manage.py runserver 10.10.10.2:8000

To check the installation open a browser and enter the following URL

http://10.10.10.2:8000

You should be able to login as “novaadmin” using the password chosen above. Any other user trying to access the interface for the first time, will need to sign up and will be able to use the interface after the account is approved by the administrator.

A successful login and display of the project named “proj” on the dashboard will indicate that the dashboard has been setup successfully.

OpenStack Dashboard with Mysql Database

Dashboard uses sqllite database by default. For a production use, MySQL or PostgreSQL may be more preferable. The procedure for MySQL is given below. Procedure for PostgreSQL will be very similar.

Install python-dev and libhmysqlclient-dev


sudo apt-get install libmysqlclient-dev
sudo apt-get install python-dev

Activate virtualenv and install mysql-python package inside the virtual environment of Dashboard.

cd /opt/osdb/openstack-dashboard
sudo bash
source .dashboard-venv/bin/activate
easy_install mysql-python

Create a Mysql database user with all privileges on Openstack Dashboard database

mysql -uroot -p <rootpasswd>

>create database dashboarddb;
>grant ALL on dashboarddb.* to nova@localhost identified by 'mygreatsecret';

Update the DATABASES section of the Django’s local_settings.py file (/opt/osdb/openstack-dashboard/local/local_settings.py) with the MySQL database settings. Here is the relevant extract from the updated file:


DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'dashboarddb',
        'USER': 'nova',
        'PASSWORD': 'mygreatsecret',
        'HOST': 'localhost',
        'default-character-set': 'utf8',
    }
}

Create the schema in the database

sudo tools/with_venv.sh dashboard/manage.py syncdb

Running Dashboard on apache2 with mod_wsgi

While the webserver that is included in Django is good for testing, for production use, it is recommended to use a web server like Apache with mod_wsgi.

Install apache2 and wsgi module.

sudo apt-get install apache2 libapache2-mod-wsgi

Dashboard includes a file django.wsgi(/opt/osdb/openstack-dashboard/dashboard/wsgi/django.wsgi) to help in running dashboard under Apache with WSGI. You can replace the default file with the file below.


# Ref: http://jmoiron.net/blog/deploying-django-mod-wsgi-virtualenv/

import sys
import site
import os

#we are adding virtual enviornment path.
vepath = '/opt/osdb/openstack-dashboard/.dashboard-venv/lib/python2.7/site-packages'
os.environ['PYTHON_EGG_CACHE'] = '/opt/osdb/openstack-dashboard/.dashboard-venv/lib/python2.7/site-packages'

prev_sys_path = list(sys.path)

# add the site-packages of our virtualenv as a site dir
site.addsitedir(vepath)

# reorder sys.path so new directories from the addsitedir show up first

new_sys_path = [p for p in sys.path if p not in prev_sys_path]

for item in new_sys_path:
    sys.path.remove(item)
sys.path[:0] = new_sys_path

# import from down here to pull in possible virtualenv django install

from django.core.handlers.wsgi import WSGIHandler
os.environ['DJANGO_SETTINGS_MODULE'] = 'dashboard.settings'
application = WSGIHandler()

Setting up the virtual host and WSGI alias in Apache

Create /etc/apache2/sites-available/openstack with the following contents:


Listen 8000
<VirtualHost 10.10.10.2:8000>
    ServerName 10.10.10.2
    WSGIScriptAlias / /opt/osdb/openstack-dashboard/dashboard/wsgi/django.wsgi
    Alias /media/admin/  /opt/osdb/openstack-dashboard/.dashboard-venv/lib/python2.7/site-packages/django/contrib/admin/media/
</VirtualHost>

Enable virtual host.

sudo a2ensite openstack
sudo /etc/init.d/apache2 reload

Dashboard should now be available at http://10.10.10.2:8000

Server 2

BaseOS

Install 64-bit version of Natty Server

Networking Configuration

sudo apt-get install bridge-utils

Edit the /etc/network/interfaces file so as to looks like this:

auto lo
 iface lo inet loopback
 auto eth0
 iface eth0 inet static
 address 10.10.10.3
 netmask 255.255.255.0
 broadcast 10.10.10.255
 gateway 10.10.10.1
 dns-nameservers 10.10.10.100

auto br100
 iface br100 inet static
 bridge_ports eth1
 bridge_stp off
 bridge_maxwait 0
 bridge_fd 0
 address 192.168.3.2
 netmask 255.255.0.0
 broadcast 192.168.255.255

Restart the network now

sudo /etc/init.d/networking restart

NTP Client

Install NTP package. This will sync to server1

sudo apt-get install ntp

Open the file /etc/ntp.conf and add the following line to sync to server1.

server 10.10.10.2

Restart NTP service to make the changes effective

sudo /etc/init.d/ntp restart

Nova Components (nova-compute alone)

Install the nova-components and dependencies.

sudo apt-get install -y nova-common python-nova nova-compute vlan

Install euca tools, for command line tools

sudo apt-get install -y euca2ools

Install unzip for extracting archives

sudo apt-get install -y unzip

Edit the /etc/nova/nova.conf file to look like this. This file is essentially similar to the configuration file (/etc/nova/nova.conf) of Server1

 --dhcpbridge_flagfile=/etc/nova/nova.conf
 --dhcpbridge=/usr/bin/nova-dhcpbridge
 --logdir=/var/log/nova
 --lock_path=/var/lock/nova
 --state_path=/var/lib/nova
 --verbose
 --s3_host=10.10.10.2
 --rabbit_host=192.168.3.1
 --cc_host=192.168.3.1
 --ec2_url=http://10.10.10.2:8773/services/Cloud
 --fixed_range=192.168.0.0/16
 --network_size=8
 --FAKE_subdomain=ec2
 --routing_source_ip=192.168.3.2
 --sql_connection=mysql://root:nova@10.10.10.2/nova
 --glance_host=192.168.3.1
 --image_service=nova.image.glance.GlanceImageService

Client1

BaseOS

Install 64-bit Desktop Version of Natty

Networking Configuration

Edit the /etc/network/interfaces file so as to looks like this:

auto lo
 iface lo inet loopback
auto eth0
 iface eth0 inet static
 address 10.10.10.4
 netmask 255.255.255.0
 broadcast 10.10.10.255
 gateway 10.10.10.1
 dns-nameservers 10.10.10.100

NTP Client

Install NTP package. This will sync to server1

sudo apt-get install ntp

Open the file /etc/ntp.conf and add the following line to sync to server1.

server 10.10.10.2

Restart NTP service to make the changes effective

sudo /etc/init.d/ntp restart

Client Tools

As mentioned above, this is a desktop installation of Natty to be used for tasks such as bundling of images. It will also be used for managing the cloud infrastructure using euca2ools.
Install euca tools, for command line tools

sudo apt-get install -y euca2ools

Install qemu-kvm

sudo apt-get install qemu-kvm

Download the credentials we created for localadmin to this machine:

mkdir /home/localadmin/creds
cd /home/localadmin/creds
scp localadmin@10.10.10.2:/home/localadmin/creds/novacreds.zip .
unzip creds.zip

Source novarc file and see if connectivity to api server is working correctly:

source novarc
euca-describe-availability-zones verbose

The output should be similar to what is shown above in the configuration section for server1.

Note: If you want to avoid manually sourcing the novarc file everytime, the user can add the following line to the .profile file in his home directory:

 source /home/localadmin/creds/novarc

98 Responses

Subscribe to comments with RSS.

  1. What is an Enterprise Name Server?

    harold

    April 29, 2011 at 9:57 am

    • It is just the DNS server that you use in your organization.

      cssoss

      April 29, 2011 at 11:15 am

  2. If you run the command ‘sudo sh run_tests.sh’ and get the error:

    Command “which virtualenv” failed.

    Installing virtualenv via easy_install…
    tools/with_venv.sh: line 4: tools/../.dashboard-venv/bin/activate: No such file or directory

    Run the following to resolve:

    sudo apt-get install python-virtualenv

    Finally run ‘sudo sh run_tests.sh’ and continue through the guide.

    Hope this helps!!

    -Seth

    Seth

    April 29, 2011 at 8:53 pm

    • Nova Dashboard section suggests “sudo easy_install virtualenv”
      We can also run sudo apt-get install python-virtualenv for the same.

      Thanks.

      koolhead17

      May 2, 2011 at 10:21 am

  3. Need to add ‘sudo’ to commands in ‘Install python-dev and libhmysqlclient-dev’ section.

    Seth

    April 29, 2011 at 9:05 pm

  4. APT requires knowledge of where to acquire the packages, no?

    So then would we not need to add to the repos list?

    add-apt-repository ppa:glance-core/trunk
    add-apt-repository ppa:nova-core/trunk
    add-apt-repository ppa:swift-core/ppa (if you are installing swift)
    apt-get update

    bo

    April 30, 2011 at 2:03 am

  5. correction:

    apt-get install python-software-properties
    add-apt-repository ppa:glance-core/trunk
    add-apt-repository ppa:nova-core/trunk
    add-apt-repository ppa:swift-core/ppa (if you are installing swift)
    apt-get update

    bo

    April 30, 2011 at 2:04 am

    • nova, glance and swift are in Universe repository for Natty. Just added a line in the chapter suggesting enabling universe repository.

      Thanks.

      -Murthy Raju

      cssoss

      April 30, 2011 at 4:46 am

      • Thank you!

        bo

        April 30, 2011 at 8:01 am

  6. This is a great guide, I’d love to find a way to publish it through the OpenStack channels as well. Would you be interested?

    Anne Gentle

    May 3, 2011 at 1:35 am

    • Hi Anne,

      Sure. That would be great. I am mailing you on this.

      Regards,
      Murthy Raju

      cssoss

      May 3, 2011 at 4:17 am

  7. Hi

    After having some initial success with Openstack Single Server setup I found your guide and started using it immediately. Thanks for such an extensive guide. Though I would need your help in understanding few things from what I have read your guide so far.

    1) Your guide mentions installation of Glance Image Service , I do not see any glance commands used in the entire guide though. As far as my knowledge on openstack goes. Glance and Openstack-nova-objectsore are two different things. When euca-describe-images command is used it is related to Openstack-nova-objectsore and euca-bundle* commands use/needs Openstack-nova-objectsore. So I wonder how glance is coming into picture in this guide.

    I am a openstack novice and I seek your suggestions. Please correct me if I am wrong.

    2) Even after following the image creation steps as per your guide and after creating images, I am unable to upload the images into openstack …. while I am able to use uec tty and maveric images fine in my existing setup. Images are either in untarring or unavailable state.

    Please find the output of euca-describe-images

    root@openstack-manual:~# euca-describe-images
    IMAGE aki-6c7c0f60 mybucket/ttylinux-uec-amd64-12.1_2.6.35-22_1-vmlinuz.manifest.xmlavailable public x86_64 kernel
    IMAGE ami-122a9844 mybucket/debian-ami.manifest.xml available public x86_64 machine
    IMAGE ami-1a366701 mybucket/win2k8-server.img.manifest.xml untarring public x86_64 machine
    IMAGE ami-15f83bd9 mybucket/xp.img.manifest.xml pending public x86_64 machine
    IMAGE ami-4aafbf4b dub-bucket/maverick-server-uec-amd64.img.manifest.xml available public i386 machine aki-32ca7710
    IMAGE ami-16780317 mybucket/ubuntu-server.img.manifest.xml untarring public x86_64 machine
    IMAGE ari-538468d0 mybucket/ttylinux-uec-amd64-12.1_2.6.35-22_1-initrd.manifest.xml available public x86_64 ramdisk
    IMAGE ami-5abeaabd mybucket/ttylinux-uec-amd64-12.1_2.6.35-22_1.img.manifest.xml available public x86_64 machine aki-6c7c0f60 ari-538468d0
    IMAGE aki-32ca7710 dub-bucket/maverick-server-uec-amd64-vmlinuz-virtual.manifest.xmlavailable public i386 kernel

    Regards,
    Kanthi

    Kanthi

    May 4, 2011 at 6:36 pm

    • Hi Kanthi,

      By default, the OpenStack Cloud setup uses the local image store for providing the images to the compute node. If the setup has two or more compute nodes, Glance is necessary for providing the machine images to the other compute nodes.

      We recommend you to install and use Glance before trying to bundle the images.

      Regards,
      Johnson D

      Johnson D

      May 5, 2011 at 11:56 am

      • Thank You Johnson.

        This is the first time I am using Glance, and I would dig more into it as you have suggested.

        Looking into my second question above, I get no boot device found error when I use the images that I have created as the guide. Please suggest me. The ttyuec image is working fine. I want to have my own linux and windows images running.

        Regards

        Kanthi

        May 5, 2011 at 2:50 pm

      • Hi Kanthi,

        I’m assuming that you are trying to bundle an Ubuntu image. During the installation of Ubuntu, select ‘Guided Partioning’ and make sure that you create a single ext4 partition mounted on ‘/’, the error about swap partition can be ignored.

        After the installation is over, you can install the necessary packages and proceed with extracting the ext4 partition as mentioned in the guide. When you are done with the steps mentioned in the guide, you can check the ext4 image by running

        $ file serverfinal.img

        You should see an o/p similar to this

        serverfinal.img: Linux rev 1.0 ext4 filesystem data, UUID=e7f5af8d-5d96-45cc-a0fc-d0d1bde8f31c, volume name “uec-rootfs” (extents) (large files) (huge files)

        My guess is that you are going wrong in extracting the ext4 partition.

        Regards,
        Suseendran R.B

        suseendranrengabashyam

        May 6, 2011 at 5:57 pm

  8. Hi,

    Each server should it necessarily have two physical network cards?

    Regards,

    Jack LAUSEN

    May 7, 2011 at 1:03 am

    • Hi Jack,

      The second NIC is not mandatory, But it helps to keep the connections between the OpenStack components private.

      Thanks,

      Johnson

      Johnson D

      May 31, 2011 at 5:29 pm

  9. Hi,

    Have you more information about configuring hybridfox (region and credentials)?

    Regards

    Jack LAUSEN

    May 7, 2011 at 3:44 pm

    • Hi,

      see info (release 1.6.000044)

      Finally we have Openstack in Hybridfox. Yes, but you need to take this with some pinch of salt, there are some error that might prop up when you traverse to tab’s since Openstack still does not have support for the functionality in those tabs. But we have tried to reduce the ugliness of those error.

      but it still does not!
      endpoint URL http://host:8773/services/Cloud or /services/Eucalyptus ?
      AWS Access Key = “***************:project” or “***********”

      To be continued

      Jack LAUSEN

      May 9, 2011 at 2:31 pm

  10. The name of the mysql database for dashboard needs to be “dashboarddb” instead of “novadb” in the create database command:

    mysql -uroot -p

    >create database novadb; <<<grant CREATE,INSERT,DELETE,UPDATE,SELECT on dashboarddb.* to nova@localhost identified by ‘mygreatsecret’;

    Sohail Aslam

    May 9, 2011 at 10:07 pm

  11. Thank you for a great document.
    Just a minor typo under:

    >sudo a2ensite openstack
    >sudo /etc/init.d/apace2 reload

    it should say apache2 not apace2.

    Regards,
    Yemane Berhane.

    Yemane Berhane

    May 10, 2011 at 9:51 pm

  12. I can’t seem to get the MySQL connection working from my compute node… any suggestions? When I run sudo nova-manage service list on the compute node, it fails. The log shows :

    (nova): TRACE: OperationalError: (OperationalError) (1045, “Access denied for user ‘root’@’192.168.106.3’ (using password: YES)”) None None
    (nova): TRACE:

    (well, it shows a bunch of stuff, but that’s the main error).

    I triple checked my nova.conf and my.cnf files and ran

    sudo mysql -uroot -p$MYSQL_PASS -e “SET PASSWORD FOR ‘root’@’%’ = PASSWORD(‘$MYSQL_PASS’);”

    Any ideas?

    Thanks- great tutorial…

    rich

    May 12, 2011 at 1:29 am

  13. Never mind- got it working.

    rich

    May 13, 2011 at 2:11 am

    • Hi would u mind telling me how u solved this issue?

      Arsal Shaikh

      August 23, 2011 at 5:26 pm

      • Never mind solved it

        Arsal Shaikh

        August 23, 2011 at 6:35 pm

      • Hi Arsal,

        Can you please mention how you solved it so that we can add it to the guide if it is going to be relevant for everyone.

        Regards,
        Murthy Raju

        murthyrajumrk

        August 23, 2011 at 6:44 pm

  14. This, hopefully, is an embarrassingly simple question. I have a single server tied into the corp DHCP via a single eth. It dispenses ip addresses in the realm of 10.51.10.0 It also does 10.51.11.0. I tried the Cactus simple shell script but, frankly, got somewhat intimidated by the CIDR questions. I want to do an ‘all in one’ nova node but am unsure of what networking address to specify. I would guess flat non-dhcp but it would be nice if the existing dhcp server could assign the public addresses but I need the main eth0 address in order to shell into the box so my understanding is I have to use flat. Does that imply I need to have the network guys carve out a range for me alone? If I added a second nova compute only server I would exceed my allocated range perhaps. So advice would be most welcome.

    Thanks,
    Walt

    Walt

    May 16, 2011 at 6:02 am

  15. Why does Server2 have a connection to the 10.10.10.0/24 network?
    This connection is not in the picture and Eucalyptus guides don’t use this network connection either.

    Martin

    May 22, 2011 at 4:09 pm

  16. In “OpenStack Dashboard with Mysql Database” the nova@localhost user also needs ALTER and INDEX rights on the dashboarddb database.

    In “Running Dashboard on apache2 with mod_wsgi” the www-data user does not have sufficient rights for the dashboard site to work. Error is:
    ExtractionError at /
    Can’t extract file(s) to egg cache

    The following error occurred while trying to extract file(s) to the Python egg
    cache:

    [Errno 13] Permission denied: ‘/opt/osdb/openstack-dashboard/.dashboard-venv/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-linux-x86_64.egg-tmp

    Martin

    May 23, 2011 at 1:37 am

  17. Hello.

    As I understand from your article on server2 uses KVM as hypervisor, but I don’t found any instructions for installing qemu-kvm on this server, only on Client1. It should be installed as dependencies or I must do it manually?

    Regards,
    Boris

    Boris

    May 23, 2011 at 7:47 pm

    • Hi Boris,

      It gets installed as a dependency with nova-compute.

      Thanks,
      Atul

      koolhead17

      May 24, 2011 at 10:25 am

  18. Hi Atul!

    Seems like setting up the MySQL DB have some error.

    You do “GRANT PRIVILEGES” and “SET PASSWORDS” for root, although it must be for nova user.

    Please, correct me if I’m wrong.

    Regards,
    Boris

    Boris

    May 24, 2011 at 12:16 pm

    • Hi Boris,

      Could you give some more information about the errors you are referring to. I only ran into trouble when I moved the Dashboard database from sqlite to MySQL. For that to work you’ll need to add ALTER and INDEX rights to the nova user.

      As for your remark about de user used by nova, it really is root as you can see in the /etc/nova/nova.conf. I agree that using a “nova” user would be much better.

      Regards,

      Martin

      Martin

      May 25, 2011 at 5:34 pm

    • Hi Boris,

      We are using separate database for openstack configuration and openstack-dashboard configuration.

      thanks,

      Atul

      koolhead17

      May 31, 2011 at 5:31 pm

      • Hi Atul,

        Yes, but the database user for both databases is odd.
        We should not use the root user for any database.
        The nova user should probably be for the nova database.
        And we probably need a dashboard user for the dashboard database.

        Regards,

        Martin.

        Martin

        May 31, 2011 at 11:11 pm

  19. Hi,

    Some more small issues.

    In /etc/nova/nova.conf on server2, the –state_path option is set twice. Also is there a reason for using 10.10.10.2 and not 192.168.3.1 in –s3_host, –ec2_url and –sql_connection?

    In the client configuration part the name of the credentials file should be novacreds.zip.

    Regards,

    Martin

    Martin

    May 25, 2011 at 7:39 pm

    • Hi Martin,

      Thanks for the correction. Its fixed.

      Regarding using 10.10.10.2,
      1. -s3_host refers to nova-object store service which needs to be connected from external networks. Hence it should be configured with public IP.
      2. -ec2_url is the endpoint URL that is to be used by the client machines and tools to connect to the OpenStack cloud.
      3. -sql_connection needs public IP because it should be accessible from clients to connect to the databases.

      Hope that helps.

      Thanks,
      Atul

      koolhead17

      May 31, 2011 at 6:15 pm

      • Hi Atul,

        I know what the services are for, bur shouldn’t all traffic between server1 and server2 use the service network 192.168.3.0/24 and not the public network 10.10.10.0/24?
        For example, the database is on server1, we changed the bind address of mysql to 0.0.0.0. This means it listens on le0, eth0 and eth1. The IP-addres of eth1 is 192.168.3.1. So changing the -sql_connection parameter on server2 to 192.168.3.1 should be ok?

        Regards,

        Martin

        Martin

        May 31, 2011 at 11:22 pm

  20. Hi,

    Great instructions!! The best I have seen yet. Taking time for me to get my head around what all the components do, but I am getting there.

    Question:
    Just wondering if nova-volume should be running on the on the nova-compute server as well as on the cloud controller?

    Chris

    chris

    May 30, 2011 at 9:06 am

  21. Hi,
    Great instructions!!Thank you and your team.

    I just Install this as you say,and i can see the ‘openstack bashboard’.
    but i can not sign in use ‘novaadmin’ and can not register as a new user.
    what can i do, what wrong with it?

    i am a new one. maybe the question is stupid. i am so sorry.

    Yu Hong (Beijing,China)

    Yu Hong

    June 2, 2011 at 7:51 pm

    • Hi Yu,

      In the Dashboard section on installation and configuration chapter during syncdb, you have to assign password. Please use the same password to login to the dashboard.

      Regards,
      Atul

      koolhead17

      June 9, 2011 at 1:38 pm

  22. Hi Atul,

    When digging a bit deeper in the nova.conf settings, I noticed two mayor issues in the nova.conf you published.
    1. –cc_host is replaced by ec2_api in the cactus release
    2. –ec2_url is now obsolete and should be replaced by:
    –ec2_host=10.10.10.2
    –ec2_path/services/Cloud
    –ec2_port=8773
    –ec2_scheme=http
    (these are my server1 settings)
    There are also two quite interesting options called:
    –s3_dmz
    –ec2_dmz_host
    However it is unclear to me what they mean by ‘dmz’. I added both to the server1 configuration with the address assigned to eth1.

    On server2 all the services use the 192.168.3.1 address to connect to server1. This works fine.

    I also noticed a problem with novarc, novarc incorrectly assumes the certificate files to be in the users home directory and not the creds directory. I ran into this problem when I tried to publish an image from the client.

    Regards,

    Martin.

    Martin

    June 5, 2011 at 11:53 pm

  23. I need some help please.

    I’m going thru the install procedure ([OpenStack Beginner’s Guide for Ubunua 11.04] – installation and configuration) and when I restarted all the nova related services, I got the following error message “restart: Unknown instance” for nova-volume, glance-api and glance-registry. I’ve followed all the instructions as documented, everything was OK up until this point.

    Can someone please advise me whats wrong ?

    See terminal log below.

    localadmin@petermc-AltixXE250:~$ sudo /etc/init.d/libvirt-bin restart; sudo restart nova-network; sudo restart nova-compute; sudo restart nova-api; sudo restart nova-objectstore; sudo restart nova-scheduler; sudo restart nova-volume; sudo restart glance-api; sudo restart glance-registry
    Rather than invoking init scripts through /etc/init.d, use the service(8)
    utility, e.g. service libvirt-bin restart

    Since the script you are attempting to invoke has been converted to an
    Upstart job, you may also use the stop(8) and then start(8) utilities,
    e.g. stop libvirt-bin ; start libvirt-bin. The restart(8) utility is also available.
    libvirt-bin stop/waiting
    libvirt-bin start/running, process 19823
    nova-network start/running, process 19849
    nova-compute start/running, process 19879
    nova-api start/running, process 19909
    nova-objectstore start/running, process 19924
    nova-scheduler start/running, process 19944
    restart: Unknown instance:
    restart: Unknown instance:
    restart: Unknown instance:
    localadmin@petermc-AltixXE250:~$

    thanks,
    Peter

    Peter McGonigal

    June 22, 2011 at 6:13 am

  24. Hi,

    This is a really useful guide, unfortunately the dashboard repository seems to have been moved to GitHub and so
    $ sudo bzr branch lp:openstack-dashboard /opt/osdb
    gets a run_tests.sh of length zero.
    I tried to get the source from GitHub (4P-openstack-dashboard-d744317.tar.gz) but run_tests.sh fails with

    Error: Could not import settings ‘tests.testsettings’ (Is it on sys.path?): No module named testsettings

    Traceback (most recent call last):
    File “dashboard/manage.py”, line 2, in
    from django.core.management import execute_manager
    ImportError: No module named django.core.management

    Thanks

    Rob Watkin

    June 22, 2011 at 8:00 pm

    • Hi Rob,

      Openstack-Dashboard is a rapidly developing project. We have rested it on version 46 of it.

      kindly use sudo bzr branch lp:openstack-dashboard -r 46 /opt/osdb

      Thanks,
      Atul

      koolhead17

      July 21, 2011 at 6:10 pm

      • The above command ” sudo bzr branch lp:openstack-dashboard -r 46 /opt/osdb” fails with the following error:
        bzr: ERROR: Invalid url supplied to transport: “bzr+ssh://bazaar.launchpad.net/+branch/openstack-dashboard”: no supported schemes

        Vish

        April 17, 2012 at 3:50 pm

  25. Hi
    Just working through this guide using a fresh install of ubuntu all works ok up to
    the point of installing the dashboard. when I try to install it I find that I have no internet
    connection.

    Any help would be appreciated

    Thanks brendan

    Brendan

    June 23, 2011 at 1:37 am

  26. In the first table, the DNS in the table for server 1,server 2 and client 1 is 10.10.10.3. But in the example where to configure the /etc/network/interfaces file, for eth0, it used 10.10.10.100. To be consistence, I think we should change the DNS in table to 10.10.10.100.

    Shang Wu

    June 23, 2011 at 2:44 pm

  27. I was not able to run the run_test.sh file after branch the openstack-dashboard:

    2 sudo bzr branch lp:openstack-dashboard /opt/osdb
    3 cd /opt/osdb
    4 sudo sh run_tests.sh

    The files have been moved to:
    https://github.com/4p/openstack-dashboard

    and I think we need to use git to download them

    Shang Wu

    June 23, 2011 at 7:28 pm

    • Hi Shang,

      Openstack-Dashboard project is rapidly evolving. The latest versions are now also available on Launchpad. In our book we have used version 46 of it.

      Thanks,
      Atul

      koolhead17

      July 21, 2011 at 5:53 pm

  28. Hi

    How to configure a multiple cloud controller containing multiple controller services on multiple nodes, multiple instance of database servers, multiple RabbitMQ server, multiple API server and Messaging server.

    Manish

    June 23, 2011 at 8:03 pm

  29. Could somebody provide a better explanation of exactly what these two commands really do:

    > Create a list of Ips to be used from the network of fixed Ips set inside nova.conf.
    > 1 sudo nova-manage network create 192.168.3.0/24 1 255

    I’m guessing that these become the private addresses assigned to VMs, but it’s not clear from inspection.
    It’s also unclear to me how to designate a specific range for VMs — eg 192.168.3.[192:254] for example…

    >Allocate 32 Pubic IP addresses for use with the instances starting from 10.10.10.225.
    >1 sudo nova-manage floating create 10.10.10.2 10.10.10.224/27

    Similarly, I’m guessing that these become the assignable public addresses for VMs. I’m assuming this spec “10.10.10.2 10.10.10.10.224/27” means on the interface with address 10.10.10.2, allocate addresses from 10.10.10.224-255

    Mark

    June 24, 2011 at 2:42 am

  30. openstack dashboard is no longer in bazar; the checkout results in an empty run_tests.sh and a README containing:
    ———————————-
    The OpenStack Dashboard code base has moved to GitHub.

    It is now available at:

    https://github.com/4p/openstack-dashboard

    Blueprints are available at:

    https://blueprints.launchpad.net/openstack-dashboard

    Bug reports are available at:

    https://bugs.launchpad.net/openstack-dashboard
    ———————————-

    git clone https://github.com/4P/openstack-dashboard.git
    downloads what appears to be the correct code base…
    ==========================================================
    In this section:
    ———————————-
    Edit /opt/osdb/openstack-dashboard/local/local_settings.py to include certain details required for connecting to nova-api.
    1 NOVA_DEFAULT_ENDPOINT = ‘http://localhost:8773/services/Cloud’
    2 NOVA_DEFAULT_REGION = ‘nova’
    3 NOVA_ACCESS_KEY = ‘b6a7e3ca-f894-473b-abca-84329d9829fa:proj’
    4 NOVA_SECRET_KEY = ‘2d61a361-965a-4ed6-966a-d9f543b42531’
    5 NOVA_ADMIN_USER = ‘novaadmin’
    6 NOVA_PROJECT = ‘proj’

    A simple way of doing this will be to copy the relevant lines from novarc file that we discussed above.
    ———————————-
    There was no existing commented block to fill in, as was the case for the email settings. If that’s correct it may be worth noting that.
    ==========================================================
    In this section
    ———————————-
    sudo tools/with_venv.sh dashboard/manage.py syncdb

    While creating the schema, the above command asks you to create an admin account for the dashboard. Choose the user name as the project admin’s user name you chose above while creating the project ( novadmin in our case). You can choose any password you like.
    ———————————-
    It creates a sqlite db, but I get no request for the admin/password

    when running openstack-dashboard, I get the login screen, I don’t get an error after filling in credentials, but I don’t leave the credentials screen either — and I get no log entries indicating that the dashboard is talking to nova.

    Mark Fausett

    June 25, 2011 at 9:23 am

    • Hi Mark,
      We have tested our documentation on the OpenStack-dashboard version 46 which is available on Launchpad.

      Also i can see from your comment that you provided admin username “novadmin” which i suppose if different from what you provided in “/opt/osdb/openstack-dashboard/local/local_settings.py”

      Thanks,
      Atul

      koolhead17

      July 21, 2011 at 5:43 pm

  31. […] time around, checking on the CSS website, I found they also have the documentation for OpenStack (They are great, aren’t they?!) That is where I will base my article about OpenStack […]

  32. Hi

    Nice tutorial, well I have question about the multiple cloud controller. How to configure as multiple cloud controller containing controller services, database servers, RabbitMQ server, API server and Messaging server. How to scale out mysql database server with multiple server nodes. Also not seeing documentations on swift storage installation in “3. Image Management”.

    Thanking You
    Manish

    Manish Patel

    June 28, 2011 at 6:00 am

  33. Hi all,

    Great instructions. I am just having trouble with the following steps:

    sudo bzr init-repo .
    sudo bzr branch lp:openstack-dashboard /opt/osdb
    cd /opt/osdb
    sudo sh run_tests.sh
    cd openstack-dashboard

    For some reason, I only have two files in /opt/osdb. One is README and the other an empty run_tests.sh. Consequently, I couldn’t run the tests and cd to openstack-dashboard…etc.

    I would appreciate any input. Thank you in advance.

    May

    May Leandro

    June 28, 2011 at 7:41 am

    • Hi May,

      Openstack-Dashboard project is rapidly evolving, please use with revision 46 as we have tested it with that.

      sudo bzr branch lp:openstack-dashboard /opt/osdb

      Thanks,
      Atul

      koolhead17

      July 21, 2011 at 5:51 pm

  34. […] to the CSS documentation, as soon as I use the command: sudo tools/with_venv.sh dashboard/manage.py […]

  35. […] following the documentationon OpenStack Dashboard with Mysql […]

  36. Thank you for a great install guide.

    The latest version of nova-dashboard has been moved to a git repository, but it doesn’t seem to work right now, so I had to check out an older revision from bazzar

    $> bzr branch lp:openstack-dashboard
    $> bzr revert -r 46

    I’m not sure what I am doing wrong as the only password that dashboard will accept for the super user account while setting up the database is the access key for the base project. Additionally, I’m not able to create a new user or project from the dashboard. What am I doing wrong?

    P Spencer Davis

    June 29, 2011 at 11:37 pm

  37. Ok, my inability to set an initial password that was different from the project access key was due to having the $NOVA_CERT environment variable set up incorrectly.

    P Spencer Davis

    June 30, 2011 at 12:28 am

  38. Hi Murthy

    I was wondering if it is necessary to have two ethernet cards for successful installation of Nova and network management ?

    thanks,
    -upendra

    Upendra

    July 6, 2011 at 11:40 pm

  39. hi, i am working with single sever, and my instance has runing ,but i can’t ping my instance ip ,do you have any idea?

    shaowt

    July 8, 2011 at 2:21 pm

  40. when I was checking the installation with euca-describe-availability-zones verbose everything was running fine except nova-volume was not there. So what could be possibly wrong?

    My detail setup:
    As I have one NIC in my pc, so I’ve change the setting a little.


    auto lo
    iface lo inet loopback

    auto br100
    iface br100 inet dhcp
    bridge_ports eth0
    bridge_stp off
    bridge_maxwait 0
    bridge_fd 0

    and /etc/nova/nova.conf

    --dhcpbridge_flagfile=/etc/nova/nova.conf
    --dhcpbridge=/usr/bin/nova-dhcpbridge
    --logdir=/var/log/nova
    --state_path=/var/lib/nova
    --verbose
    --s3_host=192.168.1.100
    --rabbit_host=192.168.1.100
    --cc_host=192.168.1.100
    --ec2_url=http://192.168.1.100:8773/services/Cloud
    --fixed_range=192.168.0.0/16
    --network_size=8
    --FAKE_subdomain=ec2
    --routing_source_ip=192.168.1.100
    --sql_connection=mysql://root:root@192.168.1.100/nova
    --glance_host=192.168.1.100
    --image_service=nova.image.glance.GlanceImageService
    --iscsi_ip_prefix=192.168.

    when I was installing nova-volume, nova-objectstorage etc I am getting an error saying,
    Errors were encountered while processing: runit vblade-persist nova-volume

    Shaon

    July 25, 2011 at 3:01 am

  41. Once the virbr0 (192.168.122.0) interface is installed, it seems to block any access to the internet (while local network access is still possible). Are there any additional routing steps I should follow?

    M Vincent

    August 8, 2011 at 3:56 am

    • I second M Vincent, same issue. can’t see “through” my gateway anymore even though it’s still configured the same way, after I get a virbr0 network device :/ Still have access to the local ip, dns, etc.

      Justin Perkins

      February 18, 2012 at 3:51 am

  42. First of…THUMBS UP for such an excellent series of articles!

    Now my problem…all went well until the WSGI on Apache section…after sudo a2ensite openstack
    sudo /etc/init.d/apache2 reload, I went to check out Dashboard and got the following error page.

    ******************************************************
    ExtractionError at /

    Can’t extract file(s) to egg cache

    The following error occurred while trying to extract file(s) to the Python egg
    cache:

    [Errno 13] Permission denied: ‘/opt/osdb/openstack-dashboard/.dashboard-venv/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-linux-x86_64.egg-tmp’

    The Python egg cache directory is currently set to:

    /opt/osdb/openstack-dashboard/.dashboard-venv/lib/python2.7/site-packages

    Perhaps your account does not have write access to this directory? You can
    change the cache directory by setting the PYTHON_EGG_CACHE environment
    variable to point to an accessible directory.

    Request Method: GET
    Request URL: http://192.168.2.2:8000/
    Django Version: 1.2.4
    Exception Type: ExtractionError
    Exception Value:

    Can’t extract file(s) to egg cache

    *****************************************************

    Me has not permission to this dir? Thanks!

    Gustaf The Iron Monkey

    August 18, 2011 at 10:53 pm

    • Can you please try the following:

      sudo chown -R www-data:www-data /opt/osdb/openstack-dashboard/

      and try accessing the dashboard again?

      -Murthy Raju

      murthyrajumrk

      August 19, 2011 at 8:06 am

      • Worked like a charm. Ya da man! Moving on to Server2. Thanks!

        Gustaf the Iron Monkey

        August 19, 2011 at 8:33 am

  43. Server1 completed. Moved on to Server2. Did everything described in the article plus moving the zip file over and source novarc. Below is what I got. Not seeing the smiley on Serve2…is the server sad?

    localadmin@Server2:~$ euca-describe-availability-zones verbose
    AVAILABILITYZONE nova available
    AVAILABILITYZONE |- Server1
    AVAILABILITYZONE | |- nova-volume enabled 🙂 2011-08-19 17:57:06
    AVAILABILITYZONE | |- nova-network enabled 🙂 2011-08-19 17:57:07
    AVAILABILITYZONE | |- nova-compute enabled 🙂 2011-08-19 17:57:07
    AVAILABILITYZONE | |- nova-scheduler enabled 🙂 2011-08-19 17:57:06
    AVAILABILITYZONE |- Server2
    AVAILABILITYZONE | |- nova-compute enabled 🙂 2011-08-19 17:57:03

    Gustaf the Iron Monkey

    August 19, 2011 at 11:29 pm

    • Hello? Anybody? How do you make sure the second server is enabled here? Thanks!

      Gustaf the Iron Monkey

      August 22, 2011 at 7:51 pm

      • Ummm…a rather stupid mistake. Please disregard previous question.

        Gustaf the Iron Monkey

        August 22, 2011 at 8:49 pm

  44. Hi
    First of all, this is the best set of instructions I’ve found. I have everything installed and working with 1 main controller and 2 compute nodes. I can start instances etc. but I can’t reach them either from internal or external ip addresses (I have a 64 ip subnet of public ip addresses attached to my setup). Each node has 2 nic’s and I have one connected to the public ip switch and another to a private switch. I am also trying to use flatdhcp networking. I’ve tried a lot of configurations for several days, and nothing works yet. Any tips?

    Steve Jacobs

    August 24, 2011 at 1:28 pm

  45. Team,

    I have the same issue as Shaon said earlier…

    “when I was checking the installation with euca-describe-availability-zones verbose everything was running fine except nova-volume was not there. So what could be possibly wrong?”

    Could someone please guide how to resolve this?

    Also, a stupid question, but can i move ahead with further steps and correct this later?

    Thanks a ton!

    -Anirudha

    Anirudha

    August 25, 2011 at 2:37 pm

  46. I have a similar problem with Steve Jacobs. Except all my instances are in a shutdown state.

    I was able to ping all the live private IP’s (192.168.3.x) before, but no longer able to do so somewhere after publishing the images.

    Also, I notice the fixed range is 192.168.0.0/16. Is there a particular reason for that?

    BTW, my test environment is completely in a VirtualBox environment.

    Thanks!

    Gustaf the Iron Monkey

    August 25, 2011 at 9:23 pm

  47. If you are running inside VirtualBox (or most other hypervisors/VMs) you can’t nest virtualization. Addd the following line to your nova.conf:

    –libvirt_type=qemu

    Your virtual machines will run very slow, but QEMU is an emulator, not a hypervisor, so it will work.

    Rich

    August 30, 2011 at 4:08 am

  48. i cant register new user throught the dashboard, anyone else has this problem ?

    EC2ResponseError: 400 Bad Request

    NotFoundNo user for id eleosQQ3F46TZ365RHA0OU2IB

    Request Method: POST
    Request URL: http://195.130.111.235:8000/accounts/register/
    Django Version: 1.2.4
    Exception Type: EC2ResponseError
    Exception Value:

    EC2ResponseError: 400 Bad Request

    NotFoundNo user for id eleosQQ3F46TZ365RHA0OU2IB

    Exception Location: /opt/osdb/openstack-dashboard/.dashboard-venv/lib/python2.7/site-packages/boto/connection.py in get_object, line 631
    Python Executable: /usr/bin/python
    Python Version: 2.7.1
    Python Path: [‘/opt/osdb/openstack-dashboard/.dashboard-venv/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg’, ‘/opt/osdb/openstack-dashboard/.dashboard-venv/lib/python2.7/site-packages/pip-1.0.2-py2.7.egg’, ‘/opt/osdb/django-nova/src’, ‘/opt/osdb/openstack-dashboard/.dashboard-venv/lib/python2.7/site-packages/mox-0.5.3-py2.7.egg’, ‘/opt/osdb/django-nova-syspanel/src’, ‘/opt/osdb/openstack-dashboard/.dashboard-venv/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-linux-x86_64.egg’, ‘/opt/osdb/openstack-dashboard/.dashboard-venv/lib/python2.7/site-packages’, ‘/opt/osdb/openstack-dashboard’, ‘/usr/local/lib/python2.7/dist-packages/virtualenv-1.6.4-py2.7.egg’, ‘/usr/lib/python2.7’, ‘/usr/lib/python2.7/plat-linux2’, ‘/usr/lib/python2.7/lib-tk’, ‘/usr/lib/python2.7/lib-old’, ‘/usr/lib/python2.7/lib-dynload’, ‘/usr/local/lib/python2.7/dist-packages’, ‘/usr/lib/python2.7/dist-packages’, ‘/usr/lib/python2.7/dist-packages/gtk-2.0’, ‘/usr/lib/pymodules/python2.7’, ‘/opt/osdb/openstack-dashboard/dashboard’]

    thx in advance

    thanoz

    September 6, 2011 at 10:14 pm

  49. Hello

    Fantastic guide but I’m stuck already.

    “Nova and Glance have been included in Universe repository . Enable Universe repository in your /etc/apt/sources.list.”

    Ok, how exactly do you do this. I know how to edit the file but I am at a loss as to “enable Universe repository” as there are over a dozen repositories listed.

    Update the machine using the following commands.

    1 sudo apt-get update

    Works OK.

    2 sudo apt-get upgrade

    Works OK

    Install bridge-utils:

    3 sudo apt-get install bridge-utils

    DOES NOT WORK: E: Package bridge-utils has no installation candidate

    ===========

    Any recommendations you can provide on the above will be sincerely appreciated.

    A

    September 29, 2011 at 8:56 pm

  50. Hello All

    First I’ed like to congratulate the people that wrote this OpenStack Guide for Beginners. It is really the best installation guide I have found thus far for OpenStack. I did run into some issues which I will document here but they are a lot less than anyother documentation I have run into.

    Here are the steps where I have suggestions:

    2.2.1 Installing Base OS

    I started with a fresh download of Ubunty Server 11.04. For whatever reason the networking, both DHCP and STATIC configurations simply do not work. I tried it on two different machines. So I used my trusty 10.04, upgraded it to 10.10 and then upgraded it again to 11.04. From there on in things seemed to go much better. First, the error with installing the bridge-utils was no more.

    2.2.1 Creating separate partition for LVM(8e). Now when you do the installation of the basic Ubuntu Server (not the Enterprise Cloud version) and you get to the part where you are asked to partition the disk you really get two choices:

    – use entire disk
    – use entire disk and create LVM partition

    The problem is, as is pointed out in the CSS documentation, that the LVM you create cannot be in use, but when you use the latter disk partition approach the LVM partition becomes in use and cannot be used by
    OpenStack in section 2.2.6 Create a Physical Volume. At least it didn’t for me.

    I was doing this in a virtual environment so I simply created a second disk and configured it manually as an LVM partition and then continued with the Guided Partitioning of the first disk. In retrospect I suspect that when you get to the Disk Partition screen you could go to Manual Mode, create a small LVM partition, and then go to back to Guided Partitioning and selec Use Entire Disk. I did not try this but that might work.

    Recommendation: Upgrade the documentation with a reference to the proper steps to configure the disk Manual so that it has the correct bootable and swap and LVM partitions.

    Networking: Before you start, make sure you have your networking well thought out on paper with eth0 and eth1 and your IP networks all in place. I created virtual network switches, one using NAT (10.10.10.0) and one using Host-Only (192.168.0.0).

    2.2.6 Nova Components

    Install all of the components seemed to go well without any errors. However, later in this section when it calls for “Restart all the nova services” the following services gave an error:

    – nova-volume
    – glance-api
    – glance-registry

    The error is: Service Did Not Start: Unknown Instance

    I continued on anyway!

    The section “Navigate to the folder created and extract the files and change their ownership” the unzip command required me to use “sudo unzip novacreds.zip” instead of just unzip…..

    Here again, at the section “Restart all the nova related services” the above three services did not start.

    I continued on anyway!

    At the point where I checked the availability zones only two were actually running:

    – nova-compute
    – nova-scheduler

    Which makes sense because some of the other services were not running upon restart.

    So I did wha every Windows sysadmin would do — I rebooted! And voila all availabilty zones are not running just like the picture in the guide!

    Well that’s it for now. I’m going to start the Nova Dashboard part of the implementation but wanted to share my experience before going much further.

    A

    A

    September 30, 2011 at 8:04 am

  51. I am unable to move to Server 2… Just at that last step in Server 1, when I have started to check the dashboard, I am seeing these errors… (Dashboard appears, but I can’t get in… Example for login, forgot password links, I get the same error with the heading “Improperly Configured at /accounts/login” or “Improperly Configured at /accounts/login”)

    ImproperlyConfigured at /

    ‘django.db.backends.mysql’ isn’t an available database backend.
    Try using django.db.backends.XXX, where XXX is one of:
    ‘dummy’, ‘mysql’, ‘oracle’, ‘postgresql’, ‘postgresql_psycopg2’, ‘sqlite3’
    Error was: cannot import name utils

    Request Method: GET
    Request URL: http://10.10.10.2:8000/
    Django Version: 1.2.4
    Exception Type: ImproperlyConfigured
    Exception Value:

    ‘django.db.backends.mysql’ isn’t an available database backend.
    Try using django.db.backends.XXX, where XXX is one of:
    ‘dummy’, ‘mysql’, ‘oracle’, ‘postgresql’, ‘postgresql_psycopg2’, ‘sqlite3’
    Error was: cannot import name utils

    Exception Location: /opt/osdb/openstack-dashboard/.dashboard-venv/lib/python2.7/site-packages/django/db/utils.py in load_backend, line 50
    Python Executable: /usr/bin/python
    Python Version: 2.7.1
    Python Path: [‘/opt/osdb/openstack-dashboard/.dashboard-venv/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg’, ‘/opt/osdb/openstack-dashboard/.dashboard-venv/lib/python2.7/site-packages/pip-1.0.2-py2.7.egg’, ‘/opt/osdb/django-nova/src’, ‘/opt/osdb/openstack-dashboard/.dashboard-venv/lib/python2.7/site-packages/mox-0.5.3-py2.7.egg’, ‘/opt/osdb/django-nova-syspanel/src’, ‘/opt/osdb/openstack-dashboard/.dashboard-venv/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-linux-x86_64.egg’, ‘/opt/osdb/openstack-dashboard/.dashboard-venv/lib/python2.7/site-packages’, ‘/opt/osdb/openstack-dashboard’, ‘/usr/local/lib/python2.7/dist-packages/virtualenv-1.6.4-py2.7.egg’, ‘/usr/lib/python2.7’, ‘/usr/lib/python2.7/plat-linux2’, ‘/usr/lib/python2.7/lib-tk’, ‘/usr/lib/python2.7/lib-old’, ‘/usr/lib/python2.7/lib-dynload’, ‘/usr/local/lib/python2.7/dist-packages’, ‘/usr/lib/python2.7/dist-packages’, ‘/usr/lib/python2.7/dist-packages/gtk-2.0’, ‘/usr/lib/pymodules/python2.7’, ‘/opt/osdb/openstack-dashboard/dashboard’]
    Server time: Sat, 1 Oct 2011 20:56:20 -0700

    ~~~~~~~~~~~~~~~~~~

    I thought whether that’s some password issue and tried to click on Forgot Password to reset it, there I get this error

    DoesNotExist at /accounts/password/reset/

    Site matching query does not exist.

    Request Method: POST
    Request URL: http://10.10.10.2:8000/accounts/password/reset/
    Django Version: 1.2.4
    Exception Type: DoesNotExist
    Exception Value:

    Site matching query does not exist.

    Exception Location: /opt/osdb/openstack-dashboard/.dashboard-venv/lib/python2.7/site-packages/django/db/models/query.py in get, line 347
    Python Executable: /usr/bin/python
    Python Version: 2.7.1
    Python Path: [‘/opt/osdb/openstack-dashboard/.dashboard-venv/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg’, ‘/opt/osdb/openstack-dashboard/.dashboard-venv/lib/python2.7/site-packages/pip-1.0.2-py2.7.egg’, ‘/opt/osdb/django-nova/src’, ‘/opt/osdb/openstack-dashboard/.dashboard-venv/lib/python2.7/site-packages/mox-0.5.3-py2.7.egg’, ‘/opt/osdb/django-nova-syspanel/src’, ‘/opt/osdb/openstack-dashboard/.dashboard-venv/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-linux-x86_64.egg’, ‘/opt/osdb/openstack-dashboard/.dashboard-venv/lib/python2.7/site-packages’, ‘/opt/osdb/openstack-dashboard’, ‘/usr/local/lib/python2.7/dist-packages/virtualenv-1.6.4-py2.7.egg’, ‘/usr/lib/python2.7’, ‘/usr/lib/python2.7/plat-linux2’, ‘/usr/lib/python2.7/lib-tk’, ‘/usr/lib/python2.7/lib-old’, ‘/usr/lib/python2.7/lib-dynload’, ‘/usr/local/lib/python2.7/dist-packages’, ‘/usr/lib/python2.7/dist-packages’, ‘/usr/lib/python2.7/dist-packages/gtk-2.0’, ‘/usr/lib/pymodules/python2.7’, ‘/opt/osdb/openstack-dashboard/dashboard’]
    Server time: Sat, 1 Oct 2011 20:57:36 -0700

    Harcharan

    October 2, 2011 at 9:28 am

  52. this is a great guide and everything is going smoothly until i run the command “sudo nova-manage db sync” it returns an error —command failed, please check log for more info–
    can you please help in this matter

    Saqib Iqbal.

    October 12, 2011 at 5:40 pm

  53. sudo bzr branch lp:openstack-dashboard -r 46 /opt/osdb

    should be

    sudo bzr branch lp:horizon -r 46 /opt/osdb

    I think!

    Blah Bluh

    November 2, 2011 at 2:49 pm

  54. We are unable to get the open-stack dashboard, please help on this.

    viswaj

    December 8, 2011 at 2:28 pm

  55. I’, stuck in Nova dash board configuration.

    Seems like openstack-dashboard has been moved from version control system bzr & git also.please suggest

    git clone https://github.com/4P/openstack-dashboard.git
    Cloning into openstack-dashboard…
    fatal: https://github.com/4P/openstack-dashboard.git/info/refs not found: did you run git update-server-info on the server?
    root@redhatt# git update-server-info
    fatal: Not a git repository (or any of the parent directories): .git

    Thanks in Advance

    Anoop Mohan

    December 9, 2011 at 9:10 pm

  56. Hi,

    I got stuck in configuring the server 2.
    Ii couldn’t start the nova-compute in Server2. In the nova-compute.log says,
    critical nova[-] no module named pscopg2
    ———-
    ————
    ———-
    import error: no module named psycopg2

    Uva

    January 11, 2012 at 10:00 pm

    • Hi,

      I got stuck in configuring the server 2.
      Ii couldn’t start the nova-compute in Server2. In the nova-compute.log says,
      critical nova[-] no module named psycopg2
      ————
      ————
      ————
      import error: no module named psycopg2

      i am trying to cnfigure ubuntu 11.10 with diablo

      Uva

      January 11, 2012 at 10:03 pm

  57. On a recent Ubuntu install (2012/03/07), iSCSI target support isn’t enabled in the default kernel. Others have had a rougher time with this, but all I had to do was ‘apt-get install iscsitarget-dkms’, which builds and installs the required kernel module.

    Michael

    March 7, 2012 at 12:46 pm

  58. I can’t ssh my VM ,I have this error
    ssh: connect to host x.x.x.x port 22: No route to host
    any help ?
    thanks

    sudstud

    March 20, 2012 at 3:19 am

  59. […] Quelle: cssoss.wordpress.com  […]

  60. The OpenStack Dashboard code base has moved to GitHub.

    It is now available at:

    https://github.com/4p/openstack-dashboard

    Blueprints are available at:

    https://blueprints.launchpad.net/openstack-dashboard

    Bug reports are available at:

    https://bugs.launchpad.net/openstack-dashboard
    ———————————-

    git clone https://github.com/4P/openstack-dashboard.git
    downloads what appears to be the correct code base…

    please help I tried to download openstack-dashborad

    and bzr doesnot download it help me please
    I run ubtune server 11.10

    Ahmed Abd El-Baset Donkol

    May 16, 2012 at 8:16 pm

  61. I migrate to ubuntu 12.04,I create instance but when I try nova show demo ,accessIPv4 and accessIP6 are empty, my instanse don’t have any adress, private or public and I can’t ssh it, what the problem please
    thanks in advance for any help

    barbara

    May 18, 2012 at 3:27 pm


Leave a comment