Update: My latest installation document for Folsom can be found here. It’s too tough to try and keep up with debugging installers myself so I am just using DevStack in that tutorial. Thanks!
Populate Glance Host VM OS Images
/*Upload Images
/* 11.10 image
wget http://uec-images.ubuntu.com/releases/11.10/release/ubuntu-11.10-server-cloudimg-amd64-disk1.img
/* 12.04 image
wget https://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img
$/etc/init.d/glance-api restart
$/etc/init.d/glance-registry restart
/*List Images
$glance index (Should be empty)
Add Images
/*If you copy and paste below retype the (“) parentheses since the formatting isn’t plaint text.
/* Add images to Glance
$glance add name=”Ubuntu 11.10″ is_public=true container_format=ovf disk_format=qcow2 < ubuntu-11.10-server-cloudimg-amd64-disk1.img
/*Uploading image ‘Ubuntu 11.10’
============================================[100%] 167.139407M/s, ETA 0h 0m 0s
Added new image with ID: 3a2404f6-0a4f-44db-b1cd-a81401dd6015
$glance add name=”Ubuntu 12.04″ is_public=true container_format=ovf disk_format=qcow2 < precise-server-cloudimg-amd64-disk1.img
Uploading image ‘Ubuntu 12.04’
=============================================[100%] 143.583705M/s, ETA 0h 0m 0s
Added new image with ID: 92ca562e-bb18-425a-94ac-eb292fbcabec*/
/* If the image over ~220Mb you have the wrong image and not Ostack compatible one.
$glance index
Nova Installation
apt-get install nova-api nova-cert nova-common nova-compute nova-compute-kvm nova-doc nova-network nova-objectstore nova-scheduler nova-vncproxy nova-volume python-nova python-novaclient
1 2 3 4 |
; html-script: false ]for a in libvirt-bin nova-network nova-compute nova-api nova-objectstore nova-scheduler nova-volume nova-vncproxy; do service "$a" stop; done for a in libvirt-bin nova-network nova-compute nova-api nova-objectstore nova-scheduler nova-volume nova-vncproxy; do service "$a" start; done |
Manually adding the bridge is typically only necessary if you are trying to use only one NIC. I added it as a reference if anyone ever needed it. Probably not necessary as nova will build your bridge dynamically with an interface config starting that looks like this.
auto lo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
; html-script: false ]iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.1.6 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 dns-nameservers 8.8.8.8 gateway 192.168.1.1 auto eth1 iface eth1 inet manual up ifconfig eth1 up |
$chmod +x <script>
/*Add this to /etc/network/interfaces
#Bridged Interfaces
auto br100
iface br100 inet static
bridge_ports eth1
bridge_stp off
bridge_maxwait 0
bridge_fd 0
address 172.31.252.7
netmask 255.255.254.0
/*Add Bridge br100
$brctl addbr br100
/*bring br100 up
$ifconfig br100 up
/* Edit /etc/nova/api-paste.ini and add
admin_tenant_name = admin
admin_user = admin
admin_password = openstack
/* Fix Permissions
$chown -R nova:nova /etc/nova
/* Edit /etc/nano.conf Example-File.
#sync with mysql
$nova-manage db sync
/*Restart Script
1 2 3 4 |
; html-script: false ]for a in libvirt-bin nova-network nova-compute nova-api nova-objectstore nova-scheduler nova-volume nova-vncproxy; do service "$a" stop; done for a in libvirt-bin nova-network nova-compute nova-api nova-objectstore nova-scheduler nova-volume nova-vncproxy; do service "$a" start; done |
/*Add your vNIC “Flat Network” as defined in nova.conf. **Below each argument is passed with to dashes “- -“. The formatting mangles it. e.g. – – fixed_reange_v4=prefix
$nova-manage network create private –fixed_range_v4=172.31.252.0/23 –num_networks=1 –bridge=br100 –bridge_interface=eth0 –network_size=500
/*(Optional) Create a floating pool. Can be any address you want to assign. Essentially NAT.
$nova-manage floating create –ip_range=128.163.188.240/28
/*Check Services
/*Should see something along these lines:
$ ps -ea | grep nov
11176 ? 00:00:03 nova-cert
14282 ? 00:00:00 nova-network
14293 ? 00:00:00 nova-compute
14303 ? 00:00:01 nova-api
14313 ? 00:00:00 nova-objectstor
14323 ? 00:00:00 nova-scheduler
14353 ? 00:00:00 nova-xvpvncprox
$nova-manage service list
Binary Host Zone Status State Updated_At
nova-scheduler openstack-dev nova enabled 🙂 2012-05-10 06:39:29
nova-compute openstack-dev nova enabled 🙂 2012-05-10 06:39:09
nova-network openstack-dev nova enabled 🙂 2012-05-10 06:39:29
/*Bad most of the time. Compute can come in and out of that state and recover.
/*I have never seen network recover, it is normally bad or overburdened and time
to start scouring the logs.
$nova-manage service list
Binary Host Zone Status State Updated_At
nova-scheduler openstack-dev nova enabled 🙂 2012-05-10 07:26:29
nova-compute openstack-dev nova enabled XXX 2012-05-10 07:19:20
nova-network openstack-dev nova enabled XXX 2012-05-10 07:21:06
/*Virtual Machines from CLI. Skip if only interested in dashboard.
/*Make sure your nova db has been synced if you skip:
/*If not synced or sure if synced, sync.
$nova-manage db sync
/*Create rules for the project
nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0
nova secgroup-add-rule default tcp 22 22 0.0.0.0/0
/*Windows image
nova secgroup-add-rule default tcp 3389 0.0.0.0/0
/*Create security keys
$ nova keypair-add ssh_key > ssh_key.pem
/*Set Permissions
$chmod 0600 ssh_key.pem
/*One more restart for good measure
1 2 3 4 5 |
; html-script: false ]for a in libvirt-bin nova-network nova-compute nova-api nova-objectstore nova-scheduler nova-volume nova-vncproxy; do service "$a" stop; done for a in libvirt-bin nova-network nova-compute nova-api nova-objectstore nova-scheduler nova-volume nova-vncproxy; do service "$a" start; done /etc/init.d/rabbitmq-server restart |
/*List your images
$glance index
/*List or edit your flavors
$nova flavor-list
/*Boot a VM from CLI or skip to the Dashboard frontend.
/*Ubuntu 11.10
$nova boot –flavor 1 –image 3a2404f6-0a4f-44db-b1cd-a81401dd6015 –key_name ssh_key demo
/* Ubuntu 12.04
$nova boot –flavor 1 –image 92ca562e-bb18-425a-94ac-eb292fbcabec –key_name ssh_key demo1
/*Watch your machine boot or error ☺
$nova show demo1
/*View all VMs in your Project (Project you have creds in ENV for only)
$nova list
SSH to your new host. If you get public key errors you didn’t set your permissions on the key a few steps back.
$ssh -i ssh_key.pem ubuntu@172.31.248.2
or
>$ssh -i ssh_key.pem ubuntu@<your IP>
The final part 3 is here.
in default ubuntu where is his
password
Hi Brent,
Like you I have had numerous problems getting OpenStack installed and stable, and I was really glad to find this walk through. One problem is, I believe, in my nova.conf. I copied yours and edited for my local network, but left all the 172.31.x.x addresses as they were. When I try to boot an instance, the compute log shows that there is a password error.
Now, in your nova.conf you have the sql connection referring to a user novadbadmin, password openstack. I can’t see where (if anywhere) you created that user/database in the script. I see nova/nova being created. Any guidance would be much appreciated.
Thanks
Dave
it seems like ages that i heve been searching for a completesite like this one? i am glad i found it,some great information here, i am new and just starting out, anyway thanks for some great tips..