×

Deploying ManageIQ During or After OKD Installation

You can choose to deploy ManageIQ either during initial OKD installation or after the cluster has been provisioned:

  1. Ensure that openshift_management_install_management is set to true in your inventory file under the [OSEv3:vars] section:

    [OSEv3:vars]
    openshift_management_install_management=true
  2. Set any other ManageIQ role variables in your inventory file as described in Configuring Role Variables. Resources to assist in this are provided in Example Inventory Files.

  3. Choose which playbook to run depending on whether OKD is already provisioned:

    1. If you want to install ManageIQ at the same time you install your OKD cluster, call the standard config.yml playbook as described in Running the Installation Playbooks to begin the OKD cluster and ManageIQ installation.

    2. If you want to install ManageIQ on an already provisioned OKD cluster, change to the playbook directory and call the ManageIQ playbook directly to begin the installation:

      $ cd /usr/share/ansible/openshift-ansible
      $ ansible-playbook -v [-i /path/to/inventory] \
          playbooks/openshift-management/config.yml

Example Inventory Files

The following sections show example snippets of inventory files showing various configurations of ManageIQ on OKD that can help you get started.

See Configuring Role Variables for complete variable descriptions.

All Defaults

This example is the simplest, using all of the default values and choices. This results in a fully-containerized (podified) ManageIQ installation. All application components, as well as the PostgreSQL database, are created as pods in OKD:

[OSEv3:vars]
openshift_management_app_template=miq-template

External NFS Storage

This is as the previous example, except that instead of using local NFS services in the cluster, it uses an existing, external NFS server (such as a storage appliance). Note the two new parameters:

[OSEv3:vars]
openshift_management_app_template=miq-template
openshift_management_storage_class=nfs_external (1)
openshift_management_storage_nfs_external_hostname=nfs.example.com (2)
1 Set to nfs_external.
2 Set to the host name of the NFS server.

If the external NFS host exports directories under a different parent directory, such as /exports/hosted/prod, add the following additional variable:

openshift_management_storage_nfs_base_dir=/exports/hosted/prod

Override PV Sizes

This example overrides the persistent volume (PV) sizes. PV sizes must be set via openshift_management_template_parameters, which ensures that the application and database are able to make claims on created PVs without interfering with each other:

[OSEv3:vars]
openshift_management_app_template=miq-template
openshift_management_template_parameters={'APPLICATION_VOLUME_CAPACITY': '10Gi', 'DATABASE_VOLUME_CAPACITY': '25Gi'}

Override Memory Requirements

In a test or proof-of-concept installation, you may need to reduce the application and database memory requirements to fit within your capacity. Note that reducing memory limits can result in reduced performance or a complete failure to initialize the application:

[OSEv3:vars]
openshift_management_app_template=miq-template
openshift_management_template_parameters={'APPLICATION_MEM_REQ': '3000Mi', 'POSTGRESQL_MEM_REQ': '1Gi', 'ANSIBLE_MEM_REQ': '512Mi'}

This example instructs the installer to process the application template with the parameter APPLICATION_MEM_REQ set to 3000Mi, POSTGRESQL_MEM_REQ set to 1Gi, and ANSIBLE_MEM_REQ set to 512Mi.

These parameters can be combined with the parameters displayed in the previous example Override PV Sizes.

External PostgreSQL Database

To use an external database, you must change the openshift_management_app_template parameter value to miq-template-ext-db.

Additionally, database connection information must be supplied using the openshift_management_template_parameters variable. See Configuring Role Variables for more details.

[OSEv3:vars]
openshift_management_app_template=miq-template-ext-db
openshift_management_template_parameters={'DATABASE_USER': 'root', 'DATABASE_PASSWORD': 'mypassword', 'DATABASE_IP': '10.10.10.10', 'DATABASE_PORT': '5432', 'DATABASE_NAME': 'cfme'}

Ensure your are running PostgreSQL 9.5 or you may not be able to deploy the application successfully.

Additional Resources

In addition to the procedures in this guide, the upstream project manageiq/manageiq-pods contains additional resources useful for managing and operating your ManageIQ} installation, including: