From 4e793b39abf2773543b125209a94498c5f920c99 Mon Sep 17 00:00:00 2001 From: A Holt Date: Tue, 29 Jan 2019 10:23:29 -0500 Subject: [PATCH 01/90] Update default_vars.yml --- vars/default_vars.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/vars/default_vars.yml b/vars/default_vars.yml index 424838f2f..342702b0d 100644 --- a/vars/default_vars.yml +++ b/vars/default_vars.yml @@ -287,6 +287,9 @@ mosquitto_install: False mosquitto_enabled: False mosquitto_port: 1883 +# Used by roles/nodejs/tasks/main.yml for Asterix, Node-RED, & Sugarizer +nodejs_version: 10.x # was 8.x until 2019-01-29 + # Flow-based visual programming for wiring together IoT hardware devices etc nodered_install: False nodered_enabled: False From 631aefb59994f5597eea644dabb3fa325e4c96ed Mon Sep 17 00:00:00 2001 From: A Holt Date: Tue, 29 Jan 2019 10:36:35 -0500 Subject: [PATCH 02/90] Update main.yml --- roles/nodejs/tasks/main.yml | 39 +++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/roles/nodejs/tasks/main.yml b/roles/nodejs/tasks/main.yml index 6658ad739..a53e90c69 100644 --- a/roles/nodejs/tasks/main.yml +++ b/roles/nodejs/tasks/main.yml @@ -1,6 +1,8 @@ -# 2019-01-16: duplicate Node.js code unified thanks to @jvonau. It's used by: -# roles/sugarizer/tasks/main.yml with roles/sugarizer/meta/main.yml +# 2019-01-16/29: duplicate Node.js code unified thanks to @jvonau. It's used by: +# roles/pbx/tasks/main.yml with roles/pbx/meta/main.yml (forthcoming for Asterisk with FreePBX) # roles/nodered/tasks/main.yml with roles/nodered/meta/main.yml +# roles/sugarizer/tasks/main.yml with roles/sugarizer/meta/main.yml + # 2019-01-16: fyi Node.js 10.x became "LTS" on 2018-10-30 but distros are # holding back for now: certainly Ubuntu 18.04 and even Debian 10/Buster @@ -8,23 +10,26 @@ # more bleeding-edge Debian Sid ("unstable" branch) does install Node.js 10.x # # This May Change: thanks all for running "apt -a list nodejs" on Buster's -# daily builds @ www.debian.org/devel/debian-installer/ to keep us informed! +# daily builds @ www.debian.org/devel/debian-installer/ and Disco Dingo (Ubuntu +# 19.04) https://launchpad.net/ubuntu/+source/nodejs to keep us informed! -- name: Set up Node.js 8.x apt sources (debuntu distros UP TO 2017) - shell: curl -sL https://deb.nodesource.com/setup_8.x | bash - +- name: Set up Node.js {{ nodejs_version }} apt sources (debuntu distros UP TO 2017) + shell: curl -sL https://deb.nodesource.com/setup_{{ nodejs_version }} | bash - args: warn: no - when: internet_available and (is_debian_8 or is_debian_9 or is_ubuntu_16 or is_ubuntu_17) + when: internet_available + #when: internet_available and (is_debian_8 or is_debian_9 or is_ubuntu_16 or is_ubuntu_17) # NOT NEC TO TEST FOR is_raspbian_8 OR is_raspbian_9 AS /opt/iiab/iiab/vars/.yml # DEFINES THESE AS SUBSETS OF is_debian_8 OR is_debian_9 (FOR NOW!) -- name: Install latest Node.js which includes /usr/bin/npm (debuntu distros UP TO 2017) +- name: Install Node.js {{ nodejs_version }} which includes /usr/bin/npm (debuntu distros UP TO 2017) package: - name: nodejs - # name: nodejs=8.x + name: nodejs={{ nodejs_version }} # Nec to change above from 'package:' to 'apt:' ? + # name: nodejs state: latest # state: present - when: internet_available and (is_debian_8 or is_debian_9 or is_ubuntu_16 or is_ubuntu_17) + when: internet_available + #when: internet_available and (is_debian_8 or is_debian_9 or is_ubuntu_16 or is_ubuntu_17) # 2018-07-14: BOTH STEPS ABOVE TAKE TIME, but Raspbian (apt offers npm # 1.4.21) & Debian 9 (apt offers no npm!) STILL NEED the above @@ -45,10 +50,10 @@ # where it upgrades /usr/bin/npm in place: # https://askubuntu.com/questions/1036278/npm-is-incorrect-version-on-latest-ubuntu-18-04-installation -- name: Install latest packages nodejs and npm (debuntu distros AFTER 2017, or other distros) - package: - name: - - nodejs - - npm - state: latest - when: internet_available and not (is_debian_8 or is_debian_9 or is_ubuntu_16 or is_ubuntu_17) +# - name: Install packages nodejs {{ nodejs_version }} and npm (debuntu distros AFTER 2017, or other distros) +# package: +# name: +# - nodejs={{ nodejs_version }} # Nec to change above from 'package:' to 'apt:' ? +# - npm +# state: latest +# when: internet_available and not (is_debian_8 or is_debian_9 or is_ubuntu_16 or is_ubuntu_17) From 38c30d1566693f9ca7afc82827efdb291d9df53c Mon Sep 17 00:00:00 2001 From: A Holt Date: Tue, 29 Jan 2019 10:45:25 -0500 Subject: [PATCH 03/90] Add "nodejs_version: 10.x" to default_vars.yml --- vars/default_vars.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/vars/default_vars.yml b/vars/default_vars.yml index 342702b0d..0960183d0 100644 --- a/vars/default_vars.yml +++ b/vars/default_vars.yml @@ -287,7 +287,8 @@ mosquitto_install: False mosquitto_enabled: False mosquitto_port: 1883 -# Used by roles/nodejs/tasks/main.yml for Asterix, Node-RED, & Sugarizer +# Used by roles/nodejs/tasks/main.yml for 3 roles: +# nodered (Node-RED), pbx (Asterix, FreePBX) & sugarizer (Sugarizer) nodejs_version: 10.x # was 8.x until 2019-01-29 # Flow-based visual programming for wiring together IoT hardware devices etc From 291ec51e73d858e6da220bcdd55301d46d445e52 Mon Sep 17 00:00:00 2001 From: A Holt Date: Tue, 29 Jan 2019 10:47:25 -0500 Subject: [PATCH 04/90] Update default_vars.yml --- vars/default_vars.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vars/default_vars.yml b/vars/default_vars.yml index 0960183d0..02abc8ad7 100644 --- a/vars/default_vars.yml +++ b/vars/default_vars.yml @@ -287,7 +287,7 @@ mosquitto_install: False mosquitto_enabled: False mosquitto_port: 1883 -# Used by roles/nodejs/tasks/main.yml for 3 roles: +# Node.js version used by roles/nodejs/tasks/main.yml for 3 roles: # nodered (Node-RED), pbx (Asterix, FreePBX) & sugarizer (Sugarizer) nodejs_version: 10.x # was 8.x until 2019-01-29 From 5c65f5b41b0b940992cc44da6ceb4e94db505f50 Mon Sep 17 00:00:00 2001 From: A Holt Date: Tue, 29 Jan 2019 10:53:07 -0500 Subject: [PATCH 05/90] Update main.yml --- roles/nodejs/tasks/main.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/roles/nodejs/tasks/main.yml b/roles/nodejs/tasks/main.yml index a53e90c69..0424481cd 100644 --- a/roles/nodejs/tasks/main.yml +++ b/roles/nodejs/tasks/main.yml @@ -1,9 +1,8 @@ # 2019-01-16/29: duplicate Node.js code unified thanks to @jvonau. It's used by: -# roles/pbx/tasks/main.yml with roles/pbx/meta/main.yml (forthcoming for Asterisk with FreePBX) +# roles/pbx/tasks/main.yml with roles/pbx/meta/main.yml (for Asterisk with FreePBX, forthcoming early in 2019, see PR #1405) # roles/nodered/tasks/main.yml with roles/nodered/meta/main.yml # roles/sugarizer/tasks/main.yml with roles/sugarizer/meta/main.yml - # 2019-01-16: fyi Node.js 10.x became "LTS" on 2018-10-30 but distros are # holding back for now: certainly Ubuntu 18.04 and even Debian 10/Buster # ("testing" branch) both install Node.js 8.x (instead of 10.x). While the From 5c1435af6e6318fea01ac2a8b7164fd6246a121d Mon Sep 17 00:00:00 2001 From: A Holt Date: Tue, 29 Jan 2019 10:59:38 -0500 Subject: [PATCH 06/90] Update main.yml --- roles/sugarizer/defaults/main.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/roles/sugarizer/defaults/main.yml b/roles/sugarizer/defaults/main.yml index 762b4aa22..2ac47fa90 100644 --- a/roles/sugarizer/defaults/main.yml +++ b/roles/sugarizer/defaults/main.yml @@ -3,12 +3,12 @@ sugarizer_enabled: False sugarizer_location: "{{ iiab_base }}" # /opt/iiab -sugarizer_version: sugarizer-1.0 -sugarizer_git_version: v1.1.0 +sugarizer_dir: sugarizer-1.1 # WAS: sugarizer-1.0 +sugarizer_git_version: master # WAS: v1.0.1 and v1.1.0 # PLEASE HELP MONITOR https://github.com/llaske/sugarizer/releases -sugarizer_server_version: sugarizer-server-1.0 -sugarizer_server_git_version: v1.0.1 # "master" worked over July 11-14, 2018 +sugarizer_server_dir: sugarizer-server-1.0 +sugarizer_server_git_version: master # WAS: v1.0.1 # PLEASE HELP MONITOR https://github.com/llaske/sugarizer-server/releases # Unused as of 2018-07-14 From cbc2f603baa5d3bcf2ab0d284a6850dc589bf59d Mon Sep 17 00:00:00 2001 From: A Holt Date: Tue, 29 Jan 2019 11:02:33 -0500 Subject: [PATCH 07/90] Update main.yml --- roles/sugarizer/defaults/main.yml | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/roles/sugarizer/defaults/main.yml b/roles/sugarizer/defaults/main.yml index 2ac47fa90..d8ea631f5 100644 --- a/roles/sugarizer/defaults/main.yml +++ b/roles/sugarizer/defaults/main.yml @@ -1,15 +1,12 @@ -sugarizer_install: True +sugarizer_install: False sugarizer_enabled: False sugarizer_location: "{{ iiab_base }}" # /opt/iiab -sugarizer_dir: sugarizer-1.1 # WAS: sugarizer-1.0 -sugarizer_git_version: master # WAS: v1.0.1 and v1.1.0 +sugarizer_dir_version: sugarizer-1.1 # WAS: sugarizer-1.0 +sugarizer_git_version: master # WAS: v1.0.1 and v1.1.0 # PLEASE HELP MONITOR https://github.com/llaske/sugarizer/releases -sugarizer_server_dir: sugarizer-server-1.0 -sugarizer_server_git_version: master # WAS: v1.0.1 +sugarizer_server_dir_version: sugarizer-server-1.0 +sugarizer_server_git_version: master # WAS: v1.0.1 # PLEASE HELP MONITOR https://github.com/llaske/sugarizer-server/releases - -# Unused as of 2018-07-14 -# node_modules_exists: False From d8ad6c8f70948746c09dd780082cdf585d617fec Mon Sep 17 00:00:00 2001 From: A Holt Date: Tue, 29 Jan 2019 11:11:15 -0500 Subject: [PATCH 08/90] Update main.yml --- roles/sugarizer/tasks/main.yml | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index c02197a4c..6c2fc2ec9 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -1,10 +1,10 @@ # 0. CLEAN UP PRIOR VERSIONS OF SUGARIZER (NEEDS WORK!) -- name: Wipe /library/www/html/sugarizer* if installing sugarizer-1.0 - shell: "rm -rf {{ doc_root }}/sugarizer*" - args: - warn: no - when: sugarizer_version == "sugarizer-1.0" +# - name: Wipe /library/www/html/sugarizer* if installing sugarizer-1.0 +# shell: "rm -rf {{ doc_root }}/sugarizer*" +# args: +# warn: no +# when: sugarizer_version == "sugarizer-1.0" # 1. DOWNLOAD+LINK /opt/iiab/sugarizer @@ -12,7 +12,7 @@ - name: Clone llaske/sugarizer ({{ sugarizer_git_version }}) from GitHub to /opt/iiab (MAY DOWNLOAD 600+ MB) git: repo: https://github.com/llaske/sugarizer - dest: "{{ sugarizer_location }}/{{ sugarizer_version }}" + dest: "{{ sugarizer_location }}/{{ sugarizer_dir_version }}" version: "{{ sugarizer_git_version }}" force: yes depth: 1 @@ -20,7 +20,7 @@ - name: Create symlink /opt/iiab/sugarizer -> /opt/iiab/{{ sugarizer_version }} file: - src: "{{ sugarizer_location }}/{{ sugarizer_version }}" + src: "{{ sugarizer_location }}/{{ sugarizer_dir_version }}" dest: "{{ sugarizer_location }}/sugarizer" state: link @@ -45,7 +45,7 @@ - name: Clone llaske/sugarizer-server ({{ sugarizer_server_git_version }}) from GitHub to /opt/iiab git: repo: https://github.com/llaske/sugarizer-server - dest: "{{ sugarizer_location }}/{{ sugarizer_server_version }}" + dest: "{{ sugarizer_location }}/{{ sugarizer_server_dir_version }}" version: "{{ sugarizer_server_git_version }}" force: yes depth: 1 @@ -53,14 +53,14 @@ - name: Create symbolic link /opt/iiab/sugarizer-server -> /opt/iiab/{{ sugarizer_server_version }} file: - src: "{{ sugarizer_location }}/{{ sugarizer_server_version }}" + src: "{{ sugarizer_location }}/{{ sugarizer_server_dir_version }}" dest: "{{ sugarizer_location }}/sugarizer-server" state: link # 3. INSTALL A GOOD VERSION OF Node.js AND npm -# 2019-01-16: @jvonau's PR #1403 moved installation of Node.js (8.x for now) & +# 2019-01-16/29: @jvonau's PR #1403 moved install of Node.js (10.x for now) & # npm to roles/nodejs/tasks/main.yml, triggered by roles/sugarizer/meta/main.yml @@ -117,8 +117,8 @@ - name: Run 'npm install --allow-root --unsafe-perm=true' to create /opt/iiab/{{ sugarizer_server_version }}/node_modules (CAN TAKE ~3 MINUTES) command: npm install --allow-root --unsafe-perm=true # "command:" a bit safer than "shell:" args: - chdir: "{{ sugarizer_location }}/{{ sugarizer_server_version }}" - #creates: "{{ sugarizer_location }}/{{ sugarizer_server_version }}/node_modules" # OLD WAY 2 + chdir: "{{ sugarizer_location }}/{{ sugarizer_server_git_version }}" + #creates: "{{ sugarizer_location }}/{{ sugarizer_server_git_version }}/node_modules" # OLD WAY 2 when: internet_available # "npm install" generally requires Internet access # when: internet_available and git_sug_server_output.changed # OLD WAY 3 # when: internet_available and not is_F18 and not node_modules_exists # OLD WAY 1 @@ -133,7 +133,7 @@ - name: Install path prefix proxy command: npm install --allow-root --unsafe-perm=true path-prefix-proxy args: - chdir: "{{ sugarizer_location }}/{{ sugarizer_server_version }}" + chdir: "{{ sugarizer_location }}/{{ sugarizer_server_git_version }}" when: internet_available @@ -147,7 +147,7 @@ owner: root group: root with_items: - - { src: 'sugarizer.ini', dest: '{{ sugarizer_location }}/{{ sugarizer_server_version }}/env/sugarizer.ini', mode: '0644' } + - { src: 'sugarizer.ini', dest: '{{ sugarizer_location }}/{{ sugarizer_server_git_version }}/env/sugarizer.ini', mode: '0644' } - { src: 'sugarizer.conf', dest: '/etc/apache2/sites-available', mode: '0644' } - { src: 'sugarizer.service.j2', dest: '/etc/systemd/system/sugarizer.service', mode: '0644' } - { src: 'sugarizer.js', dest: '/opt/iiab/sugarizer-server', mode: '0644' } @@ -171,9 +171,9 @@ - name: Enable & Restart systemd service if sugarizer_enabled, with "systemctl daemon-reload" (in case mongodb.service changed?) systemd: name: sugarizer + daemon_reload: yes enabled: yes state: restarted - daemon_reload: yes when: sugarizer_enabled - name: "Disable systemd service, if sugarizer_enabled: False" From 63e5a74382eaad3fc47c23b26b30f3c878b468a9 Mon Sep 17 00:00:00 2001 From: A Holt Date: Tue, 29 Jan 2019 11:18:20 -0500 Subject: [PATCH 09/90] Update main.yml --- roles/sugarizer/tasks/main.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index 6c2fc2ec9..76344e435 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -4,7 +4,7 @@ # shell: "rm -rf {{ doc_root }}/sugarizer*" # args: # warn: no -# when: sugarizer_version == "sugarizer-1.0" +# when: sugarizer_dir_version == "sugarizer-1.0" # 1. DOWNLOAD+LINK /opt/iiab/sugarizer @@ -18,7 +18,7 @@ depth: 1 when: internet_available -- name: Create symlink /opt/iiab/sugarizer -> /opt/iiab/{{ sugarizer_version }} +- name: Create symlink /opt/iiab/sugarizer -> /opt/iiab/{{ sugarizer_dir_version }} file: src: "{{ sugarizer_location }}/{{ sugarizer_dir_version }}" dest: "{{ sugarizer_location }}/sugarizer" @@ -51,7 +51,7 @@ depth: 1 when: internet_available -- name: Create symbolic link /opt/iiab/sugarizer-server -> /opt/iiab/{{ sugarizer_server_version }} +- name: Create symbolic link /opt/iiab/sugarizer-server -> /opt/iiab/{{ sugarizer_server_dir_version }} file: src: "{{ sugarizer_location }}/{{ sugarizer_server_dir_version }}" dest: "{{ sugarizer_location }}/sugarizer-server" @@ -72,9 +72,9 @@ # OLD WAY 2: "creates: ..." checks for non-existence of /opt/iiab/sugarizer-server-1.0/node_modules # OLD WAY 3: set "register: git_sug_server_output" above, then as nec delete /opt/iiab/sugarizer-server-1.0/node_modules "when: git_sug_server_output.changed" and as nec run "npm install" -#- name: Check for /opt/iiab/{{ sugarizer_server_version }}/node_modules +#- name: Check for /opt/iiab/{{ sugarizer_server_dir_version }}/node_modules # stat: -# path: "{{ sugarizer_location }}/{{ sugarizer_server_version }}/node_modules" +# path: "{{ sugarizer_location }}/{{ sugarizer_server_dir_version }}/node_modules" # register: nmtest # ignore_errors: true # @@ -114,11 +114,11 @@ # gets the job done, for now!) #- name: Create the express framework for Node.js (OS's other than Fedora 18) -- name: Run 'npm install --allow-root --unsafe-perm=true' to create /opt/iiab/{{ sugarizer_server_version }}/node_modules (CAN TAKE ~3 MINUTES) +- name: Run 'npm install --allow-root --unsafe-perm=true' to create /opt/iiab/{{ sugarizer_server_dir_version }}/node_modules (CAN TAKE ~3 MINUTES) command: npm install --allow-root --unsafe-perm=true # "command:" a bit safer than "shell:" args: - chdir: "{{ sugarizer_location }}/{{ sugarizer_server_git_version }}" - #creates: "{{ sugarizer_location }}/{{ sugarizer_server_git_version }}/node_modules" # OLD WAY 2 + chdir: "{{ sugarizer_location }}/{{ sugarizer_server_dir_version }}" + #creates: "{{ sugarizer_location }}/{{ sugarizer_server_dir_version }}/node_modules" # OLD WAY 2 when: internet_available # "npm install" generally requires Internet access # when: internet_available and git_sug_server_output.changed # OLD WAY 3 # when: internet_available and not is_F18 and not node_modules_exists # OLD WAY 1 @@ -133,7 +133,7 @@ - name: Install path prefix proxy command: npm install --allow-root --unsafe-perm=true path-prefix-proxy args: - chdir: "{{ sugarizer_location }}/{{ sugarizer_server_git_version }}" + chdir: "{{ sugarizer_location }}/{{ sugarizer_server_dir_version }}" when: internet_available @@ -147,7 +147,7 @@ owner: root group: root with_items: - - { src: 'sugarizer.ini', dest: '{{ sugarizer_location }}/{{ sugarizer_server_git_version }}/env/sugarizer.ini', mode: '0644' } + - { src: 'sugarizer.ini', dest: '{{ sugarizer_location }}/{{ sugarizer_server_dir_version }}/env/sugarizer.ini', mode: '0644' } - { src: 'sugarizer.conf', dest: '/etc/apache2/sites-available', mode: '0644' } - { src: 'sugarizer.service.j2', dest: '/etc/systemd/system/sugarizer.service', mode: '0644' } - { src: 'sugarizer.js', dest: '/opt/iiab/sugarizer-server', mode: '0644' } From 3e279507c165d436265ace8bb53fefeaaf91f81e Mon Sep 17 00:00:00 2001 From: A Holt Date: Tue, 29 Jan 2019 11:58:26 -0500 Subject: [PATCH 10/90] Dirs: sugarizer-master, sugarizer-server-master --- roles/sugarizer/defaults/main.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/roles/sugarizer/defaults/main.yml b/roles/sugarizer/defaults/main.yml index d8ea631f5..c114b685d 100644 --- a/roles/sugarizer/defaults/main.yml +++ b/roles/sugarizer/defaults/main.yml @@ -3,10 +3,10 @@ sugarizer_enabled: False sugarizer_location: "{{ iiab_base }}" # /opt/iiab -sugarizer_dir_version: sugarizer-1.1 # WAS: sugarizer-1.0 -sugarizer_git_version: master # WAS: v1.0.1 and v1.1.0 +sugarizer_dir_version: sugarizer-master # WAS: sugarizer-1.0 +sugarizer_git_version: master # WAS: v1.0.1, v1.1.0 # PLEASE HELP MONITOR https://github.com/llaske/sugarizer/releases -sugarizer_server_dir_version: sugarizer-server-1.0 -sugarizer_server_git_version: master # WAS: v1.0.1 +sugarizer_server_dir_version: sugarizer-server-master # WAS: sugarizer-server-1.0 +sugarizer_server_git_version: master # WAS: v1.0.1 # PLEASE HELP MONITOR https://github.com/llaske/sugarizer-server/releases From fb39469661fad7a4639d6c816b496a9bedff4be2 Mon Sep 17 00:00:00 2001 From: A Holt Date: Tue, 29 Jan 2019 12:19:11 -0500 Subject: [PATCH 11/90] Update main.yml --- roles/nodejs/tasks/main.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/roles/nodejs/tasks/main.yml b/roles/nodejs/tasks/main.yml index 0424481cd..beee0597d 100644 --- a/roles/nodejs/tasks/main.yml +++ b/roles/nodejs/tasks/main.yml @@ -25,8 +25,7 @@ package: name: nodejs={{ nodejs_version }} # Nec to change above from 'package:' to 'apt:' ? # name: nodejs - state: latest - # state: present + # state: latest when: internet_available #when: internet_available and (is_debian_8 or is_debian_9 or is_ubuntu_16 or is_ubuntu_17) From 2daf332cf19c7f922f85abed7c915005f28daa90 Mon Sep 17 00:00:00 2001 From: A Holt Date: Tue, 29 Jan 2019 12:24:54 -0500 Subject: [PATCH 12/90] Update main.yml --- roles/lokole/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/lokole/tasks/main.yml b/roles/lokole/tasks/main.yml index 55a1173c0..027b7515f 100644 --- a/roles/lokole/tasks/main.yml +++ b/roles/lokole/tasks/main.yml @@ -1,3 +1,3 @@ -- name: Run Lokole's install.yml if lokole_install +- name: Run install.yml (install Lokole {{ lokole_version }}) if lokole_install include_tasks: install.yml when: lokole_install From 1d75394002270efe0db54950e3f203a619ac7dca Mon Sep 17 00:00:00 2001 From: A Holt Date: Tue, 29 Jan 2019 12:42:39 -0500 Subject: [PATCH 13/90] Update main.yml --- roles/nodejs/tasks/main.yml | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/roles/nodejs/tasks/main.yml b/roles/nodejs/tasks/main.yml index beee0597d..0f96ac7b8 100644 --- a/roles/nodejs/tasks/main.yml +++ b/roles/nodejs/tasks/main.yml @@ -12,23 +12,30 @@ # daily builds @ www.debian.org/devel/debian-installer/ and Disco Dingo (Ubuntu # 19.04) https://launchpad.net/ubuntu/+source/nodejs to keep us informed! -- name: Set up Node.js {{ nodejs_version }} apt sources (debuntu distros UP TO 2017) +#- name: Set up Node.js {{ nodejs_version }} apt sources (debuntu distros UP TO 2017) +- name: Set up Node.js {{ nodejs_version }} apt sources (debuntu) shell: curl -sL https://deb.nodesource.com/setup_{{ nodejs_version }} | bash - args: warn: no - when: internet_available + when: internet_available and is_debuntu #when: internet_available and (is_debian_8 or is_debian_9 or is_ubuntu_16 or is_ubuntu_17) # NOT NEC TO TEST FOR is_raspbian_8 OR is_raspbian_9 AS /opt/iiab/iiab/vars/.yml # DEFINES THESE AS SUBSETS OF is_debian_8 OR is_debian_9 (FOR NOW!) -- name: Install Node.js {{ nodejs_version }} which includes /usr/bin/npm (debuntu distros UP TO 2017) - package: +#- name: Install Node.js {{ nodejs_version }} which includes /usr/bin/npm (debuntu distros UP TO 2017) +- name: Install Node.js {{ nodejs_version }} which includes /usr/bin/npm (debuntu) + apt: name: nodejs={{ nodejs_version }} # Nec to change above from 'package:' to 'apt:' ? - # name: nodejs - # state: latest - when: internet_available + when: internet_available and is_debuntu #when: internet_available and (is_debian_8 or is_debian_9 or is_ubuntu_16 or is_ubuntu_17) +- name: Install Node.js {{ nodejs_version }} which includes /usr/bin/npm (not debuntu) + package: + name: nodejs + state: latest + #state: present + when: internet_available and not is_debuntu + # 2018-07-14: BOTH STEPS ABOVE TAKE TIME, but Raspbian (apt offers npm # 1.4.21) & Debian 9 (apt offers no npm!) STILL NEED the above # nodesource.com approach to get a version of npm that works with Sugarizer: From 5e4eadeef9b7791209d6c67a192f22c8e806640f Mon Sep 17 00:00:00 2001 From: A Holt Date: Tue, 29 Jan 2019 12:58:34 -0500 Subject: [PATCH 14/90] Update main.yml --- roles/nodejs/tasks/main.yml | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/roles/nodejs/tasks/main.yml b/roles/nodejs/tasks/main.yml index 0f96ac7b8..b54553c9c 100644 --- a/roles/nodejs/tasks/main.yml +++ b/roles/nodejs/tasks/main.yml @@ -25,16 +25,20 @@ #- name: Install Node.js {{ nodejs_version }} which includes /usr/bin/npm (debuntu distros UP TO 2017) - name: Install Node.js {{ nodejs_version }} which includes /usr/bin/npm (debuntu) apt: - name: nodejs={{ nodejs_version }} # Nec to change above from 'package:' to 'apt:' ? + name: nodejs={{ nodejs_version }} + state: latest + # package: + # name: nodejs + # state: latest + # state: present when: internet_available and is_debuntu #when: internet_available and (is_debian_8 or is_debian_9 or is_ubuntu_16 or is_ubuntu_17) -- name: Install Node.js {{ nodejs_version }} which includes /usr/bin/npm (not debuntu) - package: - name: nodejs - state: latest - #state: present - when: internet_available and not is_debuntu +- name: Install Node.js {{ nodejs_version }} which includes /usr/bin/npm (redhat) + shell: curl -sL https://rpm.nodesource.com/setup_{{ nodejs_version }} | bash - + args: + warn: no + when: internet_available and is_redhat # 2018-07-14: BOTH STEPS ABOVE TAKE TIME, but Raspbian (apt offers npm # 1.4.21) & Debian 9 (apt offers no npm!) STILL NEED the above From 6ef06f2c07eab03e29e23be698f7af715924a0eb Mon Sep 17 00:00:00 2001 From: A Holt Date: Tue, 29 Jan 2019 13:01:14 -0500 Subject: [PATCH 15/90] Update main.yml --- roles/nodejs/tasks/main.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/roles/nodejs/tasks/main.yml b/roles/nodejs/tasks/main.yml index b54553c9c..6829c4807 100644 --- a/roles/nodejs/tasks/main.yml +++ b/roles/nodejs/tasks/main.yml @@ -26,7 +26,6 @@ - name: Install Node.js {{ nodejs_version }} which includes /usr/bin/npm (debuntu) apt: name: nodejs={{ nodejs_version }} - state: latest # package: # name: nodejs # state: latest From f899b4048899ddc76592b1fc8a8015a9909f7f9e Mon Sep 17 00:00:00 2001 From: A Holt Date: Tue, 29 Jan 2019 13:05:46 -0500 Subject: [PATCH 16/90] Update main.yml --- roles/nodejs/tasks/main.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/roles/nodejs/tasks/main.yml b/roles/nodejs/tasks/main.yml index 6829c4807..608397920 100644 --- a/roles/nodejs/tasks/main.yml +++ b/roles/nodejs/tasks/main.yml @@ -24,11 +24,10 @@ #- name: Install Node.js {{ nodejs_version }} which includes /usr/bin/npm (debuntu distros UP TO 2017) - name: Install Node.js {{ nodejs_version }} which includes /usr/bin/npm (debuntu) - apt: - name: nodejs={{ nodejs_version }} - # package: - # name: nodejs - # state: latest + package: + # name: nodejs={{ nodejs_version }} + name: nodejs + state: latest # state: present when: internet_available and is_debuntu #when: internet_available and (is_debian_8 or is_debian_9 or is_ubuntu_16 or is_ubuntu_17) From e9388a3c30aaed1fd51d2130b659b6dfd2b2c19a Mon Sep 17 00:00:00 2001 From: A Holt Date: Tue, 29 Jan 2019 13:08:06 -0500 Subject: [PATCH 17/90] Update main.yml --- roles/lokole/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/lokole/tasks/main.yml b/roles/lokole/tasks/main.yml index 027b7515f..e33261101 100644 --- a/roles/lokole/tasks/main.yml +++ b/roles/lokole/tasks/main.yml @@ -1,3 +1,3 @@ -- name: Run install.yml (install Lokole {{ lokole_version }}) if lokole_install +- name: Install Lokole {{ lokole_version }} if lokole_install include_tasks: install.yml when: lokole_install From 9289de19e481c8887c41b08db6e805b7eace7de2 Mon Sep 17 00:00:00 2001 From: A Holt Date: Tue, 29 Jan 2019 13:22:31 -0500 Subject: [PATCH 18/90] Update main.yml --- roles/sugarizer/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index 76344e435..5eb8dcf00 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -51,7 +51,7 @@ depth: 1 when: internet_available -- name: Create symbolic link /opt/iiab/sugarizer-server -> /opt/iiab/{{ sugarizer_server_dir_version }} +- name: Create symlink /opt/iiab/sugarizer-server -> /opt/iiab/{{ sugarizer_server_dir_version }} file: src: "{{ sugarizer_location }}/{{ sugarizer_server_dir_version }}" dest: "{{ sugarizer_location }}/sugarizer-server" From 1aed43b7acb7f57d05a67f0aac9ef8d1abe26211 Mon Sep 17 00:00:00 2001 From: A Holt Date: Tue, 29 Jan 2019 13:29:02 -0500 Subject: [PATCH 19/90] Update main.yml --- roles/sugarizer/tasks/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index 5eb8dcf00..9106a1215 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -9,7 +9,7 @@ # 1. DOWNLOAD+LINK /opt/iiab/sugarizer -- name: Clone llaske/sugarizer ({{ sugarizer_git_version }}) from GitHub to /opt/iiab (MAY DOWNLOAD 600+ MB) +- name: Clone llaske/sugarizer ({{ sugarizer_git_version }}) from GitHub to /opt/iiab/{{ sugarizer_dir_version }} (MAY DOWNLOAD 600+ MB) git: repo: https://github.com/llaske/sugarizer dest: "{{ sugarizer_location }}/{{ sugarizer_dir_version }}" @@ -42,7 +42,7 @@ # CLARIF: during repeat runs of "./runrole sugarizer", this git sync shows # "changed" (whereas above git sync shows "ok"). Reason: "npm install" # (below) modifies /opt/iiab/sugarizer-server/node_modules -- name: Clone llaske/sugarizer-server ({{ sugarizer_server_git_version }}) from GitHub to /opt/iiab +- name: Clone llaske/sugarizer-server ({{ sugarizer_server_git_version }}) from GitHub to /opt/iiab/{{ sugarizer_server_dir_version }} git: repo: https://github.com/llaske/sugarizer-server dest: "{{ sugarizer_location }}/{{ sugarizer_server_dir_version }}" From 280237a85b1c96d059524b3ae22b3e89d520e3cc Mon Sep 17 00:00:00 2001 From: A Holt Date: Tue, 29 Jan 2019 15:40:58 -0500 Subject: [PATCH 20/90] clone sugarizer-server from dev branch (master later) --- roles/sugarizer/defaults/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/sugarizer/defaults/main.yml b/roles/sugarizer/defaults/main.yml index c114b685d..bf820ad4c 100644 --- a/roles/sugarizer/defaults/main.yml +++ b/roles/sugarizer/defaults/main.yml @@ -7,6 +7,6 @@ sugarizer_dir_version: sugarizer-master # WAS: sugarizer-1.0 sugarizer_git_version: master # WAS: v1.0.1, v1.1.0 # PLEASE HELP MONITOR https://github.com/llaske/sugarizer/releases -sugarizer_server_dir_version: sugarizer-server-master # WAS: sugarizer-server-1.0 -sugarizer_server_git_version: master # WAS: v1.0.1 +sugarizer_server_dir_version: sugarizer-server-dev # WAS: sugarizer-server-1.0 +sugarizer_server_git_version: dev # WAS: v1.0.1 # PLEASE HELP MONITOR https://github.com/llaske/sugarizer-server/releases From 9b1b13b8c0e3e2978130e0a9079a66fb47056ebc Mon Sep 17 00:00:00 2001 From: A Holt Date: Tue, 29 Jan 2019 15:51:19 -0500 Subject: [PATCH 21/90] Update main.yml --- roles/sugarizer/tasks/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index 9106a1215..07a4a73ac 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -9,7 +9,7 @@ # 1. DOWNLOAD+LINK /opt/iiab/sugarizer -- name: Clone llaske/sugarizer ({{ sugarizer_git_version }}) from GitHub to /opt/iiab/{{ sugarizer_dir_version }} (MAY DOWNLOAD 600+ MB) +- name: Clone llaske/sugarizer ({{ sugarizer_git_version }} branch) from GitHub to /opt/iiab/{{ sugarizer_dir_version }} (MAY DOWNLOAD 600+ MB) git: repo: https://github.com/llaske/sugarizer dest: "{{ sugarizer_location }}/{{ sugarizer_dir_version }}" @@ -42,7 +42,7 @@ # CLARIF: during repeat runs of "./runrole sugarizer", this git sync shows # "changed" (whereas above git sync shows "ok"). Reason: "npm install" # (below) modifies /opt/iiab/sugarizer-server/node_modules -- name: Clone llaske/sugarizer-server ({{ sugarizer_server_git_version }}) from GitHub to /opt/iiab/{{ sugarizer_server_dir_version }} +- name: Clone llaske/sugarizer-server ({{ sugarizer_server_git_version }} branch) from GitHub to /opt/iiab/{{ sugarizer_server_dir_version }} git: repo: https://github.com/llaske/sugarizer-server dest: "{{ sugarizer_location }}/{{ sugarizer_server_dir_version }}" From 7b4651797f1d5d475ba7993f389543ac978755db Mon Sep 17 00:00:00 2001 From: A Holt Date: Tue, 29 Jan 2019 17:20:12 -0500 Subject: [PATCH 22/90] sugarizer master -> v1.1.0 --- roles/sugarizer/defaults/main.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/roles/sugarizer/defaults/main.yml b/roles/sugarizer/defaults/main.yml index bf820ad4c..53c543f37 100644 --- a/roles/sugarizer/defaults/main.yml +++ b/roles/sugarizer/defaults/main.yml @@ -3,10 +3,10 @@ sugarizer_enabled: False sugarizer_location: "{{ iiab_base }}" # /opt/iiab -sugarizer_dir_version: sugarizer-master # WAS: sugarizer-1.0 -sugarizer_git_version: master # WAS: v1.0.1, v1.1.0 +sugarizer_dir_version: sugarizer-1.1.0 # WAS: sugarizer-1.0, sugarizer-master +sugarizer_git_version: v1.1.0 # WAS: v1.0.1, master # PLEASE HELP MONITOR https://github.com/llaske/sugarizer/releases -sugarizer_server_dir_version: sugarizer-server-dev # WAS: sugarizer-server-1.0 -sugarizer_server_git_version: dev # WAS: v1.0.1 +sugarizer_server_dir_version: sugarizer-server-dev # WAS: sugarizer-server-1.0, sugarizer-server-master +sugarizer_server_git_version: dev # WAS: v1.0.1, master # PLEASE HELP MONITOR https://github.com/llaske/sugarizer-server/releases From 6ad15f70e6114336dfac27d044c00bee7680c6fb Mon Sep 17 00:00:00 2001 From: A Holt Date: Tue, 29 Jan 2019 17:21:42 -0500 Subject: [PATCH 23/90] Update main.yml --- roles/sugarizer/tasks/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index 07a4a73ac..cecaa1a23 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -9,7 +9,7 @@ # 1. DOWNLOAD+LINK /opt/iiab/sugarizer -- name: Clone llaske/sugarizer ({{ sugarizer_git_version }} branch) from GitHub to /opt/iiab/{{ sugarizer_dir_version }} (MAY DOWNLOAD 600+ MB) +- name: Clone llaske/sugarizer ({{ sugarizer_git_version }} branch/version) from GitHub to /opt/iiab/{{ sugarizer_dir_version }} (MAY DOWNLOAD 600+ MB) git: repo: https://github.com/llaske/sugarizer dest: "{{ sugarizer_location }}/{{ sugarizer_dir_version }}" @@ -42,7 +42,7 @@ # CLARIF: during repeat runs of "./runrole sugarizer", this git sync shows # "changed" (whereas above git sync shows "ok"). Reason: "npm install" # (below) modifies /opt/iiab/sugarizer-server/node_modules -- name: Clone llaske/sugarizer-server ({{ sugarizer_server_git_version }} branch) from GitHub to /opt/iiab/{{ sugarizer_server_dir_version }} +- name: Clone llaske/sugarizer-server ({{ sugarizer_server_git_version }} branch/version) from GitHub to /opt/iiab/{{ sugarizer_server_dir_version }} git: repo: https://github.com/llaske/sugarizer-server dest: "{{ sugarizer_location }}/{{ sugarizer_server_dir_version }}" From c3a9fe830d164b22e04a0f726a5f65481799b17d Mon Sep 17 00:00:00 2001 From: A Holt Date: Tue, 29 Jan 2019 19:01:03 -0500 Subject: [PATCH 24/90] Update main.yml --- roles/sugarizer/tasks/main.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index cecaa1a23..b432a1a6c 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -1,3 +1,8 @@ +- name: Fail if nodejs_version is not set to {{ nodejs_version }} + fail: + msg: "Sugarizer install cannot proceeed, as it currently requires Node.js 10.x, and your nodejs_version is set to {{ nodejs_version }}. Please check the value of nodejs_version in /opt/iiab/iiab/vars/default_vars.yml and possibly also /etc/iiab/local_vars.yml" + when: sugarizer_install and (nodejs_version != "10.x") + # 0. CLEAN UP PRIOR VERSIONS OF SUGARIZER (NEEDS WORK!) # - name: Wipe /library/www/html/sugarizer* if installing sugarizer-1.0 From 8b706bd3e871a93385bfd6ca88b78d7984d749f5 Mon Sep 17 00:00:00 2001 From: A Holt Date: Tue, 29 Jan 2019 19:07:08 -0500 Subject: [PATCH 25/90] Update main.yml --- roles/sugarizer/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index b432a1a6c..b02084a4a 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -1,4 +1,4 @@ -- name: Fail if nodejs_version is not set to {{ nodejs_version }} +- name: Fail if nodejs_version is not set to 10.x fail: msg: "Sugarizer install cannot proceeed, as it currently requires Node.js 10.x, and your nodejs_version is set to {{ nodejs_version }}. Please check the value of nodejs_version in /opt/iiab/iiab/vars/default_vars.yml and possibly also /etc/iiab/local_vars.yml" when: sugarizer_install and (nodejs_version != "10.x") From 443ed894bdf0e26bff505ab7178694bd9e7e29ee Mon Sep 17 00:00:00 2001 From: A Holt Date: Tue, 29 Jan 2019 19:43:12 -0500 Subject: [PATCH 26/90] Update main.yml --- roles/nodejs/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/nodejs/tasks/main.yml b/roles/nodejs/tasks/main.yml index 608397920..d453538a4 100644 --- a/roles/nodejs/tasks/main.yml +++ b/roles/nodejs/tasks/main.yml @@ -32,7 +32,7 @@ when: internet_available and is_debuntu #when: internet_available and (is_debian_8 or is_debian_9 or is_ubuntu_16 or is_ubuntu_17) -- name: Install Node.js {{ nodejs_version }} which includes /usr/bin/npm (redhat) +- name: Set up & install Node.js {{ nodejs_version }} which includes /usr/bin/npm (redhat) shell: curl -sL https://rpm.nodesource.com/setup_{{ nodejs_version }} | bash - args: warn: no From 1d42929962fe5fb23cd0b30ce830c1f559528182 Mon Sep 17 00:00:00 2001 From: A Holt Date: Tue, 29 Jan 2019 19:46:49 -0500 Subject: [PATCH 27/90] Update main.yml --- roles/sugarizer/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index b02084a4a..600e22d4b 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -119,7 +119,7 @@ # gets the job done, for now!) #- name: Create the express framework for Node.js (OS's other than Fedora 18) -- name: Run 'npm install --allow-root --unsafe-perm=true' to create /opt/iiab/{{ sugarizer_server_dir_version }}/node_modules (CAN TAKE ~3 MINUTES) +- name: Run 'npm install --allow-root --unsafe-perm=true' to create /opt/iiab/{{ sugarizer_server_dir_version }}/node_modules (CAN TAKE ~5 MINUTES) command: npm install --allow-root --unsafe-perm=true # "command:" a bit safer than "shell:" args: chdir: "{{ sugarizer_location }}/{{ sugarizer_server_dir_version }}" From bb72eea384d6b287678277af9fe96aa0e8ed8083 Mon Sep 17 00:00:00 2001 From: A Holt Date: Tue, 29 Jan 2019 23:32:29 -0500 Subject: [PATCH 28/90] Instead of PR #1432 (using nodesource to install Node.js simplifies) --- roles/nodered/templates/node-red.service.j2 | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/roles/nodered/templates/node-red.service.j2 b/roles/nodered/templates/node-red.service.j2 index aace44507..a531b7513 100644 --- a/roles/nodered/templates/node-red.service.j2 +++ b/roles/nodered/templates/node-red.service.j2 @@ -3,11 +3,12 @@ Description=Node-RED After=syslog.target network.target [Service] -{% if is_debian_8 or is_debian_9 or is_ubuntu_16 or is_ubuntu_17 %} +# {% if is_debian_8 or is_debian_9 or is_ubuntu_16 or is_ubuntu_17 %} +# {% if is_debuntu %} ExecStart=/usr/bin/node-red-pi --max-old-space-size=128 -v -{% else %} -ExecStart=/usr/local/bin/node-red-pi --max-old-space-size=128 -v -{% endif %} +# {% else %} +# ExecStart=/usr/local/bin/node-red-pi --max-old-space-size=128 -v +# {% endif %} Restart=on-failure KillSignal=SIGINT From 2cc5bb92ccfb2ae0b78eaa2b4a4bebe72aca5256 Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 30 Jan 2019 17:34:59 -0500 Subject: [PATCH 29/90] Update main.yml --- roles/sugarizer/tasks/main.yml | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index 600e22d4b..d8c03f0de 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -142,9 +142,9 @@ when: internet_available -# 5. PLACE CONFIG FILES +# 5. CONFIG FILES -- name: "Install from templates: sugarizer.service (systemd), sugarizer.conf (Apache), sugarizer.ini and sugarizer-server" +- name: "Install from templates: sugarizer.service (systemd), sugarizer.conf (Apache)" template: src: "{{ item.src }}" dest: "{{ item.dest }}" @@ -152,10 +152,23 @@ owner: root group: root with_items: - - { src: 'sugarizer.ini', dest: '{{ sugarizer_location }}/{{ sugarizer_server_dir_version }}/env/sugarizer.ini', mode: '0644' } - - { src: 'sugarizer.conf', dest: '/etc/apache2/sites-available', mode: '0644' } + #- { src: 'sugarizer.ini', dest: '{{ sugarizer_location }}/{{ sugarizer_server_dir_version }}/env/sugarizer.ini', mode: '0644' } - { src: 'sugarizer.service.j2', dest: '/etc/systemd/system/sugarizer.service', mode: '0644' } - - { src: 'sugarizer.js', dest: '/opt/iiab/sugarizer-server', mode: '0644' } + - { src: 'sugarizer.conf.j2', dest: '/etc/apache2/sites-available/sugarizer.conf', mode: '0644' } + #- { src: 'sugarizer.js', dest: '/opt/iiab/sugarizer-server', mode: '0644' } + +- name: Set Sugarizer port to {{ sugarizer_port }} in /opt/iiab/sugarizer-server/env/sugarizer.ini + lineinfile: + path: /opt/iiab/sugarizer-server-dev/env/sugarizer.ini + regexp: "^port = 8080$" + line: "port = {{ sugarizer_port }}" # port is usually 8089, per default_vars.yml + +# SOMETHING LIKE THIS IS NEEDED AS OF 2019-01-30 -- SEE PR #1430 +#- name: Customize /opt/iiab/sugarizer-server/sugarizer.js +# lineinfile: +# path: /opt/iiab/sugarizer-server/sugarizer.js +# regexp: "???" +# line: "???" - name: Create symlink sugarizer.conf from sites-enabled to sites-available, for short URL http://box/sugarizer (debuntu) file: From e7cb6161c543847e7880359ee7bc8ffbbe33df9c Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 30 Jan 2019 17:54:24 -0500 Subject: [PATCH 30/90] Update main.yml --- roles/sugarizer/defaults/main.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/roles/sugarizer/defaults/main.yml b/roles/sugarizer/defaults/main.yml index 53c543f37..10a45eabf 100644 --- a/roles/sugarizer/defaults/main.yml +++ b/roles/sugarizer/defaults/main.yml @@ -1,5 +1,12 @@ -sugarizer_install: False -sugarizer_enabled: False +# Might stall MongoDB on Power Failure: github.com/xsce/xsce/issues/879 +# Sugarizer 1.0.1+ strategies to solve? github.com/iiab/iiab/pull/957 + +# sugarizer_install: False +# sugarizer_enabled: False +# sugarizer_port: 8089 + +# All above are set in: github.com/iiab/iiab/blob/master/vars/default_vars.yml +# If nec, change them by editing /etc/iiab/local_vars.yml prior to installing! sugarizer_location: "{{ iiab_base }}" # /opt/iiab From 2c4a996a0b0707c294ce93a234d4275024551eac Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 30 Jan 2019 18:05:41 -0500 Subject: [PATCH 31/90] Update default_vars.yml --- vars/default_vars.yml | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/vars/default_vars.yml b/vars/default_vars.yml index 02abc8ad7..c80713f26 100644 --- a/vars/default_vars.yml +++ b/vars/default_vars.yml @@ -1,16 +1,13 @@ -# WARNING: DO NOT MODIFY THIS FILE. -# CHANGES WILL BE LOST IF YOU DO A GIT PULL OR FETCH. -# Instead put changes in your own /etc/iiab/local_vars.yml -# PLZ READ http://wiki.laptop.org/go/IIAB/local_vars.yml AND http://FAQ.IIAB.IO +# DO NOT MODIFY THIS FILE! CHANGES WILL BE LOST WHEN "git pull" IS RUN! +# PUT YOUR CUSTOMIZATIONS HERE: /etc/iiab/local_vars.yml +# READ "What is local_vars.yml and how do I customize it?" IN http://FAQ.IIAB.IO -# By convention we use True/False to indicate boolean constants. +# By convention we use True/False to indicate boolean values. # Configuration Files iiab_local_vars_file: /etc/iiab/local_vars.yml iiab_env_file: /etc/iiab/iiab.env iiab_ini_file: /etc/iiab/iiab.ini -#iiab_config_file: "{{ iiab_ini_file }}" # Legacy support / let's phase this out eventually -#service_filelist: "{{ iiab_ini_file }}" # Legacy support / let's phase this out eventually iiab_base: /opt/iiab iiab_dir: "{{ iiab_base }}/iiab" From 9ba05166ab708a6836b0d01889981d1745c1a052 Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 30 Jan 2019 18:58:04 -0500 Subject: [PATCH 32/90] Update main.yml --- roles/sugarizer/tasks/main.yml | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index d8c03f0de..6b9637c01 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -161,14 +161,19 @@ lineinfile: path: /opt/iiab/sugarizer-server-dev/env/sugarizer.ini regexp: "^port = 8080$" - line: "port = {{ sugarizer_port }}" # port is usually 8089, per default_vars.yml + line: "port = {{ sugarizer_port }}" +# sugarizer_port is set to 8089 in /opt/iiab/iiab/vars/default_vars.yml +# If you need to change this, edit /etc/iiab/local_vars.yml prior to installing -# SOMETHING LIKE THIS IS NEEDED AS OF 2019-01-30 -- SEE PR #1430 -#- name: Customize /opt/iiab/sugarizer-server/sugarizer.js -# lineinfile: -# path: /opt/iiab/sugarizer-server/sugarizer.js -# regexp: "???" -# line: "???" +# SEE https://github.com/iiab/iiab/pull/1430#issuecomment-459129378 +- name: Customize pathPrefix /sugarizer in /opt/iiab/sugarizer-server/sugarizer.js + lineinfile: + path: /opt/iiab/sugarizer-server/sugarizer.js + insertbefore: "^// Start listening$" + block: "var pathPrefix = '/sugarizer';\napp.use(pathPrefix, require('path-prefix-proxy')(pathPrefix));\n\n" +# block: |+ +# var pathPrefix = '/sugarizer'; +# app.use(pathPrefix, require('path-prefix-proxy')(pathPrefix)); - name: Create symlink sugarizer.conf from sites-enabled to sites-available, for short URL http://box/sugarizer (debuntu) file: From 8064893725b900f8cff604317af50d1302b102fa Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 30 Jan 2019 19:00:36 -0500 Subject: [PATCH 33/90] Update sugarizer.conf --- roles/sugarizer/templates/sugarizer.conf | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/roles/sugarizer/templates/sugarizer.conf b/roles/sugarizer/templates/sugarizer.conf index 7f90d01ce..675aa86b3 100644 --- a/roles/sugarizer/templates/sugarizer.conf +++ b/roles/sugarizer/templates/sugarizer.conf @@ -1,2 +1,5 @@ -ProxyPass /sugarizer http://localhost:8089/sugarizer -ProxyPassReverse /sugarizer http://localhost:8089/sugarizer +# sugarizer_port is set to 8089 in /opt/iiab/iiab/vars/default_vars.yml +# If you need to change this, edit /etc/iiab/local_vars.yml prior to installing + +ProxyPass /sugarizer http://localhost:{{ sugarizer_port }}/sugarizer +ProxyPassReverse /sugarizer http://localhost:{{ sugarizer_port }}/sugarizer From 54165c30db1111559bc7f9499b0333757066c7de Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 30 Jan 2019 19:04:20 -0500 Subject: [PATCH 34/90] Rename sugarizer.conf to sugarizer.conf.j2 --- roles/sugarizer/templates/{sugarizer.conf => sugarizer.conf.j2} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename roles/sugarizer/templates/{sugarizer.conf => sugarizer.conf.j2} (100%) diff --git a/roles/sugarizer/templates/sugarizer.conf b/roles/sugarizer/templates/sugarizer.conf.j2 similarity index 100% rename from roles/sugarizer/templates/sugarizer.conf rename to roles/sugarizer/templates/sugarizer.conf.j2 From 22f519a32a19eadf6859da3a15327ce415f415ea Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 30 Jan 2019 19:04:57 -0500 Subject: [PATCH 35/90] Rename sugarizer.ini to sugarizer.ini.j2.deprecated --- .../templates/{sugarizer.ini => sugarizer.ini.j2.deprecated} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename roles/sugarizer/templates/{sugarizer.ini => sugarizer.ini.j2.deprecated} (100%) diff --git a/roles/sugarizer/templates/sugarizer.ini b/roles/sugarizer/templates/sugarizer.ini.j2.deprecated similarity index 100% rename from roles/sugarizer/templates/sugarizer.ini rename to roles/sugarizer/templates/sugarizer.ini.j2.deprecated From 2d5c7d9be16471aec4043097b00b674a4cb1c596 Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 30 Jan 2019 19:05:27 -0500 Subject: [PATCH 36/90] Rename sugarizer.js to sugarizer.js.deprecated --- .../sugarizer/templates/{sugarizer.js => sugarizer.js.deprecated} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename roles/sugarizer/templates/{sugarizer.js => sugarizer.js.deprecated} (100%) diff --git a/roles/sugarizer/templates/sugarizer.js b/roles/sugarizer/templates/sugarizer.js.deprecated similarity index 100% rename from roles/sugarizer/templates/sugarizer.js rename to roles/sugarizer/templates/sugarizer.js.deprecated From 0f04613cd8ec4ed650552ad1aef3008352c360f6 Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 30 Jan 2019 19:08:29 -0500 Subject: [PATCH 37/90] Rename sugarizer.service.j2 to sugarizer.service --- .../templates/{sugarizer.service.j2 => sugarizer.service} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename roles/sugarizer/templates/{sugarizer.service.j2 => sugarizer.service} (100%) diff --git a/roles/sugarizer/templates/sugarizer.service.j2 b/roles/sugarizer/templates/sugarizer.service similarity index 100% rename from roles/sugarizer/templates/sugarizer.service.j2 rename to roles/sugarizer/templates/sugarizer.service From fb3372081a20377008ef676af818eb660d10b70e Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 30 Jan 2019 19:13:03 -0500 Subject: [PATCH 38/90] Update main.yml --- roles/sugarizer/tasks/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index 6b9637c01..852fd7646 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -152,10 +152,10 @@ owner: root group: root with_items: - #- { src: 'sugarizer.ini', dest: '{{ sugarizer_location }}/{{ sugarizer_server_dir_version }}/env/sugarizer.ini', mode: '0644' } - - { src: 'sugarizer.service.j2', dest: '/etc/systemd/system/sugarizer.service', mode: '0644' } + - { src: 'sugarizer.service', dest: '/etc/systemd/system/sugarizer.service', mode: '0644' } - { src: 'sugarizer.conf.j2', dest: '/etc/apache2/sites-available/sugarizer.conf', mode: '0644' } - #- { src: 'sugarizer.js', dest: '/opt/iiab/sugarizer-server', mode: '0644' } + #- { src: 'sugarizer.ini.j2', dest: '{{ sugarizer_location }}/{{ sugarizer_server_dir_version }}/env/sugarizer.ini', mode: '0644' } + #- { src: 'sugarizer.js', dest: '{{ sugarizer_location }}/{{ sugarizer_server_dir_version }}', mode: '0644' } - name: Set Sugarizer port to {{ sugarizer_port }} in /opt/iiab/sugarizer-server/env/sugarizer.ini lineinfile: From 991408ddeeabd1b4f61d7dcf896dad987ad41134 Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 30 Jan 2019 19:17:02 -0500 Subject: [PATCH 39/90] Update main.yml --- roles/sugarizer/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index 852fd7646..f56c7f546 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -159,7 +159,7 @@ - name: Set Sugarizer port to {{ sugarizer_port }} in /opt/iiab/sugarizer-server/env/sugarizer.ini lineinfile: - path: /opt/iiab/sugarizer-server-dev/env/sugarizer.ini + path: /opt/iiab/sugarizer-server/env/sugarizer.ini regexp: "^port = 8080$" line: "port = {{ sugarizer_port }}" # sugarizer_port is set to 8089 in /opt/iiab/iiab/vars/default_vars.yml From 57ff2cdb90668e032838cb5d6c57af2ba8b771f0 Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 30 Jan 2019 19:44:16 -0500 Subject: [PATCH 40/90] Update main.yml --- roles/sugarizer/tasks/main.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index f56c7f546..76c2057d7 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -77,9 +77,9 @@ # OLD WAY 2: "creates: ..." checks for non-existence of /opt/iiab/sugarizer-server-1.0/node_modules # OLD WAY 3: set "register: git_sug_server_output" above, then as nec delete /opt/iiab/sugarizer-server-1.0/node_modules "when: git_sug_server_output.changed" and as nec run "npm install" -#- name: Check for /opt/iiab/{{ sugarizer_server_dir_version }}/node_modules +#- name: Check for /opt/iiab/sugarizer-server/node_modules # stat: -# path: "{{ sugarizer_location }}/{{ sugarizer_server_dir_version }}/node_modules" +# path: "{{ sugarizer_location }}/sugarizer-server/node_modules" # register: nmtest # ignore_errors: true # @@ -119,11 +119,11 @@ # gets the job done, for now!) #- name: Create the express framework for Node.js (OS's other than Fedora 18) -- name: Run 'npm install --allow-root --unsafe-perm=true' to create /opt/iiab/{{ sugarizer_server_dir_version }}/node_modules (CAN TAKE ~5 MINUTES) +- name: Run 'npm install --allow-root --unsafe-perm=true' to create /opt/iiab/sugarizer-server/node_modules (CAN TAKE ~5 MINUTES) command: npm install --allow-root --unsafe-perm=true # "command:" a bit safer than "shell:" args: - chdir: "{{ sugarizer_location }}/{{ sugarizer_server_dir_version }}" - #creates: "{{ sugarizer_location }}/{{ sugarizer_server_dir_version }}/node_modules" # OLD WAY 2 + chdir: "{{ sugarizer_location }}/sugarizer-server" + #creates: "{{ sugarizer_location }}/sugarizer-server/node_modules" # OLD WAY 2 when: internet_available # "npm install" generally requires Internet access # when: internet_available and git_sug_server_output.changed # OLD WAY 3 # when: internet_available and not is_F18 and not node_modules_exists # OLD WAY 1 @@ -135,10 +135,10 @@ # when: internet_available and is_F18 and not node_modules_exists # Add a nodejs express function that appends a prefix to urls -- name: Install path prefix proxy - command: npm install --allow-root --unsafe-perm=true path-prefix-proxy +- name: Run 'npm install --allow-root --unsafe-perm=true path-prefix-proxy' to create /opt/iiab/sugarizer-server/node_modules/path-prefix-proxy + command: npm install --allow-root --unsafe-perm=true path-prefix-proxy args: - chdir: "{{ sugarizer_location }}/{{ sugarizer_server_dir_version }}" + chdir: "{{ sugarizer_location }}/sugarizer-server" when: internet_available @@ -154,8 +154,8 @@ with_items: - { src: 'sugarizer.service', dest: '/etc/systemd/system/sugarizer.service', mode: '0644' } - { src: 'sugarizer.conf.j2', dest: '/etc/apache2/sites-available/sugarizer.conf', mode: '0644' } - #- { src: 'sugarizer.ini.j2', dest: '{{ sugarizer_location }}/{{ sugarizer_server_dir_version }}/env/sugarizer.ini', mode: '0644' } - #- { src: 'sugarizer.js', dest: '{{ sugarizer_location }}/{{ sugarizer_server_dir_version }}', mode: '0644' } + #- { src: 'sugarizer.ini.j2', dest: '{{ sugarizer_location }}/sugarizer-server/env/sugarizer.ini', mode: '0644' } + #- { src: 'sugarizer.js', dest: '{{ sugarizer_location }}/sugarizer-server', mode: '0644' } - name: Set Sugarizer port to {{ sugarizer_port }} in /opt/iiab/sugarizer-server/env/sugarizer.ini lineinfile: From d963de1032288155dffeffd48de6f12a93bf7bc4 Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 30 Jan 2019 19:46:40 -0500 Subject: [PATCH 41/90] Update main.yml --- roles/sugarizer/tasks/main.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index 76c2057d7..94ae0c3b1 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -148,14 +148,14 @@ template: src: "{{ item.src }}" dest: "{{ item.dest }}" - mode: "{{ item.mode }}" + mode: 0644 owner: root group: root with_items: - - { src: 'sugarizer.service', dest: '/etc/systemd/system/sugarizer.service', mode: '0644' } - - { src: 'sugarizer.conf.j2', dest: '/etc/apache2/sites-available/sugarizer.conf', mode: '0644' } - #- { src: 'sugarizer.ini.j2', dest: '{{ sugarizer_location }}/sugarizer-server/env/sugarizer.ini', mode: '0644' } - #- { src: 'sugarizer.js', dest: '{{ sugarizer_location }}/sugarizer-server', mode: '0644' } + - { src: 'sugarizer.service', dest: '/etc/systemd/system/sugarizer.service' } + - { src: 'sugarizer.conf.j2', dest: '/etc/apache2/sites-available/sugarizer.conf' } + #- { src: 'sugarizer.ini.j2', dest: '{{ sugarizer_location }}/sugarizer-server/env/sugarizer.ini' } + #- { src: 'sugarizer.js', dest: '{{ sugarizer_location }}/sugarizer-server' } - name: Set Sugarizer port to {{ sugarizer_port }} in /opt/iiab/sugarizer-server/env/sugarizer.ini lineinfile: @@ -167,7 +167,7 @@ # SEE https://github.com/iiab/iiab/pull/1430#issuecomment-459129378 - name: Customize pathPrefix /sugarizer in /opt/iiab/sugarizer-server/sugarizer.js - lineinfile: + blockinfile: path: /opt/iiab/sugarizer-server/sugarizer.js insertbefore: "^// Start listening$" block: "var pathPrefix = '/sugarizer';\napp.use(pathPrefix, require('path-prefix-proxy')(pathPrefix));\n\n" From 5c28fd719cac44f0f7191071ed29dba5e0482a81 Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 30 Jan 2019 20:06:47 -0500 Subject: [PATCH 42/90] Update main.yml --- roles/sugarizer/tasks/main.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index 94ae0c3b1..eb48125bb 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -169,8 +169,9 @@ - name: Customize pathPrefix /sugarizer in /opt/iiab/sugarizer-server/sugarizer.js blockinfile: path: /opt/iiab/sugarizer-server/sugarizer.js - insertbefore: "^// Start listening$" - block: "var pathPrefix = '/sugarizer';\napp.use(pathPrefix, require('path-prefix-proxy')(pathPrefix));\n\n" + insertbefore: "// Start listening$" + block: "var pathPrefix = '/sugarizer';\napp.use(pathPrefix, require('path-prefix-proxy')(pathPrefix));\n" + marker: "// {mark} ANSIBLE MANAGED BLOCK FOR IIAB" # block: |+ # var pathPrefix = '/sugarizer'; # app.use(pathPrefix, require('path-prefix-proxy')(pathPrefix)); From 3e9324dd0dac09946bb815bab113ea7fd54b4ae7 Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 30 Jan 2019 21:48:21 -0500 Subject: [PATCH 43/90] Update main.yml --- roles/sugarizer/tasks/main.yml | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index eb48125bb..88b1675c9 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -157,6 +157,7 @@ #- { src: 'sugarizer.ini.j2', dest: '{{ sugarizer_location }}/sugarizer-server/env/sugarizer.ini' } #- { src: 'sugarizer.js', dest: '{{ sugarizer_location }}/sugarizer-server' } +# SEE https://github.com/iiab/iiab/pull/1430#issuecomment-459129378 - name: Set Sugarizer port to {{ sugarizer_port }} in /opt/iiab/sugarizer-server/env/sugarizer.ini lineinfile: path: /opt/iiab/sugarizer-server/env/sugarizer.ini @@ -167,14 +168,31 @@ # SEE https://github.com/iiab/iiab/pull/1430#issuecomment-459129378 - name: Customize pathPrefix /sugarizer in /opt/iiab/sugarizer-server/sugarizer.js - blockinfile: + lineinfile: path: /opt/iiab/sugarizer-server/sugarizer.js + regexp: "AUTO-INSERTED BY IIAB" # avoids inserting it twice! insertbefore: "// Start listening$" - block: "var pathPrefix = '/sugarizer';\napp.use(pathPrefix, require('path-prefix-proxy')(pathPrefix));\n" - marker: "// {mark} ANSIBLE MANAGED BLOCK FOR IIAB" -# block: |+ + line: | # SEE https://yaml-multiline.info (use |+ to 'keep' newlines at end...though |8 and |+4 "indentation indicators" don't work with Ansible) + // AUTO-INSERTED BY IIAB FOR http://box/sugarizer + var pathPrefix = '/sugarizer'; + app.use(pathPrefix, require('path-prefix-proxy')(pathPrefix)); + # Use this instead, if tabs are truly nec: + # line: "\t// AUTO-INSERTED BY IIAB FOR http://box/sugarizer\n\tvar pathPrefix = '/sugarizer';\n\tapp.use(pathPrefix, require('path-prefix-proxy')(pathPrefix));\n" + +# Ansible's blockinfile module: +# - inserts a mandatory marker line at beginning AND end of the block...ok fine +# - doesn't support adding a newline after the block...ugly :( +# - doesn't include above lineinfile's "regexp" parameter...and so risks inserting the block repeatedly, on each run :( +# +# blockinfile: +# path: /opt/iiab/sugarizer-server/sugarizer.js +# insertbefore: "// Start listening$" +# marker: "// {mark} AUTO-INSERTED BY IIAB FOR http://box/sugarizer" +# block: | # var pathPrefix = '/sugarizer'; # app.use(pathPrefix, require('path-prefix-proxy')(pathPrefix)); +# # Use this instead, if tabs are truly nec: +# # block: "\tvar pathPrefix = '/sugarizer';\n\tapp.use(pathPrefix, require('path-prefix-proxy')(pathPrefix));" - name: Create symlink sugarizer.conf from sites-enabled to sites-available, for short URL http://box/sugarizer (debuntu) file: From 5429f4e96392c7b8971deda70a646e97ec979383 Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 30 Jan 2019 21:54:16 -0500 Subject: [PATCH 44/90] Update default_vars.yml --- vars/default_vars.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vars/default_vars.yml b/vars/default_vars.yml index c80713f26..528c59c03 100644 --- a/vars/default_vars.yml +++ b/vars/default_vars.yml @@ -286,7 +286,7 @@ mosquitto_port: 1883 # Node.js version used by roles/nodejs/tasks/main.yml for 3 roles: # nodered (Node-RED), pbx (Asterix, FreePBX) & sugarizer (Sugarizer) -nodejs_version: 10.x # was 8.x until 2019-01-29 +nodejs_version: 10.x # was 8.x until 2019-01-31 # Flow-based visual programming for wiring together IoT hardware devices etc nodered_install: False From de2f3cdb1927e4c7d2405b98981058b18dc495ce Mon Sep 17 00:00:00 2001 From: A Holt Date: Thu, 31 Jan 2019 01:00:20 -0500 Subject: [PATCH 45/90] Update main.yml --- roles/sugarizer/tasks/main.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index 88b1675c9..2e49a43c1 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -166,6 +166,15 @@ # sugarizer_port is set to 8089 in /opt/iiab/iiab/vars/default_vars.yml # If you need to change this, edit /etc/iiab/local_vars.yml prior to installing +# SEE https://github.com/iiab/iiab/pull/1430#issuecomment-459129378 +- name: Set MongoDB port to {{ mongodb_port }} in /opt/iiab/sugarizer-server/env/sugarizer.ini + lineinfile: + path: /opt/iiab/sugarizer-server/env/sugarizer.ini + regexp: "^port = 27017$" + line: "port = {{ mongodb_port }}" +# mongodb_port is set to 27018 in /opt/iiab/iiab/vars/default_vars.yml +# If you need to change this, edit /etc/iiab/local_vars.yml prior to installing + # SEE https://github.com/iiab/iiab/pull/1430#issuecomment-459129378 - name: Customize pathPrefix /sugarizer in /opt/iiab/sugarizer-server/sugarizer.js lineinfile: From 9f82f13d9479a46b72c1a949babe2da0e620f079 Mon Sep 17 00:00:00 2001 From: A Holt Date: Thu, 31 Jan 2019 01:01:20 -0500 Subject: [PATCH 46/90] Update mongod.conf.j2 --- roles/mongodb/templates/mongod.conf.j2 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/mongodb/templates/mongod.conf.j2 b/roles/mongodb/templates/mongod.conf.j2 index f8b3f1497..9d9c9c9c1 100644 --- a/roles/mongodb/templates/mongod.conf.j2 +++ b/roles/mongodb/templates/mongod.conf.j2 @@ -5,8 +5,8 @@ # Comma separated list of ip addresses to listen on (all local ips by default) bind_ip = 127.0.0.1 -# Specify port number (27017 by default) -port = 27018 +# Specify port number (27017 by default...but typically 27018 for IIAB) +port = {{ mongodb_port }} # Fork server process (false by default) # fork = true From 76b89b72b20948ebdb14698c6ae3fb8eea762fdc Mon Sep 17 00:00:00 2001 From: A Holt Date: Thu, 31 Jan 2019 01:12:14 -0500 Subject: [PATCH 47/90] Update main.yml --- roles/mongodb/defaults/main.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/roles/mongodb/defaults/main.yml b/roles/mongodb/defaults/main.yml index 61d1d951f..73dd0c0c9 100644 --- a/roles/mongodb/defaults/main.yml +++ b/roles/mongodb/defaults/main.yml @@ -1,6 +1,10 @@ -mongodb_install: False -mongodb_enabled: False +# mongodb_install: False +# mongodb_enabled: False +# mongodb_port: 27018 + +# All above are set in: github.com/iiab/iiab/blob/master/vars/default_vars.yml +# If nec, change them by editing /etc/iiab/local_vars.yml prior to installing! mongodb_conf: /etc/mongod.conf -mongodb_db_path: "{{ content_base }}/dbdata/mongodb" # == /library/dbdata/mongodb/ +mongodb_db_path: "{{ content_base }}/dbdata/mongodb" # i.e. /library/dbdata/mongodb/ mongodb_db_lock_file: "{{ mongodb_db_path }}/mongod.lock" From 463bb62d6c56ce677e611d1642437e76b8c81abb Mon Sep 17 00:00:00 2001 From: A Holt Date: Thu, 31 Jan 2019 01:26:32 -0500 Subject: [PATCH 48/90] Update default_vars.yml --- vars/default_vars.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/vars/default_vars.yml b/vars/default_vars.yml index 528c59c03..04bd83186 100644 --- a/vars/default_vars.yml +++ b/vars/default_vars.yml @@ -326,6 +326,14 @@ moodle_install: False moodle_enabled: False # If using Moodle intensively, set apache_high_php_limits in 3-BASE-SERVER +# MongoDB (/library/dbdata/mongodb) is used by Sugarizer: +# Its 2 settings below are auto-set to True (in roles/0-init/tasks/main.yml) when: sugarizer_enabled +# The mongodb playbook itself is later invoked by roles/sugarizer/meta/main.yml +mongodb_install: False +mongodb_enabled: False +mongodb_port: 27018 + +# roles/sugarizer/meta/main.yml auto-invokes 2 above prereqs: mongodb & nodejs # Might stall MongoDB on Power Failure: github.com/xsce/xsce/issues/879 # Sugarizer 1.0.1+ strategies to solve? github.com/iiab/iiab/pull/957 sugarizer_install: False From fde9cbbb4954c9a8eba56ebe6fb7adb5eebc9763 Mon Sep 17 00:00:00 2001 From: A Holt Date: Thu, 31 Jan 2019 11:07:12 -0500 Subject: [PATCH 49/90] Update main.yml --- roles/mongodb/tasks/main.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/roles/mongodb/tasks/main.yml b/roles/mongodb/tasks/main.yml index 2029c6b2d..d3aa40528 100644 --- a/roles/mongodb/tasks/main.yml +++ b/roles/mongodb/tasks/main.yml @@ -2,13 +2,13 @@ package: name: - mongodb-server - - mongodb + - mongodb # 2019-01-31: this package does not exist on (cannot be installed on) Debian 10, SEE #1437 state: present when: internet_available tags: - download -- name: Create 3 dirs for MongoDB +- name: 'Create 3 dirs for MongoDB: /var/run/mongodb, {{ mongodb_db_path }}, /var/log/mongodb' file: state: directory path: "{{ item.path }}" @@ -18,7 +18,7 @@ - { path: "{{ mongodb_db_path }}" } # == /library/dbdata/mongodb/ - { path: '/var/log/mongodb' } -- name: Populate & position /etc/mongod.conf, mongodb.service, /usr/bin/iiab-mongodb-repair-if-no-lock +- name: Install /etc/mongod.conf, mongodb.service, /usr/bin/iiab-mongodb-repair-if-no-lock from templates template: src: "{{ item.src }}" dest: "{{ item.dest }}" @@ -26,16 +26,16 @@ group: root mode: "{{ item.mode }}" with_items: - - { src: 'mongod.conf.j2', dest: "{{ mongodb_conf }}", mode: '0644' } + - { src: 'mongod.conf.j2', dest: "{{ mongodb_conf }}", mode: '0644' } # /etc/mongod.conf - { src: 'mongodb.service.j2', dest: '/etc/systemd/system/mongodb.service', mode: '0644' } - { src: 'iiab-mongodb-repair-if-no-lock.j2', dest: '/usr/bin/iiab-mongodb-repair-if-no-lock', mode: '0755' } - name: Enable & Restart 'mongodb' systemd service if mongodb_enabled, incl daemon-reload (in case mongodb.service changed?) systemd: name: mongodb + daemon_reload: yes enabled: yes state: restarted - daemon_reload: yes when: mongodb_enabled - name: Disable 'mongodb' service, if not mongodb_enabled From 03e9fb6da1c56f1b13849dee88d5f9d9a3084c30 Mon Sep 17 00:00:00 2001 From: A Holt Date: Thu, 31 Jan 2019 16:34:26 -0500 Subject: [PATCH 50/90] Update main.yml --- roles/sugarizer/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index 2e49a43c1..bd2cf76b0 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -1,4 +1,4 @@ -- name: Fail if nodejs_version is not set to 10.x +- name: FAIL (STOP INSTALLING) IF nodejs_version is not set to 10.x fail: msg: "Sugarizer install cannot proceeed, as it currently requires Node.js 10.x, and your nodejs_version is set to {{ nodejs_version }}. Please check the value of nodejs_version in /opt/iiab/iiab/vars/default_vars.yml and possibly also /etc/iiab/local_vars.yml" when: sugarizer_install and (nodejs_version != "10.x") From b063d0333f06ab4bb18dea1f93dd735b78eaaba6 Mon Sep 17 00:00:00 2001 From: A Holt Date: Thu, 31 Jan 2019 17:19:35 -0500 Subject: [PATCH 51/90] Update node-red.service.j2 --- roles/nodered/templates/node-red.service.j2 | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/roles/nodered/templates/node-red.service.j2 b/roles/nodered/templates/node-red.service.j2 index a531b7513..d6c9df000 100644 --- a/roles/nodered/templates/node-red.service.j2 +++ b/roles/nodered/templates/node-red.service.j2 @@ -3,12 +3,12 @@ Description=Node-RED After=syslog.target network.target [Service] -# {% if is_debian_8 or is_debian_9 or is_ubuntu_16 or is_ubuntu_17 %} -# {% if is_debuntu %} +# Ansible template HAD: if is_debian_8 or is_debian_9 or is_ubuntu_16 or is_ubuntu_17 +# Ansible template HAD: if is_debuntu ExecStart=/usr/bin/node-red-pi --max-old-space-size=128 -v -# {% else %} +# Ansible template HAD: else # ExecStart=/usr/local/bin/node-red-pi --max-old-space-size=128 -v -# {% endif %} +# Ansible template HAD: endif Restart=on-failure KillSignal=SIGINT @@ -23,4 +23,3 @@ Group=nodered [Install] WantedBy=multi-user.target - From 655d9a2c557c2e1ec505aab3a93827653f27483f Mon Sep 17 00:00:00 2001 From: A Holt Date: Thu, 31 Jan 2019 20:04:08 -0500 Subject: [PATCH 52/90] Update main.yml --- roles/sugarizer/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index bd2cf76b0..06c250340 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -234,7 +234,7 @@ state: stopped when: not sugarizer_enabled -- name: Restart Apache ({{ apache_service }}) to enable/disable http://box/sugarizer (not just http://box:8089) +- name: Restart Apache ({{ apache_service }}) to enable/disable http://box/sugarizer (not just http://box:{{ sugarizer_port }}) systemd: name: "{{ apache_service }}" # httpd or apache2 state: restarted From 24088326a44403774caae6b524d0fa9b88fdeb92 Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 07:29:11 -0500 Subject: [PATCH 53/90] Update main.yml --- roles/sugarizer/tasks/main.yml | 37 ++++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index 06c250340..301e647e7 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -157,36 +157,43 @@ #- { src: 'sugarizer.ini.j2', dest: '{{ sugarizer_location }}/sugarizer-server/env/sugarizer.ini' } #- { src: 'sugarizer.js', dest: '{{ sugarizer_location }}/sugarizer-server' } +# sugarizer_port is set to 8089 in /opt/iiab/iiab/vars/default_vars.yml +# If you need to change this, edit /etc/iiab/local_vars.yml prior to installing # SEE https://github.com/iiab/iiab/pull/1430#issuecomment-459129378 - name: Set Sugarizer port to {{ sugarizer_port }} in /opt/iiab/sugarizer-server/env/sugarizer.ini lineinfile: path: /opt/iiab/sugarizer-server/env/sugarizer.ini regexp: "^port = 8080$" line: "port = {{ sugarizer_port }}" -# sugarizer_port is set to 8089 in /opt/iiab/iiab/vars/default_vars.yml -# If you need to change this, edit /etc/iiab/local_vars.yml prior to installing +# mongodb_port is set to 27018 in /opt/iiab/iiab/vars/default_vars.yml +# If you need to change this, edit /etc/iiab/local_vars.yml prior to installing # SEE https://github.com/iiab/iiab/pull/1430#issuecomment-459129378 - name: Set MongoDB port to {{ mongodb_port }} in /opt/iiab/sugarizer-server/env/sugarizer.ini lineinfile: path: /opt/iiab/sugarizer-server/env/sugarizer.ini regexp: "^port = 27017$" line: "port = {{ mongodb_port }}" -# mongodb_port is set to 27018 in /opt/iiab/iiab/vars/default_vars.yml -# If you need to change this, edit /etc/iiab/local_vars.yml prior to installing +# 2-LINE FIX FOR sugarizer.js BY @georgejhunt FOR http://box/sugarizer # SEE https://github.com/iiab/iiab/pull/1430#issuecomment-459129378 -- name: Customize pathPrefix /sugarizer in /opt/iiab/sugarizer-server/sugarizer.js - lineinfile: - path: /opt/iiab/sugarizer-server/sugarizer.js - regexp: "AUTO-INSERTED BY IIAB" # avoids inserting it twice! - insertbefore: "// Start listening$" - line: | # SEE https://yaml-multiline.info (use |+ to 'keep' newlines at end...though |8 and |+4 "indentation indicators" don't work with Ansible) - // AUTO-INSERTED BY IIAB FOR http://box/sugarizer - var pathPrefix = '/sugarizer'; - app.use(pathPrefix, require('path-prefix-proxy')(pathPrefix)); - # Use this instead, if tabs are truly nec: - # line: "\t// AUTO-INSERTED BY IIAB FOR http://box/sugarizer\n\tvar pathPrefix = '/sugarizer';\n\tapp.use(pathPrefix, require('path-prefix-proxy')(pathPrefix));\n" +# +# 2019-02-02: USED TO WORK ON Node.js 8.x BUT SUGARIZER NO LONGER STARTS ON Node.js 10.x +# As tested w/ MongoDB 3.0.14 (binaries) on RPi and MongoDB 3.6.3 (apt) on Ubuntu 18.04 +# Errors are: "status=255" within "systemctl status sugarizer" +# "Cannot find module 'path-prefix-proxy'" within "journalctl -eu sugarizer" +# +#- name: Customize pathPrefix /sugarizer in /opt/iiab/sugarizer-server/sugarizer.js +# lineinfile: +# path: /opt/iiab/sugarizer-server/sugarizer.js +# regexp: "AUTO-INSERTED BY IIAB" # avoids inserting it twice! +# insertbefore: "// Start listening$" +# line: | # SEE https://yaml-multiline.info (use |+ to 'keep' newlines at end...though |8 and |+4 "indentation indicators" don't work with Ansible) +# // AUTO-INSERTED BY IIAB FOR http://box/sugarizer +# var pathPrefix = '/sugarizer'; +# app.use(pathPrefix, require('path-prefix-proxy')(pathPrefix)); +# # Use this instead, if tabs are truly nec: +# # line: "\t// AUTO-INSERTED BY IIAB FOR http://box/sugarizer\n\tvar pathPrefix = '/sugarizer';\n\tapp.use(pathPrefix, require('path-prefix-proxy')(pathPrefix));\n" # Ansible's blockinfile module: # - inserts a mandatory marker line at beginning AND end of the block...ok fine From 7a7bbc77aa7eacfc21e4781ad035b3394c138fb1 Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 10:03:49 -0500 Subject: [PATCH 54/90] Install MongoDB binaries (3.0.14 core + 3.0.15 tools) onto RPi from andyfelong.com --- roles/mongodb/tasks/main.yml | 88 +++++++++++++++++++++++++++++++++++- 1 file changed, 86 insertions(+), 2 deletions(-) diff --git a/roles/mongodb/tasks/main.yml b/roles/mongodb/tasks/main.yml index d3aa40528..ea53690fd 100644 --- a/roles/mongodb/tasks/main.yml +++ b/roles/mongodb/tasks/main.yml @@ -1,13 +1,93 @@ -- name: 'Install packages: mongodb, mongodb-server' +# 1. INSTALL MongoDB PACKAGES OR BINARIES + +- name: 'Install packages: mongodb, mongodb-server (not rpi)' package: name: - mongodb-server - mongodb # 2019-01-31: this package does not exist on (cannot be installed on) Debian 10, SEE #1437 state: present - when: internet_available + when: internet_available and not is_rpi tags: - download +# 2019-02-02: Sugarizer with Node.js 10.x requires MongoDB 2.6+ so +# https://andyfelong.com/2017/08/mongodb-3-0-14-for-raspbian-stretch/ +# is being used on RPi, all I found! (Raspbian's apt pkg is MongoDB 2.4.14) +# +# mongodb_stretch_3_0_14_core.zip (20M) & mongodb_stretch_3_0_14_tools.zip (15M) +# were backed up from andyfelong.com to http://download.iiab.io/packages/ +# +# CLARIF: mongodb_stretch_3_0_14_core.zip IS IN FACT 3.0.14 (core) BUT... +# mongodb_stretch_3_0_14_tools.zip IS REALLY 3.0.15 (tools) + +- name: Create dir /tmp/mongodb-3.0.1x (rpi) + file: + path: /tmp/mongodb-3.0.1x + state: directory + when: internet_available and is_rpi + +- name: Download & unzip MongoDB 3.0.14's 3 CORE binaries to /tmp/mongodb-3.0.1x (rpi) + unarchive: + remote_src: yes + src: "{{ iiab_download_url }}/mongodb_stretch_3_0_14_core.zip" + dest: /tmp/mongodb-3.0.1x + when: internet_available and is_rpi + +- name: Install (move) 3 binaries from /tmp/mongodb-3.0.1x/core to /usr/bin (rpi) + shell: mv /tmp/mongodb-3.0.1x/core/* /usr/bin + when: internet_available and is_rpi + +- name: Download & unzip MongoDB 3.0.15's 9 TOOLS binaries to /tmp/mongodb-3.0.1x (rpi) + unarchive: + remote_src: yes + src: "{{ iiab_download_url }}/mongodb_stretch_3_0_14_tools.zip" + dest: /tmp/mongodb-3.0.1x + when: internet_available and is_rpi + +- name: Install (move) 9 binaries from /opt/iiab/downloads/mongodb-3.0.1x/tools to /usr/bin (rpi) + shell: mv /tmp/mongodb-3.0.1x/tools/* /usr/bin + when: internet_available and is_rpi + +# OLD WAY / MUCH SLOWER: had put unnec duplicate copies in /opt/iiab/downloads/mongodb-3.0.1x +# +#- name: Create dir /opt/iiab/downloads/mongodb-3.0.1x (rpi) +# file: +# path: "{{ downloads_dir }}/mongodb-3.0.1x" +# state: directory +# when: internet_available and is_rpi +# +#- name: Download & unzip MongoDB 3.0.14's 3 core binaries to /opt/iiab/downloads/mongodb-3.0.1x (rpi) +# unarchive: +# remote_src: yes +# src: "{{ iiab_download_url }}/mongodb_stretch_3_0_14_core.zip" +# dest: "{{ downloads_dir }}/mongodb-3.0.1x" +# when: internet_available and is_rpi +# +#- name: Install (copy) 3 binaries from /opt/iiab/downloads/mongodb-3.0.1x/core to /usr/bin (rpi) +# copy: +# src: "{{ item }}" +# dest: /usr/bin +# with_fileglob: +# - "{{ downloads_dir }}/mongodb-3.0.1x/core/*" +# when: internet_available and is_rpi +# +#- name: Download & unzip MongoDB 3.0.15's 9 tools binaries to /opt/iiab/downloads/mongodb-3.0.1x (rpi) +# unarchive: +# remote_src: yes +# src: "{{ iiab_download_url }}/mongodb_stretch_3_0_14_tools.zip" +# dest: "{{ downloads_dir }}/mongodb-3.0.1x" +# when: internet_available and is_rpi +# +#- name: Install (copy) 9 binaries from /opt/iiab/downloads/mongodb-3.0.1x/tools to /usr/bin (rpi) +# copy: +# src: "{{ item }}" +# dest: /usr/bin +# with_fileglob: +# - "{{ downloads_dir }}/mongodb-3.0.1x/tools/*" +# when: internet_available and is_rpi + +# 2. CONFIGURE FOR IIAB + - name: 'Create 3 dirs for MongoDB: /var/run/mongodb, {{ mongodb_db_path }}, /var/log/mongodb' file: state: directory @@ -30,6 +110,8 @@ - { src: 'mongodb.service.j2', dest: '/etc/systemd/system/mongodb.service', mode: '0644' } - { src: 'iiab-mongodb-repair-if-no-lock.j2', dest: '/usr/bin/iiab-mongodb-repair-if-no-lock', mode: '0755' } +# 3. ENABLE/DISABLE + - name: Enable & Restart 'mongodb' systemd service if mongodb_enabled, incl daemon-reload (in case mongodb.service changed?) systemd: name: mongodb @@ -45,6 +127,8 @@ state: stopped when: not mongodb_enabled +# 4. DOCUMENT IN /etc/iiab/iiab.ini + - name: Add 'mongodb' variable values to {{ iiab_ini_file }} ini_file: path: "{{ iiab_ini_file }}" From 8d7354dfc283856b110e3b4b285fab8ddab18a1d Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 10:38:05 -0500 Subject: [PATCH 55/90] Update main.yml --- roles/sugarizer/tasks/main.yml | 39 ++++++++++++++++------------------ 1 file changed, 18 insertions(+), 21 deletions(-) diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index 301e647e7..658a86bfc 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -135,7 +135,7 @@ # when: internet_available and is_F18 and not node_modules_exists # Add a nodejs express function that appends a prefix to urls -- name: Run 'npm install --allow-root --unsafe-perm=true path-prefix-proxy' to create /opt/iiab/sugarizer-server/node_modules/path-prefix-proxy +- name: For http://box/sugarizer -- run 'npm install --allow-root --unsafe-perm=true path-prefix-proxy' to create /opt/iiab/sugarizer-server/node_modules/path-prefix-proxy command: npm install --allow-root --unsafe-perm=true path-prefix-proxy args: chdir: "{{ sugarizer_location }}/sugarizer-server" @@ -157,9 +157,11 @@ #- { src: 'sugarizer.ini.j2', dest: '{{ sugarizer_location }}/sugarizer-server/env/sugarizer.ini' } #- { src: 'sugarizer.js', dest: '{{ sugarizer_location }}/sugarizer-server' } +# 3 STANZAS ADDED BELOW JAN/FEB 2019, HOPING THIS MIGHT "JUST WORK" WITH FUTURE +# UPGRADES BEYOND SUGARIZER 1.1? SEE: github.com/iiab/iiab/pull/1430/files + # sugarizer_port is set to 8089 in /opt/iiab/iiab/vars/default_vars.yml # If you need to change this, edit /etc/iiab/local_vars.yml prior to installing -# SEE https://github.com/iiab/iiab/pull/1430#issuecomment-459129378 - name: Set Sugarizer port to {{ sugarizer_port }} in /opt/iiab/sugarizer-server/env/sugarizer.ini lineinfile: path: /opt/iiab/sugarizer-server/env/sugarizer.ini @@ -168,7 +170,6 @@ # mongodb_port is set to 27018 in /opt/iiab/iiab/vars/default_vars.yml # If you need to change this, edit /etc/iiab/local_vars.yml prior to installing -# SEE https://github.com/iiab/iiab/pull/1430#issuecomment-459129378 - name: Set MongoDB port to {{ mongodb_port }} in /opt/iiab/sugarizer-server/env/sugarizer.ini lineinfile: path: /opt/iiab/sugarizer-server/env/sugarizer.ini @@ -176,24 +177,20 @@ line: "port = {{ mongodb_port }}" # 2-LINE FIX FOR sugarizer.js BY @georgejhunt FOR http://box/sugarizer -# SEE https://github.com/iiab/iiab/pull/1430#issuecomment-459129378 -# -# 2019-02-02: USED TO WORK ON Node.js 8.x BUT SUGARIZER NO LONGER STARTS ON Node.js 10.x -# As tested w/ MongoDB 3.0.14 (binaries) on RPi and MongoDB 3.6.3 (apt) on Ubuntu 18.04 -# Errors are: "status=255" within "systemctl status sugarizer" -# "Cannot find module 'path-prefix-proxy'" within "journalctl -eu sugarizer" -# -#- name: Customize pathPrefix /sugarizer in /opt/iiab/sugarizer-server/sugarizer.js -# lineinfile: -# path: /opt/iiab/sugarizer-server/sugarizer.js -# regexp: "AUTO-INSERTED BY IIAB" # avoids inserting it twice! -# insertbefore: "// Start listening$" -# line: | # SEE https://yaml-multiline.info (use |+ to 'keep' newlines at end...though |8 and |+4 "indentation indicators" don't work with Ansible) -# // AUTO-INSERTED BY IIAB FOR http://box/sugarizer -# var pathPrefix = '/sugarizer'; -# app.use(pathPrefix, require('path-prefix-proxy')(pathPrefix)); -# # Use this instead, if tabs are truly nec: -# # line: "\t// AUTO-INSERTED BY IIAB FOR http://box/sugarizer\n\tvar pathPrefix = '/sugarizer';\n\tapp.use(pathPrefix, require('path-prefix-proxy')(pathPrefix));\n" +# REQUIRES above 'npm install --allow-root --unsafe-perm=true path-prefix-proxy' +# OR YOU GET ERRORS: "status=255" within "systemctl status sugarizer" +# "Cannot find module 'path-prefix-proxy'" within "journalctl -eu sugarizer" +- name: For http://box/sugarizer -- add pathPrefix /sugarizer in /opt/iiab/sugarizer-server/sugarizer.js + lineinfile: + path: /opt/iiab/sugarizer-server/sugarizer.js + regexp: "AUTO-INSERTED BY IIAB" # avoids inserting it twice! + insertbefore: "// Start listening$" + line: | # SEE https://yaml-multiline.info (use |+ to 'keep' newlines at end...though |8 and |+4 "indentation indicators" don't work with Ansible) + // AUTO-INSERTED BY IIAB FOR http://box/sugarizer + var pathPrefix = '/sugarizer'; + app.use(pathPrefix, require('path-prefix-proxy')(pathPrefix)); + # Use this instead, if tabs are truly nec: + # line: "\t// AUTO-INSERTED BY IIAB FOR http://box/sugarizer\n\tvar pathPrefix = '/sugarizer';\n\tapp.use(pathPrefix, require('path-prefix-proxy')(pathPrefix));\n" # Ansible's blockinfile module: # - inserts a mandatory marker line at beginning AND end of the block...ok fine From 874182f2f41b0676eac3ce69410410853ab2f24c Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 11:12:01 -0500 Subject: [PATCH 56/90] Update main.yml --- roles/sugarizer/tasks/main.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index 658a86bfc..1acc18f99 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -134,7 +134,9 @@ # chdir: "{{ sugarizer_location }}/sugarizer/server" # when: internet_available and is_F18 and not node_modules_exists -# Add a nodejs express function that appends a prefix to urls +# Add a Node.js Express function that appends a prefix to URLs. +# SEE "AUTO-INSERTED BY IIAB" ~44 LINES BELOW: as those two "pathPrefix" lines +# MUST be added to /opt/iiab/sugarizer-server/sugarizer.js - name: For http://box/sugarizer -- run 'npm install --allow-root --unsafe-perm=true path-prefix-proxy' to create /opt/iiab/sugarizer-server/node_modules/path-prefix-proxy command: npm install --allow-root --unsafe-perm=true path-prefix-proxy args: @@ -177,7 +179,7 @@ line: "port = {{ mongodb_port }}" # 2-LINE FIX FOR sugarizer.js BY @georgejhunt FOR http://box/sugarizer -# REQUIRES above 'npm install --allow-root --unsafe-perm=true path-prefix-proxy' +# SEE ~44 LINES ABOVE, as this is REQUIRED: 'npm install --allow-root --unsafe-perm=true path-prefix-proxy' # OR YOU GET ERRORS: "status=255" within "systemctl status sugarizer" # "Cannot find module 'path-prefix-proxy'" within "journalctl -eu sugarizer" - name: For http://box/sugarizer -- add pathPrefix /sugarizer in /opt/iiab/sugarizer-server/sugarizer.js From e473f3af8e2d7ca1bd16dc726f8da92741168fa5 Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 13:48:50 -0500 Subject: [PATCH 57/90] Update main.yml --- roles/mongodb/tasks/main.yml | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/roles/mongodb/tasks/main.yml b/roles/mongodb/tasks/main.yml index ea53690fd..82020cbc1 100644 --- a/roles/mongodb/tasks/main.yml +++ b/roles/mongodb/tasks/main.yml @@ -26,25 +26,25 @@ state: directory when: internet_available and is_rpi -- name: Download & unzip MongoDB 3.0.14's 3 CORE binaries to /tmp/mongodb-3.0.1x (rpi) +- name: Download & unzip http://download.iiab.io/packages/mongodb_stretch_3_0_14_core.zip to /tmp/mongodb-3.0.1x (rpi) unarchive: remote_src: yes src: "{{ iiab_download_url }}/mongodb_stretch_3_0_14_core.zip" dest: /tmp/mongodb-3.0.1x when: internet_available and is_rpi -- name: Install (move) 3 binaries from /tmp/mongodb-3.0.1x/core to /usr/bin (rpi) +- name: Install (move) its 3 CORE binaries from /tmp/mongodb-3.0.1x/core to /usr/bin (rpi) shell: mv /tmp/mongodb-3.0.1x/core/* /usr/bin when: internet_available and is_rpi -- name: Download & unzip MongoDB 3.0.15's 9 TOOLS binaries to /tmp/mongodb-3.0.1x (rpi) +- name: Download & unzip http://download.iiab.io/packages/mongodb_stretch_3_0_14_tools.zip [IN FACT THIS ONE'S 3.0.15] to /tmp/mongodb-3.0.1x (rpi) unarchive: remote_src: yes src: "{{ iiab_download_url }}/mongodb_stretch_3_0_14_tools.zip" dest: /tmp/mongodb-3.0.1x when: internet_available and is_rpi -- name: Install (move) 9 binaries from /opt/iiab/downloads/mongodb-3.0.1x/tools to /usr/bin (rpi) +- name: Install (move) its 9 TOOLS binaries from /opt/iiab/downloads/mongodb-3.0.1x/tools to /usr/bin (rpi) shell: mv /tmp/mongodb-3.0.1x/tools/* /usr/bin when: internet_available and is_rpi @@ -86,6 +86,14 @@ # - "{{ downloads_dir }}/mongodb-3.0.1x/tools/*" # when: internet_available and is_rpi +- name: Create Linux user mongodb (rpi) + user: + name: mongodb + home: /var/lib/mongodb + shell: /usr/sbin/nologin + when: is_rpi + + # 2. CONFIGURE FOR IIAB - name: 'Create 3 dirs for MongoDB: /var/run/mongodb, {{ mongodb_db_path }}, /var/log/mongodb' @@ -110,6 +118,7 @@ - { src: 'mongodb.service.j2', dest: '/etc/systemd/system/mongodb.service', mode: '0644' } - { src: 'iiab-mongodb-repair-if-no-lock.j2', dest: '/usr/bin/iiab-mongodb-repair-if-no-lock', mode: '0755' } + # 3. ENABLE/DISABLE - name: Enable & Restart 'mongodb' systemd service if mongodb_enabled, incl daemon-reload (in case mongodb.service changed?) @@ -127,6 +136,7 @@ state: stopped when: not mongodb_enabled + # 4. DOCUMENT IN /etc/iiab/iiab.ini - name: Add 'mongodb' variable values to {{ iiab_ini_file }} From 053874a45c50327cf93969c3c94b2435beff636a Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 14:38:52 -0500 Subject: [PATCH 58/90] Update main.yml --- roles/mongodb/tasks/main.yml | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/roles/mongodb/tasks/main.yml b/roles/mongodb/tasks/main.yml index 82020cbc1..199e3614a 100644 --- a/roles/mongodb/tasks/main.yml +++ b/roles/mongodb/tasks/main.yml @@ -86,9 +86,17 @@ # - "{{ downloads_dir }}/mongodb-3.0.1x/tools/*" # when: internet_available and is_rpi +- name: Create Linux group mongodb (rpi) + group: + name: mongodb + state: present + when: is_rpi + - name: Create Linux user mongodb (rpi) user: name: mongodb + group: mongodb # primary group + groups: mongodb home: /var/lib/mongodb shell: /usr/sbin/nologin when: is_rpi @@ -96,15 +104,17 @@ # 2. CONFIGURE FOR IIAB -- name: 'Create 3 dirs for MongoDB: /var/run/mongodb, {{ mongodb_db_path }}, /var/log/mongodb' +- name: 'Create 3 dirs for MongoDB: /var/lib/mongodb, /var/log/mongodb, {{ mongodb_db_path }}' file: state: directory - path: "{{ item.path }}" + path: "{{ item }}" owner: mongodb + group: mongodb with_items: - - { path: '/var/run/mongodb' } - - { path: "{{ mongodb_db_path }}" } # == /library/dbdata/mongodb/ - - { path: '/var/log/mongodb' } + #- { path: '/var/run/mongodb' } + - /var/lib/mongodb + - /var/log/mongodb + - "{{ mongodb_db_path }}" # i.e. /library/dbdata/mongodb/ - name: Install /etc/mongod.conf, mongodb.service, /usr/bin/iiab-mongodb-repair-if-no-lock from templates template: @@ -114,7 +124,7 @@ group: root mode: "{{ item.mode }}" with_items: - - { src: 'mongod.conf.j2', dest: "{{ mongodb_conf }}", mode: '0644' } # /etc/mongod.conf + - { src: 'mongod.conf.j2', dest: "{{ mongodb_conf }}", mode: '0644' } # i.e. /etc/mongod.conf - { src: 'mongodb.service.j2', dest: '/etc/systemd/system/mongodb.service', mode: '0644' } - { src: 'iiab-mongodb-repair-if-no-lock.j2', dest: '/usr/bin/iiab-mongodb-repair-if-no-lock', mode: '0755' } @@ -132,6 +142,7 @@ - name: Disable 'mongodb' service, if not mongodb_enabled systemd: name: mongodb + daemon_reload: yes enabled: no state: stopped when: not mongodb_enabled From 0e4104ba364aa5943fa02d6c09338e18def70a5b Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 14:47:35 -0500 Subject: [PATCH 59/90] Update main.yml --- roles/mongodb/tasks/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/mongodb/tasks/main.yml b/roles/mongodb/tasks/main.yml index 199e3614a..d7f29fa51 100644 --- a/roles/mongodb/tasks/main.yml +++ b/roles/mongodb/tasks/main.yml @@ -26,7 +26,7 @@ state: directory when: internet_available and is_rpi -- name: Download & unzip http://download.iiab.io/packages/mongodb_stretch_3_0_14_core.zip to /tmp/mongodb-3.0.1x (rpi) +- name: Download & unzip 20MB http://download.iiab.io/packages/mongodb_stretch_3_0_14_core.zip to /tmp/mongodb-3.0.1x (rpi) unarchive: remote_src: yes src: "{{ iiab_download_url }}/mongodb_stretch_3_0_14_core.zip" @@ -37,7 +37,7 @@ shell: mv /tmp/mongodb-3.0.1x/core/* /usr/bin when: internet_available and is_rpi -- name: Download & unzip http://download.iiab.io/packages/mongodb_stretch_3_0_14_tools.zip [IN FACT THIS ONE'S 3.0.15] to /tmp/mongodb-3.0.1x (rpi) +- name: Download & unzip 15MB http://download.iiab.io/packages/mongodb_stretch_3_0_14_tools.zip [IN FACT THIS ONE'S 3.0.15] to /tmp/mongodb-3.0.1x (rpi) unarchive: remote_src: yes src: "{{ iiab_download_url }}/mongodb_stretch_3_0_14_tools.zip" From bb3d1dac79370dfa0354b44df8b43f86835c793c Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 15:32:39 -0500 Subject: [PATCH 60/90] Update main.yml --- roles/sugarizer/tasks/main.yml | 49 ++++++++++++++++++++-------------- 1 file changed, 29 insertions(+), 20 deletions(-) diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index 1acc18f99..0c24c497a 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -17,7 +17,7 @@ - name: Clone llaske/sugarizer ({{ sugarizer_git_version }} branch/version) from GitHub to /opt/iiab/{{ sugarizer_dir_version }} (MAY DOWNLOAD 600+ MB) git: repo: https://github.com/llaske/sugarizer - dest: "{{ sugarizer_location }}/{{ sugarizer_dir_version }}" + dest: "{{ iiab_base }}/{{ sugarizer_dir_version }}" version: "{{ sugarizer_git_version }}" force: yes depth: 1 @@ -25,8 +25,8 @@ - name: Create symlink /opt/iiab/sugarizer -> /opt/iiab/{{ sugarizer_dir_version }} file: - src: "{{ sugarizer_location }}/{{ sugarizer_dir_version }}" - dest: "{{ sugarizer_location }}/sugarizer" + src: "{{ iiab_base }}/{{ sugarizer_dir_version }}" + dest: "{{ iiab_base }}/sugarizer" state: link @@ -50,7 +50,7 @@ - name: Clone llaske/sugarizer-server ({{ sugarizer_server_git_version }} branch/version) from GitHub to /opt/iiab/{{ sugarizer_server_dir_version }} git: repo: https://github.com/llaske/sugarizer-server - dest: "{{ sugarizer_location }}/{{ sugarizer_server_dir_version }}" + dest: "{{ iiab_base }}/{{ sugarizer_server_dir_version }}" version: "{{ sugarizer_server_git_version }}" force: yes depth: 1 @@ -58,8 +58,8 @@ - name: Create symlink /opt/iiab/sugarizer-server -> /opt/iiab/{{ sugarizer_server_dir_version }} file: - src: "{{ sugarizer_location }}/{{ sugarizer_server_dir_version }}" - dest: "{{ sugarizer_location }}/sugarizer-server" + src: "{{ iiab_base }}/{{ sugarizer_server_dir_version }}" + dest: "{{ iiab_base }}/sugarizer-server" state: link @@ -79,7 +79,7 @@ #- name: Check for /opt/iiab/sugarizer-server/node_modules # stat: -# path: "{{ sugarizer_location }}/sugarizer-server/node_modules" +# path: "{{ iiab_base }}/sugarizer-server/node_modules" # register: nmtest # ignore_errors: true # @@ -122,8 +122,8 @@ - name: Run 'npm install --allow-root --unsafe-perm=true' to create /opt/iiab/sugarizer-server/node_modules (CAN TAKE ~5 MINUTES) command: npm install --allow-root --unsafe-perm=true # "command:" a bit safer than "shell:" args: - chdir: "{{ sugarizer_location }}/sugarizer-server" - #creates: "{{ sugarizer_location }}/sugarizer-server/node_modules" # OLD WAY 2 + chdir: "{{ iiab_base }}/sugarizer-server" + #creates: "{{ iiab_base }}/sugarizer-server/node_modules" # OLD WAY 2 when: internet_available # "npm install" generally requires Internet access # when: internet_available and git_sug_server_output.changed # OLD WAY 3 # when: internet_available and not is_F18 and not node_modules_exists # OLD WAY 1 @@ -131,16 +131,16 @@ #- name: Create the express framework for Node.js (Fedora 18) # shell: npm install # args: -# chdir: "{{ sugarizer_location }}/sugarizer/server" +# chdir: "{{ iiab_base }}/sugarizer/server" # when: internet_available and is_F18 and not node_modules_exists # Add a Node.js Express function that appends a prefix to URLs. -# SEE "AUTO-INSERTED BY IIAB" ~44 LINES BELOW: as those two "pathPrefix" lines +# SEE "AUTO-INSERTED BY IIAB" ~53 LINES BELOW: as those two "pathPrefix" lines # MUST be added to /opt/iiab/sugarizer-server/sugarizer.js - name: For http://box/sugarizer -- run 'npm install --allow-root --unsafe-perm=true path-prefix-proxy' to create /opt/iiab/sugarizer-server/node_modules/path-prefix-proxy command: npm install --allow-root --unsafe-perm=true path-prefix-proxy args: - chdir: "{{ sugarizer_location }}/sugarizer-server" + chdir: "{{ iiab_base }}/sugarizer-server" when: internet_available @@ -156,35 +156,44 @@ with_items: - { src: 'sugarizer.service', dest: '/etc/systemd/system/sugarizer.service' } - { src: 'sugarizer.conf.j2', dest: '/etc/apache2/sites-available/sugarizer.conf' } - #- { src: 'sugarizer.ini.j2', dest: '{{ sugarizer_location }}/sugarizer-server/env/sugarizer.ini' } - #- { src: 'sugarizer.js', dest: '{{ sugarizer_location }}/sugarizer-server' } + #- { src: 'sugarizer.ini.j2', dest: '{{ iiab_base }}/sugarizer-server/env/sugarizer.ini' } + #- { src: 'sugarizer.js', dest: '{{ iiab_base }}/sugarizer-server' } -# 3 STANZAS ADDED BELOW JAN/FEB 2019, HOPING THIS MIGHT "JUST WORK" WITH FUTURE +# 4 STANZAS ADDED BELOW JAN/FEB 2019, HOPING THIS MIGHT "JUST WORK" WITH FUTURE # UPGRADES BEYOND SUGARIZER 1.1? SEE: github.com/iiab/iiab/pull/1430/files # sugarizer_port is set to 8089 in /opt/iiab/iiab/vars/default_vars.yml # If you need to change this, edit /etc/iiab/local_vars.yml prior to installing - name: Set Sugarizer port to {{ sugarizer_port }} in /opt/iiab/sugarizer-server/env/sugarizer.ini lineinfile: - path: /opt/iiab/sugarizer-server/env/sugarizer.ini + path: {{ iiab_base }}/sugarizer-server/env/sugarizer.ini regexp: "^port = 8080$" line: "port = {{ sugarizer_port }}" +# 2019-02-01: HACK REQUIRED FOR NOW on Ubuntu 18.04 so Sugarizer finds MongoDB +# after 1st reboot! This does NOT affect Raspbian. @jvonau wonders if Ubuntu's +# "nameserver 127.0.0.53" in /etc/resolv.conf is to blame? BACKGROUND: PR #1430 +- name: Set MongoDB "server" from localhost to 127.0.0.1 in /opt/iiab/sugarizer-server/env/sugarizer.ini + lineinfile: + path: {{ iiab_base }}/sugarizer-server/env/sugarizer.ini + regexp: "^server = localhost$" + line: "server = 127.0.0.1" + # mongodb_port is set to 27018 in /opt/iiab/iiab/vars/default_vars.yml # If you need to change this, edit /etc/iiab/local_vars.yml prior to installing - name: Set MongoDB port to {{ mongodb_port }} in /opt/iiab/sugarizer-server/env/sugarizer.ini lineinfile: - path: /opt/iiab/sugarizer-server/env/sugarizer.ini + path: {{ iiab_base }}/sugarizer-server/env/sugarizer.ini regexp: "^port = 27017$" line: "port = {{ mongodb_port }}" # 2-LINE FIX FOR sugarizer.js BY @georgejhunt FOR http://box/sugarizer -# SEE ~44 LINES ABOVE, as this is REQUIRED: 'npm install --allow-root --unsafe-perm=true path-prefix-proxy' +# SEE ~53 LINES ABOVE, as this is REQUIRED: 'npm install --allow-root --unsafe-perm=true path-prefix-proxy' # OR YOU GET ERRORS: "status=255" within "systemctl status sugarizer" # "Cannot find module 'path-prefix-proxy'" within "journalctl -eu sugarizer" -- name: For http://box/sugarizer -- add pathPrefix /sugarizer in /opt/iiab/sugarizer-server/sugarizer.js +- name: For http://box/sugarizer -- add pathPrefix lines in /opt/iiab/sugarizer-server/sugarizer.js lineinfile: - path: /opt/iiab/sugarizer-server/sugarizer.js + path: {{ iiab_base }}/sugarizer-server/sugarizer.js regexp: "AUTO-INSERTED BY IIAB" # avoids inserting it twice! insertbefore: "// Start listening$" line: | # SEE https://yaml-multiline.info (use |+ to 'keep' newlines at end...though |8 and |+4 "indentation indicators" don't work with Ansible) From 63e48ead072779bb6c69f7722d21bb1323b3ba08 Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 15:33:42 -0500 Subject: [PATCH 61/90] Update main.yml --- roles/sugarizer/defaults/main.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/roles/sugarizer/defaults/main.yml b/roles/sugarizer/defaults/main.yml index 10a45eabf..eeb6c602d 100644 --- a/roles/sugarizer/defaults/main.yml +++ b/roles/sugarizer/defaults/main.yml @@ -8,8 +8,6 @@ # All above are set in: github.com/iiab/iiab/blob/master/vars/default_vars.yml # If nec, change them by editing /etc/iiab/local_vars.yml prior to installing! -sugarizer_location: "{{ iiab_base }}" # /opt/iiab - sugarizer_dir_version: sugarizer-1.1.0 # WAS: sugarizer-1.0, sugarizer-master sugarizer_git_version: v1.1.0 # WAS: v1.0.1, master # PLEASE HELP MONITOR https://github.com/llaske/sugarizer/releases From 5e123f4ec042142326d4b35dc083866dc6f39d4c Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 15:50:04 -0500 Subject: [PATCH 62/90] Update main.yml --- roles/sugarizer/tasks/main.yml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index 0c24c497a..759ca00fa 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -170,9 +170,15 @@ regexp: "^port = 8080$" line: "port = {{ sugarizer_port }}" -# 2019-02-01: HACK REQUIRED FOR NOW on Ubuntu 18.04 so Sugarizer finds MongoDB -# after 1st reboot! This does NOT affect Raspbian. @jvonau wonders if Ubuntu's -# "nameserver 127.0.0.53" in /etc/resolv.conf is to blame? BACKGROUND: PR #1430 +# 2019-02-01: HACK REQUIRED FOR NOW ON UBUNTU 18.04 so Sugarizer finds MongoDB +# after 1st reboot. Otherwise "Waiting for DB..." appears every second as +# shown by "systemctl status sugarizer" and "journalctl -eu sugarizer". +# This does NOT affect Raspbian. @jvonau wonders if Ubuntu's +# "nameserver 127.0.0.53" in /etc/resolv.conf is to blame? @m-anish wondered +# if "bind_ip: 127.0.0.1" in /etc/mongod.conf was to blame as suggested by +# https://stackoverflow.com/questions/8904991/mongodb-cant-connect-to-localhost-but-can-connect-to-localhosts-ip-address +# But changing to "bind_ip: localhost" does not work with Sugarizer, and +# "bind_ip: 127.0.0.1,localhost" is not allowed. BACKGROUND: PR #1430 - name: Set MongoDB "server" from localhost to 127.0.0.1 in /opt/iiab/sugarizer-server/env/sugarizer.ini lineinfile: path: {{ iiab_base }}/sugarizer-server/env/sugarizer.ini From c6973f2ee752ff75d4f9327761440c93c505ead2 Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 15:50:48 -0500 Subject: [PATCH 63/90] Update main.yml --- roles/sugarizer/tasks/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index 759ca00fa..8f7357cce 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -135,7 +135,7 @@ # when: internet_available and is_F18 and not node_modules_exists # Add a Node.js Express function that appends a prefix to URLs. -# SEE "AUTO-INSERTED BY IIAB" ~53 LINES BELOW: as those two "pathPrefix" lines +# SEE "AUTO-INSERTED BY IIAB" ~59 LINES BELOW: as those two "pathPrefix" lines # MUST be added to /opt/iiab/sugarizer-server/sugarizer.js - name: For http://box/sugarizer -- run 'npm install --allow-root --unsafe-perm=true path-prefix-proxy' to create /opt/iiab/sugarizer-server/node_modules/path-prefix-proxy command: npm install --allow-root --unsafe-perm=true path-prefix-proxy @@ -194,7 +194,7 @@ line: "port = {{ mongodb_port }}" # 2-LINE FIX FOR sugarizer.js BY @georgejhunt FOR http://box/sugarizer -# SEE ~53 LINES ABOVE, as this is REQUIRED: 'npm install --allow-root --unsafe-perm=true path-prefix-proxy' +# SEE ~59 LINES ABOVE, as this is REQUIRED: 'npm install --allow-root --unsafe-perm=true path-prefix-proxy' # OR YOU GET ERRORS: "status=255" within "systemctl status sugarizer" # "Cannot find module 'path-prefix-proxy'" within "journalctl -eu sugarizer" - name: For http://box/sugarizer -- add pathPrefix lines in /opt/iiab/sugarizer-server/sugarizer.js From dfa6f414edcbf3cd88bdfe0d1c0c54b87267a46b Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 16:00:10 -0500 Subject: [PATCH 64/90] Update main.yml --- roles/sugarizer/tasks/main.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index 8f7357cce..6f53722b7 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -166,7 +166,7 @@ # If you need to change this, edit /etc/iiab/local_vars.yml prior to installing - name: Set Sugarizer port to {{ sugarizer_port }} in /opt/iiab/sugarizer-server/env/sugarizer.ini lineinfile: - path: {{ iiab_base }}/sugarizer-server/env/sugarizer.ini + path: "{{ iiab_base }}/sugarizer-server/env/sugarizer.ini" regexp: "^port = 8080$" line: "port = {{ sugarizer_port }}" @@ -181,7 +181,7 @@ # "bind_ip: 127.0.0.1,localhost" is not allowed. BACKGROUND: PR #1430 - name: Set MongoDB "server" from localhost to 127.0.0.1 in /opt/iiab/sugarizer-server/env/sugarizer.ini lineinfile: - path: {{ iiab_base }}/sugarizer-server/env/sugarizer.ini + path: "{{ iiab_base }}/sugarizer-server/env/sugarizer.ini" regexp: "^server = localhost$" line: "server = 127.0.0.1" @@ -189,7 +189,7 @@ # If you need to change this, edit /etc/iiab/local_vars.yml prior to installing - name: Set MongoDB port to {{ mongodb_port }} in /opt/iiab/sugarizer-server/env/sugarizer.ini lineinfile: - path: {{ iiab_base }}/sugarizer-server/env/sugarizer.ini + path: "{{ iiab_base }}/sugarizer-server/env/sugarizer.ini" regexp: "^port = 27017$" line: "port = {{ mongodb_port }}" @@ -199,7 +199,7 @@ # "Cannot find module 'path-prefix-proxy'" within "journalctl -eu sugarizer" - name: For http://box/sugarizer -- add pathPrefix lines in /opt/iiab/sugarizer-server/sugarizer.js lineinfile: - path: {{ iiab_base }}/sugarizer-server/sugarizer.js + path: "{{ iiab_base }}/sugarizer-server/sugarizer.js" regexp: "AUTO-INSERTED BY IIAB" # avoids inserting it twice! insertbefore: "// Start listening$" line: | # SEE https://yaml-multiline.info (use |+ to 'keep' newlines at end...though |8 and |+4 "indentation indicators" don't work with Ansible) From bae0659661689af4270da5c2273a11ea2f1085bf Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 16:41:12 -0500 Subject: [PATCH 65/90] Update local_vars_min.yml --- vars/local_vars_min.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/vars/local_vars_min.yml b/vars/local_vars_min.yml index 88446893f..908c2eb87 100644 --- a/vars/local_vars_min.yml +++ b/vars/local_vars_min.yml @@ -199,6 +199,7 @@ nextcloud_enabled: False wordpress_install: False wordpress_enabled: False + # 7-EDU-APPS # KA Lite - SEE THE "Transmission" BITTORRENT DOWNLOADER FURTHER BELOW, TO INSTALL THOUSANDS OF VIDEOS From a3af8a9c1d6f6f7ef574999b57b669496164aa9a Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 16:41:45 -0500 Subject: [PATCH 66/90] Update local_vars_medium.yml --- vars/local_vars_medium.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/vars/local_vars_medium.yml b/vars/local_vars_medium.yml index cfa6ac0e8..02bda6c19 100644 --- a/vars/local_vars_medium.yml +++ b/vars/local_vars_medium.yml @@ -199,6 +199,7 @@ nextcloud_enabled: True wordpress_install: True wordpress_enabled: True + # 7-EDU-APPS # KA Lite - SEE THE "Transmission" BITTORRENT DOWNLOADER FURTHER BELOW, TO INSTALL THOUSANDS OF VIDEOS From fb5346776c902ba17df6fbd7f48e4766a7d8de4f Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 16:42:10 -0500 Subject: [PATCH 67/90] Update local_vars_big.yml --- vars/local_vars_big.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/vars/local_vars_big.yml b/vars/local_vars_big.yml index ee60f1858..bbdeda7f3 100644 --- a/vars/local_vars_big.yml +++ b/vars/local_vars_big.yml @@ -199,6 +199,7 @@ nextcloud_enabled: True wordpress_install: True wordpress_enabled: True + # 7-EDU-APPS # KA Lite - SEE THE "Transmission" BITTORRENT DOWNLOADER FURTHER BELOW, TO INSTALL THOUSANDS OF VIDEOS From 12dd0d7613b9133ccb40003f42393967c23258b6 Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 17:47:47 -0500 Subject: [PATCH 68/90] Update main.yml --- roles/sugarizer/tasks/main.yml | 38 ++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index 6f53722b7..2e346039f 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -135,7 +135,7 @@ # when: internet_available and is_F18 and not node_modules_exists # Add a Node.js Express function that appends a prefix to URLs. -# SEE "AUTO-INSERTED BY IIAB" ~59 LINES BELOW: as those two "pathPrefix" lines +# SEE "AUTO-INSERTED BY IIAB" ~61 LINES BELOW: as those two "pathPrefix" lines # MUST be added to /opt/iiab/sugarizer-server/sugarizer.js - name: For http://box/sugarizer -- run 'npm install --allow-root --unsafe-perm=true path-prefix-proxy' to create /opt/iiab/sugarizer-server/node_modules/path-prefix-proxy command: npm install --allow-root --unsafe-perm=true path-prefix-proxy @@ -159,8 +159,8 @@ #- { src: 'sugarizer.ini.j2', dest: '{{ iiab_base }}/sugarizer-server/env/sugarizer.ini' } #- { src: 'sugarizer.js', dest: '{{ iiab_base }}/sugarizer-server' } -# 4 STANZAS ADDED BELOW JAN/FEB 2019, HOPING THIS MIGHT "JUST WORK" WITH FUTURE -# UPGRADES BEYOND SUGARIZER 1.1? SEE: github.com/iiab/iiab/pull/1430/files +# 3 [WAS 4] STANZAS ADDED BELOW JAN/FEB 2019, HOPING THIS MIGHT "JUST WORK" WITH +# FUTURE UPGRADES BEYOND SUGARIZER 1.1? SEE github.com/iiab/iiab/pull/1430/files # sugarizer_port is set to 8089 in /opt/iiab/iiab/vars/default_vars.yml # If you need to change this, edit /etc/iiab/local_vars.yml prior to installing @@ -170,20 +170,22 @@ regexp: "^port = 8080$" line: "port = {{ sugarizer_port }}" -# 2019-02-01: HACK REQUIRED FOR NOW ON UBUNTU 18.04 so Sugarizer finds MongoDB -# after 1st reboot. Otherwise "Waiting for DB..." appears every second as -# shown by "systemctl status sugarizer" and "journalctl -eu sugarizer". -# This does NOT affect Raspbian. @jvonau wonders if Ubuntu's -# "nameserver 127.0.0.53" in /etc/resolv.conf is to blame? @m-anish wondered -# if "bind_ip: 127.0.0.1" in /etc/mongod.conf was to blame as suggested by -# https://stackoverflow.com/questions/8904991/mongodb-cant-connect-to-localhost-but-can-connect-to-localhosts-ip-address -# But changing to "bind_ip: localhost" does not work with Sugarizer, and -# "bind_ip: 127.0.0.1,localhost" is not allowed. BACKGROUND: PR #1430 -- name: Set MongoDB "server" from localhost to 127.0.0.1 in /opt/iiab/sugarizer-server/env/sugarizer.ini - lineinfile: - path: "{{ iiab_base }}/sugarizer-server/env/sugarizer.ini" - regexp: "^server = localhost$" - line: "server = 127.0.0.1" +# 2019-02-02 No Longer Required thanks to @llaske's upstream fix: +# https://github.com/llaske/sugarizer-server/commit/46c4822bc7801ff8d621c22988aa4418359e7e19 +## 2019-02-02: HACK WAS REQUIRED ON UBUNTU 18.04 so Sugarizer finds MongoDB +## after 1st reboot. Otherwise "Waiting for DB..." appears every second as +## shown by "systemctl status sugarizer" and "journalctl -eu sugarizer". +## This does NOT affect Ubuntu 16.04 or Raspbian. @jvonau wonders if U18.04's +## "nameserver 127.0.0.53" in /etc/resolv.conf is to blame? @m-anish wondered +## if "bind_ip: 127.0.0.1" in /etc/mongod.conf was to blame as suggested by +## https://stackoverflow.com/questions/8904991/mongodb-cant-connect-to-localhost-but-can-connect-to-localhosts-ip-address +## But changing to "bind_ip: localhost" does not work with Sugarizer, and +## "bind_ip: 127.0.0.1,localhost" is not allowed. BACKGROUND: PR #1430 +#- name: Set MongoDB "server" from localhost to 127.0.0.1 in /opt/iiab/sugarizer-server/env/sugarizer.ini +# lineinfile: +# path: "{{ iiab_base }}/sugarizer-server/env/sugarizer.ini" +# regexp: "^server = localhost$" +# line: "server = 127.0.0.1" # mongodb_port is set to 27018 in /opt/iiab/iiab/vars/default_vars.yml # If you need to change this, edit /etc/iiab/local_vars.yml prior to installing @@ -194,7 +196,7 @@ line: "port = {{ mongodb_port }}" # 2-LINE FIX FOR sugarizer.js BY @georgejhunt FOR http://box/sugarizer -# SEE ~59 LINES ABOVE, as this is REQUIRED: 'npm install --allow-root --unsafe-perm=true path-prefix-proxy' +# SEE ~61 LINES ABOVE, as this is REQUIRED: 'npm install --allow-root --unsafe-perm=true path-prefix-proxy' # OR YOU GET ERRORS: "status=255" within "systemctl status sugarizer" # "Cannot find module 'path-prefix-proxy'" within "journalctl -eu sugarizer" - name: For http://box/sugarizer -- add pathPrefix lines in /opt/iiab/sugarizer-server/sugarizer.js From d005edad5585490db79ce9f1b162959ce22298b7 Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 19:26:58 -0500 Subject: [PATCH 69/90] Update main.yml --- roles/calibre/tasks/main.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/roles/calibre/tasks/main.yml b/roles/calibre/tasks/main.yml index c2f2239e1..1d6737011 100644 --- a/roles/calibre/tasks/main.yml +++ b/roles/calibre/tasks/main.yml @@ -5,7 +5,7 @@ path: "/usr/bin/calibre" register: calib_executable -- name: Install latest packages calibre and calibre-bin, via OS's package installer (IF not rpi AND /usr/bin/calibre MISSING) +- name: Install OS's latest packages: calibre, calibre-bin (IF not rpi AND /usr/bin/calibre MISSING) package: name: - calibre @@ -51,14 +51,14 @@ when: (not calib_executable.stat.exists) #when: calibre_config.changed -# 2. STOP CALIBRE SERVICE IF IT EXISTS (REQUIRED FOR DB ACTIVITY...AND IF not calibre_enabled) +# 2. STOP CALIBRE SERVICE (REQUIRED FOR DB ACTIVITY...AND IF not calibre_enabled) #- name: Check if Calibre systemd service exists # stat: # path: /etc/systemd/system/calibre-serve.service # register: calibre_svc -- name: Stop Calibre service -- calibre-server by Kovid Goyal +- name: Stop service 'calibre-serve' (/usr/bin/calibre-server by Kovid Goyal) systemd: name: calibre-serve state: stopped @@ -116,7 +116,7 @@ state: absent when: (not calibre_enabled) and is_debuntu -- name: Enable & Start Calibre service -- runs calibre-server by Kovid Goyal +- name: Enable & Start service 'calibre-serve' (/usr/bin/calibre-server by Kovid Goyal) service: name: calibre-serve enabled: yes From 7ee64466b20fbec0bc8316390c36ccd11fdddd91 Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 19:31:36 -0500 Subject: [PATCH 70/90] Update main.yml --- roles/moodle/tasks/main.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/roles/moodle/tasks/main.yml b/roles/moodle/tasks/main.yml index 86fd21cc1..a08d82b4a 100644 --- a/roles/moodle/tasks/main.yml +++ b/roles/moodle/tasks/main.yml @@ -1,4 +1,4 @@ -- name: Install packages python-psycopg2 and php-pgsql (OS's other than debuntu) +- name: "Install packages: python-psycopg2, php-pgsql (OS's other than debuntu)" package: name: - python-psycopg2 @@ -20,12 +20,12 @@ state: present when: is_debuntu -- name: php-zip name (debian-9 or ubuntu) +- name: "Install package: php{{ php_version }}-zip (ubuntu or debian-9+)" package: name: "php{{ php_version }}-zip" - when: is_debian_9 or is_ubuntu + when: is_ubuntu or (is_debian and not is_debian_8) -- name: php-zip name for (debian-8) +- name: "Install package: php-pclzip (debian-8)" package: name: php-pclzip when: is_debian_8 From ed96525a40859ad692fc10ee9c7f417d7a683142 Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 19:32:17 -0500 Subject: [PATCH 71/90] Update main.yml --- roles/mosquitto/tasks/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/roles/mosquitto/tasks/main.yml b/roles/mosquitto/tasks/main.yml index d966e01ec..4e6a05130 100644 --- a/roles/mosquitto/tasks/main.yml +++ b/roles/mosquitto/tasks/main.yml @@ -1,4 +1,4 @@ -- name: Install mosquitto & mosquitto-clients +- name: "Install packages: mosquitto, mosquitto-clients" package: name: "{{ item }}" state: present @@ -8,7 +8,7 @@ when: mosquitto_install tags: download -- name: Disable & Stop mosquitto service +- name: Disable & Stop 'mosquitto' service systemd: name: mosquitto enabled: no @@ -36,7 +36,7 @@ mode: 0755 when: mosquitto_install -- name: Enable & Start mosquitto service +- name: Enable & Start 'mosquitto' service systemd: daemon_reload: yes name: mosquitto From a9b581fb3f66545a9058a0761109e8a62784465e Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 19:32:40 -0500 Subject: [PATCH 72/90] Update main.yml --- roles/nodered/tasks/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/nodered/tasks/main.yml b/roles/nodered/tasks/main.yml index 7f2160a10..b99917afc 100644 --- a/roles/nodered/tasks/main.yml +++ b/roles/nodered/tasks/main.yml @@ -5,13 +5,13 @@ shell: npm install -g --unsafe-perm node-red node-red-admin node-red-dashboard when: nodered_install -- name: Ensure Linux group "nodered" exists +- name: Ensure Linux group 'nodered' exists group: name: nodered state: present when: nodered_install -- name: Ensure Linux user "nodered" exists and is added to group "nodered" +- name: Ensure Linux user 'nodered' exists and is added to group 'nodered' user: name: nodered group: nodered From 30b8cf81b6d8f6d2f66029e85232718a80164aeb Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 19:33:49 -0500 Subject: [PATCH 73/90] Update main.yml --- roles/sshd/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/sshd/tasks/main.yml b/roles/sshd/tasks/main.yml index b57335ada..c470206da 100644 --- a/roles/sshd/tasks/main.yml +++ b/roles/sshd/tasks/main.yml @@ -1,4 +1,4 @@ -- name: Install ssh daemon +- name: "Install ssh daemon using package: {{ sshd_package }}" package: name: "{{ sshd_package }}" state: present From c7a2571c2a0d5f338047a49a975732b257d2179a Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 19:34:36 -0500 Subject: [PATCH 74/90] Update main.yml --- roles/transmission/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/transmission/tasks/main.yml b/roles/transmission/tasks/main.yml index 941de4565..724876b15 100644 --- a/roles/transmission/tasks/main.yml +++ b/roles/transmission/tasks/main.yml @@ -1,4 +1,4 @@ -- name: 'Install packages: transmission-daemon, transmission-cli' +- name: "Install BitTorrent packages: transmission-daemon, transmission-cli" package: name: - transmission-daemon From 362549fac8635c89ab68a9d3ea9daee5612bc495 Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 19:36:32 -0500 Subject: [PATCH 75/90] Update main.yml --- roles/awstats/tasks/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/roles/awstats/tasks/main.yml b/roles/awstats/tasks/main.yml index 7efc20bda..441f7db1b 100644 --- a/roles/awstats/tasks/main.yml +++ b/roles/awstats/tasks/main.yml @@ -1,4 +1,5 @@ -- include_tasks: install.yml +- Install AWStats if awstats_install + include_tasks: install.yml when: awstats_install - name: Add 'awstats' variable values to {{ iiab_ini_file }} From 1bbfdb8fe08fc9b8b5dbbea10bca6272b5dd2bbf Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 19:36:59 -0500 Subject: [PATCH 76/90] Update main.yml --- roles/cups/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/cups/tasks/main.yml b/roles/cups/tasks/main.yml index 73072a07b..2174487ea 100644 --- a/roles/cups/tasks/main.yml +++ b/roles/cups/tasks/main.yml @@ -1,5 +1,5 @@ # administer this service by browsing to localhost:631 -- name: Install cups package +- name: Install 'cups' package package: name: cups state: present From f04c7b7ab3311f8a9acd4375e7bb43209abdd4ce Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 19:37:06 -0500 Subject: [PATCH 77/90] Update main.yml --- roles/vnstat/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/vnstat/tasks/main.yml b/roles/vnstat/tasks/main.yml index 8815bd4b4..c71e668e5 100644 --- a/roles/vnstat/tasks/main.yml +++ b/roles/vnstat/tasks/main.yml @@ -1,4 +1,4 @@ -- name: Install vnstat package +- name: Install 'vnstat' package package: name: vnstat state: present From 303146809022de9e016ad60dffda044fe19103a9 Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 19:37:14 -0500 Subject: [PATCH 78/90] Update main.yml --- roles/monit/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/monit/tasks/main.yml b/roles/monit/tasks/main.yml index 1c52113df..cea1637e1 100644 --- a/roles/monit/tasks/main.yml +++ b/roles/monit/tasks/main.yml @@ -1,4 +1,4 @@ -- name: Install Monit package +- name: Install 'monit' package package: name: monit state: present From 0026fe2abe9e8862a30750a99f4cbfb59b44dbe5 Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 19:41:43 -0500 Subject: [PATCH 79/90] Update main.yml --- roles/mongodb/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/mongodb/tasks/main.yml b/roles/mongodb/tasks/main.yml index d7f29fa51..aed5d4a1c 100644 --- a/roles/mongodb/tasks/main.yml +++ b/roles/mongodb/tasks/main.yml @@ -1,6 +1,6 @@ # 1. INSTALL MongoDB PACKAGES OR BINARIES -- name: 'Install packages: mongodb, mongodb-server (not rpi)' +- name: "Install packages: mongodb, mongodb-server (not rpi)" package: name: - mongodb-server From 1f3a65e5980de2931d36d6c78d47bab14ebaed80 Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 19:52:17 -0500 Subject: [PATCH 80/90] Update main.yml --- roles/awstats/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/awstats/tasks/main.yml b/roles/awstats/tasks/main.yml index 441f7db1b..212fef1ca 100644 --- a/roles/awstats/tasks/main.yml +++ b/roles/awstats/tasks/main.yml @@ -1,4 +1,4 @@ -- Install AWStats if awstats_install +- name: Install AWStats if awstats_install include_tasks: install.yml when: awstats_install From 7ca413a4f2f18cdd1582e05ab5058d83a750db5f Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 20:01:48 -0500 Subject: [PATCH 81/90] Update main.yml --- roles/sugarizer/defaults/main.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/roles/sugarizer/defaults/main.yml b/roles/sugarizer/defaults/main.yml index eeb6c602d..d636c6ab1 100644 --- a/roles/sugarizer/defaults/main.yml +++ b/roles/sugarizer/defaults/main.yml @@ -12,6 +12,9 @@ sugarizer_dir_version: sugarizer-1.1.0 # WAS: sugarizer-1.0, sugarizer-master sugarizer_git_version: v1.1.0 # WAS: v1.0.1, master # PLEASE HELP MONITOR https://github.com/llaske/sugarizer/releases -sugarizer_server_dir_version: sugarizer-server-dev # WAS: sugarizer-server-1.0, sugarizer-server-master -sugarizer_server_git_version: dev # WAS: v1.0.1, master +sugarizer_server_dir_version: sugarizer-server-dev # WAS: sugarizer-server-1.0, sugarizer-server-master +sugarizer_server_git_version: 46c4822bc7801ff8d621c22988aa4418359e7e19 # WAS: v1.0.1, master, dev +# Above commit (githash 46c4822... for iiab/iiab PR #1430 from 'dev' branch of +# https://github.com/llaske/sugarizer-server) well tested Jan 29 - Feb 2 2019. +# # PLEASE HELP MONITOR https://github.com/llaske/sugarizer-server/releases From 2b89793df28cb1d2d5a9cd659b2de9e8d52ebbef Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 20:06:41 -0500 Subject: [PATCH 82/90] Update main.yml --- roles/calibre/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/calibre/tasks/main.yml b/roles/calibre/tasks/main.yml index 1d6737011..b550f119d 100644 --- a/roles/calibre/tasks/main.yml +++ b/roles/calibre/tasks/main.yml @@ -5,7 +5,7 @@ path: "/usr/bin/calibre" register: calib_executable -- name: Install OS's latest packages: calibre, calibre-bin (IF not rpi AND /usr/bin/calibre MISSING) +- name: "Install OS's latest packages: calibre, calibre-bin (IF not rpi AND /usr/bin/calibre MISSING)" package: name: - calibre From 67539b0895f8143c7ebfa2e5d9fc3dad1daf3ea7 Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 20:12:41 -0500 Subject: [PATCH 83/90] Update install.yml --- roles/wordpress/tasks/install.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/wordpress/tasks/install.yml b/roles/wordpress/tasks/install.yml index 902d91162..bf696de58 100644 --- a/roles/wordpress/tasks/install.yml +++ b/roles/wordpress/tasks/install.yml @@ -130,7 +130,7 @@ state: absent when: not wordpress_enabled and is_debuntu -- name: Restart Apache to enable/disable http://box{{ wp_url }} +- name: Restart Apache service ({{ apache_service }}) to enable/disable http://box{{ wp_url }} systemd: name: "{{ apache_service }}" state: restarted From 24645ca87a90d5707ad60328d11af110d5e50e02 Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 20:13:33 -0500 Subject: [PATCH 84/90] Update main.yml --- roles/kolibri/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/kolibri/tasks/main.yml b/roles/kolibri/tasks/main.yml index 964e0fd62..aab67c8f0 100644 --- a/roles/kolibri/tasks/main.yml +++ b/roles/kolibri/tasks/main.yml @@ -91,7 +91,7 @@ when: not kolibri_enabled # {{ apache_service }} is almost always apache2 -- name: Restart {{ apache_service }} +- name: Restart Apache service ({{ apache_service }}) systemd: name: "{{ apache_service }}" state: restarted From 351a46f61dcb7ba7f5f6e039d94739f100886d56 Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 20:14:46 -0500 Subject: [PATCH 85/90] Update main.yml --- roles/moodle/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/moodle/tasks/main.yml b/roles/moodle/tasks/main.yml index a08d82b4a..352c48ad9 100644 --- a/roles/moodle/tasks/main.yml +++ b/roles/moodle/tasks/main.yml @@ -133,7 +133,7 @@ enabled: yes when: moodle_enabled -- name: Restart Apache ({{ apache_service }}) +- name: Restart Apache service ({{ apache_service }}) service: name: "{{ apache_service }}" state: restarted From 9e869ffd6c6a0348ea7b68c7b13fdb0da1913b3e Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 20:15:39 -0500 Subject: [PATCH 86/90] Update main.yml --- roles/calibre/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/calibre/tasks/main.yml b/roles/calibre/tasks/main.yml index b550f119d..86a3d5afa 100644 --- a/roles/calibre/tasks/main.yml +++ b/roles/calibre/tasks/main.yml @@ -125,7 +125,7 @@ #async: 900 #poll: 5 -- name: Reload Apache +- name: Reload Apache service ({{ apache_service }}) systemd: name: "{{ apache_service }}" state: reloaded From 986102f4729a58a689e4ca64602e06240d050402 Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 20:16:57 -0500 Subject: [PATCH 87/90] Update main.yml --- roles/sugarizer/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index 2e346039f..649c8f3bf 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -257,7 +257,7 @@ state: stopped when: not sugarizer_enabled -- name: Restart Apache ({{ apache_service }}) to enable/disable http://box/sugarizer (not just http://box:{{ sugarizer_port }}) +- name: Restart Apache service ({{ apache_service }}) to enable/disable http://box/sugarizer (not just http://box:{{ sugarizer_port }}) systemd: name: "{{ apache_service }}" # httpd or apache2 state: restarted From 6c27b7564a2c21b7b63712c0780a5fc69955eb53 Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 20:20:01 -0500 Subject: [PATCH 88/90] Update install.yml --- roles/mediawiki/tasks/install.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/mediawiki/tasks/install.yml b/roles/mediawiki/tasks/install.yml index bbcad9cfe..5854f19b5 100644 --- a/roles/mediawiki/tasks/install.yml +++ b/roles/mediawiki/tasks/install.yml @@ -78,7 +78,7 @@ state: absent when: not mediawiki_enabled and is_debuntu -- name: Restart Apache to enable/disable http://box{{ mediawiki_url }} +- name: Restart Apache service ({{ apache_service }}) to enable/disable http://box{{ mediawiki_url }} service: name: "{{ apache_service }}" state: restarted From 6852f4e362baf9b41060a208b9b6afc6e8d0c071 Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 20:22:04 -0500 Subject: [PATCH 89/90] Update install.yml --- roles/mediawiki/tasks/install.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/mediawiki/tasks/install.yml b/roles/mediawiki/tasks/install.yml index 5854f19b5..5c265bc6a 100644 --- a/roles/mediawiki/tasks/install.yml +++ b/roles/mediawiki/tasks/install.yml @@ -79,7 +79,7 @@ when: not mediawiki_enabled and is_debuntu - name: Restart Apache service ({{ apache_service }}) to enable/disable http://box{{ mediawiki_url }} - service: + systemd: name: "{{ apache_service }}" state: restarted From 50511a5796f08ef92673c1d7308e7b0575e2994b Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 2 Feb 2019 20:23:39 -0500 Subject: [PATCH 90/90] Update install.yml --- roles/awstats/tasks/install.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/roles/awstats/tasks/install.yml b/roles/awstats/tasks/install.yml index 97ee62195..8109a5453 100644 --- a/roles/awstats/tasks/install.yml +++ b/roles/awstats/tasks/install.yml @@ -80,6 +80,12 @@ path: /etc/apache2/sites-enabled/awstats.conf state: absent when: not awstats_enabled and is_debuntu + +- name: Restart Apache service ({{ apache_service }}) + systemd: + name: "{{ apache_service }}" + state: restarted + - name: Install /etc/awstats/awstats.schoolserver.conf template: