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.

Excute installation script#

To install EclecticIQ Intelligence Center (EIQ IC), use the /ic-playbooks/utils script to run all the required playbooks in order.

Install with Ollama host

If you’ve procured an Ollama node and entered its variables in the .env file for this installation, this script will run the playbooks that configure that node as a part of the deployment you chose.

To use the provided script, on your controle node, run:

./utils/deploy-from-inventory.sh

(Discouraged) Execute individual playbooks#

Use script instead

We recommend running the installation script instead of running individual playbooks.

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