(4.0) IVG installer process

After configuring the pool of IVG servers through the IVG setup wizard, the IVG Installer automatically installs the necessary components onto the designated Virtual Machine (VM).

Overview

This article details the actions taken by the IVG installer for different deployment models. Consult any section below for more information on the installer process for your deployment model:

Considerations before installing

Installing on higher OS versions

IVG 3.12 can be installed on minor versions of CentOS/RHEL 6.x or 7.x, higher than than the installer was built for.

If you attempt to install on a higher minor version, dependency conflicts may occur. In this case, the IVG installer will:

  • Detect the dependency on the server and check its version
  • Detect that the dependency version is different than expected
  • If an internet connection is available, attempt to install any dependent applications from the Yum repository.
  • Present an error message to the user if the installation from Yum fails, or if no internet connection is available.

The error message will detail the specific dependency and the version needed, then the installer will abort the installation process.

Installing with LDAP

If the install_ivg.cfg file is configured to use LDAP user accounts and groups (ldap=yes), the uninstall_ivg.cfg file will be updated to ensure the uninstaller will not remove the users, groups, and installation paths for HVP, PostgreSQL, and Tomcat.

Executing the IVG prerequisite check

The IVG prerequisite check performs the following:

  • Verifies an IP address is allocated to the VM.
  • Verifies the correct version of CentOS or RHEL are installed.
    • Verifies the RHEL subscription is registered.
    • Verifies the OS architecture is 64-bit.

Refer to the VHT Callback® Compatibility and Integration Matrix for supported OS versions.

  • Verifies /etc/fstab is found to mount tmpfs on /tmp.
  • Verifies the installation and correct version of the OS dependencies for the voice platform. The prerequisites and their supported versions are located in the prerequisites folder of the ivginstaller-XXXX.zip file:
  • cyrus-sasl-plain
  • dos2unix (RHEL)
  • expat
  • expect
  • gzip
  • ksh
  • libaio
  • libcurl
  • libicu
  • libogg
  • libvorbis
  • libxml2
  • libxslt
  • libyaml
  • mailx
  • ncurses
  • net-snmp
  • net-tool
  • nfs
  • nfs-utils
  • openssh-clients
  • openssl
  • patch
  • pcre
  • perl
  • postgresql95-server
  • ruby
  • selinux
  • speex
  • tcsh
  • xerces
  • zsh
  • If a dependency is not installed, the installer installs the supported version of the dependency.
  • If a supported version of a dependency is already installed, the installer skips to the next dependency.
  • If a lower version of a dependency is installed, the installer uninstalls the lower version and installs the supported version.
  • If a higher version of a dependency is installed, the installer skips the dependency and moves to the next.
  • If a 32-bit version of a dependency is installed, the installer terminates.
  • Verifies the / partition has 1 GB of free disk space.
    • VHT® best practices recommend at least 1 GB of disk space for installation of the necessary Linux operating system dependencies.

Your IVG system will required more free disk space than this minimum value. Adjust your system resources accordingly.

  • Verifies the hollyinstallpath partition has 5 GBs of free disk space.
    • VHT best practices recommend at least 5 GBs of disk space for installation of the HVP components used by IVG.

Your IVG system will required more free disk space than this minimum value. Adjust your system resources accordingly.

  • Verifies the /tmp partition has 4 GBs of free disk space.
    • VHT best practices recommend at least 4 GBs of disk space for temporary storage of fetched audio, documents, and scripts.

Your IVG system will required more free disk space than this minimum value. Adjust your system resources accordingly.

  • Verifies the Swap space is equal to the amount of memory (RAM).
    • VHT best practices recommend the Swap space be equal to the memory space.

Your IVG system will require more free disk space than this minimum value. Adjust your system resources accordingly.

LDAP prerequisite check

If the install_ivg.cfg file is configured to use LDAP user accounts and groups for the installer, the following additional checks will be performed after the default prerequisite checks pass.

  • Verifies that users for PostgreSQL, Holly, and Tomcat and groups for PostgreSQL, Holly, Tomcat, and Realtime exist in the LDAP environment.
  • Logs into the LDAP user accounts and verifies that home directories exist for each.
  • Verifies that the configured installation paths match the relevant users' home directories.
  • Verifies that the configured OS groups exist in the LDAP environment.
  • Verifies that users for PostgreSQL, Holly, and Tomcat and groups for PostgreSQL, Holly, Tomcat, and Realtime do not exist locally on the IVG server.

IMPORTANT

If any of the LDAP prerequisite checks fail, the installer will stop and display an error message.

Standalone IVG deployments

A single IVG Installation installs all necessary components and prerequisites onto a single VM.


Standalone IVG installer process

  • Sets server umask value to 0022.

Setting umask to 0022 instead of 0027 allows all users to read, write, and run files from all directories. This permits full usage of IVG.

  • Prepares the Linux environment.
    • Adds hostname (short name), FQDN, and IP address to /etc/hosts file.
    • Enables Firewalls
    • Turns on IP tables
    • Checks for SELinux as enabled or disabled.
  • Verifies the installation and correct version of the OS dependencies for the voice platform. The prerequisites and their supported versions are located in the prerequisites folder of the ivginstaller-XXXX.zipfile:
  • Installs the PostgreSQL database.
  • Installs HVP and any required patches.
    • Creates the voice platform database with tablespace for:
      • Configuration
      • Logs
    • Starts the required HVP workers.
    • Applies performance enhancement default values.
  • Installs the SELinux security policies by executing the install_hollyhvp_selinux_policy.ksh script.

If SELinux is enabled, the IVG Installer provides an option to install SELinux policies. The policies allow HVP to function normally during SELinux enforcement, and avoid SELinux imposing limitations on the installation and operation of the platform. Please refer to Section 6 of the HVP Installation Guide for further information.

  • Configures the voice platform parameters.
  • Enables SSL/TLS if selected in the IVG installation wizard.
  • Configures the SMTP server if selected in the IVG installation wizard.
  • Configures Sentinel email if selected in the IVG installation wizard.
  • Provisions the voice platform applications.
  • Installs VXML Interaction Server (VIS) and its dependencies:
    • Verifies the supported version of Java Runtime Environment (JRE) is installed.
  • If a supported version of Java is already installed, the installer skips this step.
  • If an unsupported version of Java is installed, the installer uninstalls the unsupported version and installs the supported version.
  • Verifies the supported version of Apache Tomcat Version installed.
  • Publishes the VIS .war files under tomcat/webapps folder.
  • Publishes the voices media files to webapps folder.
  • Creates the name files folder under tomcat/webapps/ROOT.
  • Configures the toolkit.properties file under /etc/VirtualHold folder.
  • Creates a cron job for deleting old name files older than 8 days.
  • Creates a cron job for deleting old PostgreSQL logs older than 30 days.
  • Sets the OpenSSL certificate expiration date to the value specified in the install_ivg.cfg file. The default expiration is 365 days in the future.
  • Runs the HVP Call Control Interaction Server (CCIS) installation.
    • Publishes the ccis.war file under tomcat webapps.
    • Configures the voice platform parameters from the hvp_params.cfg file.
  • Creates the uninstall_ivg.cfg file and places it at /etc/VirtualHold/.
  • The installer restarts HVP to complete the installation.
  • The installer restarts the VM.

IVG deployed on multiple VMs

The IVG Installer must be executed on multiple VMs: the first VM will contain the database and the first IVG instance, and subsequent VMs will contain the additional IVG instances.


IVG and local PostgreSQL database installer process

The IVG Installer performs the following steps to install the PostgreSQL database on the first VM.

  • Sets server umask value to 0022.
  • Prepares the Linux environment.
    • Adds hostname (short name), FQDN, and IP address to /etc/hosts file.
    • Enables Firewalls
    • Turns on IP tables
    • Checks for SELinux as enabled or disabled.
  • Installs the PostgreSQL database.
  • Installs HVP and any required patches.
    • Creates the voice platform database with tablespace for:
      • Configuration
      • Logs
    • Starts the required HVP workers.
    • Applies performance enhancement default values.
  • Installs the SELinux security policies (if enabled in Step 2) by executing the install_hollyhvp_selinux_policy.ksh script.

If SELinux is enabled, the IVG Installer provides an option to install SELinux policies. The policies allow HVP to function normally during SELinux enforcement, and avoid SELinux imposing limitations on the installation and operation of the platform. Please refer to Section 6 of the HVP Installation Guide for further information.

  • Configures the voice platform parameters.
  • Enables SSL/TLS if selected in the IVG installation wizard.
  • Configures the SMTP server if selected in the IVG installation wizard.
  • Configures Sentinel email if selected in the IVG installation wizard.
  • Provisions the voice platform applications.
  • Installs VXML Interaction Server (VIS) and its dependencies:
    • Verifies the supported version of Java Runtime Environment (JRE) is installed.
  • If a supported version of Java is already installed, the installer skips this step.
  • If an unsupported version of Java is installed, the installer uninstalls the unsupported version and installs the supported version.
  • Verifies the supported version of Apache Tomcat Version installed.
  • Publishes the VIS .war files under tomcat/webapps folder.
  • Publishes the voices media files to webapps folder.
  • Creates the name files folder under tomcat/webapps/ROOT.
  • Configures the toolkit.properties file under /etc/VirtualHold folder.
  • Creates a cron job for deleting old name files older than 8 days.
  • Creates a cron job for deleting old PostgreSQL logs older than 30 days.
  • Runs the HVP Call Control Interaction Server (CCIS) installation.
    • Publishes the ccis.war file under tomcat webapps.
    • Configures the voice platform parameters from the hvp_params.cfg file.
  • Creates the uninstall_ivg.cfg file and places it at /etc/VirtualHold/.
  • The installer restarts the HVP to complete installation.
  • The installer restarts the VM.

IVG and remote PostgreSQL database installer process

The IVG Installer performs the following steps to install IVG on subsequent VMs.

  • Sets server umask value to 0022.

Setting umask to 0022 instead of 0027 allows all users to read, write, and run files from all directories. This permits full usage of IVG.

  • Prepares the Linux environment.
    • Adds hostname (short name), FQDN, and IP address to /etc/hosts file.
    • Enables Firewalls
    • Turns on IP tables
    • Checks for SELinux as enabled or disabled.
  • Installs HVP and any required patches.
    • Creates the voice platform database with tablespace for:
      • Configuration
      • Logs
    • Starts the required HVP workers.
    • Applies performance enhancement default values.
  • Installs the SELinux security policies (if enabled in Step 2) by executing the install_hollyhvp_selinux_policy.ksh script.

If SELinux is enabled, the IVG Installer provides an option to install SELinux policies. The policies allow HVP to function normally during SELinux enforcement, and avoid SELinux imposing limitations on the installation and operation of the platform. Please refer to Section 6 of the HVP Installation Guide for further information.

  • Configures the voice platform parameters.
  • Enables SSL/TLS if selected in the IVG installation wizard.
  • Configures the SMTP server if selected in the IVG installation wizard.
  • Configures Sentinel email if selected in the IVG installation wizard.
  • Provisions the voice platform applications.
  • Installs VXML Interaction Server (VIS) and its dependencies:
    • Verifies the supported version of Java Runtime Environment (JRE) is installed.
  • If a supported version of Java is already installed, the installer skips this step.
  • If an unsupported version of Java is installed, the installer uninstalls the unsupported version and installs the supported version.
  • Verifies the supported version of Apache Tomcat Version installed.
  • Publishes the VIS .war files under tomcat/webapps folder.
  • Publishes the voices media files to webapps folder.
  • Creates the name files folder under tomcat/webapps/ROOT.
  • Configures the toolkit.properties file under /etc/VirtualHold folder.
  • Creates a cron job for deleting old name files older than 8 days.
  • Creates a cron job for deleting old PostgreSQL logs older than 30 days.
  • Sets the OpenSSL certificate expiration date to the value specified in the install_ivg.cfg file. The default expiration is 365 days in the future.
  • Runs the HVP Call Control Interaction Server (CCIS) installation.
    • Publishes the ccis.war file under tomcat webapps.
  • Creates the uninstall_ivg.cfg file and places it at /etc/VirtualHold/.
  • The installer restarts HVP to complete installation.
  • The installer restarts the VM.

This installation process is repeated for any additional IVG instances installed on dedicated VMs.

Multi IVG and remote PostgreSQL database

The IVG Installer must be executed on multiple VMs: the first VM will contain the database, and subsequent VMs will contain the additional IVG instances. This deployment can also be deployed in a Standalone or High Availability (HA) VHT Callback® deployment.

Standalone VHT Callback deployment


High Availability VHT Callback deployment


Standalone PostgreSQL installer process

The IVG Installer performs the following steps to install the PostgreSQL database on the first VM.

  • Run the IVG Installer to complete the installation process. The IVG Installer installs the PostgreSQL database on the server by performing the following:
  • Install the prerequisites for PostgreSQL. The prerequisites and supported versions are located in the prerequisites folder of the ivginstaller-XXXX.zipfile.
    • expect
    • ksh
    • perl
    • postgresql95
    • postgres-client
    • ruby
  • Install the PostgreSQL database.
  • Creates the uninstall_ivg.cfg file and places it at /etc/VirtualHold/.