You are previewing OpenStack: Building a Cloud Environment.
O'Reilly logo
OpenStack: Building a Cloud Environment

Book Description

Learn how you can put the features of OpenStack to work in the real world in this comprehensive path

About This Book

  • Harness the abilities of experienced OpenStack administrators and architects, and run your own private cloud successfully

  • Learn how to install, configure, and manage all of the OpenStack core projects including topics on Object Storage, Block Storage, and Neutron Networking services such as LBaaS and FWaaS

  • Get better equipped to troubleshoot and solve common problems in performance, availability, and automation that confront production-ready OpenStack environments

  • Who This Book Is For

    This course is for those who are new to OpenStack who want to learn the cloud networking fundamentals and get started with OpenStack networking. Basic understanding of Linux Operating System, Virtualization, and Networking, and Storage principles will come in handy.

    What You Will Learn

  • Get an introduction to OpenStack and its components

  • Store and retrieve data and images using storage components, such as Cinder, Swift, and Glance

  • Install and configure Swift, the OpenStack Object Storage service, including configuring Container Replication between datacenters

  • Gain hands on experience and familiarity with Horizon, the OpenStack Dashboard user interface

  • Learn how to automate OpenStack installations using Ansible and Foreman

  • Follow practical advice and examples for running OpenStack in production

  • Fix common issues with images served through Glance and master the art of troubleshooting Neutron networking

  • In Detail

    OpenStack is a collection of software projects that work together to provide a cloud fabric.

    Learning OpenStack Cloud Computing course is an exquisite guide that you will need to build cloud environments proficiently. This course will help you gain a clearer understanding of OpenStack’s components and their interaction with each other to build a cloud environment.

    The first module, Learning OpenStack, starts with a brief look into the need for authentication and authorization, the different aspects of dashboards, cloud computing fabric controllers, along with 'Networking as a Service' and 'Software defined Networking'. Then, you will focus on installing, configuring, and troubleshooting different architectures such as Keystone, Horizon, Nova, Neutron, Cinder, Swift, and Glance. After getting familiar with the fundamentals and application of OpenStack, let's move deeper into the realm of OpenStack.

    In the second module, OpenStack Cloud Computing Cookbook, preview how to build and operate OpenStack cloud computing, storage, networking, and automation. Dive into Neutron, the OpenStack Networking service, and get your hands dirty with configuring ML2, networks, routers, and distributed virtual routers. Further, you'll learn practical examples of Block Storage, LBaaS, and FBaaS.

    The final module, Troubleshooting OpenStack, will help you quickly diagnose, troubleshoot, and correct problems in your OpenStack. We will diagnose and remediate issues in Keystone, Glance, Neutron networking, Nova, Cinder block storage, Swift object storage, and issues caused by Heat orchestration.

    This Learning Path combines some of the best that Packt has to offer in one complete, curated package. It includes content from the following Packt products:

  • Learning OpenStack by Alok Shrivastwa, Sunil Sarat

  • OpenStack Cloud Computing Cookbook - Third Edition by Kevin Jackson , Cody Bunch, Egle Sigler

  • Troubleshooting OpenStack by Tony Campbell

  • Style and approach

    This course aims to create a smooth learning path that will teach you how to get started with setting up private and public clouds using a free and open source cloud computing platform—OpenStack. Through this comprehensive course, you'll learn OpenStack Cloud computing from scratch to finish and more!

    Downloading the example code for this book You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.

    Table of Contents

    1. OpenStack: Building a Cloud Environment
      1. Table of Contents
      2. OpenStack: Building a Cloud Environment
      3. OpenStack: Building a Cloud Environment
      4. Credits
      5. Preface
        1. What this course covers
        2. What you need for this learning path
        3. Who this learning path is for
        4. Reader feedback
        5. Customer support
          1. Errata
          2. Piracy
          3. Questions
      6. 1. Module 1
        1. 1. An Introduction to OpenStack
          1. Choosing an orchestrator
          2. Building a private cloud
            1. Commercial orchestrators
            2. OpenStack
          3. When to choose OpenStack?
            1. OpenStack architecture
            2. Service relationships
            3. Services and releases history
            4. Service functions
              1. Keystone
              2. Horizon
              3. Nova
              4. Glance
              5. Swift
              6. Cinder
              7. Neutron
              8. Heat
              9. Ceilometer
              10. Trove
              11. Sahara
              12. Designate
              13. Ironic
              14. Zaqar
              15. Barbican
              16. Manila
              17. Murano
              18. Magnum
              19. Kolla
              20. Congress
            5. Service dependency maps
          4. Preparing for the OpenStack setup
            1. Selecting the services
            2. Service layout
              1. Controller node
              2. Network node
              3. Compute node
              4. Storage node
            3. Operating system
            4. Network layout
          5. Summary
        2. 2. Authentication and Authorization Using Keystone
          1. Identity concepts in Keystone
            1. User
            2. Project (or tenant)
            3. Role
          2. Architecture and subsystems
            1. Identity
            2. Resource
            3. Assignment
            4. Policy
            5. Token
            6. Catalog
          3. Installing common components
            1. Setting up the database
              1. Installing MariaDB
                1. Step 1: Setting MariaDB repository
                2. Step 2: Installing the MariaDB package
              2. Configuring the database
              3. Securing the database
              4. Testing the installation
            2. Setting up the messaging broker
              1. Installing RabbitMQ
                1. Step 1: Setting up the RabbitMQ repository
                2. Step 2: Installing the RabbitMQ package
              2. Configuring the RabbitMQ server
              3. Testing the installation
          4. Installing Keystone
            1. Setting up the OpenStack repository
            2. Creating the database
            3. Installing the package
            4. The initial configuration
              1. Generating the admin token
              2. Modifying the Keystone configuration file
              3. Populating the Keystone DB
              4. Setting up your first tenant
                1. Setting up environment variables
                2. Creating the tenant
                3. Creating the user
                4. Creating and mapping the role
              5. Creating service endpoints
                1. Creating the service
                2. Creating the endpoint
          5. Verifying the installation
            1. Using Keystone CLI
            2. Using the API
          6. Troubleshooting the installation and configuration
            1. DB sync errors
              1. System language settings
              2. Configuration errors
            2. Failing Keystone commands
              1. Service non-responsive
              2. DNS issues
              3. Network issues
          7. Summary
        3. 3. Storing and Retrieving Data and Images using Glance, Cinder, and Swift
          1. Introducing storage services
          2. Working with Glance
            1. Creating the database
            2. Installing the packages
            3. Initial configuration of Glance
              1. Creating a user in Keystone
              2. Creating a Glance service in Keystone
              3. Creating a Glance endpoint
              4. Modifying Glance configuration
              5. Populating the Glance database
            4. Finalizing the installation
            5. Validating the installation
          3. Working with Cinder
            1. Controller node
            2. Creating the database
            3. Installing packages
            4. Initial configuration
              1. Creating a user in Keystone
              2. Creating Cinder service in Keystone
              3. Creating Cinder endpoints
              4. Modifying the configuration files
              5. Populating the Cinder database
            5. Finalizing the installation
            6. Storage node
              1. Understanding the prerequisites
              2. Installing the packages
              3. Modifying the configuration files
              4. Finalizing the installation
              5. Validating the installation
          4. Working with Swift
            1. Controller node
            2. Installing packages
            3. Initial configuration
              1. Creating a user in Keystone
              2. Creating a Swift service in Keystone
              3. Creating a Swift endpoint
              4. Modifying the configuration files
            4. The storage node
              1. Understanding the prerequisites
              2. Installing the packages
              3. Modifying the configuration files
                1. Account server configuration
                2. Container server configuration
                3. Object server configuration
              4. Creating the rings
                1. Account ring
                2. Container ring
                3. Object ring
              5. Distributing the ring
              6. Finalizing and validating the install
          5. Troubleshooting steps
            1. Swift authentication error
              1. Ring files don't get created
          6. Summary
        4. 4. Building Your Cloud Fabric Controller Using Nova
          1. Working with Nova
          2. Installing Nova components
            1. Installing on the controller node
              1. Creating the database
              2. Installing components
              3. Initial configuration
                1. Creating the Nova user in Keystone
                2. Creating the Nova service in Keystone
                3. Creating the Nova endpoint in Keystone
                4. Modifying the configuration file
                5. Populating the database
                6. Finalizing the installation
            2. Installing on the compute node
              1. Installing KVM
              2. Installing Nova compute components
              3. Modifying the host files
              4. Modifying the configuration file
              5. Finalizing the installation
          3. Verifying the installation
          4. Console access
          5. Designing your Nova environment
            1. Logical constructs
              1. Region
              2. Availability zone
              3. The host aggregates
            2. Virtual machine placement logic
            3. Sample cloud design
          6. Troubleshooting installation
          7. Summary
        5. 5. Technology-Agnostic Network Abstraction Using Neutron
          1. The software-defined network paradigm
            1. What is an overlay network?
              1. Components of overlay networks
              2. Overlay technologies
                1. GRE
                2. VXLAN
              3. Underlying network considerations
            2. Open flow
              1. Underlying network consideration
          2. Neutron
            1. Architecture of Neutron
              1. The Neutron server
              2. L2 agent
              3. L3 agent
            2. Understanding the basic Neutron process
            3. Networking concepts in Neutron
          3. Installing Neutron
            1. Installing on the controller node
              1. Creating the database
              2. Installing Neutron control components
              3. Initial configuration
                1. Creating the Neutron user in Keystone
                2. Creating the Neutron service in Keystone
                3. Creating the Neutron endpoint in Keystone
                4. Modifying the configuration files
              4. Setting up the database
              5. Finalizing the installation
              6. Validating the installation
            2. Installing on the network node
              1. Setting up the prerequisites
              2. Installing Neutron packages
              3. Initial configuration on the network node
                1. Neutron configuration
                2. ML2 plugin
                3. Configuring agents
                  1. Layer 3 agent
                  2. Layer 3 agent
                4. Configuring the metadata agent
              4. Setting up OVS
              5. Finalizing the installation
              6. Validating the installation
            3. Installing on the compute node
              1. Setting up the prerequisites
              2. Installing packages
              3. Initial configuration
                1. Neutron configuration
                2. ML2 plugin
                3. Nova configuration
              4. Finalizing the installation
              5. Validating the installation
          4. Troubleshooting Neutron
          5. Summary
        6. 6. Building Your Portal in the Cloud
          1. Working with Horizon
            1. Some basic terminologies
            2. System requirements to install Horizon
            3. Installing Horizon
            4. The initial configuration of Horizon
            5. Finalizing the installation
            6. Validating the installation
            7. The structure of the Horizon dashboard
          2. Troubleshooting Horizon
            1. Understanding the Horizon log
          3. Summary
        7. 7. Your OpenStack Cloud in Action
          1. Gathering service requirements
          2. Tenant and user management
            1. GUI
              1. Creating the project
              2. Adding users
              3. Associating users to the project
            2. CLI
              1. Creating the project
              2. Creating the users
              3. Associating users to the roles
          3. Network management
            1. Network types
              1. Physical network
              2. Virtual network
                1. Tenant network
                2. Provider network
                3. Implementations of virtual networks
            2. External network
              1. Creating the network
              2. Creating the subnet
            3. Tenant network
              1. Create the tenant network
              2. Creating a subnet
              3. Creating a router
          4. Requesting services
            1. Access and security
              1. Security groups
              2. Key pairs
            2. Requesting your first VM
              1. Creating a security group
              2. Creating a key pair
              3. Launching an instance
              4. Using CLI tools
                1. Generating a key pair
                2. Requesting a server
          5. Behind the scenes - how it all works
          6. Creating VM templates
            1. Installing Oz and its dependencies
              1. RHEL/CentOS
              2. Ubuntu
            2. Oz templates
            3. Creating VM templates using Oz
            4. Uploading the image
          7. Summary
        8. 8. Taking Your Cloud to the Next Level
          1. Working with Heat
            1. The components of Heat
            2. Heat Orchestration Template (HOT)
            3. Installing Heat
              1. Creating the database
              2. Installing components
              3. The initial configuration
                1. Creating a Heat user in Keystone
                2. Creating additional Heat stack roles
                3. Creating Heat services in Keystone
                4. Creating Heat endpoints in Keystone
                5. Modifying the configuration file
                6. Populating the database
              4. Finalizing the installation
            4. Deploying your first HOT
          2. Ceilometer
            1. Installing Ceilometer
              1. Installing Ceilometer on the controller node
                1. Installing and configuring MongoDB
                2. Creating the database
                3. Installing packages
                4. Initial configuration
                  1. Creating the Ceilometer user in Keystone
                  2. Creating the Ceilometer service
                  3. Creating the Ceilometer endpoint
                  4. Generating a random password
                  5. Editing the configuration files
                5. Enabling the Glance notification
                6. Enabling the Cinder notification
                7. Enabling the Swift notification
                  1. Creating the ResellerAdmin role
                  2. Enabling notifications
                  3. Allowing Swift access to Ceilometer files
                8. Finalizing the installation
            2. Installing Ceilometer on the compute node
              1. Installing the packages
                1. Ceilometer-Agent-Compute
                2. Initial configuration
                3. Enable Nova notification
                4. Finalizing the installation
            3. Installing Ceilometer on the storage node
              1. Enabling Cinder notification
              2. Finalizing the installation
          3. Testing the installation
          4. Billing and usage reporting
          5. Summary
        9. 9. Looking Ahead
          1. OpenStack distributions
            1. Devstack
            2. Operating system distributions
              1. Ubuntu OpenStack
              2. RedHat OpenStack
              3. Oracle OpenStack
            3. Vendor offerings
              1. VMware integrated OpenStack
              2. Rackspace cloud
              3. HP Helion
              4. Cisco OpenStack
              5. Mirantis OpenStack
              6. SwiftStack
              7. IBM Cloud manager
              8. Suse Cloud
            4. Other public clouds
            5. Choosing a distribution
          2. OpenStack in action
            1. Enterprise Private Cloud
            2. Service providers
            3. Schools/Research centers
            4. Web/SaaS providers
          3. The roadmap
          4. What is in it for you?
          5. Summary
        10. A. New Releases
          1. The releases
          2. Features and differences
          3. Changes in the installation procedure
            1. Adding the repository
            2. The OpenStack client
            3. Installing Keystone
            4. Service configurations
          4. Upgrading from Juno
            1. Cleanup
            2. Backup
            3. Adding the repositories
            4. Running the upgrade
            5. Installing additional components
            6. Updating the DB schema
            7. Modifying configuration files
            8. Restarting services
      7. 2. Module 2
        1. 1. Keystone – OpenStack Identity Service
          1. Introduction
          2. Installing the OpenStack Identity Service
            1. Getting ready
            2. How to do it...
            3. How it works...
          3. Configuring OpenStack Identity for SSL communication
            1. Getting ready
            2. How to do it...
            3. How it works...
          4. Creating tenants in Keystone
            1. Getting ready
            2. How to do it...
            3. How it works...
          5. Configuring roles in Keystone
            1. Getting ready
            2. How to do it...
            3. How it works...
          6. Adding users to Keystone
            1. Getting ready
            2. How to do it...
            3. How it works...
          7. Defining service endpoints
            1. Getting ready
            2. How to do it...
            3. How it works...
          8. Creating the service tenant and service users
            1. Getting ready
            2. How to do it...
            3. How it works...
          9. Configuring OpenStack Identity for LDAP Integration
            1. Getting ready
            2. How to do it...
            3. How it works...
        2. 2. Glance – OpenStack Image Service
          1. Introduction
          2. Installing OpenStack Image Service
            1. Getting ready
            2. How to do it...
            3. How it works...
            4. See also
          3. Configuring OpenStack Image Service with OpenStack Identity Service
            1. Getting ready
            2. How to do it...
            3. How it works...
          4. Configuring OpenStack Image Service with OpenStack Object Storage
            1. Getting ready
            2. How to do it...
            3. How it works...
          5. Managing images with OpenStack Image Service
            1. Getting ready
            2. How to do it...
              1. Uploading Ubuntu images
              2. Listing images
              3. Viewing image details
              4. Deleting images
              5. Making private images public
            3. How it works
          6. Registering a remotely stored image
            1. Getting ready
            2. How to do it...
            3. How it works...
          7. Sharing images among tenants
            1. Getting ready
            2. How to do it...
            3. How it works...
          8. Viewing shared images
            1. Getting ready
            2. How to do it...
            3. How it works...
          9. Using image metadata
            1. Getting ready
            2. How to do it...
              1. Updating image properties
              2. Deleting all image properties
              3. Deleting specific image properties
              4. Using metadata for host scheduling
            3. How it works...
            4. See also
          10. Migrating a VMware image
            1. Getting ready
            2. How to do it...
            3. How it works...
          11. Creating an OpenStack image
            1. Getting ready
            2. How to do it...
            3. How it works...
        3. 3. Neutron – OpenStack Networking
          1. Introduction
          2. Installing Neutron and Open vSwitch on a dedicated network node
            1. Getting ready…
            2. How to do it...
            3. How it works...
          3. Configuring Neutron and Open vSwitch
            1. Getting ready
            2. How to do it...
            3. How it works...
          4. Installing and configuring the Neutron API service
            1. Getting ready
            2. How to do it...
            3. How it works...
            4. See Also
          5. Creating a tenant Neutron network
            1. Getting ready
            2. How to do it...
            3. How it works...
          6. Deleting a Neutron network
            1. Getting ready
            2. How to do it...
            3. How it works...
          7. Creating an external floating IP Neutron network
            1. Getting ready
            2. How to do it...
            3. How it works...
          8. Using Neutron networks for different purposes
            1. Getting ready
            2. How to do it...
            3. How it works...
          9. Configuring Distributed Virtual Routers
            1. Getting ready
            2. How to do it...
              1. Network node
              2. The Controller Node
              3. Compute nodes
            3. How it works...
          10. Using Distributed Virtual Routers
            1. Getting ready
            2. How to do it...
            3. How it works...
        4. 4. Nova – OpenStack Compute
          1. Introduction
          2. Installing OpenStack Compute controller services
            1. Getting ready
            2. How to do it...
            3. How it works...
          3. Installing OpenStack Compute packages
            1. Getting ready
            2. How to do it...
            3. How it works...
            4. There’s more...
              1. Using an alternative release
          4. Configuring database services
            1. Getting ready
            2. How to do it...
            3. How it works...
            4. See also
          5. Configuring OpenStack Compute
            1. Getting ready
            2. How to do it...
            3. How it works...
            4. There’s more...
            5. See also
          6. Configuring OpenStack Compute with OpenStack Identity Service
            1. Getting ready
            2. How to do it...
            3. How it works...
          7. Stopping and starting nova services
            1. Getting ready
              1. Controller
              2. Compute
            2. How to do it...
            3. How it works...
          8. Installation of command-line tools on Ubuntu
            1. Getting ready
            2. How to do it...
            3. How it works...
            4. See also
          9. Using the command-line tools with HTTPS
            1. Getting ready
            2. How to do it...
            3. How it works...
          10. Checking OpenStack Compute services
            1. Getting ready
            2. How to do it...
            3. How it works...
          11. Using OpenStack Compute
            1. Getting ready
            2. How to do it...
            3. How it works...
          12. Managing security groups
            1. Getting ready
            2. How to do it...
              1. Creating security groups
              2. Removing a rule from a security group
              3. Deleting a security group
            3. How it works...
              1. Defining groups and rules using Nova client
          13. Creating and managing key pairs
            1. Getting ready
            2. How to do it...
              1. Listing and deleting key pairs using Nova client
              2. Listing the key pairs
              3. Deleting the key pairs
            3. How it works...
          14. Launching our first cloud instance
            1. Getting ready
            2. How to do it...
            3. How it works...
          15. Fixing a broken instance deployment
            1. Getting ready
            2. How to do it...
            3. How it works...
          16. Terminating your instances
            1. How to do it...
            2. How it works...
          17. Using live migration
            1. Getting ready
              1. Checking network connectivity
              2. Ensuring resources
            2. How to do it...
            3. How it works...
          18. Working with nova-schedulers
            1. Getting ready
            2. How to do it...
            3. How it works...
            4. There’s more...
          19. Creating flavors
            1. Getting ready
            2. How to do it...
            3. How it works...
          20. Defining host aggregates
            1. Getting ready
            2. How to do it...
            3. How it works...
          21. Launching instances in specific Availability Zones
            1. Getting ready
            2. How to do it...
            3. How it works...
          22. Launching instances on specific Compute hosts
            1. Getting ready
            2. How to do it...
            3. How it works...
          23. Removing Nova nodes from a cluster
            1. Getting ready
            2. How to do it...
            3. How it works...
        5. 5. Swift – OpenStack Object Storage
          1. Introduction
          2. Configuring Swift services and users in Keystone
            1. Getting ready
            2. How to do it...
            3. How it works...
          3. Installing OpenStack Object Storage services – proxy server
            1. Getting ready
            2. How to do it...
            3. How it works...
          4. Configuring OpenStack Object Storage – proxy server
            1. Getting ready
            2. How to do it...
            3. How it works...
            4. See also
          5. Installing OpenStack Object Storage services – storage nodes
            1. Getting ready
            2. How to do it...
            3. How it works...
          6. Configuring physical storage for use with Swift
            1. Getting ready
            2. How to do it...
            3. How it works...
          7. Configuring Object Storage replication
            1. Getting ready
            2. How to do it...
            3. How it works...
          8. Configuring OpenStack Object Storage – storage services
            1. Getting ready
            2. How to do it...
            3. How it works...
          9. Making the Object Storage rings
            1. Getting ready
            2. How to do it...
            3. How it works…
          10. Stopping and starting OpenStack Object Storage
            1. Getting ready
            2. How to do it...
            3. How it works...
          11. Setting up SSL access
            1. Getting ready
            2. How to do it...
            3. How it works...
        6. 6. Using OpenStack Object Storage
          1. Introduction
          2. Installing the swift client tool
            1. Getting ready
            2. How to do it...
            3. How it works…
          3. Creating containers
            1. Getting ready
            2. How to do it...
            3. How it works...
          4. Uploading objects
            1. Getting ready
            2. How to do it...
              1. Uploading files
              2. Uploading directories and their contents
              3. Uploading multiple objects
            3. How it works...
          5. Uploading large objects
            1. Getting ready
            2. How to do it...
            3. How it works...
          6. Listing containers and objects
            1. Getting ready
            2. How to do it...
              1. Listing all objects in a container
              2. Listing specific object paths in a container
            3. How it works...
          7. Downloading objects
            1. Getting ready
            2. How to do it...
              1. Downloading objects
              2. Downloading objects with the -o parameter
              3. Downloading all objects from a container
              4. Downloading all objects from our OpenStack Object Storage account
            3. How it works...
          8. Deleting containers and objects
            1. Getting ready
            2. How to do it...
              1. Deleting objects
              2. Deleting multiple objects
              3. Deleting containers
              4. Deleting everything from our account
            3. How it works...
          9. Using OpenStack Object Storage ACLs
            1. Getting ready
            2. How to do it...
            3. How it works
          10. Using Container Synchronization between two Swift Clusters
            1. Getting ready
            2. How to do it...
            3. How it works...
            4. There's more…
        7. 7. Administering OpenStack Object Storage
          1. Introduction
          2. Managing the OpenStack Object Storage cluster with swift-init
            1. Getting ready
            2. How to do it...
            3. How it works...
            4. There's more…
          3. Checking cluster health
            1. Getting ready
            2. How to do it...
            3. How it works...
          4. Managing the Swift cluster capacity
            1. Getting ready
            2. How to do it...
              1. Proxy server creation
              2. Storage node creation
            3. How it works...
          5. Removing nodes from a cluster
            1. Getting ready
            2. How to do it...
              1. Proxy Server
            3. How it works...
          6. Detecting and replacing failed hard drives
            1. Getting ready
            2. How to do it...
              1. Storage node
            3. How it works...
          7. Collecting usage statistics
            1. Getting ready
            2. How to do it...
            3. How it works...
        8. 8. Cinder – OpenStack Block Storage
          1. Introduction
          2. Configuring Cinder-volume services
            1. Getting ready
            2. How to do it...
            3. How it works...
          3. Configuring OpenStack Compute for Cinder-volume
            1. Getting ready
            2. How to do it...
            3. How it works...
          4. Creating volumes
            1. Getting ready
            2. How to do it...
            3. How it works...
          5. Attaching volumes to an instance
            1. Getting ready
            2. How to do it...
            3. How it works...
          6. Detaching volumes from an instance
            1. Getting ready
            2. How to do it...
            3. How it works...
          7. Deleting volumes
            1. Getting ready
            2. How to do it...
            3. How it works...
          8. Configuring third-party volume services
            1. Getting ready
            2. How to do it...
            3. How it works...
          9. Working with Cinder snapshots
            1. Getting ready
            2. How to do it...
            3. How it works...
          10. Booting from volumes
            1. Getting ready
            2. How to do it...
            3. How it works...
        9. 9. More OpenStack
          1. Introduction
          2. Using cloud-init to run post-installation commands
            1. Getting ready
            2. How to do it...
            3. How it works...
            4. There's more…
          3. Using cloud-config to run the post-installation configuration
            1. Getting ready
            2. How to do it...
            3. How it works...
            4. There's more...
          4. Installing OpenStack Telemetry
            1. Getting ready
            2. How to do it...
            3. How it works...
          5. Using OpenStack Telemetry to interrogate usage statistics
            1. Getting ready
            2. How to do it...
            3. How it works...
          6. Installing Neutron LBaaS
            1. Getting ready
            2. How to do it...
            3. How it works...
          7. Using Neutron LBaaS
            1. Getting ready
            2. How to do it...
            3. How it works...
          8. Configuring Neutron FWaaS
            1. Getting ready
            2. How to do it...
            3. How it works...
          9. Using Neutron FWaaS
            1. Getting ready
            2. How to do it...
            3. How it works...
          10. Installing the Heat OpenStack Orchestration service
            1. Getting ready
            2. How to do it...
            3. How it works...
          11. Using Heat to spin up instances
            1. Getting ready
            2. How to do it...
            3. How it works...
        10. 10. Using the OpenStack Dashboard
          1. Introduction
          2. Installing OpenStack Dashboard
            1. Getting ready
            2. How to do it...
            3. How it works...
          3. Using OpenStack Dashboard for key management
            1. Getting ready
            2. How to do it...
              1. Adding key pairs
              2. Deleting key pairs
              3. Importing key pairs
            3. How it works...
          4. Using OpenStack Dashboard to manage Neutron networks
            1. Getting ready
            2. How to do it...
              1. Creating networks
              2. Deleting networks
              3. Viewing networks
            3. How it works...
          5. Using OpenStack Dashboard for security group management
            1. Getting ready
            2. How to do it...
              1. Creating a security group
              2. Editing security groups to add and remove rules
              3. Deleting security groups
            3. How it works...
          6. Using OpenStack Dashboard to launch instances
            1. Getting ready
            2. How to do it...
            3. How it works...
          7. Using OpenStack Dashboard to terminate instances
            1. Getting ready
            2. How to do it...
            3. How it works...
          8. Using OpenStack Dashboard to connect to instances using a VNC
            1. Getting ready
            2. How to do it...
            3. How it works...
          9. Using OpenStack Dashboard to add new tenants – projects
            1. Getting ready
            2. How to do it...
            3. How it works...
          10. Using OpenStack Dashboard for user management
            1. Getting ready
            2. How to do it...
              1. Adding users
              2. Deleting users
              3. Updating user details and passwords
              4. Adding users to tenants
              5. Removing users from tenants
            3. How it works...
          11. Using OpenStack Dashboard with LBaaS
            1. Getting ready
            2. How to do it...
              1. Creating pools
              2. Adding pool members
              3. Adding a VIP to the Load Balancer pool
              4. Deleting the Load Balancer
            3. How it works...
          12. Using OpenStack Dashboard with OpenStack Orchestration
            1. Getting ready
            2. How to do it...
              1. Launching stacks
              2. Viewing stack details
              3. Deleting stacks
            3. How it works...
        11. 11. Production OpenStack
          1. Introduction
          2. Installing the MariaDB Galera cluster
            1. Getting ready
            2. How to do it...
            3. How it works...
          3. Configuring HA Proxy for the MariaDB Galera cluster
            1. Getting ready
            2. How to do it...
            3. How it works...
          4. Configuring HA Proxy for high availability
            1. Getting ready
            2. How to do it...
              1. OpenStack backend configuration using FloatingIP address
            3. How it works...
          5. Installing and configuring Pacemaker with Corosync
            1. Getting ready
            2. How to do it...
              1. Setting up the first node – controller1
              2. Setting up the second node – controller2
              3. Configuring the first node – controller1
              4. Configuring the second node – controller2
              5. Starting the Pacemaker and Corosync services
            3. How it works...
          6. Configuring OpenStack services with Pacemaker and Corosync
            1. Getting ready
            2. How to do it...
              1. Glance across two nodes with FloatingIP
              2. Configuring Pacemaker for use with Glance and Keystone
            3. How it works...
          7. Bonding network interfaces for redundancy
            1. Getting ready
            2. How to do it...
            3. How it works...
            4. See also
          8. Automating OpenStack installations using Ansible – host configuration
            1. Getting ready
            2. How to do it...
            3. How it works...
          9. Automating OpenStack installations using Ansible – Playbook configuration
            1. Getting ready
            2. How to do it...
            3. How it works...
            4. See also
          10. Automating OpenStack installations using Ansible – running Playbooks
            1. Getting ready
            2. How to do it...
            3. How it works...
            4. There's more...
            5. See also
      8. 3. Module 3
        1. 1. The Troubleshooting Toolkit
          1. The project overview of OpenStack
            1. Keystone
            2. Glance
            3. Neutron
            4. Nova
            5. Cinder
            6. Swift
            7. Heat
            8. Ceilometer
            9. Horizon
            10. Oslo
            11. Documentation
            12. Ironic
            13. Magnum
            14. Trove
            15. Barbican
            16. Congress
            17. Designate
          2. The supporting technologies
            1. Linux
            2. Databases
            3. Message queue
            4. The Apache web server
          3. Basic troubleshooting methodology and tools
            1. General Linux tools
              1. Linux processes
              2. ps
              3. pgrep
              4. pkill
              5. top and htop
              6. Hard drives
              7. df
              8. fdisk
              9. parted
              10. cat /proc/partitions
          4. Installed packages
            1. General tools
              1. The watch command
              2. File tools
              3. Message broker tools
                1. RabbitMQ
          5. Summary
        2. 2. Troubleshooting OpenStack Identity
          1. Know your version
          2. Running Keystone under Eventlet
            1. Checking the Keystone service
            2. Checking the Keystone client
            3. Checking the OpenStack Client
              1. The client debug mode
            4. Checking the API
            5. Keystone process not starting
            6. Database stopped
            7. The service catalog endpoint
            8. Running under WSGI
              1. mod_wsgi
              2. wsgi-keystone.conf
              3. Stopping the Eventlet process
              4. Checking WSGI files
            9. Checking the Keystone service
          3. Summary
        3. 3. Troubleshooting the OpenStack Image Service
          1. Glance services
            1. Confirming the Glance database
            2. Confirming the Glance authentication
              1. Keystone up
              2. Service User Set Up
                1. The service user setup
              3. Service endpoints correct
            3. Confirming the Glance API setup
            4. Checking the command-line interface client
          2. Glance logging and configuration
            1. The log level
            2. Where to look
            3. Searching logs
          3. Common errors
            1. Unable to establish connection
            2. Internal server errors (HTTP 500)
            3. Unable to validate token
          4. Summary
        4. 4. Troubleshooting OpenStack Networking
          1. Identifying Neutron issues
          2. Neutron services and agents
            1. Neutron logs
          3. Common problems
            1. When you can't ping an instance
              1. Security groups
            2. Network namespaces
            3. No IP address
          4. Troubleshooting tools
            1. ovs-vsctl
          5. The Neutron client
          6. Summary
        5. 5. Troubleshooting OpenStack Compute
          1. Checking the services
            1. nova-api
              1. Address already in use
              2. The permission error
            2. nova-scheduler
            3. nova-compute
            4. nova-conductor
          2. Supporting services
            1. The Nova database
            2. Nova authentication
              1. Keystone up
              2. Setting up the service user
              3. Service endpoints correct
            3. Nova and Glance
            4. Nova and Neutron
          3. Summary
        6. 6. Troubleshooting OpenStack Block Storage
          1. Cinder processes
            1. Logging
          2. Cinder dependencies
            1. Keystone authentication problems
            2. RabbitMQ problems
          3. Cinder errors
            1. Missing the cinder-volumes volume group
            2. The volume stuck in the creating state
            3. Insufficient free space
            4. Not sending heartbeat
          4. Summary
        7. 7. Troubleshooting OpenStack Object Storage
          1. Swift processes
            1. The proxy server
          2. Swift authentication
            1. Troubleshooting TempAuth
              1. TempAuth configuration
                1. The account and username
                2. The password
                3. 400 Bad Request
            2. Troubleshooting Swauth
              1. Swauth initialization
            3. Swift with Keystone
              1. Swift users
          3. Summary
        8. 8. Troubleshooting the OpenStack the Orchestration Service
          1. Heat services
            1. Running heat-api
            2. Running heat-engine
          2. Heat authentication
            1. The Keystone service
            2. Auth credentials
          3. Heat template errors
          4. Summary
        9. 9. Troubleshooting the OpenStack Telemetry Service
          1. Ceilometer processes
          2. Ceilometer authentication
          3. Ceilometer dependencies
            1. The message broker
            2. Databases
          4. The command-line client
            1. The meter list command
              1. Glance meters
              2. Nova meters
            2. The sample list
          5. Summary
        10. 10. OpenStack Performance, Availability, and Reliability
          1. Databases
            1. Availability
              1. MySQL with Galera Cluster
              2. Postgres
            2. Performance
              1. MySQL
                1. Show status
                2. Mytop
                  1. The Mytop header section
                  2. The Mytop thread section
                3. Percona Toolkit
              2. Postgres
                1. The PostgreSQL statistics collector
            3. Database backups
            4. Monitoring
              1. Resource monitoring
              2. OpenStack quotas
          2. RabbitMQ
            1. Clustering
            2. Mirrored queues
          3. Services
            1. Monitoring service processes
            2. Backing up services
          4. Community resources
            1. Testing
            2. Bugs
            3. Ask.openstack.org
          5. Summary
      9. A. Bibliography
      10. Index