From 23e87afc4cb47d91b5c69dbd5d83d583bdd7d849 Mon Sep 17 00:00:00 2001 From: Robert Kaussow Date: Sun, 8 Jul 2018 18:50:35 +0200 Subject: [PATCH] initial commit --- defaults/main.yml | 15 +++++++++++++++ tasks/install.yml | 34 ++++++++++++++++++++++++++++++++++ tasks/main.yml | 4 ++++ tasks/prepare_storage.yml | 26 ++++++++++++++++++++++++++ 4 files changed, 79 insertions(+) create mode 100644 defaults/main.yml create mode 100644 tasks/install.yml create mode 100644 tasks/main.yml create mode 100644 tasks/prepare_storage.yml diff --git a/defaults/main.yml b/defaults/main.yml new file mode 100644 index 0000000..a6a11bb --- /dev/null +++ b/defaults/main.yml @@ -0,0 +1,15 @@ +--- +unifi_version: 5.6.39 +unifi_openjdk_version: 1.7.0 + +unifi_group: ubnt +unifi_user: ubnt + +unifi_lvm_enabled: False +# unifi_lvm_pvs: +# - /dev/sda +# unifi_lvm_vg: vg_unifi +# unifi_lvm_lv: lv_unifi +# unifi_lvm_size: 10G +# unifi_lvm_fstype: ext4 +unifi_base_dir: /opt/unifi diff --git a/tasks/install.yml b/tasks/install.yml new file mode 100644 index 0000000..07203c2 --- /dev/null +++ b/tasks/install.yml @@ -0,0 +1,34 @@ +--- +- block: + - name: Install requirements + package: + name: "{{ item }}" + state: present + with_items: + - "java-{{ unifi_openjdk_version }}-openjdk" + - unzip + - wget + + - name: Create group '{{ unifi_group }}' + group: + name: "{{ unifi_group }}" + state: present + + - name: Create user '{{ unifi_user }}' + user: + name: "{{ unifi_user }}" + group: "{{ unifi_group }}" + + - name: Setup working dir at '{{ unifi_base_dir }}' + file: + path: "{{ unifi_base_dir }}" + state: directory + owner: "{{ unifi_user }}" + group: "{{ unifi_group }}" + become: True + +- name: Setup unifi version '{{ unifi_version }}' + unarchive: + src: "https://dl.ubnt.com/unifi/{{ unifi_version }}/UniFi.unix.zip" + dest: "{{ unifi_base_dir }}/{{ unifi_version }}" + remote_src: yes diff --git a/tasks/main.yml b/tasks/main.yml new file mode 100644 index 0000000..8fc9de9 --- /dev/null +++ b/tasks/main.yml @@ -0,0 +1,4 @@ +--- +- include_tasks: prepare_storage.yml + when: unifi_lvm_enabled +- include-tasks: install.yml diff --git a/tasks/prepare_storage.yml b/tasks/prepare_storage.yml new file mode 100644 index 0000000..57081af --- /dev/null +++ b/tasks/prepare_storage.yml @@ -0,0 +1,26 @@ +--- +- block: + - name: Create volume group '{{ unifi_lvm_vg }}' + lvg: + vg: "{{ unifi_lvm_vg }}" + pvs: "{{ unifi_lvm_pvs|join(',') }}" + + - name: Create logical volume '{{ unifi_lvm_lv }}' + lvol: + vg: "{{ unifi_lvm_vg }}" + lv: "{{ unifi_lvm_lv }}" + size: "{{ unifi_lvm_size }}" + + - name: Create filesystem for '/dev/mapper/{{ unifi_lvm_vg }}-{{ unifi_lvm_lv }}' + filesystem: + fstype: "{{ unifi_lvm_fstype }}" + dev: "/dev/mapper/{{ unifi_lvm_vg }}-{{ unifi_lvm_lv }}" + resizefs: True + + - name: Mount volume to '{{ unifi_storage_dbpath }}' + mount: + path: "{{ unifi_storage_dbpath }}" + src: "/dev/mapper/{{ unifi_lvm_vg }}-{{ unifi_lvm_lv }}" + fstype: "{{ unifi_lvm_fstype }}" + state: mounted + become: True