openQRM Enterprise Cloud Zones with openQRM

This HowTo is about how to create and manage multiple openQRM Clouds in multiple datacenter locations on Debian with openQRM.

openQRM-Enterprise Cloud Zones is a logical layer on top of openQRM Cloud. It is the central point for the openQRM private Cloud self-service (IAAS) and interfaces with all integrated openQRM Clouds via the well defined openQRM Cloud SOAP API. Cloud Zones supports to split one or more openQRM Cloud into multiple logical zones. For each Cloud Zone the Administrator can define fine grained permissions, dedicated hardware- and network-pools which can be assigned to Cloud User groups. Also Cloud Zones is the central point of billing for all IT-Services including a generic billing-system for external cost allocation which can be easily integrated to existing billing-system such as Quickbooks or SAP.

Those features of openQRM Enterprise Cloud Zones allowing to map an existing business topology 1:1 to a global accessible private Cloud infrastructure.

Please notice that openQRM Enterprise Cloud Zones is an openQRM Enterprise feature which is only available in the openQRM Enterprise Edition. For more infos please check the Edition Comparison at http://www.openqrm-enterprise.com/products/edition-comparison.html

Requirements

  • One (or more) 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 can run Virtual Machines later

Install openQRM on Debian

Install a minimal Debian on a physical Server.

Install and initialize openQRM

Please notice!
A detailed Howto about the above initial starting point is available at Install openQRM on Debian, Virtualization with KVM and openQRM on Debian and Cloud Computing with openQRM on Debian

For this howto we assume you have successfully made it through Cloud Computing with openQRM on Debian.

Decide where to install Cloud Zones

openQRM Enterprise Cloud Zones 'talk' to all integrated openQRM Clouds via the openQRM Cloud SOAP API. That means Cloud Zones is completely independent from an existing openQRM Cloud installation and can be run on a dedicated system. For this howto we are going to use the openQRM Cloud setup in the previous howto to also run openQRM Enterprise Cloud Zones.

Enabling Plugins

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

In the openQRM Plugin Manager please make sure to enable and start the following plugins in the sequence below:

  • dns plugin - type Networking
  • dhcpd plugin - type Networking
  • tftpd plugin - type Networking
  • network-manager plugin - type Networking
  • local-server plugin - type Misc
  • device-manager plugin - type Management
  • novnc plugin - type Management
  • sshterm plugin - type Management
  • linuxcoe plugin - type Deployment
  • puppet plugin - type Deployment
  • kvm plugin - type Virtualization
  • cloud plugin - type Cloud
  • ip-mgmt plugin - type Enterprise
  • cloud-zones plugin - type Enterprise
Image

Assuming you started with the howto about 'Cloud Computing with openQRM 5.1 on Debian Wheezy' just the cloud-zones and ip-mgmt plugin needs to be enabled and started. The other plugins should be already setup from the previous howto.

Network Pool configuration

Go to Plugins -> Enterprise -> IP Management -> Networks and click on 'Add a new network'

Image

Fill in the network pool details. Here we create a part of the class C network 192.168.88.0 (from 192.168.88.180 to 192.168.88.190) as a logical IP address pool with the name 'default'.

Image

Later we are going to assign this network pool to the 'default' Cloud User group.

Image

Feel free to create more network pools according to the Cloud User groups you plan. Here we are adding two more network pools to assign them for the QA and Development Cloud User group later.

Image

Cloud Zones configuration

Go to Plugins -> Enterprise -> Cloud Zones -> Config -> Setup and click on update

Image

Configure the following items

  • cloud_zones_admin_email -> you mail address (default root@localhost on the openQRM server)
  • cloud_zones_external_url -> the external accessible URL for the Cloud Zones Portal. We are using the IP of the openQRM Server here
  • cloud_zones_user_hostnames -> If true Cloud Users are able to set their own hostnames, set to false
  • cloud_zones_show_portal -> disables/enables the Cloud Zones Portal, set to true
  • cloud_zones_show_login -> disables/enables the Cloud Zones Portal login, set to true
  • cloud_zones_google_maps -> openQRM Enterprise Cloud Zones shows where your system are located via Google Maps, set to true
  • cloud_zones_show_apps -> if to show the Puppet applications for Cloud Zones deployment, set to true
  • cloud_zones_show_ips -> if to show the network-pools, set to true
  • cloud_zones_auto_ccu -> if to give new Cloud Users automatically some CCUs (Cloud currency), keep the 0
  • cloud_zones_max_network -> how many network interfaces to allow for Cloud Zones deployment, keep the 4
Image

Create Cloud Zones User Groups

Go to Plugins -> Enterprise -> Cloud Zones -> Config -> Groups and click on new

Image

A 'default' Cloud User group is automatically created during initialization of the Cloud Zones plugin. Please add two more Cloud Zones User groups, 'qa' and 'development'

Image

Create Cloud Zones Users

Go to Plugins -> Enterprise -> Cloud Zones -> Config -> Users and click on new

Image

Add a new Cloud Zones User.

Please notice!
Make sure to use a valid email address for the Cloud Users! root@localhost will not work!

Image

The new Cloud Zones User got added successfully.

Image

Please add two more Cloud Zones Users, 'qauser' and 'devuser'. Put each of the Cloud Zones User in a different Cloud Zones User Group.

Image

Create the Cloud Zones

Go to Plugins -> Enterprise -> Cloud Zones -> Zones and click on new

Image

Create a new 'default' Cloud Zone as shown in the following screenshot

Image

Please also scroll down the form to configure the short-cuts. The short-cuts are used to e.g. automatically create hostnames according to your configured naming convention.

Image

Here the new 'default' Cloud Zone got added successfully.

Image

Please add two more Cloud Zones for 'qa' and 'development'.

Image

Assign the Cloud Zones to Cloud Zones User Groups

Go to Plugins -> Enterprise -> Cloud Zones -> Config -> Groups and click on 'Edit' of the 'default' Cloud Zones User Group.

Image

For the 'default' Cloud Zones User group select all 3 available Cloud Zones.

Image

For the 'qa' and 'dev' Cloud Zones User group select only the specific 'qa' and 'dev' Cloud Zones.

Image

Setup the openQRM Cloud as a Cloud Zones Client

Go to Plugins -> Cloud -> Configuration -> Main Config and click on update

Image

Update the following items

  • cloud_zones_client -> set to true
  • cloud_zones_master_ip -> use the openQRM Server IP address
  • cloud_external_ip -> use the openQRM Server IP address
Image

Enable SSL/HTTPS

Since openQRM Cloud Zones 'talks' to the integrated openQRM Clouds via SOAP it requires to have the openQRM webserver configured with SSL/https. To do this please open a terminal on the openQRM Server as 'root' and run the following commands:

cat /usr/share/openqrm/plugins/cloud/etc/httpd/openqrm-https.conf | sed -e "s#@@OPENQRM_SERVER_BASE_DIR@@#/usr/share#g" | sed -e "s#@@OPENQRM_WEBSERVER_DOCUMENT_ROOT@@#/var/www#g" | sed -e "s#server.crt#openqrm.crt#g" | sed -e "s#server.key#private.key#g" > /etc/apache2/conf.d/openqrm-https.conf
cd /usr/share/openqrm/plugins/cloud/bin
./openqrm-cloud-manager enable-ssl
mv /usr/share/openqrm/plugins/cloud/etc/ssl/cerst /usr/share/openqrm/plugins/cloud/etc/ssl/certs
/etc/init.d/apache2 restart
Image

In the moment SSL/https is setup openQRM Cloud Zones starts to sync Cloud Users, Permission, CCUs and other items into the integrated openQRM Cloud. Please notice that there are now 3 error events in the integrated openQRM Cloud Server to notify about the sync process and user creation. Those event are not critical but just notifier and can be removed.

Image

Looking at Plugins -> Cloud -> Users we can see that the Cloud Zones Users got created correctly.

Image

Assign Network pools to Cloud Zones User Groups

Go to Plugins -> Cloud -> Configuration -> Ip-Mgmt and click on 'Update' of the 'default' network pool.

Image

For the 'default' network pool select the 'default' Cloud User group.

Image

Also assign 'qa' and 'dev' network pools to the specific 'qa' and 'dev' Cloud Zones User group.

Image

Create a VM in Cloud Zones

Go to Plugins -> Enterprise -> Cloud Zones -> Portal to login to openQRM Enterprise Cloud Zone as a Cloud Zone User

Image

openQRM Enterprise Cloud Zones automatically logs into the first available Cloud Zones the Cloud Zones User has permissions on. Here the 'qa' Cloud Zone. to switch to the 'default' Cloud Zone simply click on the small Cloud icon with the 'default' name.

Image

Here we are in the 'default' Cloud Zone now. Please notice the Google Maps always telling you 'were you are'.

Image

Please click on 'create' in the 'default' Cloud Zone

Image

Set up your Cloud Zones request by configuring the VM requirements. To create the new VM in the 'default' Cloud Zone click on 'submit'

Image

Short time later Cloud Zones sends out a mail to the user with the ip address, hostname and login credentials. Here we login to the new created Cloud VM through a regular terminal.

Image

An embedded SSH Terminal is also available directly in the Cloud Zones Portal System overview. Please select a system and click on 'login'

Image

Here a screenshot of the Web SSH-Login to the new created Cloud VM.

Image

The selected Webserver application also got automatically deployed and the webserver on the new created system is up + running

Image

Here a screenshot of Cloud Zone Users Account details.

Image

A list overview about the available Cloud Zones is available too.

Image

Here a screenshot of the transaction list for the Cloud Zone User with detailed information about the billing.

Image

Congratulations!!! You have successfully setup openQRM Enterprise Cloud Zones!

Here the Datacenter Dashboard after the Cloud Zones setup

Image

Add more functionalities to your openQRM Setup

To continue and further enhance your openQRM KVM Virtualization Setup there are several things to do:

  • Enable the highavailability plugin to automatically gain HA for your server
  • Enable the hybrid-cloud plugin to automate your Amazon EC2 and Eucalyptus deployments
  • Enable further Virtualization plugins and integrate remote Virtulization hosts for a fully distributed Cloud environment
  • Enable further Storage and Deployment plugins to automatically provision your Virtualization Hosts and other physical systems
  • ... and more.

Links