In this article we will go over a few things that you need to be prepared with to have Turbonomic running with an OpenStack environment.
You can download the 30 day trial to try out Turbonomic from the following link - Turbonomic Hybrid Cloud Management Platform 30 Day Trial Download
Supported Turbonomic Versions
Any Turbonomic Operations Manager control instance can be used with OpenStack, however it is recommended that Version 6.1 or above be used. It is available on the Turbonomic download site in QCOW format for installation within OpenStack/KVM environments. A Cloud Control module which is part of the Enterprise license is required to to use it with OpenStack targets.
Supported OpenStack Versions and Packaging
OpenStack versions are named. Recent versions include Mitaka and Newton. Customers can download any version directly from the OpenStack repository (Until its official release). However, most customers will instead obtain one of the above versions from a Software provider (e.g., Red Hat or HP) or a Services provider (e.g., Mirantis) that will package a particular version and certify it to run in specific environments.
Turbonomic Operations Manager has been tested with Redhat's OpenStack Mitaka and Newton versions. But, since all OpenStack code ultimately comes from the same open source repository, Turbonomic should work with any of the above OpenStack versions from any provider, especially Mitaka or newer.
OpenStack supports many hypervisors for the compute nodes in the OpenStack cloud (e.g, KVM, ESX), however, most customers have chosen to use only KVM hypervisors with their OpenStack deployments.
The KVM hypervisor is packaged as an extension of the Linux operating system. More specifically, KVM is a "kernel module" that extends the "Linux kernel" to support multiple virtual machines running on a single physical machine that is running the Linux operating system. Various software providers (e.g., Red Hat and Canonical) package the Linux kernel and KVM kernel module (e.g., as Red Hat Enterprise Linux and Ubuntu Linux, respectively). Versions of both the Linux kernel and the KVM kernel module are numbered, but any OpenStack version will already have the appropriate Linux kernel and KVM kernel module versions installed, so there is no need for Turbonomic to further specify them.
Turbonomic has been tested with Red Hat Enterprise Linux OpenStack Platform and with Red Hat RDO, both of which are Red Hat packaged versions of OpenStack, KVM and Linux, but since these software components are all open source and are all derived from the same repositories, Turbonomic should be able to support OpenStack with KVM from any provider.
Additionally, since all hypervisors used with OpenStack must adhere to the same published OpenStack APIs, Turbonomic should be able to support OpenStack with hypervisors other than KVM. But, since not every hypervisor provides all of the metrics needed by Turbonomic, Monitoring and Control coverage might currently be less incomplete for hypervisors other than KVM.
Required OpenStack Services
Turbonomic uses several OpenStack services:
- Identity ("Keystone") - discovery of OpenStack Tenants
- Compute ("Nova") - discovery of Hypervisors
- Block Storage ("Cinder") - discovery of Storage
- Telemetry ("Ceilometer" or "Gnocchi") - monitoring of resource usage
All of these services must be installed, enabled and Turbonomic must be able to access each service at its administrative endpoint (as provided by the OpenStack Identity ("Keystone") during Target validation). Turbonomic can collect metrics from either Ceilometer or Gnocchi depending on the metering service that is installed on the OpenStack target.
The administrative endpoints [adminurl] can be found by running the following command:
#> keystone endpoint-list
Note: Without Telemetry ("Ceilometer" or "Gnocchi") installed, Turbonomic is able to discover all OpenStack resources and present an Inventory, but cannot monitor resource usage or provide control recommendations. The customer will need to install it at some point for a complete Turbonomic solution.
OpenStack Target Validation
OpenStack targets added to Operations Manager are validated to meet these requirements:
1. The target URL is the public URL of the OpenStack Identity ("Keystone") service. Specify the port unless it is 5000. A secure "https" connection is assumed for all ports other than 5000; specify the protocol to override this default. Turbonomic Operations Manager must be able to access this URL.
2. The Userid must be authenticated by OpenStack and must be authorized with an "admin" role for the specified Tenant.
3. All required OpenStack services (listed above) are enabled.
4. Turbonomic Operations Manager must be able to access each OpenStack service endpoint at its administrative endpoint.
Resource Monitoring Requirements
Turbonomic relies on Ceilometer/Gnocchi to fetch telemetry data essential in driving actions and bringing your OpenStack environment to the desired state. The following Knowledge base articles will help with the configuration of the host and Virtual Machine metrics in Ceilometer/Gnocchi:
Enabling CPU metrics
Enabling Memory Metrics
Enabling SNMP Metrics
Automated Control Requirements
Turbonomic will identify actions for VM resize and live migration actions as needed based on the metrics available to it. Each of the actions can be automated or manually invoked via the Turbonomic User Interface. Nothing needs to be configured specially for this behavior other than the availability of the metrics specified above. Additionally. Turbonomic provides a Turbonomic specific Compute ("Nova") scheduler plugin that automates placement decisions for OpenStack VM deployments. It connects to the Turbonomic Operations Manager to obtain workload deployment recommendations. The following article describes replacing the default scheduler with the Turbonomic Scheduler - Configure OpenStack controller to use Turbonomic Scheduler