http://docs.openstack.org/cactus/openstack-compute/admin/content/installing-openstack-compute-on-rhel6.html
First setup the repository:
wget http://yum.griddynamics.net/yum/cactus/openstack/openstack-repo-2011.2-1.el6.noarch.rpm
rpm -ivh openstack-repo-2011.2-1.el6.noarch.rpm
Then install openstack and dependencies
yum install libvirt
chkconfig libvirtd on
/etc/init.d/libvirtd start
yum install euca2ools openstack
nova-{api,compute,network,objectstore,scheduler,volume} openstack-nova-cc-config openstack-glance
Start services:
service mysqld start
chkconfig mysqld on
service rabbitmq-server start
chkconfig rabbitmq-server on
Setup database authorisations. First set up root password:
mysqladmin -uroot password
Now, to automate the procedure create an executable shell script
openstack-db-setup.sh
with the following content (fill the relevant user name and password fields as well as the IP's):
#!/bin/bash
DB_NAME=nova
DB_USER=
DB_PASS=
PWD=
#CC_HOST="A.B.C.D" # IPv4 address
CC_HOST="130.199.148.53" # IPv4 address, fill your own
#HOSTS='node1 node2 node3' # compute nodes list
HOSTS='130.199.148.54' # compute nodes list, fill your own
mysqladmin -uroot -p$PWD -f drop nova
mysqladmin -uroot -p$PWD create nova
for h in $HOSTS localhost; do
echo "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'$h' IDENTIFIED BY '$DB_PASS';" | mysql -uroot -p$DB_PASS mysql
done
echo "GRANT ALL PRIVILEGES ON $DB_NAME.* TO $DB_USER IDENTIFIED BY '$DB_PASS';" | mysql -uroot -p$DB_PASS mysql
echo "GRANT ALL PRIVILEGES ON $DB_NAME.* TO root IDENTIFIED BY '$DB_PASS';" | mysql -uroot -p$DB_PASS mysql
And now execute this script:
./openstack-db-setup.sh
Create db schema
nova-manage db sync
Now comes point which is not in the "official" instructions. The installation will not work unless you patch your python:
patch -p0 < rhel6-nova-network-patch.diff
Create logical volumes:
lvcreate -L 1G --name test nova-volumes
For your convenience create an openstack startup shell script openstack-init.sh
Here is its content:
#!/bin/bash
for n in api compute network objectstore scheduler volume; do
service openstack-nova-$n $@;
done
service openstack-glance-api $@
And finally we are ready to start openstack:
openstack-init.sh start
With fingers crossed you should get
Starting OpenStack Nova API Server: [ OK ]
Starting OpenStack Nova Compute Worker: [ OK ]
Starting OpenStack Nova Network Controller: [ OK ]
Starting OpenStack Nova Object Storage: [ OK ]
Starting OpenStack Nova Scheduler: [ OK ]
Starting OpenStack Nova Volume Worker: [ OK ]
Starting OpenStack Glance API Server: [ OK ]
Now we need to configure and customize the installation which is another story for another day...
./openstack-init.sh start
If everything goes fine
Starting OpenStack Nova API Server: [ OK ]
Starting OpenStack Nova Compute Worker: [ OK ]
Starting OpenStack Nova Network Controller: [ OK ]
Starting OpenStack Nova Object Storage: [ OK ]
Starting OpenStack Nova Scheduler: [ OK ]
Starting OpenStack Nova Volume Worker: [ OK ]
Starting OpenStack Glance API Server: [ OK ]
Not much happened since this post. Had to take holiday leave to reduce number of unused vacation days. When I came back I got a note from cybersecurity that openstack nodes need patches or else they will be cut off. I patched them and today I return to openstack work...
ReplyDelete