Acknowledgments

The OpenStack Foundation supported the creation of this book with plane tickets to Austin, lodging (including one adventurous evening without power after a windstorm), and delicious food. For about USD $10,000, we could collaborate intensively for a week in the same room at the Rackspace Austin office. The authors are all members of the OpenStack Foundation, which you can join. Go to the Foundation web site at http://openstack.org/join.

We want to acknowledge our excellent host Rackers at Rackspace in Austin:

  • Emma Richards of Rackspace Guest Relations took excellent care of our lunch orders and even set aside a pile of sticky notes that had fallen off the walls.

  • Betsy Hagemeier, a Fanatical Executive Assistant, took care of a room reshuffle and helped us settle in for the week.

  • The Real Estate team at Rackspace in Austin, also known as "The Victors," were super responsive.

  • Adam Powell in Racker IT supplied us with bandwidth each day and second monitors for those of us needing more screens.

  • On Wednesday night we had a fun happy hour with the Austin OpenStack Meetup group and Racker Katie Schmidt took great care of our group.

We also had some excellent input from outside of the room:

  • Tim Bell from CERN gave us feedback on the outline before we started and reviewed it mid-week.

  • Sébastien Han has written excellent blogs and generously gave his permission for re-use.

  • Oisin Feeley read it, made some edits, and provided emailed feedback right when we asked.

Inside the book sprint room with us each day was our book sprint facilitator Adam Hyde. Without his tireless support and encouragement, we would have thought a book of this scope was impossible in five days. Adam has proven the book sprint method effectively again and again. He creates both tools and faith in collaborative authoring at www.booksprints.net.

We couldn't have pulled it off without so much supportive help and encouragement.

Contents

Preface
Introduction to OpenStack
Getting Started with OpenStack
Who This Book Is For
How This Book Is Organized
Why and How We Wrote This Book
How to Contribute to This Book
Conventions Used in This Book
Architecture
1. Example Architectures
Example Architecture—Legacy Networking (nova)
Example Architecture—OpenStack Networking
Parting Thoughts on Architectures
2. Provisioning and Deployment
Automated Deployment
Automated Configuration
Remote Management
Parting Thoughts for Provisioning and Deploying OpenStack
Conclusion
3. Designing for Cloud Controllers and Cloud Management
Hardware Considerations
Separation of Services
Database
Message Queue
Conductor Services
Application Programming Interface (API)
Extensions
Scheduling
Images
Dashboard
Authentication and Authorization
Network Considerations
4. Compute Nodes
Choosing a CPU
Choosing a Hypervisor
Instance Storage Solutions
Overcommitting
Logging
Networking
Conclusion
5. Scaling
The Starting Point
Adding Cloud Controller Nodes
Segregating Your Cloud
Scalable Hardware
6. Storage Decisions
Ephemeral Storage
Persistent Storage
OpenStack Storage Concepts
Choosing Storage Backends
Conclusion
7. Network Design
Management Network
Public Addressing Options
IP Address Planning
Network Topology
Services for Networking
Conclusion
Operations
8. Lay of the Land
Using the OpenStack Dashboard for Administration
Command-Line Tools
Network Inspection
Users and Projects
Running Instances
Summary
9. Managing Projects and Users
Projects or Tenants?
Managing Projects
Quotas
User Management
Creating New Users
Associating Users with Projects
Summary
10. User-Facing Operations
Images
Flavors
Security Groups
Block Storage
Instances
Associating Security Groups
Floating IPs
Attaching Block Storage
Taking Snapshots
Instances in the Database
Good Luck!
11. Maintenance, Failures, and Debugging
Cloud Controller and Storage Proxy Failures and Maintenance
Compute Node Failures and Maintenance
Storage Node Failures and Maintenance
Handling a Complete Failure
Configuration Management
Working with Hardware
Databases
HDWMY
Determining Which Component Is Broken
Uninstalling
12. Network Troubleshooting
Using "ip a" to Check Interface States
Visualizing nova-network Traffic in the Cloud
Visualizing OpenStack Networking Service Traffic in the Cloud
Finding a Failure in the Path
tcpdump
iptables
Network Configuration in the Database for nova-network
Debugging DHCP Issues with nova-network
Debugging DNS Issues
Troubleshooting Open vSwitch
Dealing with Network Namespaces
Summary
13. Logging and Monitoring
Where Are the Logs?
Reading the Logs
Tracing Instance Requests
Adding Custom Logging Statements
RabbitMQ Web Management Interface or rabbitmqctl
Centrally Managing Logs
StackTach
Monitoring
Summary
14. Backup and Recovery
What to Back Up
Database Backups
File System Backups
Recovering Backups
Summary
15. Customization
Create an OpenStack Development Environment
Customizing Object Storage (Swift) Middleware
Customizing the OpenStack Compute (nova) Scheduler
Customizing the Dashboard (Horizon)
Conclusion
16. Upstream OpenStack
Getting Help
Reporting Bugs
Join the OpenStack Community
How to Contribute to the Documentation
Security Information
Finding Additional Information
17. Advanced Configuration
Differences Between Various Drivers
Implementing Periodic Tasks
Specific Configuration Topics
18. Upgrades
Pre-Upgrade Testing Environment
Preparing for a Rollback
Upgrades
How to Perform an Upgrade from Grizzly to Havana—Ubuntu
How to Perform an Upgrade from Grizzly to Havana—Red Hat Enterprise Linux and Derivatives
How to Perform an Upgrade from Havana to Icehouse—Ubuntu
How to Perform an Upgrade from Havana to Icehouse—Red Hat Enterprise Linux and Derivatives
Cleaning Up and Final Configuration File Updates
Rolling Back a Failed Upgrade
A. Use Cases
NeCTAR
MIT CSAIL
DAIR
CERN
B. Tales From the Cryp^H^H^H^H Cloud
Double VLAN
"The Issue"
Disappearing Images
The Valentine's Day Compute Node Massacre
Down the Rabbit Hole
Havana Haunted by the Dead
C. Working with Roadmaps
Information Available to You
Influencing the Roadmap
Aspects to Watch
Replacement of Open vSwitch Plug-in with Modular Layer 2
Compute V3 API
OpenStack on OpenStack (TripleO)
Data Processing (Sahara)
Bare-Metal Deployment (Ironic)
Database as a Service (Trove)
Messaging as a Service (Marconi)
Scheduler Improvements
D. Resources
OpenStack
Cloud (General)
Python
Networking
Systems Administration
Virtualization
Configuration Management
Glossary
Index
Questions? Discuss on ask.openstack.org
Found an error? Report a bug against this page


loading table of contents...