PacktLib: OpenStack Cloud Computing Cookbook - Second Edition

OpenStack Cloud Computing Cookbook Second Edition


About the Authors

About the Reviewers


Keystone OpenStack Identity Service


Creating a sandbox environment using VirtualBox and Vagrant

Configuring Ubuntu Cloud archive

Installing OpenStack Identity service

Creating tenants

Configuring roles

Adding users

Defining service endpoints

Creating the service tenant and service users

Starting OpenStack Image Service


Installing OpenStack Image Service

Configuring OpenStack Image Service with MySQL

Configuring OpenStack Image Service with OpenStack Identity Service

Managing images with OpenStack Image Service

Registering a remotely stored image

Sharing images among tenants

Viewing shared images

Starting OpenStack Compute


Installing OpenStack Compute Controller services

Creating a sandbox Compute server with VirtualBox and Vagrant

Installing OpenStack Compute packages

Configuring database services

Configuring OpenStack Compute

Configuring OpenStack Compute with OpenStack Identity Service

Stopping and starting Nova services

Installation of command-line tools on Ubuntu

Checking OpenStack Compute services

Using OpenStack Compute

Managing security groups

Creating and managing keypairs

Launching our first Cloud instance

Terminating your instance

Installing OpenStack Object Storage


Creating an OpenStack Object Storage sandbox environment

Installing OpenStack Object Storage

Configuring storage

Configuring replication

Configuring OpenStack Object Storage Service

Configuring OpenStack Object Storage proxy server

Configuring Account Server

Configuring Container Server

Configuring Object Server

Making rings

Stopping and starting OpenStack Object Storage

Configuring OpenStack Object Storage with OpenStack Identity Service

Setting up SSL access

Testing OpenStack Object Storage

Using OpenStack Object Storage


Installing the swift client tool

Creating containers

Uploading objects

Uploading large objects

Listing containers and objects

Downloading objects

Deleting containers and objects

Using OpenStack Object Storage ACLs

Administering OpenStack Object Storage


Preparing drives for OpenStack Object Storage

Managing OpenStack Object Storage cluster with swift-init

Checking cluster health

Benchmarking OpenStack Object Storage

Managing swift cluster capacity

Removing nodes from a cluster

Detecting and replacing failed hard drives

Collecting usage statistics

Starting OpenStack Block Storage


Configuring Cinder volume services

Configuring OpenStack Compute for Cinder volume

Creating volumes

Attaching volumes to an instance

Detaching volumes from an instance

Deleting volumes

OpenStack Networking


Configuring Flat networking with DHCP

Configuring VLAN Manager networking

Configuring per tenant IP ranges for VLAN Manager

Automatically assigning fixed networks to tenants

Modifying a tenant's fixed network

Manually associating floating IPs to instances

Manually disassociating floating IPs from instances

Automatically assigning floating IPs

Creating a sandbox Network server for Neutron with VirtualBox and Vagrant

Installing and configuring OVS for Neutron

Installing and configuring the Neutron API server

Configuring Compute nodes for Neutron

Creating a Neutron network

Deleting a Neutron network

Creating an external Neutron network

Using OpenStack Dashboard


Installing OpenStack Dashboard

Using OpenStack Dashboard for key management

Using OpenStack Dashboard to manage Neutron networks

Using OpenStack Dashboard for security group management

Using OpenStack Dashboard to launch instances

Using OpenStack Dashboard to terminate instances

Using OpenStack Dashboard for connecting to instances using VNC

Using OpenStack Dashboard to add new tenants

Using OpenStack Dashboard for user management

Automating OpenStack Installations


Installing Opscode Chef Server

Installing Chef Client

Downloading cookbooks to support DHCP, Razor, and OpenStack

Installing PuppetLabs Razor and DHCP from cookbooks

Setting up a Chef environment for OpenStack

Booting the first OpenStack node into Razor

Defining a Razor broker, model, and policy

Monitoring the node installation

Using Chef to install OpenStack

Expanding our OpenStack environment

Highly Available OpenStack


Using Galera for MySQL clustering

Configuring HA Proxy for MySQL Galera load balancing

Installing and setting up Pacemaker and Corosync

Configuring Keystone and Glance with Pacemaker and Corosync

Bonding network interfaces for redundancy



Understanding logging

Checking OpenStack services

Troubleshooting OpenStack Compute services

Troubleshooting OpenStack Object Storage services

Troubleshooting OpenStack Dashboard

Troubleshooting OpenStack Authentication

Troubleshooting OpenStack Networking

Submitting Bug reports

Getting help from the community



Monitoring OpenStack services with Nagios

Monitoring Compute services with Munin

Monitoring instances using Munin and Collectd

Monitoring the storage service using StatsD/Graphite

Monitoring MySQL with Hyperic