Installing Red Hat CloudForms on Red Hat Virtualization

Red Hat CloudForms 4.6

How to install and configure Red Hat CloudForms on a Red Hat Virtualization environment

Red Hat CloudForms Documentation Team

Abstract

This guide provides instructions on how to install and configure Red Hat CloudForms on a Red Hat Virtualization environment.
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.

Chapter 1. Installing Red Hat CloudForms

Installing Red Hat CloudForms consists of the following steps:

  1. Downloading the appliance for your environment as a virtual machine image template.
  2. Setting up a virtual machine based on the appliance.
  3. Configuring the CloudForms appliance.

After you have completed all the procedures in this guide, you will have a working environment on which additional customizations and configurations can be performed.

1.1. Obtaining the Appliance

The following procedure outlines how to obtain a copy of the appliance from the Customer Portal.

  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.
  5. From the list of installers and images, click the Download Now link for CFME Red Hat Virtual Appliance.

1.2. Uploading the Appliance on Red Hat Virtualization

The method for uploading the CloudForms appliance differs depending on the Red Hat Virtualization version you are using.

In Red Hat Virtualization 4.0 and newer, upload the QCOW2 appliance image using the Red Hat Virtualization Administration Portal.

In Red Hat Enterprise Virtualization 3.6 and earlier, upload the OVA appliance image using the image uploader tool. You can also use this method for Red Hat Virtualization 4.0 systems.

Uploading the Red Hat CloudForms appliance file to Red Hat Virtualization requires:

  • 44 GB of storage space on both the export domain and the local partition where /tmp resides, as the OVF archive is locally expanded into that directory.
  • 12 GB RAM.
  • 4 vCPUs.

1.2.1. Uploading the Appliance Using the Administration Portal

In Red Hat Virtualization 4.0 and newer, upload the QCOW2 appliance image using the Red Hat Virtualization Administration Portal. After uploading the image, create a disk and attach it to a virtual machine.

Prerequisites:

  • You must configure the Image I/O Proxy when running engine-setup. See Configuring the Red Hat Virtualization Manager in the Red Hat Virtualization Installation Guide for more information.
  • Internet Explorer 10, Firefox 35, or Chrome 13 or greater is required to perform this upload procedure. Previous browser versions do not support the required HTML5 APIs.
  • You must import the required certificate authority into the web browser used to access the Administration Portal.
Note

To import the certificate authority, browse to https://<engine_address>/ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA and select all the trust settings. Refer to the instructions to install the certificate authority in Firefox, Internet Explorer, or Google Chrome.

To upload the appliance
  1. Log in to the Administration Portal.
  2. Click the Disks tab.
  3. Select Start from the Upload menu.
  4. Click Browse, and select the image on the local disk.
  5. Set Image Type to QCOW2.
  6. Fill in the Disk Option fields. See Explanation of Settings in the New Virtual Disk Window in the Red Hat Virtualization Administration Guide for a description of the relevant fields.
  7. Click OK.

A progress bar will indicate the status of the upload. You can also pause, cancel, or resume uploads from the Upload menu.

See the Uploading a Disk Image to a Storage Domain in the Red Hat Virtualization Administration Guide for more information.

1.2.2. Uploading the Appliance with the Image Uploader

In Red Hat Enterprise Virtualization 3.6 and earlier, upload the appliance as an OVA image using the image uploader tool. Red Hat Virtualization 4.0 supports this method as well.

Refer to The Image Uploader Tool in the Red Hat Virtualization Administration Guide for more details on using the image uploader.

To install the image uploader, install the rhevm-image-uploader package containing the engine-image-uploader script to your local machine:

# yum install rhevm-image-uploader

Upload the Red Hat CloudForms appliance using the image uploader:

  1. Change to the directory containing the Red Hat CloudForms appliance.
  2. Run the following command:

    # engine-image-uploader -N `newimagename` -e `myexportdomain` -v -m upload cfme-rhevm-5.3-15.x86_64.rhevm.ova

    Substitute newimagename with your chosen name for the image, and substitute myexportdomain with your chosen export storage domain.

    Note

    It is recommended to use -v (verbose logging) when using the engine-image-uploader script to see the progression of the upload.

  3. Enter the password of the default administrative user for your Red Hat Enterprise Virtualization Manager when prompted.

    Please provide the REST API password for the admin@internal oVirt Engine user (CTRL+D to abort): **********
    Important

    Ensure your Red Hat Enterprise Virtualization Manager has administrator access to the chosen export storage domain.

It takes approximately 90 minutes to upload the Red Hat CloudForms appliance file to the Red Hat Enterprise Virtualization Manager. Once the OVA is uploaded and imported as a template, add a network adapter to the template itself.

1.2.3. Uploading the Appliance Manually

The following procedure provides manual upload instructions if the image uploader tool is not available or fails to upload.

  1. Log in to a host in your Red Hat Virtualization system with a mount to the export storage domain.
  2. Change to the export storage domain’s directory.
  3. Copy the Red Hat CloudForms appliance OVF archive to this directory.
  4. Run the ls command to locate the directory named after a GUID, and change to that directory.
  5. Extract the OVF file using the tar command, substituting the .ova filename with your download. For example:

    [root@localhost 4a8fc2b1-0a57-47fd-b622-7e170981305b]# tar xvf ../cfme-rhevm-5.9.0.17-1.x86_64.rhevm.ova
    images/
    images/896d49ac-a5e4-4b73-8448-9778bb76ce32/
    images/896d49ac-a5e4-4b73-8448-9778bb76ce32/26e85696-78a4-4a82-aedd-bf60a4aa7dae.meta
    images/896d49ac-a5e4-4b73-8448-9778bb76ce32/26e85696-78a4-4a82-aedd-bf60a4aa7dae
    master/
    master/vms/
    master/vms/647d5765-17fe-436d-aff1-82243e79976a/
    master/vms/647d5765-17fe-436d-aff1-82243e79976a/647d5765-17fe-436d-aff1-82243e79976a.ovf
  6. Change ownership of the images and master export directories so the appliance can be imported as a template:

    [root@localhost 4a8fc2b1-0a57-47fd-b622-7e170981305b]# chown -R 36:36 master/
    [root@localhost 4a8fc2b1-0a57-47fd-b622-7e170981305b]# chown -R 36:36 images/

    The Red Hat Virtualization export domain shows the Red Hat CloudForms appliance in the administration portal.

1.3. Running Red Hat CloudForms

After uploading the appliance to the export storage domain, import it as a template and create a virtual machine.

  1. Import the appliance image from the export storage domain as a template in a Red Hat Virtualization data storage domain:

    1. Click the Storage tab, then select the export storage domain you uploaded the image to.
    2. From the details pane, click the Template Import tab, and select the image (newimagename) you uploaded.
    3. Click Import, and specify the Cluster and CPU Profile as desired.
    4. Click OK.

      You can check the import status on the Events tab. See Exporting and Importing Virtual Machines and Templates in the Red Hat Virtualization Virtual Machine Management Guide for additional information.

  2. Check if the template has a network interface (NIC). If the template does not include one, create a NIC for it:

    1. From the Templates tab, select the template you imported to view its details.
    2. From the details pane, click the Network Interfaces tab to check if a NIC is listed. If there is an existing NIC, continue to the next step. If no existing NIC is shown:

      1. Create a NIC by clicking New in the Network Interfaces tab.
      2. In the New Network Interface dialog, specify any values as desired or leave the defaults.
      3. Click OK.

        The new NIC shows in the Network Interfaces tab.

  3. Create a new virtual machine using the Red Hat CloudForms appliance template as a basis:

    1. From the Templates tab, select the CloudForms template.
    2. Click New VM to open the New Virtual Machine dialog.
    3. Specify a name for the virtual machine, and any other details as desired.
    4. Click OK.

      The virtual machine is created. To view the virtual machine, select the data center, then the Virtual Machines tab to view a list of all virtual machines.

  4. Add a database disk if you are hosting the database on the same machine as the appliance:

    1. To add a disk, select your virtual machine from the Virtual Machines tab.
    2. From the details pane, click the Disks tab.
    3. Click New to open the New Virtual Disk dialog.
    4. Specify a Size in GB for the disk that allows sufficient space for your database. See Database Requirements in the Deployment Planning Guide for size considerations.
    5. Set the Allocation Policy to Preallocated (thick provisioning) for best performance.
    6. Specify any other values as desired.
    7. Click OK to create the disk.
  5. To start the Red Hat CloudForms appliance, select the virtual machine from the Virtual Machines tab and click greentriangle (Run).

Your Red Hat Virtualization environment now contains a running Red Hat CloudForms appliance.

Chapter 2. Configuring Red Hat CloudForms

After installing CloudForms and running it for the first time, you must perform some basic configuration. To configure CloudForms, you must at a minimum:

  1. Add a disk to the infrastructure hosting your appliance.
  2. Configure the database.

Configure the CloudForms appliance using the internal appliance console.

2.1. Accessing the Appliance Console

  1. Start the appliance and open a terminal console.
  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 Red Hat CloudForms appliance summary screen displays.
  4. Press Enter to manually configure settings.
  5. Press the number for the item you want to change, and press Enter. The options for your selection are displayed.
  6. Follow the prompts to make the changes.
  7. Press Enter to accept a setting where applicable.
Note

The CloudForms appliance console automatically logs out after five minutes of inactivity.

2.2. Configuring a Database

CloudForms uses a database to store information about the environment. Before using CloudForms, configure the database options for it; CloudForms provides the following two options for database configuration:

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

2.2.1. 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 for adding 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; installation will fail if the disks are not blank.

  1. Start the appliance and open a terminal console.
  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 Red Hat CloudForms appliance summary screen displays.
  4. Press Enter to manually configure settings.
  5. Select 5) Configure Database from the menu.
  6. You are prompted to create or fetch an encryption key.

    • If this is the first Red Hat CloudForms appliance, choose 1) Create key.
    • If this is not the first Red Hat CloudForms appliance, choose 2) Fetch key from remote machine to fetch the key from the first appliance. For worker and multi-region setups, use this option to copy key from another appliance.

      Note

      All CloudForms appliances in a multi-region deployment must use the same key.

  7. Choose 1) Create Internal Database for the database location.
  8. Choose a disk for the database. This can be either a disk you attached previously, or a partition on the current disk.

    Important

    Red Hat recommends using a separate disk for the database.

    If there is an unpartitioned disk attached to the virtual machine, the dialog will show options similar to the following:

    1) /dev/vdb: 20480
    2) Don't partition the disk
    • Enter 1 to choose /dev/vdb for the database location. This option creates a logical volume using this device and mounts the volume to the appliance in a location appropriate for storing the database. The default location is /var/opt/rh/rh-postgresql95/lib/pgsql, which can be found in the environment variable $APPLIANCE_PG_MOUNT_POINT.
    • Enter 2 to continue without partitioning the disk. A second prompt will confirm this choice. Selecting this option results in using the root filesystem for the data directory (not advised in most cases).
  9. Enter Y or N for Should this appliance run as a standalone database server?

    • Select Y to configure the appliance as a database-only appliance. As a result, the appliance is configured as a basic PostgreSQL server, without a user interface.
    • Select N to configure the appliance with the full administrative user interface.
  10. When prompted, enter a unique number to create a new region.

    Important

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

  11. Create and confirm a password for the database.

Red Hat CloudForms then configures the internal database.

2.2.2. Configuring an External Database

Based on your setup, you will choose to configure the appliance to use an external PostgreSQL database. For example, we can only have one database in a single region. However, a region can be segmented into multiple zones, such as database zone, user interface zone, and reporting zone, where each zone provides a specific function. The appliances in these zones must be configured to use an external database.

The postgresql.conf file used with Red Hat CloudForms 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 Red Hat CloudForms databases use a postgresql.conf file based on the standard file used by the Red Hat CloudForms 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.

Note
  • Red Hat CloudForms 4.x requires PostgreSQL version 9.4.
  • Because the postgresql.conf file controls the operation of all databases managed by a single instance of PostgreSQL, do not mix Red Hat CloudForms databases with other types of databases in a single PostgreSQL instance.
  1. Start the appliance and open a terminal console.
  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 Red Hat CloudForms appliance summary screen displays.
  4. Press Enter to manually configure settings.
  5. Select 5) Configure Database from the menu.
  6. You are prompted to create or fetch a security key.

    • If this is the first Red Hat CloudForms appliance, choose 1) Create key.
    • If this is not the first Red Hat CloudForms appliance, choose 2) Fetch key from remote machine to fetch the key from the first appliance.

      Note

      All CloudForms appliances in a multi-region deployment must use the same key.

  7. Choose 2) Create Region in External Database 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.

Red Hat CloudForms will then configure the external database.

2.3. Configuring a Worker Appliance

You can use multiple appliances to facilitate horizontal scaling, as well as for dividing up work by roles. Accordingly, configure an appliance to handle work for one or many roles, with workers within the appliance carrying out the duties for which they are configured. You can configure a worker appliance through the terminal. The following 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 console.
  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 Red Hat CloudForms appliance summary screen displays.
  4. Press Enter to manually configure settings.
  5. Select 5) Configure Database from the menu.
  6. You are prompted to create or fetch a security key. Since this is not the first Red Hat CloudForms appliance, choose 2) Fetch key from remote machine. For worker and multi-region setups, use this option to copy key from another appliance.

    Note

    All CloudForms appliances in a multi-region deployment must use the same key.

  7. Choose 3) Join Region in External Database for the database location.
  8. Enter the database hostname or IP address when prompted.
  9. Enter the port number or leave blank for the default (5432).
  10. Enter the database name or leave blank for the default (vmdb_production).
  11. Enter the database username or leave blank for the default (root).
  12. Enter the chosen database user’s password.
  13. Confirm the configuration if prompted.

Chapter 3. Logging In After Installing Red Hat CloudForms

Once Red Hat CloudForms is installed, you can log in and perform administration tasks.

Log in to Red Hat CloudForms for the first time after installing by:

  1. Navigate to the URL for the login screen. (https://xx.xx.xx.xx on the virtual machine instance)
  2. Enter the default credentials (Username: admin | Password: smartvm) for the initial login.
  3. Click Login.

3.1. Changing the Default Login Password

Change your password to ensure more private and secure access to Red Hat CloudForms.

  1. Navigate to the URL for the login screen. (https://xx.xx.xx.xx on the virtual machine instance)
  2. Click Update Password beneath the Username and Password text fields.
  3. Enter your current Username and Password in the text fields.
  4. Input a new password in the New Password field.
  5. Repeat your new password in the Verify Password field.
  6. Click Login.

Appendix A. Appendix

A.1. Appliance Console Command-Line Interface (CLI)

Currently, the appliance_console_cli feature is a subset of the full functionality of the appliance_console itself, and covers functions most likely to be scripted using the command-line interface (CLI).

  1. After starting the Red Hat CloudForms 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_cli or appliance_console_cli --help command to see a list of options available with the command, or simply enter appliance_console_cli --option <argument> directly to use a specific option.

Table A.1. Database Configuration Options

OptionDescription

--region (-r)

region number (create a new region in the database - requires database credentials passed)

--internal (-i)

internal database (create a database on the current appliance)

--dbdisk

database disk device path (for configuring an internal database)

--hostname (-h)

database hostname

--port

database port (defaults to 5432)

--username (-U)

database username (defaults to root)

--password (-p)

database password

--dbname (-d)

database name (defaults to vmdb_production)

Table A.2. v2_key Options

OptionDescription

--key (-k)

create a new v2_key

--fetch-key (-K)

fetch the v2_key from the given host

--force-key (-f)

create or fetch the key even if one exists

--sshlogin

ssh username for fetching the v2_key (defaults to root)

--sshpassword

ssh password for fetching the v2_key

Table A.3. IPA Server Options

OptionDescription

--host (-H)

set the appliance hostname to the given name

--ipaserver (-e)

IPA server FQDN

--ipaprincipal (-n)

IPA server principal (default: admin)

--ipapassword (-w)

IPA server password

--ipadomain (-o)

IPA server domain (optional). Will be based on the appliance domain name if not specified.

--iparealm (-l)

IPA server realm (optional). Will be based on the domain name of the ipaserver if not specified.

--uninstall-ipa (-u)

uninstall IPA client

Note
  • In order to configure authentication through an IPA server, in addition to using Configure External Authentication (httpd) in the appliance_console, external authentication can be optionally configured via the appliance_console_cli (command-line interface).
  • Specifying --host will update the hostname of the appliance. If this step was already performed via the appliance_console and the necessary updates made to /etc/hosts if DNS is not properly configured, the --host option can be omitted.

Table A.4. Certificate Options

OptionDescription

--ca (-c)

CA name used for certmonger (default: ipa)

--postgres-client-cert (-g)

install certs for postgres client

--postgres-server-cert

install certs for postgres server

--http-cert

install certs for http server (to create certs/httpd* values for a unique key)

--extauth-opts (-x)

external authentication options

Note

The certificate options augment the functionality of the certmonger tool and enable creating a certificate signing request (CSR), and specifying certmonger the directories to store the keys.

Table A.5. Other Options

OptionDescription

--logdisk (-l)

log disk path

--tmpdisk

initialize the given device for temp storage (volume mounted at /var/www/miq_tmp)

--verbose (-v)

print more debugging info

Example Usage

$ ssh root@appliance.test.company.com

To create a new database locally on the server using /dev/sdb:

# appliance_console_cli --internal --dbdisk /dev/sdb --region 0 --password smartvm

To copy the v2_key from a host some.example.com to local machine:

# appliance_console_cli --fetch-key some.example.com --sshlogin root --sshpassword smartvm

You could combine the two to join a region where db.example.com is the appliance hosting the database:

# appliance_console_cli --fetch-key db.example.com --sshlogin root --sshpassword smartvm --hostname db.example.com --password mydatabasepassword

To configure external authentication:

# appliance_console_cli --host appliance.test.company.com
                        --ipaserver ipaserver.test.company.com
                        --ipadomain test.company.com
                        --iparealm TEST.COMPANY.COM
                        --ipaprincipal admin
                        --ipapassword smartvm1

To uninstall external authentication:

# appliance_console_cli  --uninstall-ipa