Book Image

Extending OpenStack

By : Omar Khedher
Book Image

Extending OpenStack

By: Omar Khedher

Overview of this book

OpenStack is a very popular cloud computing platform that has enabled several organizations during the last few years to successfully implement their Infrastructure as a Service (IaaS) platforms. This book will guide you through new features of the latest OpenStack releases and how to bring them into production straightaway in an agile way. It starts by showing you how to expand your current OpenStack setup and how to approach your next OpenStack Data Center generation deployment. You will discover how to extend your storage and network capacity and also take advantage of containerization technology such as Docker and Kubernetes in OpenStack. Additionally, you'll explore the power of big data as a Service terminology implemented in OpenStack by integrating the Sahara project. This book will teach you how to build Hadoop clusters and launch jobs in a very simple way. Then you'll automate and deploy applications on top of OpenStack. You will discover how to write your own plugin in the Murano project. The final part of the book will go through best practices for security such as identity, access management, and authentication exposed by Keystone in OpenStack. By the end of this book, you will be ready to extend and customize your private cloud based on your requirements.
Table of Contents (12 chapters)

Empowering the compute service

In this section, we will add a new compute host to our first initial OpenStack environment using Ansible. The new compute node will have similar hardware requirements to the first compute node, as follows:

  • Memory: At least 4 GB RAM
  • Processor: At least 4 64-bit x86 CPUs
  • Disk space: At least 40 GB free disk space
  • Network: At least two NICs

The following excerpt will be added to the vagrant file in our test environment:

    # Compute Node
    config.vm.define :cn02 do |cn02|
      cn02.vm.hostname= "cn02"
      cn02.vm.provider "virtualbox" do |vb|
              vb.customize ["modifyvm", :id, "--memory", "4096"]
              vb.customize ["modifyvm", :id, "--cpus", "4"]
                 vb.customize ["modifyvm", :id, "--nicpromic2", &quot...