@installdoc/ansible-gas-station
Version:
An Ansible playbook that provisions your network with software from GitHub Awesome lists, developed with disaster recovery in mind ⛽🔥🤤
55 lines (51 loc) • 2.26 kB
YAML
- name: "Add {{ app_name }}'s yum repository"
yum_repository:
baseurl: "{{ virtualbox_rpm_repository }}"
description: VirtualBox repository
gpgcheck: true
gpgkey: "{{ virtualbox_rpm_key }}"
name: virtualbox
- name: "Ensure {{ app_name }} is installed"
dnf:
name: "{{ vbox_package_name | replace('virtualbox', 'VirtualBox') }}"
state: present
update_cache: "{{ omit if skip_package_cache_update is defined else 'true' }}"
register: install_result
- name: "Ensure {{ app_name }} Extension pack is installed"
block:
- name: Ensure /usr/lib/virtualbox/ExtensionPacks directory exists
file:
path: /usr/lib/virtualbox/ExtensionPacks
state: directory
mode: 0755
- name: "Ensure {{ app_name }} Extension pack installer is downloaded and up-to-date"
get_url:
url: "{{ 'https://download.virtualbox.org/virtualbox/' + vbox_version + '/Oracle_VM_VirtualBox_Extension_Pack-' + vbox_version + '.vbox-extpack' }}"
dest: "/usr/lib/virtualbox/ExtensionPacks/Oracle_VM_VirtualBox_Extension_Pack.vbox-extpack"
register: ext_pack_download_result
- name: "Ensure older version of {{ app_name }} Extension pack is removed"
file:
path: "/usr/lib/virtualbox/ExtensionPacks/Oracle_VM_VirtualBox_Extension_Pack/"
state: absent
when: ext_pack_download_result.changed
- name: "Ensure {{ app_name }} Extension pack is installed" # noqa 303
shell: |
set -o pipefail
echo 'y' | VBoxManage extpack install --replace /usr/lib/virtualbox/ExtensionPacks/Oracle_VM_VirtualBox_Extension_Pack.vbox-extpack
args:
creates: /usr/lib/virtualbox/ExtensionPacks/Oracle_VM_VirtualBox_Extension_Pack/
executable: /bin/bash
when: install_result.changed
always:
- name: "Remove {{ app_name }} Extension pack installer"
file:
path: "/usr/lib/virtualbox/ExtensionPacks/Oracle_VM_VirtualBox_Extension_Pack.vbox-extpack"
state: absent
- name: Run user configuration tasks
include_tasks: user-Linux.yml
loop: "{{ user_configs }}"
loop_control:
label: "{{ user.username }}"
loop_var: user
when: (user.system is not defined) or ((user.system is defined) and (not user.system))