
Yagi-workers are now created per cell. One rabbit per cell. Also renamed the common role to stv3-common to prevent conflicts with other playbooks. Take note of ansible/roles/stv3-workers/defaults/main.yaml to see an example of the expected format of the calling facts file. Each entry in this list-of-dictionaries represents a rabbit server and Swift container for that cell. Also, multiple pipeline_workers are created based on the value of num_pipeline_workers (defaults to 2). This is so a machine can better utilize multi-core architectures. Change-Id: I09c4d364878493546d6e23e019f01f5f4f38c37c
stv3-config
Configuration playbooks for StackTach.v3 deployments
Assumes an inventory value that has nodes or groups that start with "stv3-api" or "stv3-workers".
Execution would look like:
ansible-playbook workers.yaml
Assumes a stv3-db setup already exists.
There are also roles for database and api. The common
role is responsible for installing the tarball and creating the necessary user/group accounts. Both the API and workers depend on the common role since they both require the codebase and winchester configuration files.
What it does
- Creates
stv3
user andstv3
group - Creates
/etc/stv3
directory for configuration data - Creates
/var/run/stv3
directory for pid files - Creates
/var/log/stv3
directory for log files - Copies config files to
/etc/stv3
- Copies init.d files to
/etc/init.d
for yagi-events and pipeline-worker - Copies and expands the StackTach.v3 tarball to
/opt/stv3
- Starts the yagi worker daemon and the winchester worker (yagi-events and pipeline-worker respectively)
The init.d files handle the .pid file creation and running as stv3 user.
While yagi-events and pipeline-worker are capable to running daemonized, we don't use that code. Instead, we let the init.d scripts handle the backgrounding and process management.
The connection from the host machine to the target machine has to have a secure account already created for anisble to run. Currently it assumes an account called stacktach
and it has root capabilities. When the daemons run, they run as stv3
... which is just a service account.