Release Notes

Red Hat CloudForms 4.1

Summary of new features, corrections, and known bugs for Red Hat CloudForms Management Engine 5.6

Red Hat CloudForms Documentation Team

Abstract

A summary of enhancements, known bugs, and support information for Red Hat CloudForms 4.1.
If you have a suggestion for improving this guide or have found an error, please submit a Bugzilla report at http://bugzilla.redhat.com against Red Hat CloudForms Management Engine for the Documentation component. Please provide specific details, such as the section number, guide name, and CloudForms version so we can easily locate the content.

1. Introduction

Red Hat CloudForms Management Engine (CFME) delivers the insight, control, and automation enterprises need to address the challenges of managing virtual environments, which are far more complex than physical ones. This technology enables enterprises with existing virtual infrastructures to improve visibility and control, and those just starting virtualization deployments to build and operate a well-managed virtual infrastructure.

Red Hat CloudForms 4.1 is comprised of a single component, the CloudForms Management Engine. It has the following feature sets:

  • Insight: Discovery, Monitoring, Utilization, Performance, Reporting, Analytics, Chargeback, and Trending.
  • Control: Security, Compliance, Alerting, Policy-Based Resource and Configuration Management.
  • Automate: IT Process, Task and Event, Provisioning, Workload Management and Orchestration.
  • Integrate: Systems Management, Tools and Processes, Event Consoles, CMDB, RBA, and Web Services.

1.1. Getting Support

If you experience difficulty with a procedure described in this documentation, visit the Red Hat Customer Portal at http://access.redhat.com. Through the customer portal, you can:

  • Search or browse through a knowledgebase of technical support articles about Red Hat products
  • Submit a support case to Red Hat Global Support Services (GSS)
  • Access other product documentation

Red Hat also hosts a large number of electronic mailing lists for discussion of Red Hat software and technology. You can find a list of publicly available mailing lists at https://www.redhat.com/mailman/listinfo. Click on the name of any mailing list to subscribe to that list or to access the list archives.

1.2. Red Hat CloudForms Life Cycle

For an overview of the life cycle phases for Red Hat CloudForms and the status of support for this product, see Red Hat Cloudforms Life Cycle.

2. Enhancements

The following enhancements are available with Red Hat CloudForms 4.1 (CFME 5.6).

Ansible Tower Providers

Red Hat CloudForms now supports integration with Ansible Tower, which provides the ability to automate the provisioning and configuration of infrastructure resources and applications. Ansible Tower must be be added as configuration management provider in Red Hat CloudForms to provide the inventory that is required by the following two use cases:

  • Ansible as a service type - This provides the author of a service the ability to define a service item as an Ansible job within Tower.
  • Ansible as a method type - This provides the author of a state machine the ability to specify, state by state, either traditional Ruby methods, or to use a Tower job instead. This feature reduces the amount of scripting experience required to deliver a custom use case, because Ansible jobs in Tower can be playbooks from the Galaxy community (a repository of playbooks for almost any automation task).
Google Compute Engine Providers

Red Hat CloudForms now supports adding Google Compute Engine (GCE) as a cloud provider, with the following capabilities:

  • Basic inventory
  • Power operations (stop, start, terminate)
  • Limited provisioning

Support for Google Compute Engine as a cloud provider is in Technology Preview. See Technology Preview Features Support Scope for more information.

Software-Defined Networking Providers

Red Hat CloudForms now supports networking providers. The new provider type exposes software-defined networking (SDN) providers, including OpenStack, Microsoft Azure, and Amazon EC2. The following capabilities are available for these providers:

  • Inventory
  • Events
  • Metrics
  • Operations
  • Provisioning
  • SmartState analysis

This release focuses on defining a model that can be consumed by other SDN providers due in future releases, as well as a level of inventory with cross linking.

Azure Provider Enhancements

With this release, Red Hat CloudForms enhances the capabilities for the Microsoft Azure Cloud. This release delivers the following capabilities to complete the Azure provider feature set:

  • Provisioning from private images
  • Provisioning from snapshot images
  • Retirement (depends on API)
  • SmartState analysis
  • Events
Self Service User Interface

The Self Service user interface (SSUI) contains features from the existing service catalog, and includes the following enhancements with this release:

  • Adds a shopping cart model for ordering services
  • Role-based Access Control (RBAC) of menus and features
  • Ability to switch the primary LDAP group using Role-based Access Control (RBAC)
  • Ability to reconfigure a service, similar to in the CloudForms full administrative user interface
  • Ability to set ownership of a service
  • Adopts internationalization standards (i18n) to allow for translations and localization
  • Adds support for custom buttons and custom button groups that can have dialogs associated with them
  • Restyled navigation bar to match the CloudForms full administrative user interface
  • Adds HTML5 console support for service virtual machines (using new console-proxy implementation)
OpenStack Provider Enhancements

Red Hat CloudForms expands on the existing feature set and adds several new features for Red Hat OpenStack. This release delivers the following enhancements for use with OpenStack providers:

  • Expanded SSL and domain support: Ability to specify a non-default domain, Keystone API version and SSL security protocol.
  • The option to use either Ceilometer or AMQP services to store events.
  • Multiple volumes can be added during provisioning using the new Volumes tab.
  • SSH key management: A new Key Pairs tab lists key pairs from all Cloud providers. Ability to add a new Key Pair is currently only supported for OpenStack.
  • Right size recommendations for instances to analyze resources against usage statistics.
  • Capacity planning projections based on the existing environment’s metrics.
  • Instance reconfiguration: An instance can be reconfigured with a different flavor profile.
  • Instance evacuate: An instance can be moved if the source host goes down.
  • Instance live migration: An instance can be live migrated between nodes (only with undercloud).
  • Compute node scale down: A node without any instances can be scaled down to free the resource.
  • Memory statistics added to the existing metrics to be used for chargeback.
  • An updated events switchboard showing several new events.
  • A new Object Stores tab to list inventory and view relationships.
  • Extended relationships for providers, instances, and tenants with more viewable information.
VMware Provider Enhancements

Support for additional VMware features has been added to CloudForms. This release provides the following enhancements:

  • vSphere Virtual Distributed Switch (VDS) inventory: CloudForms now stores inventory details of VDS and DVPortgroups. This allows CloudForms to report or assign network resources during and after provisioning, and to provision virtual machines to externally-created DVPortgroups from the CloudForms database without the need to communicate directly with vCenter.
  • Storage clusters: CloudForms can deploy a virtual machine on a datastore within a storage cluster. When provisioning a virtual machine on VMware vSphere 5 and above, CloudForms now displays details about which cluster a datastore resides on.
  • Virtual machine disks can be added and removed on VMware virtual machines.
  • VMware events can be viewed in the Event Switchboard.
CloudForms Container Image
Red Hat CloudForms 4.1 is available as a container image from https://registry.access.redhat.com. This image is provided as a Technology Preview; see Technology Preview Features Support Scope for more information.

3. Known Issues

These known issues exist in Red Hat CloudForms at this time:

BZ#1225541

At current, attempting to perform a Smart State analysis of a VMware vSphere 6 virtual machine with Virtual Disk Development Kit 6.0 returns an Unable to determine port error, causing the analysis to fail. This occurs because this version of the VDDK is not installed in the directory where CFME expects it. By installing VDDK 6.0 in the appropriate directory, this is resolved.

1. Download VDDK 6.0 from the VMware website.
2. Copy the downloaded GZIP file to the /tmp directory on the appliance.
3. Decompress the GZIP archive file.
4. Prepare the /usr/lib/vmware-vix-disklib directory:
   a. If the directory already exists, back up and remove the contents of this directory.
   b. If the directory does not exist, create it: # mkdir /usr/lib/vmware-vix-disklib.
5. Under the decompressed archive file in the /tmp directory, there are several sub-directories. Copy the following directories and their contents into the /usr/lib/vmware-vix-disklib directory:
  * bin64
  * include
  * lib64

This issue will be resolved in a future release of Red Hat CloudForms.

BZ#1298986

In the current version of CloudForms Management Engine, it is not possible to run a virtual machine after it has been retired. But, the OpenStack provider still allows a retired virtual machine to be powered on from the OpenStack console. This will result in CloudForms Management Engine reporting the virtual machine to be powered on while retired. In this case, retiring the virtual machine has to be enforced by the CloudForms Management Engine administrator.
For example:
* Change the State Machine workflow and define the end state of the retired virtual machine to be deleted or removed from provider inventory instead of being stopped or suspended.
* Write a Control Policy that watches the provider for virtual machine Start Events and shut down the virtual machine if it has been retired.

BZ#1166750

Currently, the category_create method does not work as expected. When a request is made to create a category by running "$evm.execute('category_create', :name=> "organization", :single_value => false, :description => "Organization")", the user interface  shows the value provided for :description in the Display Name field and the value provided for :example_text is displayed in the Description field. This issue is caused due to a discrepancy between the graphical user interface and the backend.
The workaround for this issue is to use the following mapping:

$evm.execute('category_create',
             :name         => "tag_name",
             :description  => "Display Name",
             :example_text => "Description",
             :single_value => false)

This issue will be resolved in a future release of Red Hat CloudForms.

BZ#1348937

Resizing an instance from the CloudForms Management Engine 'Instances' list results in no interactive response from the user interface. This issue still appears when clicking the 'Submit' button.

As a workaround, use the command-line interface to successfully complete this task.

BZ#1348117

Adding a new Red Hat OpenStack Platform volume in the Red Hat CloudForms user interface returns an 'Error' page. The user is not taken to the 'Volumes' menu as expected.

BZ#1347409

If a user orders a service through the REST API, they will see that their request stays in the 'Pending' state.

Workaround: Copy the following instance to a writeable domain and remove the guard condition:

Automate Instance: / ManageIQ / System / Policy / ServiceTemplateProvisionRequest_created
guard: ${/#miq_request.process}

4. Deprecated Technologies

The following technologies have been deprecated, and are not available in this release of Red Hat CloudForms.

Internet Explorer 9 Support
With this release, Windows Internet Explorer 9 is no longer supported.
Rubyrep Replication
The use of rubyrep replication has been deprecated in Red Hat CloudForms 4.1. Therefore, the database_synchronization role and replication worker are no longer used when using pglogical replication.

5. Changing the User Interface Locale

You can use this procedure to change the user interface locale to specify either English, Japanese, or Simplified Chinese.

  1. Navigate to SettingsMy Settings from the navigation bar.
  2. From the Locale list in the Display Settings area, select the user interface locale to specify either English, 日本語, or 简体中文.

    Cloudforms SCH

  3. You can also change the time zone from the Time Zone list as required. The default is (GMT+00:00) UTC.
  4. Click Save.

6. Migrating to Red Hat CloudForms 4.1

You can migrate to this release of Red Hat CloudForms 4.1 from the following versions:

  • Red Hat CloudForms 3.2 (CFME 5.4)
  • Red Hat CloudForms 4.0 (CFME 5.5)

See the Red Hat Knowledgebase article at https://access.redhat.com/articles/2327481 for instructions on migrating from Red Hat CloudForms 3.2 (CFME 5.4) to Red Hat CloudForms 4.1 (CFME 5.6).

See the Red Hat Knowledgebase article at https://access.redhat.com/articles/2297391 for instructions on migrating from Red Hat CloudForms 4.0 (CFME 5.5) to Red Hat CloudForms 4.1 (CFME 5.6).

7. Changes in the Core Set of Ruby Gems

Users of Red Hat CloudForms can construct custom automation methods in Ruby to extend the product. Red Hat CloudForms ships with a core set of Ruby gems used by the CloudForms Management Engine (CFME) Rails Application. The Ruby gems in this set are subject to change, and have changed since CloudForms 3.2 (CloudForms Management Engine 5.4). If you are calling gems using Automate that are no longer in the CloudForms Management Engine Appliance, you can install them by using the gem install command.

While gems can be imported into automation methods using require, it is recommended that the authors of the automation methods clearly document the use of gems either in the core set or a custom set. It is the responsibility of the author of such custom automation to own the life cycle of any gem being referenced in those methods.

You can find a list of all gems included in the appliance in /var/www/miq/vmdb/log/gem_list.txt

To get lists of all gems for different CloudForms Management Engine releases, see the following resource:

7.1. Red Hat CloudForms 4.1.0

This section outlines the changes to the core set of Ruby gems included in this release in comparison to the Ruby gems included in Red Hat CloudForms 4.0.4. This is the latest version of Red Hat CloudForms 4.0 as of the release of Red Hat CloudForms 4.1.0.

7.1.1. New Ruby Gems in Red Hat CloudForms 4.1.0

The following Ruby gems have been added:

Table 1. New Ruby Gems in Red Hat CloudForms 4.1.0

Ruby GemVersion in Red Hat CloudForms 4.1.0

actioncable

5.0.0.rc2

activemodel-serializers-xml

1.0.1

addressable

2.4.0

ansible_tower_client

0.3.0

autoparse

0.3.3

aws-sdk-core

2.2.37

aws-sdk-resources

2.2.37

babel-source

5.8.35

babel-transpiler

0.7.0

config

1.1.0

deep_merge

1.0.1

draper

2.1.0

event_emitter

0.2.5

extlib

0.9.16

faraday

0.9.2

faraday_middleware

0.10.0

fog-openstack

0.1.6

gettext

3.2.2

gettext_i18n_rails_js

1.0.4

google-api-client

0.8.6

googleauth

0.4.0

hashie

3.4.4

http

0.9.8

http-form_data

1.0.1

jmespath

1.2.4

json_pure

1.8.3

jwt

1.5.1

launchy

2.4.3

locale

2.1.2

manageiq-providers-amazon

0.1.0

method_source

0.8.2

multi_xml

0.5.5

multipart-post

2.0.0

nakayoshi_fork

0.0.3

oauth2

1.1.0

omniauth

1.3.1

omniauth-google-oauth2

0.2.10

omniauth-oauth2

1.3.1

po_to_json

1.0.1

rails-controller-testing

0.1.1

request_store

1.3.1

retriable

1.4.1

signet

0.7.3

sprockets-es6

0.9.0

sshkey

1.8.0

sys-proctable

1.0.0

text

1.3.1

useragent

0.16.7

websocket

1.2.3

websocket-client-simple

0.3.0

websocket-extensions

0.1.2

winrm-elevated

0.3.0

winrm-fs

0.3.2

zip-zip

0.3

7.1.2. Updated Ruby Gems in Red Hat CloudForms 4.1.0

The following Ruby gems have been updated:

Table 2. Updated Ruby Gems in Red Hat CloudForms 4.1.0

Ruby GemVersion in Red Hat CloudForms 4.1.0

actionmailer

5.0.0.rc2

actionpack

5.0.0.rc2

actionview

5.0.0.rc2

activejob

5.0.0.rc2

activemodel

5.0.0.rc2

activerecord

5.0.0.rc2

activesupport

5.0.0.rc2

acts_as_list

0.7.4

arel

7.0.0

autoprefixer-rails

6.3.6.2

awesome_spawn

1.4.1

aws-sdk

2.2.37

azure-armrest

0.2.7

azure-signature

0.2.2

bundler

1.12.5

default_value_for

3.0.2.alpha.pre.miq.1

domain_name

0.5.20160615

execjs

2.7.0

fast_gettext

1.1.0

fog-core

1.40.0

fog-google

0.3.2

font-awesome-sass

4.5.0

gettext_i18n_rails

1.4.0

hawkular-client

0.2.2

httpclient

2.7.2

image-inspector-client

1.0.2

jquery-rails

4.1.1

kubeclient

1.1.3

linux_admin

0.16.0

logging

1.8.2

memoist

0.14.0

more_core_extensions

2.0.0

multi_json

1.11.0

net-ssh

3.0.2

openshift_client

1.1.0

ovirt

0.10.0

ovirt_metrics

1.2.0

parallel

1.9.0

patternfly-sass

3.4.0.pre.tertiary

rack

2.0.0.rc1

rails

5.0.0.rc2

rails-dom-testing

2.0.1

rails-i18n

5.0.0.beta4

railties

5.0.0.rc2

recursive-open-struct

1.0.0

rubyzip

1.2.0

secure_headers

3.0.3

sprockets

3.6.2

sprockets-rails

3.0.4

temple

0.7.7

tilt

2.0.5

winrm

1.7.3

7.1.3. Removed Ruby Gems in Red Hat CloudForms 4.1.0

The following Ruby gems have been removed:

Table 3. Removed Ruby Gems in Red Hat CloudForms 4.1.0

Ruby Gem

CFPropertyList

activerecord-deprecated_finders

aws-sdk-v1

css_splitter

daemons

fission

fog

fog-atmos

fog-aws

fog-brightbox

fog-dynect

fog-ecloud

fog-local

fog-powerdns

fog-profitbricks

fog-radosgw

fog-riakcs

fog-sakuracloud

fog-serverlove

fog-softlayer

fog-storm_on_demand

fog-terremark

fog-vmfusion

fog-voxel

fog-xenserver

hamlit

inflecto

rails-assets-angular

rails-assets-angular-animate

rails-assets-angular-mocks

rails-assets-angular-patternfly

rails-assets-angular-sanitize

rails-assets-bootstrap

rails-assets-bootstrap-datepicker

rails-assets-bootstrap-hover-dropdown

rails-assets-bootstrap-select

rails-assets-c3

rails-assets-d3

rails-assets-jquery

rails-assets-jqueryui

rails-assets-kubernetes-topology-graph

rails-assets-markusslima—​bootstrap-filestyle

rails-assets-moment

rails-assets-moment-strftime

rails-assets-moment-timezone

rails-assets-numeral

rails-assets-slickgrid

rails-assets-sprintf

rails-deprecated_sanitizer

spice-html5-rails

user_agent_parser

7.2. Red Hat CloudForms 4.1.1

This section outlines the changes to the core set of Ruby gems included in this release.

7.2.1. New Ruby Gems in Red Hat CloudForms 4.1.1

The following Ruby gems have been added:

Table 4. New Ruby Gems in Red Hat CloudForms 4.1.1

Ruby GemVersion in Red Hat CloudForms 4.1.1

os

0.9.6

7.2.2. Updated Ruby Gems in Red Hat CloudForms 4.1.1

The following Ruby gems have been updated:

Table 5. Updated Ruby Gems in Red Hat CloudForms 4.1.1

Ruby GemVersion in Red Hat CloudForms 4.1.1

actioncable

5.0.0

actionmailer

5.0.0

actionpack

5.0.0

actionview

5.0.0

activejob

5.0.0

activemodel

5.0.0

activerecord

5.0.0

activerecord-session_store

1.0.0

activesupport

5.0.0

acts_as_list

0.7.6

ansible_tower_client

0.3.2

arel

7.1.1

autoprefixer-rails

6.4.0.1

azure-armrest

0.2.8

azure-signature

0.2.3

bootstrap-sass

3.3.7

excon

0.51.0

fog-core

1.42.0

fog-openstack

0.1.11

globalid

0.3.7

googleauth

0.5.1

image-inspector-client

1.0.3

jbuilder

2.5.0

jmespath

1.3.1

jwt

1.5.4

kubeclient

1.2.0

linux_admin

0.17.0

logging

2.1.0

more_core_extensions

3.0.0

multi_json

1.12.1

net-ssh

3.2.0

oauth2

1.2.0

openshift_client

1.2.0

ovirt

0.11.0

paperclip

4.3.7

rack

2.0.1

rails

5.0.0

rails-i18n

5.0.0

railties

5.0.0

sass-rails

5.0.6

sprockets

3.7.0

sprockets-es6

0.9.1

sprockets-rails

3.1.1

sys-proctable

1.1.1

7.2.3. Removed Ruby Gems in Red Hat CloudForms 4.1.1

The following Ruby gems have been removed:

Table 6. Removed Ruby Gems in Red Hat CloudForms 4.1.1

Ruby Gem

codemirror-rails

json_pure

7.3. Red Hat CloudForms 4.1.2

This section outlines the changes to the core set of Ruby gems included in this release.

7.3.1. New Ruby Gems in Red Hat CloudForms 4.1.2

The following Ruby gems have been added:

Table 7. New Ruby Gems in Red Hat CloudForms 4.1.2

Ruby GemVersion in Red Hat CloudForms 4.1.2

daemons

1.2.4

mini_portile2

2.1.0

pkg-config

1.1.7

7.3.2. Updated Ruby Gems in Red Hat CloudForms 4.1.2

The following Ruby gems have been updated:

Table 8. Updated Ruby Gems in Red Hat CloudForms 4.1.2

Ruby GemVersion in Red Hat CloudForms 4.1.2

actioncable

5.0.0.1

actionmailer

5.0.0.1

actionpack

5.0.0.1

actionview

5.0.0.1

activejob

5.0.0.1

activemodel

5.0.0.1

activerecord

5.0.0.1

activesupport

5.0.0.1

acts_as_list

0.7.7

ansible_tower_client

0.3.3

arel

7.1.2

autoprefixer-rails

6.4.1.1

azure-armrest

0.2.10

bundler

1.13.1

domain_name

0.5.20160826

draper

3.0.0.pre1

excon

0.52.0

hashie

3.4.6

jwt

1.5.6

net-ldap

0.14.0

ovirt

0.12.1

ovirt_metrics

1.3.0

rails

5.0.0.1

rails-controller-testing

1.0.1

rails-i18n

5.0.1

railties

5.0.0.1

responders

2.3.0

rest-client

2.0.0

ruby-dbus

0.13.0

rubyntlm

0.6.1

sprockets-rails

3.2.0

sys-proctable

1.1.2

useragent

0.16.8

7.3.3. Removed Ruby Gems in Red Hat CloudForms 4.1.2

The following Ruby gems have been removed:

Table 9. Removed Ruby Gems in Red Hat CloudForms 4.1.2

Ruby Gem

mini_portile

7.4. Red Hat CloudForms 4.1.3

This section outlines the changes to the core set of Ruby gems included in this release.

7.4.1. New Ruby Gems in Red Hat CloudForms 4.1.3

The following Ruby gems have been added:

Table 10. New Ruby Gems in Red Hat CloudForms 4.1.3

Ruby GemVersion in Red Hat CloudForms 4.1.3

public_suffix

2.0.4

7.4.2. Updated Ruby Gems in Red Hat CloudForms 4.1.3

The following Ruby gems have been updated:

Table 11. Updated Ruby Gems in Red Hat CloudForms 4.1.3

Ruby GemVersion in Red Hat CloudForms 4.1.3

addressable

2.5.0

autoprefixer-rails

6.5.3

bundler

1.13.6

config

1.3.0

deep_merge

1.1.1

domain_name

0.5.20161021

faraday_middleware

0.10.1

linux_admin

0.19.0

openscap

0.4.7

ovirt_metrics

1.3.1

parallel

1.10.0

rdoc

5.0.0

sys-uname

1.0.3

thor

0.19.4

7.4.3. Removed Ruby Gems in Red Hat CloudForms 4.1.3

No Ruby gems were removed from the appliance in Red Hat CloudForms 4.1.3.

8. Technical Notes

This chapter contains the summary text for bug fixes and enhancements in Red Hat CloudForms errata advisories. The information and procedures in this chapter are relevant to Red Hat CloudForms administrators.

8.1. RHBA-2016-1348: CFME 5.6.0 Bug Fixes and Enhancement Update

The bugs contained in this section are addressed by advisory RHBA-2016:1348. Further information about this advisory is available at https://access.redhat.com/errata/RHBA-2016:1348.html.

8.1.1. API

BZ#1318197

There was a feature request in which CloudForms API should be able to create users; previously only an edit action was possible. A create action in user API of CloudForms has now been added with this release.

BZ#1326955

When queueing virtual machine power or SmartState operations through the REST API, the zone was not specified for the queue. As a result, in environments with providers in different zones, those providers were not receiving the task to perform on the virtual machines. This caused virtual machine start and stop operations to remain in a queued state. This has been fixed in this update and the issue no longer occurs.

8.1.2. Appliance

BZ#1277335

There was a feature request to provide a functionality to reset CFME appliance.

This was because if something went wrong with the CFME appliance configuration, like choosing an incorrect database region, having a "master reset" function to reset a broken appliance to a "freshly installed" state would be beneficial rather than re-installing or creating a new appliance.

With this release, a new option to reset configured database has been created in appliance_console.

BZ#1281563

There was a feature request to add new CloudForms Management Engine 5.5 appliance filesystems to the list of filesystems that we monitor and raise events against. This is because there is need to monitor and raise events when new filesystems for CFME 5.5 are low on free space. This feature has now been implemented in this release and the new filesystems are now monitored accordingly.

BZ#1289156

In the previous version of CloudForms Management Engine, replication failed with duplicate key present in the `host_storages` table on master.

This was happening because a migration was adding a primary key to the host_storages table and in the process altering existing rows to have a key within the range defined by the current database region. This caused existing rows in the host_storages table to be assigned primary keys in the master database region which resulted in rows with ids from multiple regions (master and remote regions). Replication determines whether a row exists on the master side by comparing primary keys. Thereby, the primary key did not match for a row where it should. This caused replication to attempt to reinsert the row which failed because of a unique index on two other columns in host_storages.

This patch adds migration to fix host_storages replication issue. This removes the entries in the host_storages table on the target region and resets the replication triggers on the source regions which has now resolved the issue.

BZ#1291301

Previously, wording was unclear for prompt. As a result, customers were assuming that v2_key was the default answer not seeing that they need to provide a host name.

This fix removes word (v2_key) at the end of questions in appliance console menu and the wording is now more clear.

BZ#1293307

In the previous version of CloudForms Management Engine, provider refreshers were not correctly retrieving VMDB configuration options. As a result, EC2 Public AMIs were not listed even after enabling the attribute 'get_public_images' to true in EVM server configuration.

This patch fixed provider refreshers to correctly retieve VMDB configuration options.

BZ#1296980

There was a feature request to enforce tag visibility on Cloud Stacks. Previously, the available stacks were displayed regardless of the tagging.

With this release, Cloud Stacks are displayed only if tagged.

BZ#1301607

Previously, Satellite 6 subscription organization handling was preventing correctly saving the organization name,which prevented anyone from subscribing to updates from Satellite 6. As a result, an exception was silently raised at registration against Satellite 6.1

With this patch, a new form key which stores the organization display name was created which has now resolved the issue.

BZ#1322611

There was a feature request to install hyper-v daemons on CFME VHD images for hyper-v compatibility. This was because, previously, hyper-v daemons were not enabled on CFME RHEL images out of the box. This meant most SCVMM and hyper-v commands, especially related to networking, did not work. Also, the IP address was not able to be retrieved for the VM Summary page.

Hyper-V daemons have now been added accordingly. The IP address is now being displayed along with other hyper-v related functionality.

8.1.3. Automate

BZ#1222724

There was a feature request to add auto approval and auto mail function to virtual machine's reconfigure operation, similar to auto approval for provisioning. Previously, when selecting reconfigure, the request would need to be approved and would wait for someone to approve it.  Also, there was no email to confirm that the virtual machine was reconfigured.

With this fix, the VM will be auto approved and an email will be sent that your VM was reconfigured (if email is configured in your server).

BZ#1283037

There was a feature request to display ManageIQ/Red Hat Automate domain versions in the user interface. This is because after a CloudForms RPM update, the ManageIQ and Red Hat domains did not automatically update until a reset was performed on the automate model. An admin would not be aware of the version of the domain via the user interface. Therefore, if a customer updates multiple versions, the new feature would make them aware their automate domain is behind the latest.
The requested feature has been implemented in this release and the version displays on the page with the Automate domain.

BZ#1311221

In the previous version of CloudForms Management Engine, there was a regex parsing issue that broke the Vmware_HotAdd_Disk . Vmware_HotAdd_Disk. The action registered the following error in the vim.log: “addDisk: no SCSI controller found".

This fix checks for a specific xsiType when adding a disk to a VMware instance. Previously, when hot adding a disk we were using a regex to find the appropriate SCSI controller.  This change validates the xsiType as being the correct type and removes the regex. This will remove the problems the regex created with different localizations.

BZ#1318825

In the previous version of CloudForms Management Engine, service provisions were being executed in the wrong zone, which triggered an  error - "Terminating non responsive method with pid 19690".

This patch adds an option to turn off calling RBAC in MiqRequestWorkflow and the issue is now resolved.

BZ#1319910

In the previous version of CloudForms Management Engine, /System/CommonMethods/QuotaMethods quota_source method had code to enable user or group as the quota source instead of the tenant default quota source. It shouldn't be necessary to modify a method to change the quota source.

This release added quota_source_type attribute to QuotaStateMachines class.

BZ#1322876

In CloudForms Management Engine 5.5.2, provisioning with the out of the box admin account succeeded, but provisioning with an LDAP user would fail. This happened because the logic in create_provision_request passed only part of the user_name, rather than searching by the full name stored in the database. The code now uses the lookup_by_identity method instead of find_by_userid! to validate a user parameter in order to correctly match the user_name in the database.

BZ#1325007

Previously, if the Automate role was not enabled in the UI zone in a multi-zone environment, thousands of messages were being queued but not processed. This happened because the code set the zone to default, which directed the messages into the UI zone and prevented them from being picked up by workers in a zone where the Automate role was enabled. This patch clears the zone setting if the Automate role is not enabled in that zone, and messages are processed as expected.

8.1.4. C&U Capacity and Utilization

BZ#1332579

Previously, some reports run on virtual machines did not generate any data, and reported an error with the metrics_collector_queue_name method. This problem occurred when a virtual machine was disconnected from the EMS but remained connected to a cluster, and metrics collection continued to be scheduled for that virtual machine. The capture_cloud_targets metric has been rewritten to fix this issue, so that metrics collection only occurs on virtual machines which are both powered on and attached to an EMS.

8.1.5. Performance

BZ#1182777

In previous versions of CloudForms, the user interface could not successfully sort thousands of datastores by amount of free space. This task failed because the database could not filter that volume of information, and consequently returned all of the objects to Ruby to process. Additionally, the MIQ_Report code passed/copied the set of objects multiple times during processing, which increased memory and CPU utilization. The code now uses SQL virtual column sorting for this task and succeeds.

BZ#1226429

Previously, the queued work to purge old real-time metrics consumed more time than the default timeout for the work.  When this occurred, the purge was rolled back and no old data was purged. This consumed a large amount of CPU from the database appliance while this occurred. This work was wasted as the work was rolled back when the message timed out. Once the appliance experienced this, it was unable to recover out of this spiral without manual intervention.

This patch fixes metric purging as it uses scope to simplify conditions; the issue is now resolved.

BZ#1259476

This release adds the ability to refresh specific Red Hat Enterprise Virtualization virtual machines to improve CloudForms performance.

BZ#1281999

Previously, there were performance issues in the CloudForms user interface when going to Infrastructure > Virtual Machines. The tab seeing times was upwards of 40+ seconds consistently.

This patch removes unused parameter targets from MiqSearch#search and simplifies the pattern of searching or using an existing filter which has now resolved the issue.

BZ#1322485

In the previous version of CloudForms Management Engine, metrics processor worker timed out due to large amount of data to process.

This patch updates metric_rollups to only load recent performance state which has now resolved the issue.

BZ#1331803

Previously, the perf_capture_time method responsible for generating and capturing capacity and utilization data in the message queue failed frequently. As a result, capacity and utilization capture was not scheduled for most elements in the environment. This occurred when metrics for virtual machines orphaned from an EMS were handled incorrectly. This patch fixes the issue so that when an EMS is orphaned, the contents of ems_cluster are cleared, and metrics collection is only scheduled for virtual machines with an EMS.

8.1.6. Providers

BZ#1053277

This release includes inventory support for VMware vSphere Distributed Switches (VDS), so CloudForms can report the complete list of networks available for a VMware cluster in real time. This allows CloudForms to report or assign network resources during and after provisioning without the need to communicate directly with VMware vCenter.

BZ#1099457

With this CloudForms release, Red Hat Enterprise Virtualization can be configured to use a separate external database server for its capacity and utilization database (data warehouse). However, CloudForms assumes that the Red Hat Enterprise Virtualization API server and database server are on the same host.

BZ#1111365

This release adds GlusterFS as a supported storage type for Red Hat Enterprise Virtualization virtual machines.

BZ#1179017

This Red Hat CloudForms release adds Google Compute Engine as a cloud provider, with inventory, power operations, provisioning, and events capabilities.

BZ#1187819

CloudForms now checks for read-only datastores as part of the inventory refresh process, then filters the read-only VMware ESX hosts out of the eligible resources for provisioning. As a result, using best-fit methods for provisioning with ESX hosts succeeds.

BZ#1202884

The new version of CloudForms Management Engine adds the ability to gracefully shutdown virtual machines hosted on an OpenStack provider and shelve the OpenStack instance. This capability was already available for infrastructure providers.

BZ#1226449

In this feature request, user should be able to specify that a connection should be SSL or not. This allows to choose security protocol to avoid errors in log.

With this release, the appliance now displays a new field "Security Protocol" with drop down values as "SSL without validation", "SSL", "Non-SSL" while adding an Infrastructure/Cloud provider.

BZ#1244703

In large Microsoft SCVMM environments, the provider refresh process can be slow when executing PowerShell remotely and gathering insight metrics. This release adds the ability to refresh targeted SCVMM providers to improve CloudForms performance and reduce the refresh process time.

BZ#1266141

Previous CloudForms versions were not subscribed to the Heat RabbitMQ exchange for OpenStack cloud providers. This CloudForms release subscribes to Heat notifications so that CloudForms can catch OpenStack Heat events.

BZ#1271905

There was a request to capture the last boot time in CloudForms user interface for Amazon EC2 instances; this has been implemented with this update.

BZ#1278075

This CloudForms release adds pause, shelve, and shelve offload to the power operations for OpenStack instances.

BZ#1285906

There was a feature request for adding an ability to inventory datastore clusters in VMware. With this release, datastore clusters are now collected in inventory, displayed as folders on the datastore summary page, and during provisioning it is indicated which datastore cluster a datastore belongs to.

BZ#1297002

A resource missing from a stack in an OpenStack environment caused CloudForms 5.5 to entirely stop collecting data from OpenStack, instead of issuing a warning about the problematic stack. This occurred when the `stack.resources` call issued an API call to OpenStack but bypassed the 404 handler in CloudForms. The code has been fixed to safely load orchestration stack relations, and this no longer occurs.

BZ#1316026

Previously, CloudForms did not list multiple IP addresses for OpenStack cloud instances. The CloudForms code has been rewritten so that all cloud instances show IP and MAC addresses based on the network_ports parameter, and now CloudForms correctly displays multiple IP addresses on a cloud instance.

BZ#1316282

Previously, using HTTP timeout with the WaitForUpdates method caused calls to VMware vSphere to hang. Consequently, vSphere events stopped working 20-30 minutes after an appliance reboot. VMware vSphere 4.1 added the WaitForUpdatesEx method to address the issue of WaitForUpdates blocking processes for a long time. This CloudForms release contains WaitForUpdatesEx, which can be used with the maxWait property to configure blocking limits for WaitForUpdatesEx without needing to time out the connection.

BZ#1318356

When provisioning Microsoft Azure virtual machines, there was no option in CloudForms to select an Azure subscription that is not the user's default/primary subscription. As a result, newly provisioned Azure virtual machines do not show up in CloudForms. This has been fixed in the code by adding a new subscription column in the ext_management_systems table, and allowing subscription selection during Azure provisioning.

BZ#1322902

Previously, the "number of disks" field in the virtual machines area of the UI did not report disk usage statistics for VMware virtual machines. This occurred because of an error in the code which caused an exception during SmartState Analysis. This has been fixed in the code and virtual machine disk usage is now reported correctly.

BZ#1326509

This Red Hat CloudForms update adds the ability to specify the AMQP server IP address for OpenStack providers. As a result, when deploying an undercloud with SSL enabled, the Keystone endpoints are set on a different IP address than the address RabbitMQ uses to bind.

BZ#1326866

Previously, setting an empty note did not clear the text from the Annotations field on a VMware virtual machine when the provider is refreshed. This happened because CloudForms did not correctly parse the empty field. This has been fixed in the code by setting hardware[:annotation] to nil if the config.annotation property is blank. As a result, CloudForms now interprets an empty Annotations field as expected.

BZ#1328145

In the previous version of CloudForms Management Engine, provisioning failed in production due to ESX hosts with identical host names in the VMDB causing the display name to dynamically increment over multiple refreshes.

This patch when saving a host now checks to see if the found.name is the current host name plus a duplicate host name suffix. This prevents the host name from being constantly incremented with every ems_refresh which has now resolved the issue.

BZ#1331433

There was a feature request to be able to supply a different endpoint for the hawkular service within the OpenShift environment. This is because users want to install the hawkular service on different endpoint within their OpenShift environment. This feature has been implemented with this release.

BZ#1332317

In the previous version of CloudForms Management Engine, EMS refreshes happened continuously on several providers. As a result, it broke or slowed provisioning down significantly.

When the VimBroker terminated the connection it fired off a MiqVimRemoved event. The VimBrokerWorker was responding to this event by automatically re-connecting to that EMS. With this fix, instead it will now check the list of EMSs it is supposed to be connected to before re-connecting.

8.1.7. Provisioning

BZ#1297335

This was a feature request to send security group details in the JSON request while provisioning instances via CloudForms API. By default, security group was getting associated to virtual machine, not the one which was sent through the request. This was because the API based provisioning requests always used placement_auto = true which meant the the best-fit logic would determine the values for fields on the Environment tab.

With this enhancement you can now pass the values directly through the "vm_fields" section but it requires that you pass placement_auto = false to override the default of true. Once you disable placement_auto (just like in the UI) you need to pass values for all the required fields on the Environment tab.

BZ#1302835

This was a feature request for hierarchical approval based on tenant. This was required to limit visibility of requests to the manager of a group - meaning if the manager wants to have sets of tenants, and members of a tenant will see the requests of the tenant unless they are member of the parent of the tenant in which case they will see all the requests of the child tenants.

This enhancement adds descendant strategy for tenant requests to RBAC.

BZ#1315949

Previously, provisioning for Azure Best fit did not select automatically for environment fields. As a result, you needed to manually select environment fields for Azure Best fit.

This fix modified yaml file, created best fit Azure method, added field azure to the Placement class and configured best fit Azure method for Azure. Best fit for Azure will now select automatically for environment fields.

BZ#1320689

Previously, using the post install callback URL to shutdown a virtual machine doing a PXE / ISO install on RHEV & VMware did not work.

This fix updates the post_install_callback logic based on new state and the issue is now resolved. The post_install_callback logic now shuts down the virtual machine and state machine moves on to next state.

8.1.8. Reporting

BZ#1296463

There was a feature request for Tenant/Project level chargeback in CloudForms. As CloudForms supports multi-tenancy, it should be able to chargeback according to the tenant.

This update adds the option Tenant in ChargeBack > Assignments; as a result you can now set a rate to a specific tenant.

BZ#1299963

There was a feature request to add an ability to report on CloudForms tenant quotas. This was because an administrator or user of a tenant would like to report on what each tenant is consuming in a widget or in the case of a self-service user how much quota they are currently using. With this enhancement, such reporting is now available.

BZ#1319764

Previously, Hardware.Volumes attributes (free space, free space %, used space, etc.) data
was not getting populated for VMware virtual machines. This was because the expression used to create report was using checkall instead of checkany.

With this update, changing 'checkall' to 'checkany' in FIND expression in yaml solved this issue for reports.

8.1.9. SmartState Analysis

BZ#1304758

Previously, there was an Unknown Access Error on OpenShift container image analysis. This was due to an issue with authenticating the service account.

This fix authenticates the service account that will allow image-inspector to pull images from the Openshift registry with authentication which has now resolved the issue.

BZ#1323724

In the previous version of CloudForms, SmartState collected virtual machine information failed to be stored into VMDB: evm.log stated - "data is not permitted at state finished". This was because there was no finished data event for SmartState Analysis.

This fix adds the state of finished into data event in SmartState Analysis which has now resolved the issue.

8.1.10. Web UI

BZ#1289936

Previously, there was an issue with displaying the details of a tenant after upgrading from CloudForms 3.1 to 3.2 when an OpenStack 6 instance was registered pre-upgrade. This was because migration was missing when OpenstackResourceQuota was renamed to CloudResourceQuotaOpenstack.
With this fix, the correct STI type after the quota has been renamed.

BZ#1296402

In the previous version of CloudForms Management Engine, one was unable to set group ownership to "No Group". This was caused because the dropdown allowed to set no group, but was required to have at least default group.

With this fix, select a group dropdown menu does not contain "set group to nil" - only groups and tenants are listed.

BZ#1296671

Previously, users without group level filtering set could not see service catalogs based off a template that the user had group ownership of. This occurred because the ServiceTemplate (service catalog menu) model used by CloudForms does not use tags, managed filters or group and user/tenant ownership. This was fixed by removing ServiceTemplate from the direct RBAC. As a result, the user can now see all service templates related to their current tenant and parent tenants.

BZ#1300411

Previously, when using a service dialog with require fields, when selecting a field the previous field was being refreshed, even if you tell the dialog not to refresh the other fields.

This fix changes a call to selectpicker that attempted to refresh all the dynamic dropdowns via classname and now only updates for the correct dom id which has now resolved the issue.

BZ#1302810

This CloudForms release improves the presentation of stacks in the user interface by allowing user-added orchestration templates to be orderable. Additionally, orchestration templates automatically collected from a provider are no longer displayed under Orchestration Templates. This was not possible in previous versions because the code organized both root and nested stacks in one flat table instead of in a tree structure starting from the provider level.

BZ#1316733

Previously, when NetApp storage was enabled, the Storage tab did not display in the user interface. This happened because the Storage tab was missing from the permissions.yml file. This has been fixed and now after enabling NetApp storage and restarting the appliance, the Storage tab appears as expected.

BZ#1318762

In the previous version of CloudForms, user interface allowed a blank space to be accepted when adding a provider in the IP, FQDN, USER dialogs. This fix updates the detect-spaces directive which has resolved the issue.

8.2. RHSA-2016-1996: CFME 4.1 Bug Fixes and Enhancement Update

The bugs contained in this section are addressed by advisory RHSA-2016:1996. Further information about this advisory is available at https://access.redhat.com/errata/RHSA-2016:1996.html.

8.2.1. Automate

BZ#1346952

An issue with several dropdown parameters in the CloudForms user interface caused incorrect data to be sent during the service dialog refresh. This prevented dynamic updates to service catalog parameters. This was fixed in the code by ensuring the values set in the user interface are set correctly via Automate.

BZ#1346953

This update adds the ability to set the number_of_vms variable for vendor-specific service catalog items. This minimizes the need to maintain custom build request methods, as the built-in create_provision_request method can be more easily used when provisioning virtual machines.

8.2.2. C&U Capacity and Utilization

BZ#1348631

Previously, CPU right-size recommendations only reported CPU sockets, not cores per socket. This caused CPU right-size recommendations to incorrectly report a virtual machine with 1 socket and 4 cores as having 1 total CPU. This has been fixed in the code that calculates right-size recommendations, which now uses the cpu_total_cores value to instead of num_cpu to correctly report the total number of logical CPUs.

8.2.3. Control

BZ#1374450

Previously, compliance check history wasn't shown if the compliance policy was unconditional. This occurred because a compliance detail record is required to display the compliance check history. With this fix, CloudForms now creates a compliance detail record for unconditional compliance policies, and the history is shown.

8.2.4. Providers

BZ#1337552

Previously, common datastore across multiple vCenter caused inventory confusion for provisions. This was because the storage was linked to multiple ext_management_systems but only got one ems_ref. Automate then used what the ems_ref was set to last.

This fix migrates the data from reserved table to host_storages using a unique identifier.

BZ#1343717

This update resolves an issue where users were able to see projects in an OpenStack environment to which they did not have access when those users were authenticated using Keystone v3.

BZ#1346989

This CloudForms update adds support for OpenStack Keystone API v3 domains as a high level container for projects. As a result, there is a new domain field available in the OpenStack provider configuration in the user interface, as well as the ability to modify all methods related to OpenStack to log in with the domain + user + password combination and the Keystone v3 endpoint.

BZ#1346990

Previously, failed refresh operations for Red Hat Enterprise Virtualization virtual machines reported an 'OK' status from the EmsRefresh.refresh command, instead of correctly reporting an error. This has been fixed in this update by indicating a partial refresh error by raising an exception in the message status.

BZ#1349423

Previously, dynamic dropdown list of instance types for AWS GovCloud was returning instance types that are not supported by AWS GovCloud. This was because many of the instance type 'flavors' that are not actually available in AWS GovCloud (eg,m4.large) returned into VMDB which were presented in the dropdown list.

This fix removed GovCloud from AWS list of regions which has resolved the issue.

BZ#1351332

In order to see relationships between cloud providers and tags in network topology, there was a feature request to show manager's tags in network topology. This has been implemented with this release.

BZ#1354503

Previously, some Red Hat OpenStack Platform refreshes failed with the following error: "Policy doesn't allow os_compute_api:os-availability-zone:detail to be performed". This was fixed in the code by using a less detailed OpenStack availability zone API query when a detailed query fails.

BZ#1370208

There was an issue where the user was unable to authenticate to Red Hat Virtualization provider after migration from cfme-5.4.4.2 (3.2) to cfme-5.6.0.13 (4.1). When trying to save a Red Hat Virtualization provider that was migrated from an earlier version of the database (which got nil in verify_ssl) resulted in a flash message that said "Endpoints.verify_ssl is not included in the list"

This fix sets the default verify_ssl in the database for endpoints. On upgrade, verify_ssl would be nil for endpoints that did not have a Provider class.

BZ#1370211

Due to a lack of an explicit subscription in the code, both Azure EA subscriptions and MSDN subscriptions were catching events. This resulted in the following error: Azure: undefined method `downcase. This was fixed in the code by adding a downcase guard for the Azure resource type.

BZ#1370216

An error in the providers code used "resource" as a variable instead of "new_resource", which caused Azure providers to fail the EMS refresh process. The variable has been corrected in the code and Azure providers now refresh successfully.

BZ#1370480

Previously, an incorrect name was used for default Azure provider during discovery. If there were no virtual machines in a provider and no EMSes in the DB, trying to create a default provider called "Azure-eastus” incorrectly set it to Azure-Azure-eastus. This caused a refresh failure because the region component of the provider name did not exist in the regions file.

With this release, renaming the default region from Azure-Azure-east to Azure-east has fixed the issue.

BZ#1370574

Previously, connecting to Azure from the CloudForms appliance through a proxy resulted in a connection timeout with the Azure gallery. As a result, Azure information such as private images were not pulled into CloudForms. This was caused by missing proxy information. This has been fixed in this update by adding proxy information to the open-uri call for Azure.

BZ#1371268

In the previous version of CloudForms, under DataStores > All DataStores > Global filters, filters for Red Hat Virtualization block datastore types, ISCSI and FCP, were missing. There was a feature request to add ISCSI and FCP storage types to the datastores filter tree. This has been implemented with this release.

8.2.5. Provisioning

BZ#1370569

Previously, when selecting a VMware vCenter folder from CloudForms, it displayed more than just the vCenter folders. Datastores and hosts were also available. A new code had changed the way to use the hidden column to determine if a ems_folder should be displayed to the user or not. However, the hidden column got lost when an EmsFolder object was  converted to a MiqHashStruct.

This fix adds the hidden column into EmsFolder's MiqHashStruct which has resolved the issue.

BZ#1371272

Previously, if there was no cloud tenant selected by the user, the backend expected the tenant_name to be nil. For the Self Service UI, since the options need to be passed through REST, nil was converted to an empty string. As a result, the {nil => "<default>"} value was unable to be used with self service provisioning when selecting dialog_tenant_name.

This fix treats an empty string as no tenant option which has resolved the issue.

BZ#1371980

In the previous version of CloudForms, there was an automation method error when accessing host/hosts from a switch. This was because there was a change in the relationship of the switch model (mainly host to hosts) but the automate service model was not updated. This fix updates switch's relationship from host to hosts in automate.

8.2.6. Reporting

BZ#1370586

Previously, the EMS required in metric rollup for chargeback was missing, making it impossible to queue multi-rate chargeback reports. With this update, the missing EMS has now been added, resolving this issue.

BZ#1374377

With this update, the value of the tag column is now the tag that is currently applied to the project and virtual machine instead of the tag from the date mentioned in display range.

8.2.7. Security

BZ#1364501

This update resolves an issue where the sessions table would grow to a size greater than 16 GB and would need to be handled manually to remove instances and vacuum the table.

8.2.8. Web UI

BZ#1337577

This update resolves an issue where dynamic drop-down selections are not shown in the service request page after the request has been submitted and before the request has been approved.

BZ#1363754

With this update, the string 'Look Up LDAP Groups' has been changed to 'Look up External Authentication Groups' when the authentication mode is set to external (httpd) to accommodate different formats of external authentication.

BZ#1368168

This update resolves an issue where the default value for the OpenStack API port would be reflected in the configuration of Red Hat Enterprise Virtualization providers, causing an API Port value of '5000' to be displayed even when no port was specified during creation of that provider.

8.2.9. vulnerability

BZ#1375089

An input validation flaw was found in the way CloudForms regular expressions were passed to the expression engine via both the JSON API and the web based UI. A user with the ability to view collections and filter them could use this flaw to execute arbitrary shell commands on the host with the privileges of the CloudForms process.