Getting started with managing VMware with Red Hat CloudForms

The VMworld 2016 US event is approaching and Red Hat will be there to showcase our Management portfolio. This includes Red Hat CloudForms which provides unified management for container, virtual, private, and public cloud infrastructures.

With this in mind, we thought it would be a good time to recap how easy it is to deploy Red Hat CloudForms in a VMware virtualized environment. Deploying CloudForms for VMware is very straightforward and consists of three steps to get to an implemented solution that gives full visibility of your VMware infrastructure.


Step One – Obtain the appliance image and import it in VMware

The latest CloudForms appliance is available for download from the Red Hat Customer Portal. CloudForms is provided as a virtual appliance for Microsoft Azure, Google Cloud Platform, Microsoft Hyper-V, Red Hat Virtualization, Red Hat OpenStack and VMware. In the case of VMware, CloudForms is distributed as an OVA (open virtual appliance) image template. You can find it labelled as ‘CFME VMware Virtual Appliance’ in the download section.

Once downloaded, the appliance file needs to be uploaded onto VMware. There are different ways to proceed but the most common is to use vSphere Client and its ‘Deploy OVF Template’ functionality. The associated wizard prompts for a source location which should point to the OVA template file we downloaded. The deployment configuration options can be left as pre-configured (e.g. memory settings, number of CPUs, etc) but we need to specify the host and cluster where the appliance will be deployed and launched. The resource pool and datastore need to be able to accommodate the appliance and associated virtual disk files. Both thin or thick storage provisioning can be used. Select your network and IP allocation as required. You are now ready to deploy the CloudForms appliance. Click Finish to proceed.

Documentation for this step is available: Installing CloudForms on VMware vSphere


Step Two – Configure CloudForms appliance

After few seconds, the appliance appears in the inventory. Before powering it on, we add an additional disk which will be used for the internal VMDB database. A typical size for the disk is 50GB but further guidelines are provided as part of the CloudForms Deployment Planning Guide. We can now power on the VM.

Before accessing the CloudForms UI, we need to ensure the configuration is suitable for our environment. We will use the appliance_console configuration tools which can be accessed from the Bash prompt. Login to the appliance, using SSH or remote console, as the root user and type appliance_console command. A summary of the configuration settings is displayed. Common configuration requires setting the network configuration (e.g. static), a fully qualified hostname, timezone, date & time, as well as configuring a database. Each setting can be configured by typing the associated number and pressing Enter.


CloudForms Appliance Console


The VMDB database can be internal or external. In our case we want to use the additional disk to configure an internal PostgreSQL database on the appliance. We simply follow the prompt, creating a new key, selecting ‘internal’ database, choosing our additional disk and setting a digit region ID (for example 99 to set this instance as master region database). CloudForms will automatically deploy and configure the database for us.

Once all of the settings are configured, we can start the server by selecting ‘Start Server Processes’. After a few seconds, we are able to navigate to CloudForms from our browser. We can exit the appliance_console tool.

Finally let’s change the default root password with the passwd command.

Documentation for this step is available: Installing CloudForms on VMware vSphere


Step Three – Configure vCenter as a provider in CloudForms

The last steps are performed from the CloudForms UI. Login as admin and navigate to ‘Settings > Configuration’.

From there, select our appliance server in the tree and make sure appropriate server roles are enabled in the Server Control section. A single appliance deployment is usually configured with the following roles:


CloudForms Server Roles


Next, we ensure Capacity & Utilization (C&U) data is captured by clicking on the CFME Region and selecting the ‘C & U Collection’ tab. Both collection for Clusters and Datastores must be selected.


CloudForms C&U Selection


We are all set for the basic CloudForms configuration. The last part is to configure a VMware provider. This will allow CloudForms to connect to VMware vCenter and its managed hypervisors.

Navigate to ‘Compute > Infrastructure > Providers’ and select ‘Configuration > Add a New Infrastructure Provider’.


CloudForms Add New Infrastructure Provider


From there, select the VMware vCenter provider type and fill in the administrative user credentials as required. You can validate the connection using the ‘Validate’ button. The configuration should look like the following:


CloudForms New Infrastructure Provider


Once saved, we can start discovery by selecting ‘Configuration > Refresh Relationships & Power States’ from the provider. This will authenticate to VMware vCenter API and query for all existing entities (e.g. ESX hosts, Clusters, Datastores, VMs, Templates, Snapshots, etc). After a few seconds, CloudForms gets a complete view of the virtual environment and starts monitoring events.


CloudForms vCenter Provider


Documentation for this step is available: Managing Providers


Optional Step – Configure SmartState Analysis

SmartState Analysis is a CloudForms capability that allows to inspect the contents of virtual machines, templates, hosts & containers without the need for an agent. The collected data (e.g. users/groups, packages/applications, files/registries) can be used with policies to validate compliance on hosts and guests. This step describes what is required to enable this functionality in CloudForms.

First, we install the VMware VDDK (Virtual Disk Development Kit) on the appliance. The VDDK is used to perform SmartState Analysis on virtual machines running on VMware. We download the installer from VMware Support website and follow their instructions for installation on the appliance via SSH or remote console. Do not forget to run the ‘ldconfig’ command once installed to make sure CloudForms is aware of the library.

SmartState Analysis on a virtual machine requires an analysis profile named ‘default’. We can navigate to  ‘Settings > Configuration’ in the CloudForms UI and simply create a ‘default’ profile by copying the existing ‘sample’ profile and renaming it. The Analysis Profiles can be found in the Settings tree under your CFME Region. The ‘default’ profile is used as a starting point, but it can be further enhanced to capture specific files or registries.

The last configuration requirement is to specify credentials on each ESX host to perform SmartState Analysis. Navigate to ‘Compute > Infrastructure > Hosts / Nodes’ and select the ESX hypervisor(s) your want to configure. Select ‘Configuration > Edit Selected Items’ to open the configuration screen. The ESX credentials are specified under the ‘Default’ tab in the ‘Endpoints’ section. Connections can be verified using the ‘Validate’ button.

The next steps are to perform SmartState Analysis on the ESX hosts, on the attached datastores, as well as on templates and virtual machines (running on not). This can be done manually by clicking ‘Perform SmartState Analysis’ on the ‘Configuration’ button, or automatically by scheduling a the task in ‘Settings > Configuration > Schedules’.


CloudForms Perform SmartState Analysis



That’s it! We have just deployed a CloudForms appliance, configured it and connected a VMware provider. With SmartState Analysis enabled, we get complete visibility of the infrastructure, including guests details (e.g. installed packages, user and group configuration, file or registry content, etc) as well as capacity and utilization consumption. All the collected data is used to provide insights and reporting on resource utilization, performance optimization, operation management, as well as compliance and governance.

Come and see us at VMworld to learn more about Red Hat CloudForms and see all the other advanced virtualization capabilities the platform can offer your VMware virtualization environment.

Using an Ansible Job Template in a CloudForms Service Bundle

This is part 5, the last post of our series on Ansible Tower Integration in Red Hat CloudForms.

As you saw from previous articles, Job Templates can be launched from CloudForms via Ansible Tower to run playbooks on targeted hosts. In particular we have looked at launching them from a button on a VM and from the CloudForms Service Catalog. In this last article, we examine how to expose Job Templates as Service Items to utilize them as part of a Service Bundle.

In this example, we reuse our ‘Deploy PostgreSQL’ Job Template to automate the installation and configuration of a PostgreSQL database on a newly provisioned VM. Our service bundle will deploy a new RHEL7 instance on Amazon EC2 and launch our Ansible Job Template to configure the database on this host.

Publishing an Ansible Job Template as a Service in CloudForms

This is part 4 of our series on Ansible Tower Integration in Red Hat CloudForms.

In the previous article, we have seen how Ansible Job Templates can be launched from a VM button in CloudForms. In this article, we explore how Ansible Job Templates can be published as Catalog Items and made available for end user consumption from a CloudForms Service Catalog.

In this example, we use ec2_elb_lb, an Ansible core module, to demonstrate how we can easily extend the capabilities of CloudForms by re-using automation already provided by Ansible. In particular, we provide the ability to create an Amazon Elastic Load Balancer (ELB) from CloudForms Service Catalog without having to write any Ruby code.

Launching our First Ansible Job Template on a VM in CloudForms

This is part 3 of our series on Ansible Tower Integration in Red Hat CloudForms.

In this article, we will explore how to use the Ansible Tower integration in CloudForms by configuring the launch of an Ansible Template Job on a click of a button from a VM.

In this example, we use an Ansible Job Template created based on a role found on the Ansible Galaxy role library. In particular, we installed on our Ansible Tower the sfromm.postgresql role dedicated to managing PostgreSQL. Our associated Ansible Playbook is available on GitHub.

Configuration of an Ansible Tower provider in CloudForms

This is part 2 of our series on Ansible Tower Integration in Red Hat CloudForms.

As mentioned in our previous post, CloudForms 4.1 brings native integration capabilities with Ansible Tower. This post explores the Ansible Tower requirements as well as the configuration of the provider in CloudForms.

Like all providers within CloudForms, the Ansible Tower provider is agent-less and only requires connectivity and credentials to the Ansible Tower API.

Introducing Ansible Tower Integration in CloudForms 4.1

Ansible Tower is a management tool designed to help automate infrastructure operations. Ansible Tower features management of host inventory, Ansible playbooks, access keys and passwords, as well as detailed reporting and audit of infrastructure deployments. Ansible Tower is designed for team-based infrastructure management, and as such, facilitates user’s involvement at different levels of the infrastructure operations. It enhances basic Ansible CLI operations with a visual overview of the infrastructure states and provides management workflows across the enterprise. Using Ansible Tower, users can schedule Ansible playbook runs and monitor current and historical results, allowing for troubleshooting or identification of issues before they occur.

CloudForms 4.1 is here!

Today we are proud to announce that the latest version of CloudForms is available. This release takes several steps further down the road towards managing hybrid IT. We’ve added new cloud platform providers, software defined networking (SDN) management and made it all easier to automate IT processes by integrating Ansible Tower playbook execution. In short, you will find this release greatly expands the breadth of CloudForms while making it easier than ever to set up and automate your IT operations.

Red Hat Insights in CloudForms

If you are using CloudForms, you might notice that there is a tab called Red Hat Insights.

What is Red Hat Insights? It’s a Software as a Service (SaaS) offering that helps you proactively identify and resolve technical risks in your IT infrastructure before they negatively impact your whole environment. Insights enables you to identify potential outages and fix things faster using verified solutions that are analyzed against Red Hat’s knowledge base. It has been included as a Technology Preview in CloudForms since version 4.0.

Display Estimated VM Cost during Service Provisioning

To recuperate costs from running a cloud infrastructure, IT organizations often need to charge users for virtual machines they have provisioned. CloudForms contains chargeback functionality that helps facilitate charging users for the resources their virtual machines use. The administrator is able to set rates based on compute, network, and storage resources. Reports can then be run to calculate the chargeback for each virtual machine.

One of the requests customers often have prior to the virtual machine being ordered, is to be able to show the user what the cost of the virtual machine will be.