Link Search Menu Expand Document

AdvantEDGE comes with a set of Ansible playbooks to streamline platform environment setup.

Playbooks are currently a beta-feature
They are available for configuring the runtime & development environments

We’ve used them to setup multiple systems/VMs and are confident they will work, so you are welcome to try them
To help us sanitize Playbooks, let us know in GitHub Issues if you encounter problems.

Ansible Installation

To run playbooks, you must first install ansible on your management system. This machine can be one of your AdvantEDGE platform cluster nodes or any other system with SSH access to the cluster.

Official install procedure and Ansible documentation can be found here

# Ubuntu install procedure
sudo apt-get update
sudo apt-get install software-properties-common
sudo apt-get install ansible
sudo apt-get install ssh sshpass

Playbook Inventory Configuration

Playbooks require an inventory of hosts where playbook tasks will be run. The hosts.ini inventory file is used to configure the list of hosts. It can be found in the AdvantEDGE playbooks folder.

AdvantEDGE hosts are grouped into master, worker, cluster and dev hosts. These groups are used by the playbooks to run group-specific tasks for each of the managed hosts.

You must update the hosts.ini inventory file to match your setup before running the playbooks.

Usage

To run a playbook you must:

  • Enable SSH access to your managed hosts (e.g. you must be able to ssh into the system)
  • Update the hosts.ini inventory file (the one in the repo’s playbooks folder) with host IP address(es) and user name(s)
  • Run the playbook using the ansible-playbook command:
# Install Runtime Environment
ANSIBLE_CONFIG=./ansible.cfg ansible-playbook install-runtime-env.yml

# Uninstall Runtime Environment
ANSIBLE_CONFIG=./ansible.cfg ansible-playbook uninstall-runtime-env.yml

# Install Development Environment
ANSIBLE_CONFIG=./ansible.cfg ansible-playbook install-development-env.yml

NOTE: You will be prompted for SSH & sudo passwords when you run a playbook.
This allows ansible to connect to the managed hosts and to run tasks with elevated privileges when necessary.