Installing CloudForms on Red Hat Enterprise Linux OpenStack Platform

How to Install and Configure the CloudForms Management Engine Appliance on a Red Hat OpenStack Platform environment

Red Hat CloudForms Documentation Team

Abstract

This guide provides installation and configuration instructions for the CloudForms Management Engine appliance. Information and procedures in this book are relevant to CloudForms Management Engine administrators.

1. Installing CloudForms

CloudForms Management Engine is able to be installed and ready to configure in a few quick steps. After downloading CloudForms Management Engine as a virtual machine image template from the Red Hat Customer Portal, the installation process takes you through the steps of uploading the appliance to a supported virtualization or cloud provider.

Important

After installing the CloudForms Management Engine appliance, you must configure the database for Red Hat CloudForms. See Section 2.3, “Configuring a Database for CloudForms Management Engine”.

1.1. Obtaining the CloudForms Management Engine Appliance

  1. Go to access.redhat.com and log in to the Red Hat Customer Portal using your customer account details.
  2. Click Downloads in the menu bar.
  3. Click A-Z to sort the product downloads alphabetically.
  4. Click Red Hat CloudForms to access the product download page. The latest version of each download displays by default.
  5. From the list of installers and images under Product Software, select CFME OpenStack Virtual Appliance and click Download Now.

1.2. Uploading the Appliance on OpenStack

Log in to your OpenStack dashboard to upload your CloudForms Management Engine appliance.

  1. Log in to the OpenStack dashboard.
  2. In the Project tab, navigate to ComputeImages.
  3. Click Create Image.
  4. In Name, enter a name for the image.
  5. From Image Source list, select Image Location. Note that currently only images available via an HTTP URL are supported.
  6. In Image Location, add an external (HTTP) URL to load the image from. For example, http://example.com/image.iso.
  7. From the Format list, select the image format. For example, ISO - Optical Disk Image.
  8. Specify the Architecture. For example, i386 for a 32-bit architecture or x86-64 for a 64-bit architecture.
  9. Leave the Minimum Disk (GB) and Minimum RAM (MB) fields empty.
  10. Check the Public box to make the appliance available to all users.
  11. Check the Protected box to protect the image from being accidentally deleted.
  12. Click Create Image.

You have successfully uploaded the CloudForms Management Engine appliance.

The appliance image is placed in a queue to be uploaded. It may take some time before the Status of the image changes from Queued to Active.

1.3. Adding a Rule to a Security Group

Security groups specify what IP traffic is allowed to reach an instance on its public IP address. Security group rules are processed before network traffic reaches firewall rules defined within the guest itself.

Note

In the default configuration, the default security group accepts all connections from the default source; all instances within the default group can talk to each other on any port.

  1. From the OpenStack dashboard, navigate to ProjectComputeAccess & Security.
  2. Navigate to Security GroupsManage Rules on the row for the default security group. 7216
  3. Click Add Rule. 4941
  4. Configure the rule.

    1. Select RuleCustom TCP Rule.
    2. Select DirectionIngress.
    3. Select Port from the Open Port list.
    4. Specify 443 in the Port field.
    5. Select CIDR from the Remote list.
    6. Specify 0.0.0.0/0 in the CIDR field.
    7. Click Add.

1.4. Creating a Custom Flavor for CloudForms Management Engine

A flavor is a resource allocation profile that specifies, for example, how many virtual CPUs and how much RAM can be allocated to an instance. You can, for example, run CloudForms Management Engine on a Red Hat OpenStack m1.large flavor, which specifies a virtual machine with 4 cores, 8GB RAM, and 80GB disk space. Creating a flavor to run CloudForms Management Engine is optional.

The following procedure demonstrates creating a flavor with the minimum requirements (4 cores, 6GB RAM, 40GB disk space) for CloudForms Management Engine. For more information about flavors, see the Red Hat Enterprise Linux OpenStack Platform Administration User Guide.

  1. Log in to the OpenStack dashboard as admin.
  2. In the Admin tab, navigate to SystemFlavors.
  3. Click Create Flavor to display the Create Flavor dialog.
  4. Configure the settings to define a flavor that meets CloudForms Management Engine system requirements.

    1. Enter a name for the flavor.
    2. Enter the following settings:

      • VCPUs: 4
      • RAM MB: 6144
      • Root Disk GB: 45
      • Ephemeral Disk GB: 0
      • Swap Disk MB: 0
  5. Click Create Flavor.

A new flavor specific to CloudForms Management Engine is created.

1.5. Launching the CloudForms Management Engine Instance

  1. From the OpenStack dashboard, navigate to ProjectComputeInstances.
  2. Click Launch Instance.
  3. Enter a name for the instance.
  4. Select the custom flavor for your instance. The flavor selection determines the computing resources available to your instance. The resources used by the flavor are displayed in the Flavor Details pane.
  5. Enter 1 in the Instance Count field.
  6. Select a boot option from the Instance Boot Source list:

    • Boot from image - displays a new field for Image Name. Select the image from the drop-down list.
    • Boot from snapshot - displays a new field for Instance Snapshot. Select the snapshot from the drop-down list.
    • Boot from volume - displays a new field for Volume. Select the volume from the drop-down list.
    • Boot from image (creates a new volume) - boot from an image and create a volume by choosing Device Size and Device Name for your volume. Some volumes can be persistent. To ensure the volume is deleted when the instance is deleted, select Delete on Terminate.
    • Boot from volume snapshot (creates a new volume) - boot from volume snapshot and create a new volume by choosing Volume Snapshot from the drop-down list and adding a Device Name for your volume. Some volumes can be persistent. To ensure the volume is deleted when the instance is deleted, select Delete on Terminate.
  7. Click Networking and select a network for the instance by clicking the + (plus) button for the network from Available Networks.
  8. Click Launch.

1.6. Adding a Floating IP Address

When you create an instance, Red Hat Enterprise Linux OpenStack Platform automatically assigns it a fixed IP address in the network to which the instance belongs. This IP address is permanently associated with the instance until the instance is terminated.

In addition to the fixed address, you can also assign a floating IP address to an instance. Unlike fixed IP addresses, you can modify floating IP addresses associations at any time, regardless of the state of the instances involved.

  1. At the command-line on your RHEL OpenStack Platform host, create a pool of floating IP addresses using the nova-manage floating create command. Replace IP_BLOCK with the desired block of IP addresses expressed in CIDR notation.

    $ nova-manage floating create IP_BLOCK
  2. In the Project tab, navigate to ComputeAccess & Security.
  3. Click Floating IPsAllocate IP To Project. The Allocate Floating IP window is displayed. 7218
  4. Click Allocate IP to allocate a floating IP from the pool. The allocated IP address appears in the Floating IPs table.
  5. Select the newly allocated IP address from the Floating IPs table. Click Associate to assign the IP address to a specific instance. 7217
  6. Select an instance with which to associate the floating IP Address.
  7. Click Associate to associate the IP address with the selected instance.
Note

To disassociate a floating IP address from an instance when it is no longer required, click Release Floating IPs.

2. Configuring CloudForms

Although the CloudForms Management Engine Appliance comes configured to be integrated immediately into your environment, you can make some changes to its configuration.

Note

The CloudForms Management Engine Appliance is intended to have minimal configuration options.

2.1. Changing Configuration Settings

The procedure describes how to make changes to the configuration settings on the CloudForms Management Engine appliance.

  1. After starting the appliance, log in with a user name of root and the default password of smartvm. This displays the Bash prompt for the root user.
  2. Enter the appliance_console command. The CloudForms Management Engine Appliance summary screen displays.
  3. Press Enter to manually configure settings.
  4. Press the number for the item you want to change, and press Enter. The options for your selection are displayed.
  5. Follow the prompts to make the changes.
  6. Press Enter to accept a setting where applicable.
Note

The CloudForms Management Engine Appliance console automatically logs out after five minutes of inactivity.

2.2. Advanced Configuration Settings

After logging in, you can use the following menu items for advanced configuration of the appliance:

  • Use Set DHCP Network Configuration to use DHCP to obtain the IP address and network configuration for your CloudForms Management Engine Appliance. The appliance is initially configured as a DHCP client with bridged networking.
  • Use Set Static Network Configuration if you have a specific IP address and network settings you need to use for the CloudForms Management Engine Appliance.
  • Use Test Network Configuration to check that name resolution is working correctly.
  • Use Set Hostname to specify a hostname for the CloudForms Management Engine Appliance.

    Important

    A valid fully qualified hostname for the CloudForms Management Engine appliance is required for SmartState analysis to work correctly,

  • Use Set Timezone, Date, and Time to configure the time zone, date, and time for the CloudForms Management Engine Appliance.
  • Use Restore Database from Backup to restore the VMDB database from a previous backup.
  • Use Setup Database Region to create regions for VMDB replication.
  • Use Configure Database to configure the VMDB database. Use this option to configure the database for the appliance after installing and running it for the first time.
  • Use Extend Temporary Storage to add temporary storage to the appliance. The appliance formats an unpartitioned disk attached to the appliance host and mounts it at /var/www/miq_tmp. The appliance uses this temporary storage directory to perform certain image download functions.
  • Use Configure External Authentication (httpd) to configure authentication through an IPA server.
  • Use Generate Custom Encryption Key to regenerate the encryption key used to encode plain text password.
  • Use Harden Appliance Using SCAP Configuration to apply Security Content Automation Protocol (SCAP) standards to the appliance. You can view these SCAP rules in the /var/www/miq/lib/appliance_console/config/scap_rules.yml file.
  • Use Stop Server Processes to stop all server processes. You may need to do this to perform maintenance.
  • Use Start Server Processes to start the server. You may need to do this after performing maintenance.
  • Use Restart Appliance to restart the CloudForms Management Engine Appliance. You can either restart the appliance and clear the logs or just restart the appliance.
  • Use Shut Down Appliance to power down the appliance and exit all processes.
  • Use Summary Information to go back to the network summary screen for the CloudForms Management Engine Appliance.
  • Use Quit to leave the CloudForms Management Engine Appliance console.

2.3. Configuring a Database for CloudForms Management Engine

Before using CloudForms Management Engine, configure the database options for it. CloudForms Management Engine provides two options for database configuration:

  • Install an internal PostgreSQL database to the appliance
  • Configure the appliance to use an external PostgreSQL database
Note

See CPU Sizing Assistant for a Dedicated VMDB Host in the Deployment Planning Guide for guidelines on CPU requirements.

2.4. Configuring an Internal Database

Important

Before installing an internal database, add a disk to the infrastructure hosting your appliance. See the documentation specific to your infrastructure for instructions on how to add a disk. As a storage disk usually cannot be added while a virtual machine is running, Red Hat recommends adding the disk before starting the appliance. Red Hat CloudForms only supports installing of an internal VMDB on blank disks. The installation will fail if the disks are not blank.

  1. Start the appliance and open a terminal from your virtualization or cloud provider.
  2. After starting the appliance, log in with a user name of root and the default password of smartvm. This displays the Bash prompt for the root user.
  3. Enter the appliance_console command. The CloudForms Management Engine Appliance summary screen displays.
  4. Press Enter to manually configure settings.
  5. Select 8) Configure Database from the menu.
  6. You are prompted to create or fetch an encryption key.

    • If this is the first CFME appliance, choose 1) Create key.
    • If this is not the first CFME appliance, choose 2) Fetch key from remote machine to fetch the key from the first CFME appliance. All CFME appliances in a multi-region deployment must use the same key.
  7. Choose 1) Internal for the database location.
  8. Choose a disk for the database. For example:

    1)  /dev/vdb: 20480
    
    Choose disk:

    Enter 1 to choose /dev/vdb for the database location.

  9. When prompted, enter a unique three digit region ID to create a new region.

    Important

    Creating a new region destroys any existing data on the chosen database.

  10. Confirm the configuration when prompted.

CloudForms Management Engine configures the internal database.

2.5. Configuring an External Database

The postgresql.conf file used with CloudForms Management Engine databases requires specific settings for correct operation. For example, it must correctly reclaim table space, control session timeouts, and format the PostgreSQL server log for improved system support. Due to these requirements, Red Hat recommends that external CloudForms Management Engine databases use a postgresql.conf file based on the standard file used by the CloudForms Management Engine appliance.

Ensure you configure the settings in the postgresql.conf to suit your system. For example, customize the shared_buffers setting according to the amount of real storage available in the external system hosting the PostgreSQL instance. In addition, depending on the aggregate number of appliances expected to connect to the PostgreSQL instance, it may be necessary to alter the max_connections setting.

Because the postgresql.conf file controls the operation of all databases managed by a single instance of PostgreSQL, do not mix CloudForms Management Engine databases with other types of databases in a single PostgreSQL instance.

Note

CloudForms Management Engine 4.x requires PostgreSQL version 9.4.

  1. Start the appliance and open a terminal console from your virtualization or cloud provider.
  2. After starting the appliance, log in with a user name of root and the default password of smartvm. This displays the Bash prompt for the root user.
  3. Enter the appliance_console command. The CloudForms Management Engine Appliance summary screen displays.
  4. Press Enter to manually configure settings.
  5. Select 8) Configure Database from the menu.
  6. You are prompted to create or fetch a security key.

    • If this is the first CFME appliance, select the option to create a key.
    • If this is not the first CFME appliance, select the option to fetch the key from the first CFME appliance. All CFME appliances in a multi-region deployment must use the same key.
  7. Choose 2) External for the database location.
  8. Enter the database hostname or IP address when prompted.
  9. Enter the database name or leave blank for the default (vmdb_production).
  10. Enter the database username or leave blank for the default (root).
  11. Enter the chosen database user’s password.
  12. Confirm the configuration if prompted.

CloudForms Management Engine will then configure the external database.

2.6. Configuring a Worker Appliance for CloudForms Management Engine

You can configure a worker appliance through the terminal. These steps demonstrate how to join a worker appliance to an appliance that already has a region configured with a database.

  1. Start the appliance and open a terminal from your virtualization or cloud provider.
  2. After starting the appliance, log in with a user name of root and the default password of smartvm. This displays the Bash prompt for the root user.
  3. Enter the appliance_console command. The CloudForms Management Engine Appliance summary screen displays.
  4. Press Enter to manually configure settings.
  5. Select 8) Configure Database from the menu.
  6. You are prompted to create or fetch a security key. Select the option to fetch the key from the first CFME appliance. All CFME appliances in a multi-region deployment must use the same key.
  7. Choose 2) External for the database location.
  8. Enter the database hostname or IP address when prompted.
  9. Enter the database name or leave blank for the default (vmdb_production).
  10. Enter the database username or leave blank for the default (root).
  11. Enter the chosen database user’s password.
  12. Confirm the configuration if prompted.

3. Additional Requirements

3.1. Installing VMware VDDK on CloudForms Management Engine

Execution of SmartState Analysis on virtual machines within a VMware environment requires the Virtual Disk Development Kit (VDDK). CloudForms Management Engine supports VDDK 5.5.

  1. Download VDDK 5.5 (VMware-vix-disklib-5.5.0-1284542.x86_64.tar.gz at the time of this writing) from the VMware website.

    Note

    If you do not already have a login ID to VMware, then you will need to create one. At the time of this writing, the file can be found by navigating to DownloadsAll DownloadsDrivers & ToolsVMware vSphereDrivers & Tools. Expand Automation Tools and SDKs, and select vSphere Virtual Disk Development Kit 5.5. Alternatively, find the file by searching for it using the Search on the VMware site.

  2. Download and copy the VMware-vix-disklib-5.5.0-1284542.x86_64.tar.gz file to the /root directory of the appliance.
  3. Start an SSH session into the appliance.
  4. Extract and install VDDK 5.5. using the following commands:

    # cd /root
    # tar -xvf VMware-vix-disklib-5.5.0-1284542.x86_64.tar.gz
    # cd vmware-vix-disklib-distrib
    # /vmware-install.pl
  5. Accept the defaults during the installation

    Installing VMware VIX DiskLib API. You must read and accept the VMware VIX DiskLib API End User License Agreement to continue. Press enter to display it. Do you accept? (yes/no) yes
    
    Thank you. What prefix do you want to use to install VMware VIX DiskLib API? The prefix is the root directory where the other folders such as man, bin, doc, lib, etc. will be placed. [/usr] (Press Enter)
    
    The installation of VMware VIX DiskLib API 5.5.0 build-1284542 for Linux completed successfully. You can decide to remove this software from your system at any time by invoking the following command:
    "/usr/bin/vmware-uninstall-vix-disklib.pl". Enjoy, --the VMware team
  6. Run ldconfig in order for CloudForms Management Engine to find the newly installed VDDK library.

    Note

    Use the following command to verify the VDDK files are listed and accessible to the appliance:

    # ldconfig -p | grep vix
  7. Restart the CloudForms Management Engine appliance.

The VDDK is now installed on the CloudForms Management Engine appliance. This enables use of the SmartState Analysis Server Role on the appliance.