PT Anywhere

Published on 2016-6-3

The complete installation process is described in detail here.

All the machines needed to create a typical PT Anywhere installation can be provisioned using a modular Ansible playbook (it follows best practices). This Ansible playbook describes the steps needed to install each component in a self-documented, simple and easy to read way. For more details, check the detailed instructions.

Ansible is an IT automation tool. It can configure systems, deploy software, and orchestrate more advanced IT tasks such as continuous deployments or zero downtime rolling updates.

The Ansible script can be used in already existing machines (virtual or not):

ansible-playbook -vvvv -u [remote-user] -i machine --private-key [private-key-location] --ask-become-pass main.yml

Sometimes it might also be useful to create and provision virtual machines from scratch. For example, during development it is useful to have a local machines which replicate production servers. To this end, I also created a Vagrant script.

Vagrant is a tool for building complete development environments.

This script defines the requirements for each machine (e.g., RAM, number of CPUs or OS type) and how to use Ansible to provision them. For developers' convenience, I created two typical installation configurations:

  1. An installation with only one machine.

    In this machine, Ansible installs the web server, the scheduling module and the module which creates Packet Tracer instances (using Docker).

    $ MACHINES='./vagrant/one_machine.rb' vagrant up
    
  2. An installation with two machines.

    The first machine has the web server and the scheduling module. The second machine manages Packet Tracer instances using Docker.

For more details on how to use the Vagrant script, check the detailed instructions.


Finally, to create and provision the Learning Record Store (LRS), I created a PT Anywhere independent GitHub project which has other Ansible and Vagrant scripts. These script can be used to install Learning Locker (an open-source LRS) on CentOS 7 and RHEL 7 . For more information on the LRS, you can go to the Learning Analytics section.

Learning Locker is the world's most installed LRS