From 9748669a1ba3bd0b640e3de940f19669c2ba5537 Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Sat, 14 Sep 2019 18:52:46 -0500 Subject: [PATCH] mosquitto - iiab_installed --- roles/mosquitto/tasks/enable.yml | 21 ++++++++++++++ roles/mosquitto/tasks/install.yml | 38 ++++++++++++++++++++++++ roles/mosquitto/tasks/main.yml | 48 +++---------------------------- 3 files changed, 63 insertions(+), 44 deletions(-) create mode 100644 roles/mosquitto/tasks/enable.yml create mode 100644 roles/mosquitto/tasks/install.yml diff --git a/roles/mosquitto/tasks/enable.yml b/roles/mosquitto/tasks/enable.yml new file mode 100644 index 000000000..a7e1e0768 --- /dev/null +++ b/roles/mosquitto/tasks/enable.yml @@ -0,0 +1,21 @@ +- name: Enable & Start 'mosquitto' service + systemd: + daemon_reload: yes + name: mosquitto + enabled: yes + state: started + when: mosquitto_enabled | bool + +- name: Add 'mosquitto' variable values to {{ iiab_ini_file }} + ini_file: + path: "{{ iiab_ini_file }}" + section: mosquitto + option: "{{ item.option }}" + value: "{{ item.value }}" + with_items: + - option: name + value: Mosquitto service + - option: description + value: Mosquitto service + - option: mosquitto_enabled + value: "{{ mosquitto_enabled }}" diff --git a/roles/mosquitto/tasks/install.yml b/roles/mosquitto/tasks/install.yml new file mode 100644 index 000000000..98f27949e --- /dev/null +++ b/roles/mosquitto/tasks/install.yml @@ -0,0 +1,38 @@ +- name: "Install packages: mosquitto, mosquitto-clients" + package: + name: "{{ item }}" + state: present + with_items: + - mosquitto + - mosquitto-clients + tags: download + +- name: Disable & Stop 'mosquitto' service + systemd: + name: mosquitto + enabled: no + state: stopped + +- name: Create (touch) file /etc/mosquitto/passwd + file: + path: /etc/mosquitto/passwd + state: touch + mode: "u=rw,g=r,o=r" # 0644 + +- name: Populate /etc/mosquitto/passwd with actual username/password + shell: mosquitto_passwd -b /etc/mosquitto/passwd "{{ mosquitto_user }}" "{{ mosquitto_password }}" + +- name: Install /etc/mosquitto/conf.d/websockets.conf from template + template: + src: websockets.conf.j2 + dest: /etc/mosquitto/conf.d/websockets.conf + owner: root + group: root + mode: 0755 + +- name: Add 'mosquitto_installed' variable values to {{ iiab_installed }} + lineinfile: + dest: "{{ iiab_installed }}" + regexp: '^mosquitto_installed' + line: 'mosquitto_installed' + state: present diff --git a/roles/mosquitto/tasks/main.yml b/roles/mosquitto/tasks/main.yml index 53ef14998..b6654ef3b 100644 --- a/roles/mosquitto/tasks/main.yml +++ b/roles/mosquitto/tasks/main.yml @@ -1,45 +1,5 @@ -- name: "Install packages: mosquitto, mosquitto-clients" - package: - name: "{{ item }}" - state: present - with_items: - - mosquitto - - mosquitto-clients - when: mosquitto_install | bool - tags: download +- include_tasks: install.yml + when: mosquitto_install | bool and not mosquitto_installed is defined -- name: Disable & Stop 'mosquitto' service - systemd: - name: mosquitto - enabled: no - state: stopped - when: mosquitto_install | bool - -- name: Create (touch) file /etc/mosquitto/passwd - file: - path: /etc/mosquitto/passwd - state: touch - mode: "u=rw,g=r,o=r" # 0644 - when: mosquitto_install | bool - -- name: Populate /etc/mosquitto/passwd with actual username/password - shell: mosquitto_passwd -b /etc/mosquitto/passwd "{{ mosquitto_user }}" "{{ mosquitto_password }}" - when: mosquitto_install | bool - -- name: Install /etc/mosquitto/conf.d/websockets.conf from template - template: - backup: yes - src: websockets.conf.j2 - dest: /etc/mosquitto/conf.d/websockets.conf - owner: root - group: root - mode: 0755 - when: mosquitto_install | bool - -- name: Enable & Start 'mosquitto' service - systemd: - daemon_reload: yes - name: mosquitto - enabled: yes - state: started - when: mosquitto_enabled | bool +- include_tasks: enable.yml + when: mosquitto_install | bool or mosquitto_installed is defined