

Preface xv
Acknowledgments xxiii
About the Author xxv
Chapter 1: What Is OpenStack? 1
The Cloud 1
Building Your Cloud 3
Uses 3
Key Components 4
Release Cycle 13
Summary 17
Part I: First Deployments 19
Chapter 2: DevStack 21
What Is DevStack? 21
DevStack Requirements 22
Deploying DevStack 23
DevStack Options 31
Summary 33
Chapter 3: Networking 35
Key Concepts 35
Deployment Requirements 39
Traffic Flow 43
Other Resources 49
Summary 49
Chapter 4: Your First OpenStack 51
Requirements 51
Initial Setup 52
OpenStack Components 58
Manage an Instance 85
Summary 87
Part II: Deployments 89
Chapter 5: Foundations for Deployments 91
Requirements 91
Initial Setup 94
Select Components 95
Foundation Scenario 97
Summary 116
Chapter 6: Private Compute Cloud 117
Uses 117
Requirements 118
Scenario 119
Summary 139
Chapter 7: Public Compute Cloud 141
Uses 141
Requirements 142
Architecture Overview 143
Scenario 144
Handling Metrics and Alerts 150
Summary 150
Chapter 8: Block Storage Cloud 151
Uses 151
Requirements 153
Architecture Overview 154
Scenario 155
Summary 166
Chapter 9: Object Storage Cloud 167
Uses 167
Requirements 169
Scenario 173
Beyond Swift 184
Summary 184
Chapter 10: Bare Metal Provisioning 185
Uses 185
Architecture Overview 186
Community 192
Summary 193
Chapter 11: Controlling Containers 195
What Is a Container? 195
Uses 196
Container Drivers for Nova 197
Magnum 197
Summary 199
Part III: Scaling and Troubleshooting 201
Chapter 12: A Whole Cloud 203
Uses 203
Requirements 203
Scenario 204
A Bigger Cloud 207
Summary 209
Chapter 13: Troubleshooting 211
Reading Displayed Errors 211
Logs 213
Key Services 216
Networking 217
Configuration Files 221
Puppet 221
Mitigating Breakage 223
Requesting Help 224
Summary 224
Chapter 14: Vendors and Hybrid Clouds 225
Vendor Ecosystem 225
Public and Hybrid Clouds 226
Vendor Lock-in 229
Summary 230
Appendix A: Reference Deployment 231
Requirements 231
Installation 231
Recommendations 233
Appendix B: Other Deployment Mechanisms 235
Chef 235
Ansible 235
SaltStack and Others 236
Vendor-Specific 236
Appendix C: Long-Lived Puppet 237
Puppet Master or Masterless? 237
Hiera 237
Node Classification 238
Module Management 238
Software Life Cycle 239
Roles and Profiles 239
Packages 240
Revision Control 240
What Else Belongs in Your Composition Module? 240
More Information 241
Appendix D: Contributing Code to OpenStack 243
Contribution Overview 243
Appendix E: OpenStack Client (OSC) 249
Basics 249
Quick Reference 251
Appendix F: Finding Help with OpenStack 253
Documentation 253
Mailing Lists 254
Web-Based 254
Chat 254
Conferences and User Groups 255
Vendors 256
Index 257