Bash Script for Automated OpenStack Tenant Creation

openstack
During OpenStack deployment and testing you may need to quickly create: project tenants, tenant users, networks, routers, security groups, etc… just to check, if Cloud is working properly.

Instead of arduous clicking all this stuff in Horizon dashboard, you can use the below Bash script, which will quickly create:
multiple project tenants
2 tenant users (admin, member)
tenant networks, sub-networks
routers
router gateways (to existing public network)
tenant ports in routers
security groups (Allow all TCP,UDP,ICMP ingress/egress)
cirros glance image (cirros-0.3.4-x86_64-disk.img)

Download script: tenant_setup.sh
Continue reading “Bash Script for Automated OpenStack Tenant Creation”

Add New Compute Node to Existing OpenStack using Packstack

openstack
OpenStack is quite reliable Cloud solution, that provides extensibility and scalability. That means, if the Cloud is running out of resources for new tenants and instances, it can be easily extended with new Hypervisors (Compute nodes) practically on-line.

In this tutorial we will extend existing OpenStack installation (Controller node, Compute node) with new Compute0 node on-line, without shutting down existing nodes. The easiest and fastest way to extend existing Openstack Cloud on-line is to use Packstack, the automated installer script.
add_new_compute_node
Continue reading “Add New Compute Node to Existing OpenStack using Packstack”

Install OpenStack on KVM – How To Configure KVM for OpenStack

openstack
Typical OpenStack cloud setup consists of more than one node (usually one Controller node and several Compute nodes), which requires lot of physical computers / servers available to perform the installation. This complicates the situation, especially if we need to test OpenStack on many nodes. Fortunately we can use Linux KVM (Kernel-based Virtual Machine) to create OpenStack on virtual nodes and avoid problems with obtaining physical hardware.

In this tutorial we will show you how to install OpenStack on KVM on Fedora 21 based hypervisor. We will run Openstack installation on two KVM based virtual nodes (Controller and Compute).

The most important part in configuring KVM for OpenStack installation is network setup, we also need to secure some resources (VCPUs, RAM, disk space) on KVM Hypervisor to create two virtual nodes.

openstack-kvm-network-diagram
Continue reading “Install OpenStack on KVM – How To Configure KVM for OpenStack”

How to Manually Extend Cinder Volumes Group in OpenStack

openstack
Cinder Volumes group is a block storage based on LVM (Logical Volume Manager) volume group, usually situated in Controller node in OpenStack cloud. It provides persistent block storage for runtime instances.

During typical packstack installation Cinder Volumes group size is determined in answer file (insert file) by following parameter:

CONFIG_CINDER_VOLUMES_SIZE=20G

If the Cinder Volumes group size we chose upon packstack installation turns out to be insufficient to create new volumes, we can attach additional physical volume on Controller node to the existing Cinder Volumes group and extend it with the new physical volume to gain more space.
Continue reading “How to Manually Extend Cinder Volumes Group in OpenStack”

How to Create and Attach Cinder Volume to Instance in OpenStack

openstack
Cinder Volume is a block storage based on Linux LVM, which can be attached to instance and mounted as a regular file system.
In this tutorial we will show you how to create Cinder Volume in OpenStack and attach it to existing instance as additional partition.

Note: you need to have working OpenStack installation with existing project tenant and running instance in order to proceed with Cinder Volume creation.

Find out how to: Create project tenant in OpenStack and launch instances
Continue reading “How to Create and Attach Cinder Volume to Instance in OpenStack”

Create tenant in OpenStack and launch instances

openstack
In this tutorial we will show you, how to create project tenant in OpenStack Juno and launch instances accessible from external public network.

Note: this tutorial is a continuation of OpenStack Installation on CentOS7 / RHEL7 and we assume that you already have working installation of OpenStack.

Environment used:
cloud version: OpenStack Juno on CentOS7 (2 nodes: controller, compute)
public network (Floating IP network): 192.168.2.0/24
private network (inside Project Tenant): 192.168.20.0/24
public controller IP: 192.168.2.4 (eth0)
public compute IP: 192.168.2.5 (eth0)
Continue reading “Create tenant in OpenStack and launch instances”

Install OpenStack Juno on CentOS 7 / RHEL 7

openstack
OpenStack is a free and open source cloud computing platform developed as a joint project of Rackspace Hosting and NASA. Users primarily deploy it as an Infrastructure as a Service (IaaS) solution. OpenStack cloud consists of many well know technologies like: Linux KVM, LVM, iSCSI, MariaDB (MySQL), RabbitMQ or Python Django.

OpenStack architecture overview:

  1. Horizon: web browser user interface (dashboard) based on Python Django for creating and managing instances (virtual machines)
  2. Keystone: authentication and authorization framework
  3. Neutron: network connectivity as a service
  4. Cinder: persistent block storage for instances based on LVM
  5. Nova: instances management system based on Linux KVM
  6. Glance: registry for instance images
  7. Swift: file storage for cloud
  8. Ceilometer: metering engine for collecting billable data and analysis.
  9. Heat: orchestration service for template-based instance deployment

In this tutorial we will install OpenStack Juno release from RDO repository on two nodes (controller node & compute node) based on CentOS 7 / RHEL 7.

Environment used:
public network (Floating IP network): 192.168.2.0/24
internal network: no IP space, physical connection only (eth1)
public controller IP: 192.168.2.4 (eth0)
public compute IP: 192.168.2.5 (eth0)
openstack_diagram
Continue reading “Install OpenStack Juno on CentOS 7 / RHEL 7”