Installation with Ansible
Download our Ansible playbook and run it to install easily Gatling Enterprise and Cassandra.
Requirements
The installer can be run from anywhere.
Ansible will be used to perform the installation. You’ll need:
- Python 2.7.7+ or 3.5+
- Ansible 2.7.6+
- An instance/VM (at least
c5.large
or equivalent) running on supported Linux distributions
Supported Linux distributions are:
- Amazon Linux 1/2
- CentOS 7
- Debian 8/9/10
- RHEL (RedHat Enterprise Linux) 7
In case you don’t already use Ansible, you can download it from here. You do not need any Ansible knowledge to use this installer.
If you do want to know more about Ansible, you can check its user guide.
Configuring a proxy
Ansible will use the shell’s proxy when running the script in your computer.
If you need to specify a proxy for the remote machine on which Gatling Enterprise will be installed, you can add environment variables at the installer level, in frontline.yml
:
- hosts: all
+ environment:
+ http_proxy: http://proxy.bos.example.com:8080
+ https_proxy: http://proxy.bos.example.com:8080
roles:
# ...
Don’t put these in configuration.yml
, you should see a warning like this one if you do:
[WARNING]: Skipping unexpected key (environment) in group (all), only "vars", "children" and "hosts" are valid
In case you decide to run ansible locally, it is necessary to use global environment variables before running the installer:
export HTTP_PROXY=http://proxy.bos.example.com:8080
export HTTPS_PROXY=http://proxy.bos.example.com:8080
Using the installer
Downloading and integrity checking
You can download the installer here:
REPLACE_WITH_YOUR_CUSTOM_GATLING_ENTERPRISE_BUNDLE_DOWNLOAD_LINK/frontline-installer/1.23.0/frontline-installer-1.23.0.zip
We suggest you download and check the integrity of the installer by doing the following:
#!/bin/bash
# The two variables you must change
version=1.23.0
custom_url=REPLACE_WITH_YOUR_CUSTOM_GATLING_ENTERPRISE_BUNDLE_DOWNLOAD_LINK
archive_name=frontline-installer-${version}.zip
archive_url=${repo_url}/frontline-installer/${version}/${archive_name}
curl -O ${archive_url}
curl -O ${archive_url}.sha1
echo "$(cat ${archive_name}.sha1) ${archive_name}" | sha1sum -c -
# For MacOS users: shasum -a 1 -c -
If you have aliases on echo
and/or cat
, you can prefix them with an anti-slash to make sure you are using the original command instead, as such: \echo
, \cat
.
Configuring the installer
After unzipping the installer, you’ll need to fill in your instance’s SSH connection info and provided UUID in configuration.yml
.
all:
hosts:
frontline:
ansible_host: REPLACE_WITH_YOUR_FRONTLINE_HOST
ansible_ssh_private_key_file: REPLACE_WITH_YOUR_PATH_TO_PRIVATE_KEY_FILE
ansible_user: REPLACE_WITH_YOUR_FRONTLINE_HOST_USER
vars:
frontline:
uuid: REPLACE_WITH_YOUR_OWN_UUID
You can also modify in configuration.yml
whether you want to install build tools (Maven, Gradle, sbt), Nginx or kubectl (required for Kubernetes pools).
Running the installer
Type in ./installer.sh
and wait for the installation to end.
The script will ask for a sudo password. On Amazon Linux 1 and 2, the default user ec2-user
is able to sudo without any password, so you can just type in <Enter>
twice.
The script is idempotent. It means you can run it multiple times without compromising your previous installation. It also means you can start over a previous failed run and continue on.
Running the installer locally
In case you don’t have the necessary tools to run Ansible remotely, i.e. running Ansible on your machine in order to install Gatling Enterprise on another machine, you can launch Ansible directly on the machine that will host Gatling Enterprise.
First, you need to copy the inventory configuration.yml
file vars inside the playbook frontline.yml
file, as such:
- hosts: all
vars: # part you need to copy
...
roles:
...
Then, you will be able to run Ansible directly on the host you intend to install Gatling Enterprise in:
ansible-playbook \
-b --ask-become-pass \
-c local \
-i localhost, \
frontline.yml
Running Gatling Enterprise
Services will be configured for each installed components of Gatling Enterprise. They will automatically start on boot.
You can control them with the service
/systemctl
command:
# On SysV-based distributions
sudo service {cassandra|frontline|nginx} {start|stop}
# On systemd-based distributions
sudo systemctl {start|stop} {cassandra|frontline|nginx}
Installation Layout
Two users will be created, cassandra
and frontline
, that will be used by, respectively, Cassandra and Gatling Enterprise.
group:user
to frontline:frontline
.Installation and configuration directories:
/opt/cassandra
/opt/frontline
Nginx is installed using the packager of the distribution.
All other dependencies (I.e.: builders), are also installed in /opt
.
Versions are installed in their own directories and linked to /opt/cassandra
and/or /opt/frontline
. Previous configuration files won’t be overwritten on update.
Home and data directories:
/var/lib/cassandra
/var/frontline
SystemV configuration files:
/etc/sysconfig/cassandra
/etc/sysconfig/frontline
Any changes to the PATH
of each service can be pushed in these files.
SystemV services files:
/etc/init.d/cassandra
/etc/init.d/frontline
Systemd unit files:
/etc/systemd/system/cassandra.service
/etc/systemd/system/frontline.service
Logging directories:
/var/log/cassandra
/var/log/frontline
Troubleshooting
If anything goes wrong during the installation. You can turn on Ansible logging by modifying the following line in the frontline.yml
file, switching the value of no_log
from True
to False
:
no_log: False