Bachelor's Project work for upgrading Lovelace checkers
Link to the original Lovelace learning environment
This project uses personal fork of Lovelaces git environment to implement changes not wanted in the production version.
Link
to the fork
The setup guide can be found from /guides/INSTALLATION_GUIDE
This guide assumes usage of Vagrant, Ansible and Virtualbox
The virtual environment deployed is Ubuntu 20.04 Focal
For manual installation a guide in /guides/INSTALL-RHEL-7 can be used
The steps of automatic installation listed here in short:
####################################################################################
Current development version can be started with just command:
vagrant up
This starts one virtual machine with everything on it, with just port forwarding, so no IP configuration needed. Then start the main server and checker service with different terminal windows on the same machine and it works.
####################################################################################
Modify the Ansible variables to suit your needs found in the /ansible/group_vars/all/ folder
CHECK THE SERVER IP AT MINIMUM
In the project root directory, use following command to start the Vagrant with the Ansible playbook:
vagrant up
This command creates two virtual machines, Lovelace and Auxchecker, which are main components of Lovelace. Log in to the created Virtual Machine with command:
vagrant ssh Lovelace
Lovelace is the main server
Change user to the lovelace user:
su -l lovelace
And start the deployment process with the provided script at the lovelace user home directory
. setup.sh
After this initial setup a development server will be accessible trough
http://<your.server.ip>:8000
Now the main server is running
Checker server can be accessed trough command in another shell:
vagrant ssh Auxchecker
The checker server does not need to be deployed any further, but can be accessed by switching user:
su -l auxchecker
Things needed to be done for the project
- Separate Ansible playbook for each system part contained by main.yml playbook
- lovelace_server_playbook.yml
- user_management_playbook.yml
- checker_server_playbook.yml
- database_playbook.yml
- Assign variables to the playbook for better management
- Create separate roles for each of the system parts
- Fork the original Lovelace git repo and make the Ansible playbook clone it instead of the original
- Create the checker server VM via Vagrant and Ansible