ibm.infosvr

ansible-role-infosvr

This is an Ansible role designed to automate the setup of an IBM InfoSphere Information Server environment for versions 11.5 and 11.7. It covers:

  • The database (repository) tier
  • The services (domain) tier
  • The engine tier
  • Unified governance ("Enterprise Search") tier (available only in v11.7)
  • Patches and fixpacks

The role also includes modules from the Enterprise Edition, which can be turned off if you don’t want to use them or aren’t entitled to:

  • Information Governance Catalog
  • Information Analyzer
  • DataStage Operations Console
  • DataClick
  • Event Management (integrated with Data Quality Exception Console)
  • Data Quality Exception Console
  • QualityStage
  • Information Services Director
  • FastTrack
  • Information Governance Dashboard (requires a Cognos environment)
  • Optim Masking within DataStage
  • Additional features in v11.7:
    • New UI for Information Governance Catalog
    • Governance Monitor dashboards
    • Enterprise Search (includes Knowledge Graph)
    • DataStage Flow Designer
    • Machine Learning Term Classification (v11.7+)

Currently, the deployment supports only DB2 as the back-end, accommodating both a fresh DB2 install and the configuration of an existing DB2 setup. You can choose between a full WebSphere Application Server Network Deployment configuration or a WebSphere Liberty Profile configuration (see variables below for more info). Note that the role cannot configure an existing WebSphere installation.

If you are new to Ansible, you might find this simple introduction useful.

Requirements

Role Variables

Refer to defaults/main.yml for detailed documentation and the example below for key variables. The defaults file already has the basic settings for a standard v11.7 installation, so you only need to adjust those variables you’d like to change (like user passwords).

The essential variables to customize are:

  • ibm_infosvr_media_dir: where the installation files are stored on your Ansible host (e.g., from Passport Advantage)
  • ibm_infosvr_media_bin: the names of the installation files (default contains the latest v11.7; replace with v11.5 files if needed)
  • ibm_infosvr_ug_storage: extra storage on the Unified Governance tier for Kubernetes (should be unmounted, not part of an LVM group)
  • ibm_infosvr_features: define which features you want (True) or don’t want (False)

Make sure to also set various credential variables for security. Look for _upwd_ in defaults/main.yml to find all password variables you need to change; you can replace them with references to more secure variables stored with an Ansible vault.

Dependencies

The role uses the IBM.infosvr-metadata-asset-manager role to configure the Information Analyzer indirectly. This role is not listed as a direct dependency to avoid circular references, but should be installed if you intend to set up the Information Analyzer.

Example Playbook

Here is an example playbook to fully install and configure IBM InfoSphere Information Server using default settings from defaults/main.yml (and any changes you've made in files like group_vars/all.yml). Since the installation covers multiple components, use any_errors_fatal to prevent partial installations if a step fails.

---

- name: Install and configure IBM InfoSphere Information Server
  hosts: all
  any_errors_fatal: true
  roles:
    - IBM.infosvr
  pre_tasks:
    - name: Update all OS-level packages
      yum:
        state: latest
        name: '*'
        exclude: docker*,kubelet*,kubectl*,kubeadm*
      become: yes
      when: ('ibm_information_server_clients' not in group_names)

The pre-tasks ensure that all OS-level packages are up-to-date before starting the installation.

Expected Inventory

The following groups are expected in your inventory to help designate the installation locations for various components. You can install multiple components on one server by listing the same hostname in different groups. For example, the repository and domain tiers can be placed on 'serverA', the engine tier on 'serverB', and the Unified Governance tier on 'serverC'.

[ibm_information_server_repo]
# Linux host for repository tier (DB2)
serverA.somewhere.com

[ibm_information_server_domain]
# Linux host for domain tier (WebSphere)
serverA.somewhere.com

[ibm_information_server_engine]
# Linux host for engine tier
serverB.somewhere.com

[ibm_information_server_clients]
# Windows host for client applications and Metadata Interchange Server for Windows-only brokers
client.somewhere.com

[ibm_information_server_ug]
# Linux host for the Unified Governance tier (v11.7+) (Kubernetes)
serverC.somewhere.com

[ibm_information_server_external_db]
# Linux host for an existing database to deploy XMETA; if none provided, installs DB2 on the repo server
serverD.somewhere.com

[ibm_cognos_report_server]
# Linux host with pre-existing Cognos BI installation for the Information Governance Dashboard
cognos.somewhere.com

[ibm_bpm]
# Linux host with a pre-existing BPM installation (currently not used)
bpm.somewhere.com

As with any Ansible inventory, ensure you provide enough details for connecting to the servers (see http://docs.ansible.com/ansible/latest/intro_inventory.html#list-of-behavioral-inventory-parameters).

Tags

Installing patches

This role can also keep your installation updated with patches. To apply patches, enter the relevant details in the files under vars/patches/[server|client]/<version>/<date>.yml. For example, fixes for v11.7.1.0 should go into vars/patches/server/11.7.1.0/<date>.yml, while client-side fixes for v11.7.0.2 should go into vars/patches/client/11.7.0.2/<date>.yml.

Each patch should be defined as:

ibm_infosvr_patch_definition:
  name: patch_name
  srcFile: patch_file.tar.gz
  pkgFile: patch_file.ispkg
  versionId: version_tag
  tiers:
    - domain
    - engine

JDK updates should be included under vars/patches/jdk/[server|client]/<major>/latest.yml.

Use the update tag to run updates:

ansible-playbook [-i hosts] [site.yml] --tags=update

This will apply any patches not already applied. It will not update system-level packages, so ensure your broader playbook addresses that.

Environment operations

There are several tags for managing the environment, especially when involving multiple hosts:

  • status: checks if configured components are running.
  • stop: gracefully shuts down components without stopping the hosts.
  • start: starts components in order across hosts.
  • restart: stops and then starts components.

Reusable tasks

The role includes reusable tasks for use in other roles needing Information Server characteristics without going through the entire installation process.

setup_vars.yml

To retrieve deployment configuration variables later, use the setup_vars.yml tasks in your playbook:

---

- name: Set up Information Server vars
  hosts: all
  tasks:
    - import_role: name=IBM.infosvr tasks_from=setup_vars.yml

get_certificate.yml

To retrieve the SSL certificate for the domain tier, use the get_certificate.yml tasks:

---

- name: Set up Information Server vars
  hosts: all
  tasks:
    - import_role: name=IBM.infosvr tasks_from=setup_vars.yml
    - import_role: name=IBM.infosvr tasks_from=get_certificate.yml

This retrieves the SSL certificate and saves it to cache/__ibm_infosvr_cert_root.crt.

License

Apache 2.0

Author Information

Christopher Grote

Informazioni sul progetto

Automates the deployment and configuration of IBM Information Server

Installa
ansible-galaxy install ibm.infosvr
Licenza
apache-2.0
Download
327