Playbooks | 3.x | Install | Run#
Important
For instructions to upgrade an existing installation, see our upgrade documentation instead.
Requirements#
You must have already prepared the nodes you are going to install on.
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.
(RECOMMENDED) 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
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 |
---|---|
|
(Optional) Use |
|
Specify the path to the inventory file that matches your chosen deployment. |
|
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.
Load
.env
. Run:source .env
Prepare nodes (
pb-pre_requisites.yml
). Run:ansible-playbook --tags=all,logstash -i inventories/<inventory_file.yml> pb-pre_requisites.yml
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
Install foundational components and base configuration. Run:
ansible-playbook --tags=all,logstash -i inventories/<inventory_file.yml> pb-install-foundations-and-base.yml
Upgrade Elasticsearch data. Run:
ansible-playbook --tags=all,logstash -i inventories/<inventory_file.yml> pb-es-upgrade-data.yml
Install Intelligence Center components. Run:
ansible-playbook --tags=all,logstash -i inventories/<inventory_file.yml> pb-install_intelligence_center.yml
Upgrade PostgreSQL database. Run:
ansible-playbook --tags=all,logstash -i inventories/<inventory_file.yml> pb-pg_upgrade.yml
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
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
Start services after upgrade or installation. Run:
ansible-playbook --tags=all,logstash -i inventories/<inventory_file.yml> pb-start_services.yml
Migrate databases to the new schema/version. Run:
ansible-playbook --tags=all,logstash -i inventories/<inventory_file.yml> pb-migrate_databases.yml
Configure Intelligence Center after installation. Run:
lansible-playbook --tags=all,logstash -i inventories/<inventory_file.yml> pb-configure_intelligence_center.yml
Perform post-installation tasks. Run:
ansible-playbook --tags=all,logstash -i inventories/<inventory_file.yml> pb-post.yml
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
Initialize replication (
pb-pg_start_replication.yml
). Run:ansible-playbook --tags=all,logstash -i inventories/<inventory_file.yml> pb-pg_start_replication.yml
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