Basic Setup
- These steps will setup OpenStack Nova, Glance, and Keystone to be accessed by the OpenStack Dashboard web UI on a single host, as well as launching our first instance (virtual machine). Fedora 18 includes OpenStack Folsom release.
- Many of the examples here require 'sudo' to be properly configured, please see Configuring Sudo if you need help.
Install packages
First let us pull in OpenStack and some optional dependencies:
# OpenStack utils, Keystone (identity), Nova (compute), Cinder (block storage),
# Glance (image), Swift (object storage), Quantum (network), Horizon (dashboard)
$> sudo yum install openstack-utils openstack-keystone openstack-nova \
openstack-cinder openstack-glance openstack-swift openstack-swift-proxy \
openstack-swift-account openstack-swift-container openstack-swift-object \
openstack-quantum openstack-quantum-linuxbridge openstack-quantum-openvswitch \
openstack-dashboard openstack-tempo
# MySQL, QPID (AMQP message bus), memcached, NBD (Network Block Device) wget module
$> sudo yum install mysql-server qpid-cpp-server memcached nbd wget
# Python bindings
$> sudo yum install python-nova-adminclient
# Ruby bindings
$> sudo yum install rubygem-openstack rubygem-openstack-compute \
rubygem-openstack-quantum-client
# Image creation
$> sudo yum install appliance-tools appliance-tools-minimizer \
febootstrap rubygem-boxgrinder-build
# Some documentation
$> sudo yum install openstack-keystone-doc openstack-nova-doc \
openstack-cinder-doc openstack-glance-doc openstack-swift-doc \
python-keystoneclient-doc python-novaclient-doc \
python-swiftclient-doc python-django-horizon-doc \
rubygem-openstack-doc rubygem-openstack-quantum-client-doc
Start support services
OpenStack requires the MySQL database server to be running.
$> sudo systemctl start mysqld.service && sudo systemctl enable mysqld.service
Nova requires the QPID messaging server to be running.
$> sudo systemctl start qpidd.service && sudo systemctl enable qpidd.service
Nova requires the libvirtd server to be running:
$> sudo systemctl start libvirtd.service && sudo systemctl enable libvirtd.service
Configure Keystone
Keystone is the OpenStack identity service, providing a central place to set up OpenStack users, groups, and accounts that can be shared across all other services. This deprecates the old style user accounts manually set up with nova-manage.
Setting up Keystone is required for using the OpenStack dashboard.
Configure the Keystone database, similar to how we do it for nova
$> sudo openstack-db --service keystone --init
$> cat > ./.keystonerc << _EOF
export ADMIN_TOKEN=$(openssl rand -hex 10)
export OS_USERNAME=admin
export OS_PASSWORD=verybadpass
export OS_TENANT_NAME=admin
export OS_AUTH_URL=http://127.0.0.1:5000/v2.0/
export SERVICE_ENDPOINT=http://127.0.0.1:35357/v2.0/
export SERVICE_TOKEN=\$ADMIN_TOKEN
_EOF
$> . ./.keystonerc
Set the administrative token in the config file
$> sudo openstack-config --set /etc/keystone/keystone.conf DEFAULT admin_token $ADMIN_TOKEN
Start and enable Keystone service
$> sudo systemctl start openstack-keystone.service && sudo systemctl enable openstack-keystone.service