Installing CloudForms on Red Hat Enterprise Virtualization
How to Install and Configure the CloudForms Management Engine Appliance on a Red Hat Enterprise Virtualization environment
Abstract
Chapter 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.
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
- Go to access.redhat.com and log in to the Red Hat Customer Portal using your customer account details.
- Click Downloads in the menu bar.
- Click A-Z to sort the product downloads alphabetically.
- Click → to access the product download page.
- From the list of installers and images, select the CFME Red Hat Virtual Appliance download link.
1.2. Uploading the Appliance on Red Hat Enterprise Virtualization Manager
Uploading the CloudForms Management Engine Appliance file onto Red Hat Enterprise Virtualization Management systems has the following requirements:
-
44 GB of storage space on both the export domain and the local partition where
/tmpresides since theOVFarchive is locally expanded into that directory. Install the
rhevm-image-uploaderpackage containing theengine-image-uploaderscript to your local machine.# yum install rhevm-image-uploader
It is recommended to use
-v(verbose logging) when using theengine-image-uploaderscript to see the progression of the upload.- Depending on your infrastructure, allow approximately 90 minutes for the upload.
-
Once the
OVFis uploaded and imported as a template, add a network adapter to the template itself.
1.3. Using the Image Uploader Tool
The engine-image-uploader command allows you to list export storage domains and upload virtual machine images in OVF format to an export storage domain and have them automatically recognized in the Red Hat Enterprise Virtualization Manager.
The image uploader only supports gzip-compressed OVF files created by Red Hat Enterprise Virtualization.
The archive contains images and master directories in the following format:
|-- images | |-- [Image Group UUID] | |--- [Image UUID (this is the disk image)] | |--- [Image UUID (this is the disk image)].meta |-- master | |---vms | |--- [UUID] | |--- [UUID].ovf
The basic syntax for the image uploader command is:
engine-image-uploader [options] listengine-image-uploader [options] upload [file].[file]...[file]
The image uploader command supports two actions: list, and upload.
- The list action lists the export storage domains to which images can be uploaded.
- The upload action uploads images to the specified export storage domain.
You must specify one of the above actions when you use the engine-image-uploader command. Moreover, you must specify at least one local file to use the upload action.
There are several parameters to further refine the engine-image-uploader command. You can set defaults for any of these parameters in the /etc/ovirt-engine/imageuploader.conf file.
General Options
- -h, --help
- Displays information on how to use the image uploader command.
- --conf-file=[PATH]
-
Sets
[PATH]as the configuration file the command will use. The default is/etc/ovirt-engine/imageuploader.conf. - --log-file=[PATH]
-
Sets
[PATH]as the specific file name the command will use to write log output. The default is/var/log/ovirt-engine/ovirt-image-uploader/ovirt-image-uploader-[date].log. - --cert-file=[PATH]
-
Sets
[PATH]as the certificate for validating the engine. The default is/etc/pki/ovirt-engine/ca.pem. - -i, --insecure
- Specifies that no attempt will be made to verify the engine.
- --quiet
- Sets quiet mode, reducing console output to a minimum.
- --verbose
- Sets verbose mode, providing more console output.
- -f, --force
- Specifies that no attempt will be made to verify the engine.
Force mode is necessary when the source file being uploaded has the same file name as an existing file in the destination export domain. This option forces the existing file to be overwritten.
Red Hat Enterprise Virtualization Manager Options
- -u [USER], --user=[USER]
-
Specifies the user whose credentials will be used to execute the command. The
[USER]is specified in the format[username]@[domain]. The user must exist in the specified domain and be known to the Red Hat Enterprise Virtualization Manager. - -r [FQDN], --engine=[FQDN]
-
Specifies the IP address or fully qualified domain name of the Red Hat Enterprise Virtualization Manager from which the images will be uploaded. It is assumed that the image uploader is being run from the same machine on which the Red Hat Enterprise Virtualization Manager is installed. The default value is
localhost:443.
Export Storage Domain Options
The following options specify the export domain to which the images will be uploaded. These options cannot be used together; you must use either the -e option or the -n option.
- -e [EXPORT_DOMAIN], --export-domain=[EXPORT_DOMAIN]
-
Sets the storage domain
EXPORT_DOMAINas the destination for uploads. - -n [NFSSERVER], --nfs-server=[NFSSERVER]
-
Sets the NFS path
[NFSSERVER]as the destination for uploads. - Import Options
- The following options allow you to customize which attributes of the images being uploaded are included when the image is uploaded to the export domain.
- -i, --ovf-id
-
Specifies that the
UUIDof the image will not be updated. By default, the command generates a newUUIDfor images that are uploaded. This ensures there is no conflict between the ID of the image being uploaded and the images already in the environment. - -d, --disk-instance-id
-
Specifies that the
instance IDfor each disk in the image will not be renamed. By default, the command generates newUUIDsfor disks in images that are uploaded. This ensures there are no conflicts between the disks on the image being uploaded and the disks already in the environment. - -m, --mac-address
-
Specifies that network components in the image will not be removed from the image. By default, the command removes network interface cards from image being uploaded to prevent conflicts with network cards on other virtual machines already in the environment. If you do not use this option, you can use the Administration Portal to add network interface cards to newly imported images and the Manager will ensure there are no
MAC addressconflicts. - -N [NEW_IMAGE_NAME], --name=[NEW_IMAGE_NAME]
- Specifies a new name for the image being uploaded.
1.3.1. Uploading the Appliance with the Image Uploader
The following procedure uploads the CloudForms Management Engine Appliance using the Image Uploader tool.
- Change to the directory containing the CloudForms Management Engine Appliance.
Run the following command:
# engine-image-uploader -N `newimagename` -e `myexportdomain` -v -m upload cfme-rhevm-5.3-15.x86_64.rhevm.ova
Substitute
newimagenamewith your chosen name for the image, and substitutemyexportdomainwith your chosen export storage domain.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): **********
ImportantEnsure your Red Hat Enterprise Virtualization Manager has administrator access to the chosen export storage domain.
It takes approximately 90 minutes to upload the CloudForms Management Engine Appliance file to the Red Hat Enterprise Virtualization Manager.
1.4. Uploading the Appliance Manually
The following procedure provides manual upload instructions if the Image Uploader tool is not available or fails to upload.
- Log into a host in your Red Hat Enterprise Virtualization with a mount to the Export storage domain.
- Change to the Export storage domain’s directory.
-
Copy the CloudForms Management Engine Appliance
OVFarchive to this directory. Extract the
OVFfile using thetarcommand:$ tar xvf cfme-rhevm-5.3-15.x86_64.rhevm.ova
Set the following permissions:
chown -R 36:36 images/ chown -R 36:36 master/
1.5. Running CloudForms Management Engine
After uploading the appliance to the export storage domain, import it as a template and create a virtual machine. Use the following procedure as a guide.
-
Import the appliance image from the export storage domain as a template in a Red Hat Enterprise Virtualization data storage domain. Use the
newimagenameyou specified when you uploaded the image to find the image to import as a template. Once the import is complete, check the template for a network interface (NIC). If the template does not include one, create a NIC for it. - Create a new virtual machine using the CloudForms Management Engine Appliance template as a basis. See the Red Hat Enterprise Virtualization Administrator Guide for instructions.
- Add a database disk if you are hosting the database on the same machine as the appliance.
- Start the newly created CloudForms Management Engine Appliance virtual machine.
Your Red Hat Enterprise Virtualization environment now contains a running CloudForms Management Engine Appliance.
Chapter 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.
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.
-
After starting the appliance, log in with a user name of
rootand the default password ofsmartvm. This displays the Bash prompt for therootuser. -
Enter the
appliance_consolecommand. The CloudForms Management Engine Appliance summary screen displays. -
Press
Enterto manually configure settings. -
Press the number for the item you want to change, and press
Enter. The options for your selection are displayed. - Follow the prompts to make the changes.
-
Press
Enterto accept a setting where applicable.
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.
ImportantA 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.ymlfile. - 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
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
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.
- Start the appliance and open a terminal from your virtualization or cloud provider.
-
After starting the appliance, log in with a user name of
rootand the default password ofsmartvm. This displays the Bash prompt for therootuser. -
Enter the
appliance_consolecommand. The CloudForms Management Engine Appliance summary screen displays. -
Press
Enterto manually configure settings. - Select 8) Configure Database from the menu.
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.
- Choose 1) Internal for the database location.
Choose a disk for the database. For example:
1) /dev/vdb: 20480 Choose disk:
Enter 1 to choose
/dev/vdbfor the database location.When prompted, enter a unique three digit region ID to create a new region.
ImportantCreating a new region destroys any existing data on the chosen database.
- 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.
CloudForms Management Engine 4.x requires PostgreSQL version 9.4.
- Start the appliance and open a terminal from your virtualization or cloud provider.
-
After starting the appliance, log in with a user name of
rootand the default password ofsmartvm. This displays the Bash prompt for therootuser. -
Enter the
appliance_consolecommand. The CloudForms Management Engine Appliance summary screen displays. -
Press
Enterto manually configure settings. - Select 8) Configure Database from the menu.
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.
- Choose 2) External for the database location.
- Enter the database hostname or IP address when prompted.
-
Enter the database name or leave blank for the default (
vmdb_production). -
Enter the database username or leave blank for the default (
root). - Enter the chosen database user’s password.
- Confirm the configuration if prompted.
CloudForms Management Engine configures 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.
- Start the appliance and open a terminal from your virtualization or cloud provider.
-
After starting the appliance, log in with a user name of
rootand the default password ofsmartvm. This displays the Bash prompt for therootuser. -
Enter the
appliance_consolecommand. The CloudForms Management Engine Appliance summary screen displays. -
Press
Enterto manually configure settings. - Select 8) Configure Database from the menu.
- 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.
- Choose 2) External for the database location.
- Enter the database hostname or IP address when prompted.
-
Enter the database name or leave blank for the default (
vmdb_production). -
Enter the database username or leave blank for the default (
root). - Enter the chosen database user’s password.
- Confirm the configuration if prompted.
