Playbooks | 3.x | Install | Run#

Important

For instructions to upgrade an existing installation, see our upgrade documentation instead.

Requirements#

Run the playbooks#

Tip

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   

Recommended Run the playbooks by executing the provided script, but you can also run the individual playbooks manually.

Execute individual playbooks#

Use script instead

We recommend running the installation script, instead.

You can manually run each playbook to install EIQ IC instead of using the installation script.

See the ansible-playbook command and option example in the dropdown below:

Usage: Ansible playbook command and options
ansible-playbook --tags=all,logstash -i inventories/<inventory_file.yml> <pb-playbook.yml>

Option

Description

--tags=all,logstash

(Optional) Use --tags=all,logstash to include Logstash. You can omit this option entirely to install EclecticIQ Intelligence Center without Logstash.

-i inventories/<inventory_file.yml>

Specify the path to the inventory file that matches your chosen deployment.

<pb-playbook.yml>

This is the playbook to run.

Run the playbooks in the sequence specified in the dropdown below:

Playbook sequence

Idempotence

These playbooks here are idempotent. Repeated runs have no effect.

If there is nothing for a playbook to do (e.g. tasks do not apply to deployment type), running it has no effect.

  1. Load .env. Run:

    source .env
    
  2. Prepare nodes (pb-pre_requisites.yml). Run:

    ansible-playbook --tags=all,logstash -i inventories/<inventory_file.yml> pb-pre_requisites.yml
    
  3. Stop services before proceeding with the upgrade or installation process. Run:

    ansible-playbook --tags=all,logstash -i inventories/<inventory_file.yml> pb-stop_services.yml
    
  4. Install foundational components and base configuration. Run:

    ansible-playbook --tags=all,logstash -i inventories/<inventory_file.yml> pb-install-foundations-and-base.yml
    
  5. Upgrade Elasticsearch data. Run:

    ansible-playbook --tags=all,logstash -i inventories/<inventory_file.yml> pb-es-upgrade-data.yml
    
  6. Install Intelligence Center components. Run:

    ansible-playbook --tags=all,logstash -i inventories/<inventory_file.yml> pb-install_intelligence_center.yml
    
  7. Upgrade PostgreSQL database. Run:

    ansible-playbook --tags=all,logstash -i inventories/<inventory_file.yml> pb-pg_upgrade.yml
    
  8. Start PostgreSQL replication. Run:

    Only for multi-node

    Skip this if deploying a configuration with only a single PostgreSQL node.

    ansible-playbook --tags=all,logstash -i inventories/<inventory_file.yml> pb-pg_start_replication.yml
    
  9. Configure pgpool for PostgreSQL. Run:

    Only for PGPool

    Skip this if deploying a configuration without PGpool.

    ansible-playbook --tags=all,logstash -i inventories/<inventory_file.yml> pb-pgpool.yml
    
  10. Start services after upgrade or installation. Run:

    ansible-playbook --tags=all,logstash -i inventories/<inventory_file.yml> pb-start_services.yml
    
  11. Migrate databases to the new schema/version. Run:

    ansible-playbook --tags=all,logstash -i inventories/<inventory_file.yml> pb-migrate_databases.yml
    
  12. Configure Intelligence Center after installation. Run:

    lansible-playbook --tags=all,logstash -i inventories/<inventory_file.yml> pb-configure_intelligence_center.yml
    
  13. Perform post-installation tasks. Run:

    ansible-playbook --tags=all,logstash -i inventories/<inventory_file.yml> pb-post.yml
    
  14. Reboot your managed node(s) after pb-post.yml completes.

New install with multi-node PostgreSQL#

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). Run:

    ansible-playbook --tags=all,logstash -i inventories/<inventory_file.yml> pb-pg_start_replication.yml
    
  2. Then make sure all services are running (pb-start_services.yml). Run:

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