Automated OpenStack orchestration with 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.
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.
2. Configure an OpenStack account
Now go to:
Plugins -> Deployment -> Hybrid Cloud -> Actions
and click on the "Add a new account" button.
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.
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.
In the AMI list please click on the "C" character on the upper filter.
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.
Create and manage the OpenStack keypairs with the "keypair" action in the hybrid-cloud account.
Here's the list of the OpenStack security groups available through the "groups" action in the hybrid-cloud account.
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"
Provide name for the new server, and optionally, a description.
In the second step of the wizard click on "New resource".
Now please select "Cloud (localboot) Virtual Machine" as the instance type.
The last action now forwards the the hybrid-cloud account overview. Please click on the "Instances" button.
In the instance overview please click on "add instance".
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.
Creating the new OpenStack instance automatically returns back into the wizard with the new created resource selected. Please click on submit.
In the following step please select the "cirros" AMI image and enable the "edit image" checkbox.
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.
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.
Here the just created new server listed in the server overview. Please click on its "start" button.
... and confirm the "start" action.
Now go to
Plugins -> Deployment -> Hybrid Cloud -> Actions
and click on the "Dashboard" button of the OpenStack hybrid-cloud account.
Here's the new created instance in the OpenStack dashboard.
Congratulations!
You have completed this openQRM/OpenStack How-To. You can now fully automate your OpenStack deployments with openQRM.