From 09f4fe6021460092969b39304dc055b5d0fd47fb Mon Sep 17 00:00:00 2001 From: George Hunt Date: Thu, 17 May 2018 21:36:50 +0000 Subject: [PATCH 01/18] start work --- roles/sugarizer/defaults/main.yml | 2 +- roles/sugarizer/tasks/main.yml | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/roles/sugarizer/defaults/main.yml b/roles/sugarizer/defaults/main.yml index 062845723..c792e0933 100644 --- a/roles/sugarizer/defaults/main.yml +++ b/roles/sugarizer/defaults/main.yml @@ -1,5 +1,5 @@ sugarizer_install: True sugarizer_enabled: False sugarizer_location: '{{ doc_root }}' -sugarizer_version: 'sugarizer-0.9' +sugarizer_version: 'sugarizer-1.0' npm_exists: False diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index 9b9cb3f31..13c1f6c40 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -54,11 +54,12 @@ stat: path: "{{ sugarizer_location }}/sugarizer/server/node_modules" register: npm + ignore_errors: true - name: Set a flag to abort second attempt to install set_fact: npm_exists: True - when: npm.stat.exists is defined and npm.stat.exists + when: npm.stat is defined and npm.stat.exists - name: Create systemd files and copy our ini file template: From 2c4d81ff762f080dca23349c8a5d77668616f6e0 Mon Sep 17 00:00:00 2001 From: George Hunt Date: Thu, 17 May 2018 22:23:44 +0000 Subject: [PATCH 02/18] got through runrole --- roles/sugarizer/defaults/main.yml | 1 + roles/sugarizer/tasks/main.yml | 31 +++++++++++++++++++++---- roles/sugarizer/templates/sugarizer.ini | 22 +++++++++++++++--- 3 files changed, 47 insertions(+), 7 deletions(-) diff --git a/roles/sugarizer/defaults/main.yml b/roles/sugarizer/defaults/main.yml index c792e0933..3ad4b80a8 100644 --- a/roles/sugarizer/defaults/main.yml +++ b/roles/sugarizer/defaults/main.yml @@ -2,4 +2,5 @@ sugarizer_install: True sugarizer_enabled: False sugarizer_location: '{{ doc_root }}' sugarizer_version: 'sugarizer-1.0' +sugarizer_server_version: 'sugarizer-server-1.0' npm_exists: False diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index 13c1f6c40..31c77535d 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -13,12 +13,35 @@ # command: tar xzf {{ downloads_dir }}/{{ sugarizer_version }}.tar.gz -C {{ sugarizer_location }} # creates="{{ sugarizer_location }}/{{ sugarizer_version }}/index.html" +- name: Download latest stable Server from location we control + get_url: + url: "{{ iiab_download_url }}/{{ sugarizer_server_version }}.tar.gz" + dest: "{{ downloads_dir }}/{{ sugarizer_server_version }}.tar.gz" + timeout: "{{ download_timeout }}" + when: internet_available + +- name: Untar to /library/www/html/{{ sugarizer_version }} + unarchive: + src: "{{ downloads_dir }}/{{ sugarizer_version }}.tar.gz" + dest: "{{ sugarizer_location }}" + creates: "{{ sugarizer_location }}/{{ sugarizer_version }}/index.html" - name: Create symbolic link /library/www/html/sugarizer file: src: "{{ sugarizer_location }}/{{ sugarizer_version }}" dest: "{{ sugarizer_location }}/sugarizer" state: link +- name: Untar to /library/www/html/{{ sugarizer_server_version }} + unarchive: + src: "{{ downloads_dir }}/{{ sugarizer_server_version }}.tar.gz" + dest: "{{ sugarizer_location }}" + creates: "{{ sugarizer_location }}/{{ sugarizer_server_version }}/index.html" +- name: Create symbolic link /library/www/html/sugarizer + file: + src: "{{ sugarizer_location }}/{{ sugarizer_server_version }}" + dest: "{{ sugarizer_location }}/sugarizer-server" + state: link + - name: Set up Node.js 6.x apt sources (debuntu) shell: curl -sL https://deb.nodesource.com/setup_6.x | bash - when: internet_available and is_debuntu and not is_ubuntu_18 @@ -52,7 +75,7 @@ # attempting to reinstall npm is broken on Raspbian 9 - name: Check for Sugarizer already installed stat: - path: "{{ sugarizer_location }}/sugarizer/server/node_modules" + path: "{{ sugarizer_location }}/{{ sugarizer_server_version }}/node_modules" register: npm ignore_errors: true @@ -70,7 +93,7 @@ mode: 0644 with_items: - { src: 'sugarizer.service.j2' , dest: '/etc/systemd/system/sugarizer.service'} - - { src: 'sugarizer.ini' , dest: '{{ sugarizer_location }}/sugarizer/server' } + - { src: 'sugarizer.ini' , dest: '{{ sugarizer_location }}/{{ sugarizer_server_version }}/env/sugarizer.ini' } # - { src: 'sugarizer.conf' , dest: '/etc/apache2/sites-available' } #- name: Create the symlink enabling the rewrite @@ -81,8 +104,8 @@ - name: Create the express framework for Node.js (OS's other than Fedora 18) shell: npm install args: - chdir: "{{ sugarizer_location }}/sugarizer/server" - creates: "{{ sugarizer_location }}/sugarizer/server/node_modules" + chdir: "{{ sugarizer_location }}/{{ sugarizer_server_version }}" + creates: "{{ sugarizer_location }}/{{ sugarizer_server_version }}/server/node_modules" when: not is_F18 and not npm_exists - name: Create the express framework for Node.js (Fedora 18) diff --git a/roles/sugarizer/templates/sugarizer.ini b/roles/sugarizer/templates/sugarizer.ini index 5ab515000..44024ee3b 100644 --- a/roles/sugarizer/templates/sugarizer.ini +++ b/roles/sugarizer/templates/sugarizer.ini @@ -1,8 +1,21 @@ -; Sugarizer configuration file +[information] +name = Sugarizer Server +description = Your Sugarizer Server [web] port = 8089 +[security] +min_password_size = 4 +max_age = 172800000 +https = false +certificate_file = ../server.crt +key_file = ../server.key +strict_ssl = false + +[client] +path = ../sugarizer/ + [database] server = localhost port = 27018 @@ -11,13 +24,16 @@ name = sugarizer [presence] port = 8039 +[statistics] +active = true + [collections] users = users journal = journal +stats = stats [activities] activities_directory_name = activities -activities_path = ../activities template_directory_name = ActivityTemplate activity_info_path = activity/activity.info -favorites = org.sugarlabs.GearsActivity,org.sugarlabs.MazeWebActivity,org.olpcfrance.PaintActivity,org.olpcfrance.TamTamMicro,org.olpcfrance.MemorizeActivity,org.olpg-france.physicsjs,org.sugarlabs.CalculateActivity,org.sugarlabs.TurtleBlocksJS,org.sugarlabs.Clock,,org.olpcfrance.RecordActivity,org.olpcfrance.Abecedarium,org.olpcfrance.KAView,org.olpcfrance.FoodChain,org.olpc-france.labyrinthjs,org.olpcfrance.TankOp,org.sugarlabs.ChatPrototype,org.olpcfrance.Gridpaint,org.olpc-france.LOLActivity,org.sugarlabs.StopwatchActivity,org.sugarlabs.GTDActivity,org.sugarlabs.Markdown,org.laptop.WelcomeWebActivity +favorites = org.sugarlabs.GearsActivity,org.sugarlabs.MazeWebActivity,org.olpcfrance.PaintActivity,org.olpcfrance.TamTamMicro,org.olpcfrance.MemorizeActivity,org.olpg-france.physicsjs,org.sugarlabs.CalculateActivity,org.sugarlabs.TurtleBlocksJS,org.sugarlabs.Clock,org.sugarlabs.SpeakActivity,org.sugarlabs.moon,org.olpcfrance.RecordActivity,org.olpcfrance.Abecedarium,org.olpcfrance.videoviewer,org.olpcfrance.FoodChain,org.olpc-france.labyrinthjs,org.olpcfrance.TankOp,org.sugarlabs.ChatPrototype,org.olpcfrance.Gridpaint,org.olpc-france.LOLActivity,org.olpcfrance.sharednotes,org.sugarlabs.ColorMyWorldActivity,com.homegrownapps.xoeditor,com.homegrownapps.reflection,com.homegrownapps.abacus,org.sugarlabs.Blockrain,org.sugarlabs.StopwatchActivity,com.homegrownapps.flip,org.somosazucar.JappyActivity,org.olpcfrance.qrcode,org.sugarlabs.Markdown,org.sugarlabs.gameOfLife,org.sugarlabs.Scratch,org.sugarlabs.FotoToonJs From 732547b9e7ea77799966356ce533c049e608d553 Mon Sep 17 00:00:00 2001 From: George Hunt Date: Fri, 18 May 2018 22:35:09 +0000 Subject: [PATCH 03/18] softcode sugarizer port, open iptables if services_externally_visible --- roles/0-init/tasks/main.yml | 10 +++++----- roles/network/templates/gateway/iiab-gen-iptables | 2 ++ roles/sugarizer/defaults/main.yml | 1 + roles/sugarizer/tasks/main.yml | 10 +++++----- roles/sugarizer/templates/sugarizer.conf | 4 ++-- roles/sugarizer/templates/sugarizer.ini | 2 +- 6 files changed, 16 insertions(+), 13 deletions(-) diff --git a/roles/0-init/tasks/main.yml b/roles/0-init/tasks/main.yml index c731a6a6a..66730837e 100644 --- a/roles/0-init/tasks/main.yml +++ b/roles/0-init/tasks/main.yml @@ -102,11 +102,11 @@ # when: elgg_enabled or rachel_enabled or owncloud_enabled or phpmyadmin_enabled or wordpress_enabled or iiab_menu_install # Commenting out MongoDB on a trial basis, for a more basic/lightweight Sugarizer, per https://github.com/iiab/iiab/pull/427 -# - name: Turn on mongodb if sugarizer enabled -# set_fact: -# mongodb_install: True -# mongodb_enabled: True -# when: sugarizer_enabled +- name: Turn on mongodb if sugarizer enabled + set_fact: + mongodb_install: True + mongodb_enabled: True + when: sugarizer_enabled # There might be other db's - name: Turn on PostgreSQL if Moodle or Pathagar enabled diff --git a/roles/network/templates/gateway/iiab-gen-iptables b/roles/network/templates/gateway/iiab-gen-iptables index 284db36ef..7ec8f3bf0 100755 --- a/roles/network/templates/gateway/iiab-gen-iptables +++ b/roles/network/templates/gateway/iiab-gen-iptables @@ -57,6 +57,7 @@ services_externally_visible={{ services_externally_visible }} calibre_port={{ calibre_port }} kiwix_port={{ kiwix_port }} kalite_server_port={{ kalite_server_port }} +sugarizer_port={{ sugarizer_port }} block_DNS={{ block_DNS }} captive_portal_enabled={{ captive_portal_enabled }} @@ -89,6 +90,7 @@ if [ "$services_externally_visible" == "True" ]; then $IPTABLES -A INPUT -p tcp --dport $kiwix_port -m state --state NEW -i $wan -j ACCEPT $IPTABLES -A INPUT -p tcp --dport $kalite_server_port -m state --state NEW -i $wan -j ACCEPT $IPTABLES -A INPUT -p tcp --dport $calibre_port -m state --state NEW -i $wan -j ACCEPT + $IPTABLES -A INPUT -p tcp --dport $sugarizer_port -m state --state NEW -i $wan -j ACCEPT fi if [ "$iiab_gateway_enabled" == "True" ]; then diff --git a/roles/sugarizer/defaults/main.yml b/roles/sugarizer/defaults/main.yml index 3ad4b80a8..18349676b 100644 --- a/roles/sugarizer/defaults/main.yml +++ b/roles/sugarizer/defaults/main.yml @@ -1,6 +1,7 @@ sugarizer_install: True sugarizer_enabled: False sugarizer_location: '{{ doc_root }}' +sugarizer_port: 8089 sugarizer_version: 'sugarizer-1.0' sugarizer_server_version: 'sugarizer-server-1.0' npm_exists: False diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index 31c77535d..44c59ff52 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -94,12 +94,12 @@ with_items: - { src: 'sugarizer.service.j2' , dest: '/etc/systemd/system/sugarizer.service'} - { src: 'sugarizer.ini' , dest: '{{ sugarizer_location }}/{{ sugarizer_server_version }}/env/sugarizer.ini' } -# - { src: 'sugarizer.conf' , dest: '/etc/apache2/sites-available' } + - { src: 'sugarizer.conf' , dest: '/etc/apache2/sites-available' } -#- name: Create the symlink enabling the rewrite -# file: src=/etc/apache2/sites-available/sugarizer.conf -# dest=/etc/apache2/sites-enabled/sugarizer.conf -# state=link +- name: Create the symlink enabling the rewrite + file: src=/etc/apache2/sites-available/sugarizer.conf + dest=/etc/apache2/sites-enabled/sugarizer.conf + state=link - name: Create the express framework for Node.js (OS's other than Fedora 18) shell: npm install diff --git a/roles/sugarizer/templates/sugarizer.conf b/roles/sugarizer/templates/sugarizer.conf index 780491144..19bb98363 100644 --- a/roles/sugarizer/templates/sugarizer.conf +++ b/roles/sugarizer/templates/sugarizer.conf @@ -1,3 +1,3 @@ -RewriteRule ^/sugarizer(.*)$ http://localhost:8089/sugarizer$1 [P,L] -ProxyPassReverse /sugarizer http://localhost:8010/sugarizer +RewriteRule ^/sugarizer(.*)$ http://localhost:{{ sugaarizer_port }}/sugarizer$1 [P,L] +ProxyPassReverse /sugarizer http://localhost:{{ sugarizer_port }}/sugarizer ProxyRequests Off diff --git a/roles/sugarizer/templates/sugarizer.ini b/roles/sugarizer/templates/sugarizer.ini index 44024ee3b..afcd97d19 100644 --- a/roles/sugarizer/templates/sugarizer.ini +++ b/roles/sugarizer/templates/sugarizer.ini @@ -3,7 +3,7 @@ name = Sugarizer Server description = Your Sugarizer Server [web] -port = 8089 +port = {{ sugarizer_port }} [security] min_password_size = 4 From e0309cd5d4cc9656b7c49cb3275ff4be2c74c17c Mon Sep 17 00:00:00 2001 From: George Hunt Date: Mon, 21 May 2018 23:28:21 +0000 Subject: [PATCH 04/18] tweaks to get mongodb autotarting --- roles/mongodb/tasks/main.yml | 18 +----------------- roles/mongodb/templates/mongod.conf | 6 +++--- roles/mongodb/templates/mongodb | 1 - roles/mongodb/templates/mongodb.service | 2 +- roles/mongodb/templates/mongodb~HEAD | 1 - roles/sugarizer/defaults/main.yml | 3 +-- roles/sugarizer/meta/main.yml | 2 +- roles/sugarizer/tasks/main.yml | 6 +++--- roles/sugarizer/templates/sugarizer.conf | 4 ++-- vars/default_vars.yml | 1 + 10 files changed, 13 insertions(+), 31 deletions(-) delete mode 100644 roles/mongodb/templates/mongodb delete mode 100644 roles/mongodb/templates/mongodb~HEAD diff --git a/roles/mongodb/tasks/main.yml b/roles/mongodb/tasks/main.yml index b007bd357..81a4864c9 100644 --- a/roles/mongodb/tasks/main.yml +++ b/roles/mongodb/tasks/main.yml @@ -17,7 +17,7 @@ - { path: '/library/dbdata/mongodb' } - { path: '/var/log/mongodb' } -- name: Create systemd files +- name: Move required files template: src={{ item.src }} dest={{ item.dest }} owner=root @@ -25,9 +25,7 @@ mode=0644 with_items: - { src: 'mongodb.service' , dest: '/etc/systemd/system/' } - - { src: 'mongodb' , dest: '/etc/sysconfig/'} - { src: 'mongod.conf' , dest: '/etc/mongod.conf'} - - { src: 'mongod.conf' , dest: '/etc/mongodb.conf'} - name: enable services service: name={{ item.name }} @@ -45,20 +43,6 @@ - { name: mongodb } when: not mongodb_enabled -# See https://github.com/iiab/iiab/issues/254 for other attempts to eliminate -# these 256MB files. Brute Force Idea: rm /var/lib/mongodb/journal/prealloc.* -- name: find /var/lib/mongodb/prealloc.* files to delete - find: - paths: /var/lib/mongodb/journal - patterns: prealloc.* - register: files_to_delete - -- name: delete prealloc files - file: - path: "{{ item.path }}" - state: absent - with_items: "{{ files_to_delete.files }}" - - name: add mongodb to service list ini_file: dest="{{ service_filelist }}" section=mongodb diff --git a/roles/mongodb/templates/mongod.conf b/roles/mongodb/templates/mongod.conf index 1b82f23b8..4d6b2a9e5 100644 --- a/roles/mongodb/templates/mongod.conf +++ b/roles/mongodb/templates/mongod.conf @@ -18,13 +18,13 @@ pidfilepath = /var/run/mongodb/mongod.pid logpath = /var/log/mongodb/mongod.log # Alternative directory for UNIX domain sockets (defaults to /tmp) -unixSocketPrefix = /var/run/mongodb +# unixSocketPrefix = /var/run/mongodb # Directory for datafiles (defaults to /data/db/) dbpath = /library/dbdata/mongodb # Enable/Disable journaling (journaling is on by default for 64 bit) -#journal = true +journal = true #nojournal = true @@ -37,7 +37,7 @@ dbpath = /library/dbdata/mongodb #verbose = v # Max number of simultaneous connections (1000000 by default) -#maxConns = 1000000 +maxConns = 1000 # Log to system's syslog facility instead of file or stdout (false by default) #syslog = true diff --git a/roles/mongodb/templates/mongodb b/roles/mongodb/templates/mongodb deleted file mode 100644 index eadac0d28..000000000 --- a/roles/mongodb/templates/mongodb +++ /dev/null @@ -1 +0,0 @@ -OPTIONS=' -f /etc/mongod.conf ' diff --git a/roles/mongodb/templates/mongodb.service b/roles/mongodb/templates/mongodb.service index 313ae15c0..49133d7e6 100644 --- a/roles/mongodb/templates/mongodb.service +++ b/roles/mongodb/templates/mongodb.service @@ -7,7 +7,7 @@ Type=forking User=mongodb Group=mongodb PIDFile=/var/run/mongodb/mongod.pid -EnvironmentFile=/etc/sysconfig/mongodb +#EnvironmentFile=/etc/sysconfig/mongodb ExecStart=/usr/bin/mongod -f /etc/mongod.conf [Install] diff --git a/roles/mongodb/templates/mongodb~HEAD b/roles/mongodb/templates/mongodb~HEAD deleted file mode 100644 index eadac0d28..000000000 --- a/roles/mongodb/templates/mongodb~HEAD +++ /dev/null @@ -1 +0,0 @@ -OPTIONS=' -f /etc/mongod.conf ' diff --git a/roles/sugarizer/defaults/main.yml b/roles/sugarizer/defaults/main.yml index 18349676b..7baf488d2 100644 --- a/roles/sugarizer/defaults/main.yml +++ b/roles/sugarizer/defaults/main.yml @@ -1,7 +1,6 @@ sugarizer_install: True sugarizer_enabled: False -sugarizer_location: '{{ doc_root }}' -sugarizer_port: 8089 +sugarizer_location: /opt/iiab sugarizer_version: 'sugarizer-1.0' sugarizer_server_version: 'sugarizer-server-1.0' npm_exists: False diff --git a/roles/sugarizer/meta/main.yml b/roles/sugarizer/meta/main.yml index e3fcddc52..1ac8adeed 100644 --- a/roles/sugarizer/meta/main.yml +++ b/roles/sugarizer/meta/main.yml @@ -1,2 +1,2 @@ dependencies: -# - { role: mongodb, tags: ['generic','mongodb'], when: sugarizer_install } + - { role: mongodb, tags: ['generic','mongodb'], when: sugarizer_install } diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index 44c59ff52..17b5c366b 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -5,7 +5,7 @@ timeout: "{{ download_timeout }}" when: internet_available -- name: Untar to /library/www/html/{{ sugarizer_version }} +- name: Untar to {{ sugarizer_version }} unarchive: src: "{{ downloads_dir }}/{{ sugarizer_version }}.tar.gz" dest: "{{ sugarizer_location }}" @@ -20,7 +20,7 @@ timeout: "{{ download_timeout }}" when: internet_available -- name: Untar to /library/www/html/{{ sugarizer_version }} +- name: Untar to /{{ sugarizer_version }} unarchive: src: "{{ downloads_dir }}/{{ sugarizer_version }}.tar.gz" dest: "{{ sugarizer_location }}" @@ -94,7 +94,7 @@ with_items: - { src: 'sugarizer.service.j2' , dest: '/etc/systemd/system/sugarizer.service'} - { src: 'sugarizer.ini' , dest: '{{ sugarizer_location }}/{{ sugarizer_server_version }}/env/sugarizer.ini' } - - { src: 'sugarizer.conf' , dest: '/etc/apache2/sites-available' } + - { src: 'sugarizer.conf' , dest: '/etc/apache2/sites-available' } - name: Create the symlink enabling the rewrite file: src=/etc/apache2/sites-available/sugarizer.conf diff --git a/roles/sugarizer/templates/sugarizer.conf b/roles/sugarizer/templates/sugarizer.conf index 19bb98363..72dcf33e4 100644 --- a/roles/sugarizer/templates/sugarizer.conf +++ b/roles/sugarizer/templates/sugarizer.conf @@ -1,3 +1,3 @@ -RewriteRule ^/sugarizer(.*)$ http://localhost:{{ sugaarizer_port }}/sugarizer$1 [P,L] -ProxyPassReverse /sugarizer http://localhost:{{ sugarizer_port }}/sugarizer +RewriteRule ^/sugarizer(.*)$ http://localhost:"{{ sugarizer_port }}/sugarizer$1" [P,L] +ProxyPassReverse /sugarizer http://localhost:"{{ sugarizer_port }}/sugarizer" ProxyRequests Off diff --git a/vars/default_vars.yml b/vars/default_vars.yml index c02f7254c..542fc2ad6 100644 --- a/vars/default_vars.yml +++ b/vars/default_vars.yml @@ -320,6 +320,7 @@ pathagar_enabled: False # Sugarizer sugarizer_install: True sugarizer_enabled: False +sugarizer_port: 8089 # 8-MGMT-TOOLS From c545df820aa63806f1d77bfa390635d99d2c8aec Mon Sep 17 00:00:00 2001 From: George Hunt Date: Tue, 22 May 2018 01:11:15 +0000 Subject: [PATCH 05/18] create shim to buffer nodejs from returning non-zero (bson does not compile), and erroring out --- roles/sugarizer/templates/start-sugarizer.sh | 5 +++++ roles/sugarizer/templates/sugarizer.service.j2 | 12 ++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) create mode 100755 roles/sugarizer/templates/start-sugarizer.sh diff --git a/roles/sugarizer/templates/start-sugarizer.sh b/roles/sugarizer/templates/start-sugarizer.sh new file mode 100755 index 000000000..cae4775d3 --- /dev/null +++ b/roles/sugarizer/templates/start-sugarizer.sh @@ -0,0 +1,5 @@ +#!/bin/bash +# shim to daemonize node sugarizer.js, declare log target, return 0 +cd /opt/iiab/sugarizer-server +nohup /bin/node sugarizer.js >> /var/log/sugarizer.log & +exit 0 diff --git a/roles/sugarizer/templates/sugarizer.service.j2 b/roles/sugarizer/templates/sugarizer.service.j2 index fd5f17e40..6b900ce78 100644 --- a/roles/sugarizer/templates/sugarizer.service.j2 +++ b/roles/sugarizer/templates/sugarizer.service.j2 @@ -3,16 +3,16 @@ Description=Node.js Sugarizer Server # Requires=After=mongodb.service # Requires the mongodb service to run first [Service] -WorkingDirectory={{ sugarizer_location }}/sugarizer/server/ -ExecStart=/usr/bin/node sugarizer.js +WorkingDirectory={{ sugarizer_location }}/sugarizer-server/ +ExecStart=start-sugarizer.sh Restart=always #RestartSec=10 # Restart service after 10 seconds if node service crashes -StandardOutput=syslog # Output to syslog -StandardError=syslog # Output to syslog -SyslogIdentifier=sugarizer +#StandardOutput=syslog # Output to syslog +#StandardError=syslog # Output to syslog +#SyslogIdentifier=sugarizer #User= #Group= -Environment=NODE_ENV=production +#Environment=NODE_ENV=production [Install] WantedBy=multi-user.target From 5545979fe381ee85e0613f91b1507a96b2e2340b Mon Sep 17 00:00:00 2001 From: George Hunt Date: Tue, 22 May 2018 16:52:31 +0000 Subject: [PATCH 06/18] working on startup --- roles/sugarizer/tasks/main.yml | 9 +++++---- roles/sugarizer/templates/start-sugarizer.sh | 5 ----- roles/sugarizer/templates/sugarizer.service.j2 | 15 ++++++++------- 3 files changed, 13 insertions(+), 16 deletions(-) delete mode 100755 roles/sugarizer/templates/start-sugarizer.sh diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index 17b5c366b..853fc3f8d 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -88,13 +88,14 @@ template: src: "{{ item.src }}" dest: "{{ item.dest }}" + mode: "{{ item.mode }}" owner: root group: root - mode: 0644 with_items: - - { src: 'sugarizer.service.j2' , dest: '/etc/systemd/system/sugarizer.service'} - - { src: 'sugarizer.ini' , dest: '{{ sugarizer_location }}/{{ sugarizer_server_version }}/env/sugarizer.ini' } - - { src: 'sugarizer.conf' , dest: '/etc/apache2/sites-available' } + - { src: 'sugarizer.service.j2' , dest: '/etc/systemd/system/sugarizer.service', mode: '0644' } + - { src: 'sugarizer.ini' , dest: '{{ sugarizer_location }}/{{ sugarizer_server_version }}/env/sugarizer.ini', mode: '0644' } + - { src: 'sugarizer.conf' , dest: '/etc/apache2/sites-available',mode: '0644' } + - { src: 'start-sugarizer.sh' , dest: '{{ sugarizer_location }}/{{ sugarizer_server_version }}/', mode: '0755' } - name: Create the symlink enabling the rewrite file: src=/etc/apache2/sites-available/sugarizer.conf diff --git a/roles/sugarizer/templates/start-sugarizer.sh b/roles/sugarizer/templates/start-sugarizer.sh deleted file mode 100755 index cae4775d3..000000000 --- a/roles/sugarizer/templates/start-sugarizer.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash -# shim to daemonize node sugarizer.js, declare log target, return 0 -cd /opt/iiab/sugarizer-server -nohup /bin/node sugarizer.js >> /var/log/sugarizer.log & -exit 0 diff --git a/roles/sugarizer/templates/sugarizer.service.j2 b/roles/sugarizer/templates/sugarizer.service.j2 index 6b900ce78..82a5c1ace 100644 --- a/roles/sugarizer/templates/sugarizer.service.j2 +++ b/roles/sugarizer/templates/sugarizer.service.j2 @@ -1,15 +1,16 @@ [unit] Description=Node.js Sugarizer Server -# Requires=After=mongodb.service # Requires the mongodb service to run first +Requires=After=mongodb.service # Requires the mongodb service to run first [Service] -WorkingDirectory={{ sugarizer_location }}/sugarizer-server/ -ExecStart=start-sugarizer.sh +WorkingDirectory=/opt/iiab/sugarizer-server/ +ExecStart=/usr/bin/node /opt/iiab/sugarizer-server/sugarizer.js +Type=forking Restart=always -#RestartSec=10 # Restart service after 10 seconds if node service crashes -#StandardOutput=syslog # Output to syslog -#StandardError=syslog # Output to syslog -#SyslogIdentifier=sugarizer +RestartSec=10 +StandardOutput=syslog +StandardError=syslog +SyslogIdentifier=sugarizer #User= #Group= #Environment=NODE_ENV=production From eadbadf46a3c2cb5b1ad709c5b750e7f79657075 Mon Sep 17 00:00:00 2001 From: George Hunt Date: Tue, 22 May 2018 17:07:21 +0000 Subject: [PATCH 07/18] specifically fork mongodb --- roles/mongodb/templates/mongodb.service | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/mongodb/templates/mongodb.service b/roles/mongodb/templates/mongodb.service index 49133d7e6..e93a9ecf8 100644 --- a/roles/mongodb/templates/mongodb.service +++ b/roles/mongodb/templates/mongodb.service @@ -8,7 +8,7 @@ User=mongodb Group=mongodb PIDFile=/var/run/mongodb/mongod.pid #EnvironmentFile=/etc/sysconfig/mongodb -ExecStart=/usr/bin/mongod -f /etc/mongod.conf +ExecStart=/usr/bin/mongod --fork -f /etc/mongod.conf [Install] WantedBy=multi-user.target From 0e6a4c8ae61d5deeabc88c5535fe8bcc7f93975e Mon Sep 17 00:00:00 2001 From: George Hunt Date: Tue, 22 May 2018 19:17:48 +0000 Subject: [PATCH 08/18] proxy passthrough --- roles/sugarizer/tasks/main.yml | 1 - roles/sugarizer/templates/sugarizer.conf | 5 ++--- roles/sugarizer/templates/sugarizer.service.j2 | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index 853fc3f8d..dd930fdf5 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -95,7 +95,6 @@ - { src: 'sugarizer.service.j2' , dest: '/etc/systemd/system/sugarizer.service', mode: '0644' } - { src: 'sugarizer.ini' , dest: '{{ sugarizer_location }}/{{ sugarizer_server_version }}/env/sugarizer.ini', mode: '0644' } - { src: 'sugarizer.conf' , dest: '/etc/apache2/sites-available',mode: '0644' } - - { src: 'start-sugarizer.sh' , dest: '{{ sugarizer_location }}/{{ sugarizer_server_version }}/', mode: '0755' } - name: Create the symlink enabling the rewrite file: src=/etc/apache2/sites-available/sugarizer.conf diff --git a/roles/sugarizer/templates/sugarizer.conf b/roles/sugarizer/templates/sugarizer.conf index 72dcf33e4..ff1fe7508 100644 --- a/roles/sugarizer/templates/sugarizer.conf +++ b/roles/sugarizer/templates/sugarizer.conf @@ -1,3 +1,2 @@ -RewriteRule ^/sugarizer(.*)$ http://localhost:"{{ sugarizer_port }}/sugarizer$1" [P,L] -ProxyPassReverse /sugarizer http://localhost:"{{ sugarizer_port }}/sugarizer" -ProxyRequests Off +RewriteEngine on +RewriteRule ^/sugarizer(.*)$ http://localhost:8089$1 [PT] diff --git a/roles/sugarizer/templates/sugarizer.service.j2 b/roles/sugarizer/templates/sugarizer.service.j2 index 82a5c1ace..76d238f06 100644 --- a/roles/sugarizer/templates/sugarizer.service.j2 +++ b/roles/sugarizer/templates/sugarizer.service.j2 @@ -5,7 +5,7 @@ Requires=After=mongodb.service # Requires the mongodb service to run first [Service] WorkingDirectory=/opt/iiab/sugarizer-server/ ExecStart=/usr/bin/node /opt/iiab/sugarizer-server/sugarizer.js -Type=forking +Type=simple Restart=always RestartSec=10 StandardOutput=syslog From 72c81570d82191162220b38c4d1bbeab7e52c86d Mon Sep 17 00:00:00 2001 From: George Hunt Date: Wed, 23 May 2018 15:28:43 +0000 Subject: [PATCH 09/18] work toward upgrade -- delete old sugarizer in doc_root --- roles/sugarizer/tasks/main.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index dd930fdf5..0dbd4d965 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -1,3 +1,7 @@ +- name: Wipe any previous sugarizer installation + shell: "rm -rf {{ doc_root }}/sugarizer*" + when: sugarizer_version == "sugarizer-1.0" + - name: Download latest stable Sugarizer from location we control get_url: url: "{{ iiab_download_url }}/{{ sugarizer_version }}.tar.gz" From 244d565aaabd73e30e65b71ca8e4f1e2c9a90b12 Mon Sep 17 00:00:00 2001 From: George Hunt Date: Wed, 23 May 2018 21:18:16 +0000 Subject: [PATCH 10/18] capitalize u in Unit --- roles/sugarizer/templates/sugarizer.service.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/sugarizer/templates/sugarizer.service.j2 b/roles/sugarizer/templates/sugarizer.service.j2 index 76d238f06..75feed8c9 100644 --- a/roles/sugarizer/templates/sugarizer.service.j2 +++ b/roles/sugarizer/templates/sugarizer.service.j2 @@ -1,4 +1,4 @@ -[unit] +[Unit] Description=Node.js Sugarizer Server Requires=After=mongodb.service # Requires the mongodb service to run first From 5fd71ddd39e7ad75651a7a1e4a26c48dca699c0d Mon Sep 17 00:00:00 2001 From: George Hunt Date: Wed, 23 May 2018 23:21:49 +0000 Subject: [PATCH 11/18] systemd After and Requires on separate lines --- roles/mongodb/templates/mongod.conf | 2 +- roles/sugarizer/templates/sugarizer.service.j2 | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/roles/mongodb/templates/mongod.conf b/roles/mongodb/templates/mongod.conf index 4d6b2a9e5..b55da7e29 100644 --- a/roles/mongodb/templates/mongod.conf +++ b/roles/mongodb/templates/mongod.conf @@ -37,7 +37,7 @@ journal = true #verbose = v # Max number of simultaneous connections (1000000 by default) -maxConns = 1000 +maxConns = 10000 # Log to system's syslog facility instead of file or stdout (false by default) #syslog = true diff --git a/roles/sugarizer/templates/sugarizer.service.j2 b/roles/sugarizer/templates/sugarizer.service.j2 index 75feed8c9..e21f3b6e0 100644 --- a/roles/sugarizer/templates/sugarizer.service.j2 +++ b/roles/sugarizer/templates/sugarizer.service.j2 @@ -1,6 +1,7 @@ [Unit] Description=Node.js Sugarizer Server -Requires=After=mongodb.service # Requires the mongodb service to run first +Requires=mongodb.service +After=mongodb.service # Requires the mongodb service to run first [Service] WorkingDirectory=/opt/iiab/sugarizer-server/ From abb58ba0bc86c8782bb0e82cf7e590b1fcaa1462 Mon Sep 17 00:00:00 2001 From: George Hunt Date: Sat, 26 May 2018 23:16:10 +0000 Subject: [PATCH 12/18] change mongodb service file to type=simple, and config to not fork --- roles/mongodb/templates/mongod.conf | 4 ++-- roles/mongodb/templates/mongodb.service | 6 ++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/roles/mongodb/templates/mongod.conf b/roles/mongodb/templates/mongod.conf index b55da7e29..478375a5e 100644 --- a/roles/mongodb/templates/mongod.conf +++ b/roles/mongodb/templates/mongod.conf @@ -9,10 +9,10 @@ bind_ip = 127.0.0.1 port = 27018 # Fork server process (false by default) -fork = true +# fork = true # Full path to pidfile (if not set, no pidfile is created) -pidfilepath = /var/run/mongodb/mongod.pid +# pidfilepath = /var/run/mongodb/mongod.pid # Log file to send write to instead of stdout - has to be a file, not directory logpath = /var/log/mongodb/mongod.log diff --git a/roles/mongodb/templates/mongodb.service b/roles/mongodb/templates/mongodb.service index e93a9ecf8..328682a10 100644 --- a/roles/mongodb/templates/mongodb.service +++ b/roles/mongodb/templates/mongodb.service @@ -3,12 +3,10 @@ Description=High-performance, schema-free document-oriented database After=syslog.target network.target [Service] -Type=forking +Type=simple User=mongodb Group=mongodb -PIDFile=/var/run/mongodb/mongod.pid -#EnvironmentFile=/etc/sysconfig/mongodb -ExecStart=/usr/bin/mongod --fork -f /etc/mongod.conf +ExecStart=/usr/bin/mongod -f /etc/mongod.conf [Install] WantedBy=multi-user.target From e89ef20787927d3c0801d1b1fa347d7ca3f0618f Mon Sep 17 00:00:00 2001 From: A Holt Date: Thu, 21 Jun 2018 01:42:54 -0400 Subject: [PATCH 13/18] Update debs.yml --- roles/calibre/tasks/debs.yml | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/roles/calibre/tasks/debs.yml b/roles/calibre/tasks/debs.yml index 74ce6539f..98942cd07 100644 --- a/roles/calibre/tasks/debs.yml +++ b/roles/calibre/tasks/debs.yml @@ -18,13 +18,17 @@ # If you want the latest Calibre, run the appropriate below script, standalone. # HOWEVER: it's strongly suggested you wait for apt (blessed by your OS!) -- name: Install packages that Raspbian .deb's had installed for Calibre 3.23 (rpi) - #command: scripts/calibre-install-latest-rpi.sh # FAILS with Calibre 3.24+ ("calibre : Depends: python-pyqt5 (>= 5.10.1+dfsg-2) but 5.10.1+dfsg-1+rpi1 is to be installed") since June 2018. - command: scripts/calibre-install-packages.sh # BORROWED package list from /var/log/apt/history.log (that resulted from 2018-05-22 install of Calibre 3.23 using calibre-install-latest-rpi.sh). - when: is_rpi and internet_available +#- name: Install packages that Raspbian .deb's had installed for Calibre 3.23 (rpi) +# #command: scripts/calibre-install-latest-rpi.sh # FAILS with Calibre 3.24+ ("calibre : Depends: python-pyqt5 (>= 5.10.1+dfsg-2) but 5.10.1+dfsg-1+rpi1 is to be installed") since June 2018. +# command: scripts/calibre-install-packages.sh # BORROWED package list from /var/log/apt/history.log (that resulted from 2018-05-22 install of Calibre 3.23 using calibre-install-latest-rpi.sh). +# when: is_rpi and internet_available -- name: Upgrade to latest Calibre using Debian's own .deb's from testing (rpi) - command: scripts/calibre-install-latest.sh # NECESSARY since Calibre 3.24 (BEWARE installing libc6 will prevent boot in RPi Zero W, i.e. if calibre-install-packages.sh isn't run above!) +#- name: Upgrade to latest Calibre using Debian's own .deb's from testing (rpi) +# command: scripts/calibre-install-latest.sh # NECESSARY since Calibre 3.24 (BEWARE installing libc6 will prevent boot in RPi Zero W, i.e. if calibre-install-packages.sh isn't run above!) +# when: is_rpi and internet_available + +- name: Upgrade to latest Calibre using .deb's from testing (rpi) + command: scripts/calibre-install-latest-rpi.sh # SEEMS TO WORK since Calibre 3.26.0 (Calibre 3.24-3.25 required above prereq calibre-install-packages.sh then Debian's own calibre-install-latest.sh to be bootable in Zero W) when: is_rpi and internet_available - name: Upgrade to Calibre testing .deb's - target Ubuntu 16.04 (not rpi and not ubuntu_18) From 49b929552f7bbbabe2e0a2cb2b579b28dbba02bf Mon Sep 17 00:00:00 2001 From: A Holt Date: Thu, 21 Jun 2018 01:43:35 -0400 Subject: [PATCH 14/18] Update debs.yml --- roles/calibre/tasks/debs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/calibre/tasks/debs.yml b/roles/calibre/tasks/debs.yml index 98942cd07..0d13d9b9d 100644 --- a/roles/calibre/tasks/debs.yml +++ b/roles/calibre/tasks/debs.yml @@ -28,7 +28,7 @@ # when: is_rpi and internet_available - name: Upgrade to latest Calibre using .deb's from testing (rpi) - command: scripts/calibre-install-latest-rpi.sh # SEEMS TO WORK since Calibre 3.26.0 (Calibre 3.24-3.25 required above prereq calibre-install-packages.sh then Debian's own calibre-install-latest.sh to be bootable in Zero W) + command: scripts/calibre-install-latest-rpi.sh # SEEMS TO ONCE AGAIN WORK since Calibre 3.26.0 (Calibre 3.24-3.25 required above prereq calibre-install-packages.sh then Debian's own calibre-install-latest.sh to be bootable in Zero W) when: is_rpi and internet_available - name: Upgrade to Calibre testing .deb's - target Ubuntu 16.04 (not rpi and not ubuntu_18) From 42d4974f7be833bc6c4a9d8ff509feb8c6bfe4ea Mon Sep 17 00:00:00 2001 From: A Holt Date: Thu, 21 Jun 2018 02:15:12 -0400 Subject: [PATCH 15/18] History of #831, mitigated by "heroic" PR's #833 & #839 no longer nec? --- scripts/calibre-install-packages.sh | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/scripts/calibre-install-packages.sh b/scripts/calibre-install-packages.sh index c11186671..616a1a7f0 100755 --- a/scripts/calibre-install-packages.sh +++ b/scripts/calibre-install-packages.sh @@ -3,29 +3,36 @@ # Thanks to Jerry Vonau (https://github.com/jvonau) who made this critical # breakthrough possible! # -# Caveat: calibre-install-latest-rpi.sh worked up to Calibre 3.23 in May 2018, -# but fails to "apt install" Calibre 3.24+ in June 2018: +# CLARIF: this entire file (calibre-install-packages.sh) is hopefully no +# longer necessary after June 21, 2018. +# +# CONTEXT: calibre-install-latest-rpi.sh worked up to Calibre 3.23 in May 2018 +# -- and once again began working when Calibre 3.26.0 .debs became available +# from http://raspbian.raspberrypi.org/raspbian/pool/main/c/calibre/ on June +# 20, 2018 -- but had failed (#831) to "apt install" Calibre 3.24.x and 3.25 +# during early and mid-June 2018, with error message: # # The following packages have unmet dependencies: # calibre : Depends: python-pyqt5 (>= 5.10.1+dfsg-2) but 5.10.1+dfsg-1+rpi1 is to be installed # E: Unable to correct problems, you have held broken packages. -# So the new recipe (2018-06-18) for RPi is: +# In the interim (June 18-21, 2018) the following 3-step recipe for RPi was +# briefly used: (to permit microSD's that were at least interoperable between +# RPi 3 / 3 B+ & Zero W, even if Calibre did not run in Zero W) # -# 1. "apt install calibre calibre-bin" (2.75.1, part of Raspbian OS) +# 1. "apt install calibre calibre-bin" (both 2.75.1, part of Raspbian OS) # # 2. calibre-install-packages.sh installs those packages that -# calibre-install-latest-rpi.sh used to install for Calibre 3.23: +# calibre-install-latest-rpi.sh had used to install for Calibre 3.23: # -# https://github.com/iiab/iiab/pull/839 +# https://github.com/iiab/iiab/pull/839 # # 3. calibre-install-latest.sh installs Debian's own calibre & calibre-bin etc: # -# https://github.com/iiab/iiab/pull/833 # WORKED ON RPI 3 AND RPI 3 B+ -# https://github.com/iiab/iiab/issues/835 # FAILED ON RPI ZERO W, DUE TO INSTALLING libc6 (IF ABOVE STEP 2 NOT RUN!) +# https://github.com/iiab/iiab/pull/833 # WORKED ON RPI 3 AND RPI 3 B+ BUT... +# https://github.com/iiab/iiab/issues/835 # FAILED ON RPI ZERO W, possibly due to libc6 (IF ABOVE STEP 2 NOT RUN!) -# FYI Calibre 3.25 (and early signs of 3.26) are the latest available from -# testing as of 2018-06-18: +# FYI Calibre 3.26.0 is the latest available from testing as of 2018-06-21: # # http://raspbian.raspberrypi.org/raspbian/pool/main/c/calibre/ # http://archive.raspbian.org/raspbian/pool/main/c/calibre/ @@ -38,7 +45,7 @@ export DEBIAN_FRONTEND=noninteractive # Prepares to update to latest from testing echo "deb http://raspbian.raspberrypi.org/raspbian/ testing main" > /etc/apt/sources.list.d/rpi-testing.list apt update -# Packages below cribbed from Calibre 3.23 installation as recorded in /var/log/apt/history.log* +# Packages below cribbed from Calibre 3.23 installation on 2018-05-22, as recorded in /var/log/apt/history.log* apt -y install libegl1 libegl-mesa0 libqt5sensors5 libbrotli1 libwoff1 libpodofo0.9.5 libjs-coffeescript python-regex libhyphen0 libqt5webchannel5 python-msgpack python-html5-parser libqt5positioning5 libpcre2-16-0 libglvnd0 libdrm-common python-sip libqt5svg5 libnih-dbus1 qt5-gtk-platformtheme libc6-dbg libqt5help5 libc6-dev libqt5dbus5 libqt5sql5-sqlite libc6 libqt5widgets5 locales libegl1-mesa python-pyqt5.qtsvg python-lxml fontconfig-config libqt5xml5 libgbm1 libqt5printsupport5 libqt5qml5 libc-l10n libqt5gui5 libc-bin libnih1 libqt5webkit5 python-pyqt5.qtwebkit libdrm2 libqt5core5a libfontconfig1 libqt5opengl5 libc-dev-bin python-pyqt5 libqt5network5 libqt5designer5 libqt5quick5 libqt5sql5 # BUT DO NOT DO "apt -y install calibre calibre-bin" UNTIL calibre-install-latest.sh # Removes last line, safer than: rm /etc/apt/sources.list.d/rpi-testing.list From 098593524c63a192e1d65cce41f82150993e9a1c Mon Sep 17 00:00:00 2001 From: A Holt Date: Thu, 21 Jun 2018 15:32:43 -0400 Subject: [PATCH 16/18] phpMyAdmin 4.8.1 -> 4.8.2 security fix --- roles/phpmyadmin/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/phpmyadmin/defaults/main.yml b/roles/phpmyadmin/defaults/main.yml index 2779db9eb..57f820564 100644 --- a/roles/phpmyadmin/defaults/main.yml +++ b/roles/phpmyadmin/defaults/main.yml @@ -1,4 +1,4 @@ phpmyadmin_install: False phpmyadmin_enabled: False -phpmyadmin_name: "phpMyAdmin-4.8.1-all-languages" +phpmyadmin_name: "phpMyAdmin-4.8.2-all-languages" phpmyadmin_name_zip: "{{ phpmyadmin_name }}.zip" From 3a56685f6c49332a76ccf624fa295faa79eef8bc Mon Sep 17 00:00:00 2001 From: A Holt Date: Thu, 21 Jun 2018 15:59:46 -0400 Subject: [PATCH 17/18] recommend Ansible 2.5.5 --- scripts/ansible | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/ansible b/scripts/ansible index 27a992211..d033c8f1d 100755 --- a/scripts/ansible +++ b/scripts/ansible @@ -5,7 +5,7 @@ echo -e 'Ensure you'"'"'re online before running this! (/opt/iiab/iiab/scripts/a echo -e 'INSTRUCTIONS: https://github.com/iiab/iiab/wiki/IIAB-Installation#do-everything-from-scratch' echo -e 'ALTERNATIVES: Consider scripts/ansible-2.5.x "slow food" instead.\n' -GOOD_VER="2.5.4" # Ansible version for OLPC XO laptops (pip install). +GOOD_VER="2.5.5" # Ansible version for OLPC XO laptops (pip install). # On other OS's we install/upgrade to THE latest (released version of) Ansible. CURR_VER="undefined" # below are unused for future use From a35aed79df6ac5d45e8670e3ac70e263171b3d89 Mon Sep 17 00:00:00 2001 From: A Holt Date: Thu, 21 Jun 2018 16:00:03 -0400 Subject: [PATCH 18/18] recommend Ansible 2.5.5 --- scripts/ansible-2.5.x | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/ansible-2.5.x b/scripts/ansible-2.5.x index 7f5c2f429..3f4a3c3a4 100755 --- a/scripts/ansible-2.5.x +++ b/scripts/ansible-2.5.x @@ -5,7 +5,7 @@ echo -e 'Ensure you'"'"'re online before running this! (/opt/iiab/iiab/scripts/a echo -e 'INSTRUCTIONS: https://github.com/iiab/iiab/wiki/IIAB-Installation#do-everything-from-scratch' echo -e 'ALTERNATIVE: Consider scripts/ansible to keep up-to-date as Ansible evolves.\n' -GOOD_VER="2.5.4" # Ansible version for OLPC XO laptops (pip install). +GOOD_VER="2.5.5" # Ansible version for OLPC XO laptops (pip install). # On other OS's we attempt to install/upgrade/pin to the latest Ansible 2.5.x CURR_VER="undefined" # below are unused for future use