Skip to content

COTS

In this section, we will see where the COTS are installed and configured.

When running cat $PUNCHPLATFORM_CONF_DIR/punchplatform-deployment.settings | jq .platform, it returns information about root installation for COTS.

{
  "platform_id": "punchplatform-primary",
  "setups_root": "/data/opt",
  "remote_data_root_directory": "/data",
  "remote_logs_root_directory": "/var/log/punchplatform",
  "punchplatform_daemons_user": "punchdaemon",
  "punchplatform_group": "punch",
  "binaries_version": "punch-binaries-6.4.4-SNAPSHOT"
}
This configures the platform so that COTS have:

  • installation folder in /data/opt.
  • data stored in /data folder.
  • logs written in /var/log/punchplatform.
  • process owned by user punchdaemon.

Opensearch example

Let's take Opensearch example which is installed on server1, server2 and server3.

Installation directory

In the installation directory, you can find the configuration file for Opensearch. This was filled by information provided in punchplatform-deployment.settings.

cat /data/opt/opensearch-1.2.4/config/opensearch.yml

Service file

Opensearch is launched through a service. You can check the service file:

sudo systemctl cat opensearch.service

You can find the parameters about memory that you have configured.

Logs directory

If you want to access to your Opensearch logs:

tail -f /var/log/punchplatform/opensearch.log

This is pretty useful when debugging the platform.

How is Opensearch deployed ?

The deployer is based on Ansible and configures Opensearch with following steps:

  1. Generate Ansible inventory based on .opensearch section in punchplatform-deployment.settings. The result is in ~/pp-conf/generated_inventory/opensearch_inventory.
  2. This inventory is used to generate variables for the punch-deployer-6.4.4-SNAPSHOT/roles/opensearch-server role.
  3. Those variables fill different templates and files in punch-deployer-6.4.4-SNAPSHOT/roles/opensearch-server/templates.