Automated OpenStack orchestration with openQRM

From openQRM

This HowTo is about how to fully automate OpenStack Cloud orchestration with openQRM.

Why do we integrate with e.g. Amazon EC2, Eucalyptus and OpenStack (and some more in the pipeline)?

Pure Cloud projects do normally only care about virtual machine deployment.

That means the "Cloud“ is actually something „within“ your datacentre so it needs management and administration in the same way as „regular“ IT.

Since openQRM works on a much lower level of your IT we see those other Cloud providers as "tools". Because of that, those tools needs a comprehensive management platform to automate them to 100%. Therefore in openQRM public and private Cloud provider are becoming just another resource type and we are happy to integrate with them.

Requirements

  • Two physical Server - at least 1 GB of Memory
  • at least 100 GB of Diskspace
  • VT (Virtualization Technology) enabled in the Systems BIOS so that the openQRM Server and the OpenStack system can run Virtual Machines later
  • A minimal Debian installation on a physical server
  • openQRM to be installed

NOTE

  • The OpenStack integration in openQRM is only available in the openQRM Enterprise Edition >= 5.1.3!
  • If you do not already have openQRM fully installed, follow this How-To to do so
  • For the fully automatic OS and OpenStack Installation of the second system to be integrated into openQRM we assume you have followed the 'Fully automatic OpenStack installation on bare-metal with openQRM'.
  • For this How-To, we also assume you are using the same openQRM server (updated to version 5.1.3) as for the How-To about 'Virtualisation with KVM and openQRM on Debian' and 'Automated Amazon EC2 Cloud deployments with openQRM on Debian'. That means with this How-To we are going to add functionality to an existing openQRM setup. This is to show that openQRM manages all different virtualisation and deployment types seamlessly.

1. Enable plugins

For this How-To please enable and start the following plugins in the sequence below:

  • dns plugin - type Networking
  • dhcpd plugin - type Networking
  • tftpd plugin - type Networking
  • device-manager plugin - type Management
  • nfs-storage - type Storage
  • lvm-storage - type Storage
  • nagios3 - type Monitoring
  • puppet - type Deployment
  • sshterm plugin - type Management
  • local-server plugin - type Misc
  • hybrid-cloud - type Deployment

Hint: You can use the filter in the plugin list to find plugins by their type easily!

Now please check the "local-server" plugins usage page how to easily integrate the second system (the OpenStack one) into openQRM.

Local-server plugins page

Here's the commands used to integrate the OpenStack system into openQRM.

First copy the "openqrm-local-server" integration utility to the OpenStack controller via "scp".

Then login into the OpenStack controller and run the "openqrm-local-server" integration utility with the "integrate" action.

Use the integration utility

2. Configure an OpenStack account

Now go to:

Plugins -> Deployment -> Hybrid Cloud -> Actions

and click on the "Add a new account" button.

Add a new account

Set the following parameter in the "add account" form:

  • Account name: a name for this account entry
  • Account type: select "OpenStack Cloud (libcloud)"
  • Username: your OpenStack username
  • Password: the password for the above username
  • Tenant: the tenant you would like to use
  • Auth port: the port number for the OpenStack API authentication service (normally: 8773)
  • API Endpoint: the Url for the OpenStack API Endpoint (e.g. http://[openstack-controller-ip-address]:5000/v2.0/tokens/)
  • (optional) Description

Clicking on submit checks the account parameters and creates the new openQRM hybrid-cloud account.

Enter account credentials

3. Add an OpenStack image to openQRM

After setting up the connection to the OpenStack controller via the hybrid-cloud account click on the "AMI" action to add a new image object to openQRM.

Add a new image object

In the AMI list please click on the "C" character on the upper filter.

Click on the "C" character

Here's the filtered AMI list with the default "cirros" image in the OpenStack controller. Please click on the "Add Image" to add this OpenStack image to openQRM's image repository.

Click "Add Image"

Create and manage the OpenStack keypairs with the "keypair" action in the hybrid-cloud account.

Keypairs for account

Here's the list of the OpenStack security groups available through the "groups" action in the hybrid-cloud account.

Security Groups

4. Creating a new instance on the OpenStack Cloud

Creating a new instance in the OpenStack Cloud now is "as easy as a pie"!

We are now following openQRM's generic server wizard to create a new instance on the OpenStack Cloud. The instance is then fully controlled by the server life-cycle management of openQRM which provides the following added-values:

automated high availability

automated system and service monitoring

automated configuration management

automated application deployment

automated documentation

automated Cloud billing

etc.

Please go to

Datacenter -> Components -> Server

and click on "Add a new server"

Add a new server

Provide name for the new server, and optionally, a description.

Adding name and description

In the second step of the wizard click on "New resource".

Csm 13-openqrm-openstack-integration 5d9fc3830d.png

Now please select "Cloud (localboot) Virtual Machine" as the instance type.

Click on "New Resource

The last action now forwards the the hybrid-cloud account overview. Please click on the "Instances" button.

Click on 'Instances'

In the instance overview please click on "add instance".

Instance overview

In the instance-create for please provide an instance name, select the cirros AMI image and configure the security group and keypair. Additionally you can set a URL to a custom script to pre-configure the instance.

Input Instance parameters

Creating the new OpenStack instance automatically returns back into the wizard with the new created resource selected. Please click on submit.

Click on submit

In the following step please select the "cirros" AMI image and enable the "edit image" checkbox.

Select an image

In the Image-configuration step of the "add-server" wizard the login password to the instance can be set. Setting the password automatically pre-configures the "ssh" service on the instance to additionally work with login password instead of permitting only logins based on security keys.

Set login password

Here the final overview of the just created server in openQRM. Dependent on which plugins are enabled in your setup you can now pre-configure additional service and configuration items of this server.

Final Overview

Here the just created new server listed in the server overview. Please click on its "start" button.

New server list

... and confirm the "start" action.

Start

Now go to

Plugins -> Deployment -> Hybrid Cloud -> Actions

and click on the "Dashboard" button of the OpenStack hybrid-cloud account.

Click on "dashboard"

Here's the new created instance in the OpenStack dashboard.

Openstack Dashboard

Congratulations!

You have completed this openQRM/OpenStack How-To. You can now fully automate your OpenStack deployments with openQRM.