diff --git a/roles/0-init/tasks/main.yml b/roles/0-init/tasks/main.yml index f9369d65d..a2fadff04 100644 --- a/roles/0-init/tasks/main.yml +++ b/roles/0-init/tasks/main.yml @@ -123,18 +123,6 @@ # We decided to enable mysql unconditionally. # when: elgg_enabled or rachel_enabled or owncloud_enabled or phpmyadmin_enabled or wordpress_enabled or iiab_menu_install -# MongoDB is auto-included by Sugarizer as of Feb 2019, thanks to: roles/sugarizer/meta/main.yml -# -# 2019-07-08: mongodb_install is completely ignored. FYI mongodb_enabled: False -# works but is ineffective, as Sugarizer starts mongodb's systemd svc on its own -# -## Late 2017: Had commented out MongoDB on a trial basis, for a more basic/lightweight Sugarizer, per https://github.com/iiab/iiab/pull/427 -#- name: Turn on both vars for MongoDB if sugarizer_enabled -# set_fact: -# mongodb_install: True -# mongodb_enabled: True -# when: sugarizer_enabled | bool - # There might be other db's - name: Turn on both vars for PostgreSQL if moodle_enabled or pathagar_enabled set_fact: diff --git a/roles/0-init/tasks/validate_vars.yml b/roles/0-init/tasks/validate_vars.yml index 4e117a7e8..b115afdc4 100644 --- a/roles/0-init/tasks/validate_vars.yml +++ b/roles/0-init/tasks/validate_vars.yml @@ -125,3 +125,10 @@ quiet: yes loop: "{{ vars_checklist }}" #register: var_pairs_validation + +- name: 'DISALLOW "XYZ_install: False" WITH "XYZ_installed: True" ...for all {{ vars_checklist | length }} var pairs' + assert: + that: "{{ item }}_install or {{ item }}_installed is undefined" + fail_msg: "{{ item }} already installed please set to True in: /etc/iiab/local_vars.yml" + quiet: yes + loop: "{{ vars_checklist }}" diff --git a/roles/sugarizer/templates/sugarizer.service b/roles/sugarizer/templates/sugarizer.service index 3b1e75cfa..274877f10 100644 --- a/roles/sugarizer/templates/sugarizer.service +++ b/roles/sugarizer/templates/sugarizer.service @@ -1,8 +1,9 @@ [Unit] Description=Node.js Sugarizer Server +# Forces mongodb to start up if not started Requires=mongodb.service +# Wait for mongodb service to run first After=mongodb.service -# Requires mongodb service to run first [Service] WorkingDirectory=/opt/iiab/sugarizer-server/ diff --git a/vars/default_vars.yml b/vars/default_vars.yml index fa6082e0d..8ef3ff878 100644 --- a/vars/default_vars.yml +++ b/vars/default_vars.yml @@ -446,10 +446,16 @@ moodle_enabled: False # MongoDB (/library/dbdata/mongodb) is used by Sugarizer: # The mongodb playbook itself is later invoked by roles/sugarizer/meta/main.yml -# 2019-07-08: mongodb_install is completely ignored. FYI mongodb_enabled: False -# works but is ineffective, as Sugarizer starts mongodb's systemd svc on its own -mongodb_install: False +# 2019-07-08: mongodb_install is completely ignored as it is installed on demand as a dependency. +# 2020-01-23 set to True for installed: True test +mongodb_install: True + +# FYI mongodb_enabled: False works but is ineffective but is required by mongodb/tasks/enable.yml +# to shutdown the service and log status but that is misleading as Sugarizer starts mongodb's systemd +# svc on its own due to requires=mongodb.service within sugarizer.service file mongodb_enabled: False + +# port assignment mongodb_port: 27018 # Regional OSM vector maps use far less disk space than bitmap/raster versions.