Run installation playbooks#

Important

This page describes steps for new installations.

For instructions to upgrade an existing installation, see Upgrade with playbooks instead.

  • You must complete the steps in Prepare nodes before running the instructions here.

  • You must run the playbooks in the sequence specified.

  • A playbook run is successful if has 0 failed tasks.

    The following is an example PLAY RECAP from a successful (failed=0) single node playbook run:

    PLAY RECAP ******************************************************************************************
    application-node           : ok=64   changed=44   unreachable=0    failed=0    skipped=12   rescued=0    ignored=0   
    localhost                  : ok=1    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
    

Single node/small deployments#

Tip

Not recommended for production systems. Use the 6 node and 11 node deployment configurations instead. See Production deployments

Run the following commands to install the IC on a single managed node:

Tip

Install Logstash

Logstash is not installed by default. To install Logstash, add --tags=all,logstash to each ansible-playbook command.

On the control node:

  1. (Optional) Run the pre-requisites playbook to install OS updates on your managed node:

    ansible-playbook --tags=all,logstash -i inventories/ic-1host-test.yml pb-pre_requisites.yml
    

    You must reboot the managed node after this playbook completes.

  2. Run the install playbook:

    ansible-playbook --tags=all,logstash -i inventories/ic-1host-test.yml pb-install_intelligence_center.yml
    
  3. Make sure services have started:

    ansible-playbook --tags=all,logstash -i inventories/ic-1host-test.yml pb-start_services.yml
    
  4. Run database migrations:

    ansible-playbook --tags=all,logstash -i inventories/ic-1host-test.yml pb-migrate_databases.yml
    
  5. Start services:

    ansible-playbook --tags=all,logstash -i inventories/ic-1host-test.yml pb-start_services.yml
    

Production deployments#

The following covers instructions to install the IC on multi-node scenarios.

You must configure and use the correct inventory file for your deployment. See Prepare nodes for more information.

The following table lists the inventory files for each deployment scenario. Replace <inventory_file.yml> in the commands below with the path to the inventory file appropriate to your configuration.

Deployment

Inventory file

1 node

inventories/ic-1host-test.yml

2 node

inventories/ic-2host-test.yml

4 node

inventories/ic-4host-test.yml

6 node

inventories/ic-6host-prod.yml

11 node

inventories/ic-11host-prod.yml

Tip

Use at least 6 nodes when deploying for production.

Tip

Install Logstash

Logstash is not installed by default. To install Logstash, add --tags=all,logstash to each ansible-playbook command.

On the control node, run playbooks with the ansible-playbook command. For example (omit --tags=all,logstash if your deployment configuration does not include Logstash):

ansible-playbook --tags=all,logstash -i inventories/<inventory_file.yml> <pb-playbook.yml>

Run the playbooks in this sequence:

  1. (Optional) Run the pre-requisites playbook to install OS updates on your managed nodes: pb-pre_requisites.yml

    You must reboot all managed nodes after this playbook completes.

  2. Run the install playbook: pb-install_intelligence_center.yml

  3. Make sure services have started at least once: pb-start_services.yml

  4. Run database migrations: pb-migrate_databases.yml

  5. Start services: pb-start_services.yml

  6. (Only deployments with more than one Elasticsearch node) Bootstrap Elasticsearch cluster. This allows the IC to address more than one Elasticsearch nodes as data nodes.

    Warning

    This purges data from all Elasticsearch nodes.

    1. Set Elasticsearch multi-node configuration: pb-elasticsearch_fix_ic_config_multinode.yml

    2. Remove the Elasticsearch data directory on Elasticsearch nodes: pb-elasticsearch_destroy_cluster.yml

    3. Run database migrations: pb-migrate_databases.yml

    4. Start services: pb-start_services.yml

  7. (Only for deployments with more than one PostgreSQL nodes)

    To initialize replicas in a PostgreSQL cluster, run the PostgreSQL replication playbook:

    Danger

    This purges data from all PostgreSQL nodes set in your inventory file with the property: eiq_ic_pg_replication__node_role: replica

    1. Initialize replication: pb-pg_start_replication.yml

    2. Then make sure all services are running: pb-start_services.yml