From 20cc471f2a85632ffdba9e0794f4cc82fab92a8b Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Sun, 8 Nov 2020 07:11:23 -0600 Subject: [PATCH 01/10] kiwix - group directory creation together --- roles/kiwix/tasks/install.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/roles/kiwix/tasks/install.yml b/roles/kiwix/tasks/install.yml index d0c645842..2ca3386d0 100644 --- a/roles/kiwix/tasks/install.yml +++ b/roles/kiwix/tasks/install.yml @@ -44,6 +44,7 @@ path: "{{ item }}" state: directory with_items: + - "{{ kiwix_path }}/bin" # /opt/iiab/kiwix - "{{ iiab_zim_path }}" # /library/zims - "{{ iiab_zim_path }}/content" - "{{ iiab_zim_path }}/index" @@ -66,11 +67,6 @@ dest: "{{ iiab_zim_path }}/content/test.zim" force: no -- name: Create {{ kiwix_path }}/bin directory - file: - path: "{{ kiwix_path }}/bin" # /opt/iiab/kiwix - state: directory - # 2. INSTALL KIWIX-TOOLS EXECUTABLES From c190b2129b793e220828eea2fc29e900b27ee982 Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Sun, 8 Nov 2020 07:14:20 -0600 Subject: [PATCH 02/10] kiwix - only install test.zim when no library.xml exsists --- roles/kiwix/tasks/install.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/roles/kiwix/tasks/install.yml b/roles/kiwix/tasks/install.yml index 2ca3386d0..d5b87daff 100644 --- a/roles/kiwix/tasks/install.yml +++ b/roles/kiwix/tasks/install.yml @@ -66,6 +66,7 @@ src: test.zim dest: "{{ iiab_zim_path }}/content/test.zim" force: no + when: not kiwix_xml.stat.exists # 2. INSTALL KIWIX-TOOLS EXECUTABLES From 3432af03ca85a925d2c767de8ae6b9248310073f Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Sun, 8 Nov 2020 07:31:09 -0600 Subject: [PATCH 03/10] kiwix - call iiab-make-kiwix-lib in enable-or-disable.yml --- roles/kiwix/tasks/enable-or-disable.yml | 20 +++++++++++--------- roles/kiwix/tasks/install.yml | 4 ++++ 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/roles/kiwix/tasks/enable-or-disable.yml b/roles/kiwix/tasks/enable-or-disable.yml index f74c7cc6c..97cff1dc4 100644 --- a/roles/kiwix/tasks/enable-or-disable.yml +++ b/roles/kiwix/tasks/enable-or-disable.yml @@ -1,18 +1,20 @@ -- name: Enable & Restart 'kiwix-serve' systemd service - systemd: - name: kiwix-serve - daemon_reload: yes - enabled: yes - state: restarted - when: kiwix_enabled - - name: Disable & Stop 'kiwix-serve' systemd service systemd: name: kiwix-serve enabled: no state: stopped - when: not kiwix_enabled +- name: Update '{{ kiwix_library_xml }}' + command: /usr/bin/iiab-make-kiwix-lib + when: kiwix_enabled +# the above starts the service + +- name: Enable & Ensure 'kiwix-serve' systemd service is started + systemd: + name: kiwix-serve + enabled: yes + state: started + when: kiwix_enabled # TO DO: BOTH CRON ENTRIES BELOW *SHOULD* BE DELETED "when: not kiwix_enabled" diff --git a/roles/kiwix/tasks/install.yml b/roles/kiwix/tasks/install.yml index d5b87daff..ed0aba237 100644 --- a/roles/kiwix/tasks/install.yml +++ b/roles/kiwix/tasks/install.yml @@ -107,6 +107,10 @@ - { src: 'iiab-make-kiwix-lib', dest: '/usr/bin/iiab-make-kiwix-lib', mode: '0755' } - { src: 'iiab-make-kiwix-lib3.py', dest: '/usr/bin/iiab-make-kiwix-lib.py', mode: '0755' } +- name: Reload systemd for new kiwix-serve.service file + systemd: + daemon_reload: yes + - name: "Install from template: Apache's kiwix.conf" template: src: kiwix.conf.j2 From c43241ccd23cb7c8639647661fcf5b2c7a9cc756 Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Sun, 8 Nov 2020 09:16:47 -0600 Subject: [PATCH 04/10] kiwix - just provide test.zim and auto generate library.xml --- roles/kiwix/tasks/install.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/roles/kiwix/tasks/install.yml b/roles/kiwix/tasks/install.yml index ed0aba237..1a8d5fb87 100644 --- a/roles/kiwix/tasks/install.yml +++ b/roles/kiwix/tasks/install.yml @@ -54,13 +54,6 @@ path: "{{ kiwix_library_xml }}" # /library/zims/library.xml register: kiwix_xml -- name: Install stub /library/zims/library.xml from template, if one doesn't exist - template: - src: library.xml - dest: "{{ kiwix_library_xml }}" - force: no - when: not kiwix_xml.stat.exists - - name: Install {{ iiab_zim_path }}/content/test.zim copy: src: test.zim From 0b0cbfd8e1803a2e910dd139a3510f489c496a7b Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Sun, 8 Nov 2020 19:30:31 +0000 Subject: [PATCH 05/10] final touchups --- roles/kiwix/tasks/enable-or-disable.yml | 4 ++-- roles/kiwix/tasks/install.yml | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/roles/kiwix/tasks/enable-or-disable.yml b/roles/kiwix/tasks/enable-or-disable.yml index 97cff1dc4..04ea1d5df 100644 --- a/roles/kiwix/tasks/enable-or-disable.yml +++ b/roles/kiwix/tasks/enable-or-disable.yml @@ -4,8 +4,8 @@ enabled: no state: stopped -- name: Update '{{ kiwix_library_xml }}' - command: /usr/bin/iiab-make-kiwix-lib +- name: Update {{ kiwix_library_xml }} + command: /usr/bin/iiab-make-kiwix-lib when: kiwix_enabled # the above starts the service diff --git a/roles/kiwix/tasks/install.yml b/roles/kiwix/tasks/install.yml index 1a8d5fb87..b0236e675 100644 --- a/roles/kiwix/tasks/install.yml +++ b/roles/kiwix/tasks/install.yml @@ -49,17 +49,17 @@ - "{{ iiab_zim_path }}/content" - "{{ iiab_zim_path }}/index" -- name: Check for {{ kiwix_library_xml }} +- name: Check for {{ iiab_zim_path }}/content/* stat: - path: "{{ kiwix_library_xml }}" # /library/zims/library.xml - register: kiwix_xml + path: "{{ iiab_zim_path }}/content/*" + register: kiwix_zims - name: Install {{ iiab_zim_path }}/content/test.zim copy: src: test.zim dest: "{{ iiab_zim_path }}/content/test.zim" force: no - when: not kiwix_xml.stat.exists + when: not kiwix_zims.stat.exists # 2. INSTALL KIWIX-TOOLS EXECUTABLES From eb485b8118646d59f32852acb7ea3029834349a2 Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Sun, 8 Nov 2020 19:41:04 +0000 Subject: [PATCH 06/10] add zim suffix for protection --- roles/kiwix/tasks/install.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/kiwix/tasks/install.yml b/roles/kiwix/tasks/install.yml index b0236e675..1add4502e 100644 --- a/roles/kiwix/tasks/install.yml +++ b/roles/kiwix/tasks/install.yml @@ -51,7 +51,7 @@ - name: Check for {{ iiab_zim_path }}/content/* stat: - path: "{{ iiab_zim_path }}/content/*" + path: "{{ iiab_zim_path }}/content/*.zim" register: kiwix_zims - name: Install {{ iiab_zim_path }}/content/test.zim From 3e3183f16b49366947b9c1f038e7af92e27c0219 Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Sun, 8 Nov 2020 19:46:11 +0000 Subject: [PATCH 07/10] add zim suffix for protection2 --- roles/kiwix/tasks/install.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/kiwix/tasks/install.yml b/roles/kiwix/tasks/install.yml index 1add4502e..4ade28e37 100644 --- a/roles/kiwix/tasks/install.yml +++ b/roles/kiwix/tasks/install.yml @@ -49,7 +49,7 @@ - "{{ iiab_zim_path }}/content" - "{{ iiab_zim_path }}/index" -- name: Check for {{ iiab_zim_path }}/content/* +- name: Check for {{ iiab_zim_path }}/content/*.zim stat: path: "{{ iiab_zim_path }}/content/*.zim" register: kiwix_zims From e501fe119196c488c40a2aaa51b14e5c28fee253 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 9 Nov 2020 06:20:57 -0500 Subject: [PATCH 08/10] Fix counting of /library/zims/content/*.zim + in-line clarifs --- roles/kiwix/tasks/enable-or-disable.yml | 9 ++--- roles/kiwix/tasks/install.yml | 33 ++++++++++--------- .../{library.xml => library.xml.deprecated} | 0 3 files changed, 22 insertions(+), 20 deletions(-) rename roles/kiwix/templates/{library.xml => library.xml.deprecated} (100%) diff --git a/roles/kiwix/tasks/enable-or-disable.yml b/roles/kiwix/tasks/enable-or-disable.yml index 04ea1d5df..0ca34930c 100644 --- a/roles/kiwix/tasks/enable-or-disable.yml +++ b/roles/kiwix/tasks/enable-or-disable.yml @@ -4,18 +4,19 @@ enabled: no state: stopped -- name: Update {{ kiwix_library_xml }} +- name: Run /usr/bin/iiab-make-kiwix-lib to update {{ kiwix_library_xml }} # /library/zims/library.xml command: /usr/bin/iiab-make-kiwix-lib when: kiwix_enabled -# the above starts the service +# The above stops then starts kiwix-serve.service -- name: Enable & Ensure 'kiwix-serve' systemd service is started +- name: Enable & Ensure 'kiwix-serve.service' is running systemd: name: kiwix-serve enabled: yes - state: started + state: started # Not needed...but can't hurt when: kiwix_enabled + # TO DO: BOTH CRON ENTRIES BELOW *SHOULD* BE DELETED "when: not kiwix_enabled" # In the past kiwix-serve did not stay running, so we'd been doing this hourly. diff --git a/roles/kiwix/tasks/install.yml b/roles/kiwix/tasks/install.yml index 4ade28e37..011c356f9 100644 --- a/roles/kiwix/tasks/install.yml +++ b/roles/kiwix/tasks/install.yml @@ -30,41 +30,41 @@ kiwix_src_file: "{{ kiwix_src_dir }}.tar.gz" -# 1. PUT IN PLACE: ESSENTIAL DIRS, library.xml, test.zim +# 1. PUT IN PLACE: /opt/iiab/downloads/kiwix-tools_linux-*.tar.gz, essential dirs, and test.zim if nec (library.xml is created later, by enable-or-disable.xml) - name: Download {{ iiab_download_url }}/{{ kiwix_src_file }} to /opt/iiab/downloads get_url: url: "{{ iiab_download_url }}/{{ kiwix_src_file }}" # http://download.iiab.io/packages - dest: "{{ downloads_dir }}/{{ kiwix_src_file }}" + dest: "{{ downloads_dir }}/{{ kiwix_src_file }}" # /opt/iiab/downloads timeout: "{{ download_timeout }}" when: internet_available -- name: Create dir {{ iiab_zim_path }} and subdirs {content, index} for Kiwix ZIM files +- name: "Create dirs, including parent dirs: {{ kiwix_path }}/bin (executables), {{ iiab_zim_path }}/content (ZIM files), {{ iiab_zim_path }}/index (legacy indexes)" file: path: "{{ item }}" state: directory with_items: - - "{{ kiwix_path }}/bin" # /opt/iiab/kiwix - - "{{ iiab_zim_path }}" # /library/zims - - "{{ iiab_zim_path }}/content" + - "{{ kiwix_path }}/bin" # /opt/iiab/kiwix + - "{{ iiab_zim_path }}/content" # /library/zims - "{{ iiab_zim_path }}/index" -- name: Check for {{ iiab_zim_path }}/content/*.zim - stat: - path: "{{ iiab_zim_path }}/content/*.zim" +- name: Count *.zim files in {{ iiab_zim_path }}/content + find: + paths: "{{ iiab_zim_path }}/content" + patterns: '*.zim' register: kiwix_zims -- name: Install {{ iiab_zim_path }}/content/test.zim +- name: If there were none, install {{ iiab_zim_path }}/content/test.zim copy: src: test.zim dest: "{{ iiab_zim_path }}/content/test.zim" - force: no - when: not kiwix_zims.stat.exists + #force: no + when: kiwix_zims.matched == 0 # 2. INSTALL KIWIX-TOOLS EXECUTABLES -- name: Unarchive {{ kiwix_src_file }} to /tmp # e.g. kiwix-tools_linux-armhf-0.6.1-1.tar.gz +- name: Unarchive {{ kiwix_src_file }} to /tmp # e.g. kiwix-tools_linux-armhf-3.1.2-3.tar.gz unarchive: src: "{{ downloads_dir }}/{{ kiwix_src_file }}" dest: /tmp @@ -100,14 +100,14 @@ - { src: 'iiab-make-kiwix-lib', dest: '/usr/bin/iiab-make-kiwix-lib', mode: '0755' } - { src: 'iiab-make-kiwix-lib3.py', dest: '/usr/bin/iiab-make-kiwix-lib.py', mode: '0755' } -- name: Reload systemd for new kiwix-serve.service file +- name: daemon_reload, so systemd (re)reads kiwix-serve.service systemd: daemon_reload: yes -- name: "Install from template: Apache's kiwix.conf" +- name: "Install from template: /etc/{{ apache_conf_dir }}/kiwix.conf" template: src: kiwix.conf.j2 - dest: "/etc/{{ apache_conf_dir }}/kiwix.conf" + dest: "/etc/{{ apache_conf_dir }}/kiwix.conf" # apache2/sites-available #mode: '0644' when: apache_installed is defined @@ -116,6 +116,7 @@ include_tasks: kiwix-apk.yml when: kiwix_incl_apk + # 5. RECORD Kiwix AS INSTALLED - name: "Set 'kiwix_installed: True'" diff --git a/roles/kiwix/templates/library.xml b/roles/kiwix/templates/library.xml.deprecated similarity index 100% rename from roles/kiwix/templates/library.xml rename to roles/kiwix/templates/library.xml.deprecated From 266e529ebcc414c6fcaf43530920402c04114460 Mon Sep 17 00:00:00 2001 From: A Holt Date: Mon, 9 Nov 2020 06:33:36 -0500 Subject: [PATCH 09/10] kiwix/tasks/install.yml typo in comment: enable-or-disable.xml -> .yml --- roles/kiwix/tasks/install.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/kiwix/tasks/install.yml b/roles/kiwix/tasks/install.yml index 011c356f9..3b8c827eb 100644 --- a/roles/kiwix/tasks/install.yml +++ b/roles/kiwix/tasks/install.yml @@ -30,7 +30,7 @@ kiwix_src_file: "{{ kiwix_src_dir }}.tar.gz" -# 1. PUT IN PLACE: /opt/iiab/downloads/kiwix-tools_linux-*.tar.gz, essential dirs, and test.zim if nec (library.xml is created later, by enable-or-disable.xml) +# 1. PUT IN PLACE: /opt/iiab/downloads/kiwix-tools_linux-*.tar.gz, essential dirs, and test.zim if nec (library.xml is created later, by enable-or-disable.yml) - name: Download {{ iiab_download_url }}/{{ kiwix_src_file }} to /opt/iiab/downloads get_url: From 92fc07a66a94d270f6e6907ec5b6c6f843ada89f Mon Sep 17 00:00:00 2001 From: A Holt Date: Mon, 9 Nov 2020 06:59:26 -0500 Subject: [PATCH 10/10] kiwix/tasks/install.yml: reiterate that kiwix-serve.service is newly installed just above --- roles/kiwix/tasks/install.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/kiwix/tasks/install.yml b/roles/kiwix/tasks/install.yml index 3b8c827eb..1a18c25c9 100644 --- a/roles/kiwix/tasks/install.yml +++ b/roles/kiwix/tasks/install.yml @@ -100,7 +100,7 @@ - { src: 'iiab-make-kiwix-lib', dest: '/usr/bin/iiab-make-kiwix-lib', mode: '0755' } - { src: 'iiab-make-kiwix-lib3.py', dest: '/usr/bin/iiab-make-kiwix-lib.py', mode: '0755' } -- name: daemon_reload, so systemd (re)reads kiwix-serve.service +- name: daemon_reload, so systemd (re)reads newly installed kiwix-serve.service systemd: daemon_reload: yes