This Ansible role is for building the filesystem image required to run the GVL. It is likely to be used in the context of the GVL playbook.
This role is largely intended to be used in the context of the larger GVL playbook. It must be run on a machine instance on which the GVL Image Role has already been executed.
This role depends on several roles, as defined in meta/main.yml. To satisfy these
requirements it is necessary to install the required roles with the following
commands (this will download the given roles from Ansible Galaxy and place them in
roles
subdirectory; unfortunately, Ansible does not have an option to have this
done automatically):
$ ansible-galaxy install -r requirements_roles.txt -p roles
Note that some of these variables should match equally named ones from the GVL playbook.
galaxyFS_base_dir
: (default:/mnt/galaxy
) the base path under which the galaxy file system is planned to be placedgalaxy_user_name
: (default:galaxy
) system username used for Galaxygalaxy_server_dir
: (default:/mnt/galaxy/galaxy-app
) The default location where the Galaxy application is storedgalaxy_venv_dir
: (default:{{ galaxy_server_dir }}/.venv
) The location of virtual env used by Galaxygalaxy_config_file
: (default:{{ galaxy_server_dir }}/config/galaxy.ini
) The location of Galaxy's main configuration filecmg_setup_files
: A list of files to be copied from this role into Galaxy's source tree. Seedefaults/main.yml
for the defaults.cmg_extra_files
: Provides a hook to copy a list of extra, user-defined files into Galaxy's source tree. The default is an empty list, but should be in a format similar to cmg_setup_files.
Use the following control-flow variables to decide which parts of the role you'd like to run:
cm_setup_galaxy
: (default:yes
) whether to run the Galaxy setup step
None.
To use the role, wrap it into a playbook file called playbook.yml
as follows
(the following assumes the role has been placed into directory
roles/galaxyprojectdotorg.cloudman-galaxy-setup
):
- hosts: gvl-filesystem-hosts
become: yes
roles:
- role: gvl.ansible.filesystem
become_user: "{{ galaxy_user_name }}"
Next, create a hosts
file:
[gvl-filesystem-hosts]
130.56.250.204 ansible_ssh_private_key_file=key.pem ansible_ssh_user=ubuntu
Finally, run the playbook as follows:
$ ansible-playbook playbook.yml -i hosts