Skip to content

Latest commit

 

History

History
96 lines (63 loc) · 2.4 KB

ansible.md

File metadata and controls

96 lines (63 loc) · 2.4 KB

Using Ansible to automate setting up the benchmark

The generate.py script is the primary means of setting up the air traffic benchmark. It is intended to be easy enough to use by itself but for convenience we also provide an Ansible role which automates some of the steps. It can be used as is or serve as the starting point for your own automation.

This description assumes basic familiarity with Ansible.

The airtraffic_benchmark role

The roles directory of this repository contains one role, airtraffic_benchmark. It performs the following tasks:

  • it creates and starts the database (but not the database farm) if necessary.

  • it generates a nodefile and runs generate.py.

  • on each node it creates a toplevel directory which will hold a subdirectory generated by generate.py and also the atraf-data download directory shared by all of these.

  • it copies the output of generate.py to all of the nodes and runs make download, make schema and make insert.

Settings

Mandatory:

  • atraf_subset. Subset to test.

  • atraf_dir. Top level directory on the nodes.

Common:

  • atraf_db. Name of the database on this node. Default: {{atraf_config_name}}.

  • atraf_data. Boolean indicating whether a node should hold data. Often set to false on a single node to create a dataless master node. Default: true.

  • mapi_uri. MAPI URL of the node. Default: extracted from the monetdb status command. Can be set explicitly if this output is somehow incorrect.

  • atraf_config_name. Used as the base for numerous other settings such as the database name. Default: <SUBSET>_<#NODES>x, for example 3mo_4x.

  • atraf_force_reload. Drop existing schema if it exists. Default: false.

Also:

  • monetdb_bin_dir. Default: {{monetdb_prefix}}/bin if `monetdb_prefix is defined, none otherwise.

  • monetdb_user. Used in .monetdb. Default: monetdb.

  • monetdb_password. Used in .monetdb. Default: monetdb.

  • atraf_data_location. Override the download URL for the data files. Useful for setting up a local mirror.

Example

Inventory:

[atraf]
node01 atraf_data=no
node02
node03
node04

[atraf:vars]

atraf_dir = "{{ ansible_env.HOME }}/ATRAF"
atraf_subset = 3mo

Playbook site.yml

---
- hosts: atraf
  roles:
  - airtraffic_benchmark