From 48b905207582d60a4d45775122591d7f19c21c18 Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 11 Jul 2018 19:00:56 -0400 Subject: [PATCH] Incorporate changes learned from #798 & #814 --- roles/sugarizer/tasks/main.yml | 89 +++++++++++++++++++--------------- 1 file changed, 50 insertions(+), 39 deletions(-) diff --git a/roles/sugarizer/tasks/main.yml b/roles/sugarizer/tasks/main.yml index 9e7c6dde2..ea7061fd5 100644 --- a/roles/sugarizer/tasks/main.yml +++ b/roles/sugarizer/tasks/main.yml @@ -1,15 +1,15 @@ -- name: Wipe any previous sugarizer installation +- name: Wipe /library/www/html/sugarizer* if sugarizer-1.0 shell: "rm -rf {{ doc_root }}/sugarizer*" when: sugarizer_version == "sugarizer-1.0" -- name: Download latest stable Sugarizer from location we control +- name: D/L latest stable Sugarizer from location we control to /opt/iiab/downloads/ get_url: url: "{{ iiab_download_url }}/{{ sugarizer_version }}.tar.gz" dest: "{{ downloads_dir }}/{{ sugarizer_version }}.tar.gz" timeout: "{{ download_timeout }}" when: internet_available -- name: Untar to {{ sugarizer_version }} +- name: Untar to /opt/iiab/{{ sugarizer_version }} unarchive: src: "{{ downloads_dir }}/{{ sugarizer_version }}.tar.gz" dest: "{{ sugarizer_location }}" @@ -17,47 +17,66 @@ # 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 /{{ 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 +- name: Create symbolic link /opt/iiab/sugarizer -> /opt/iiab/{{ sugarizer_version }} 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" +# Not working in July 2018, so "git clone" instead (2 steps that follow) +#- 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 /opt/iiab/{{ sugarizer_server_version }} +# unarchive: +# src: "{{ downloads_dir }}/{{ sugarizer_server_version }}.tar.gz" +# dest: "{{ sugarizer_location }}" +# creates: "{{ sugarizer_location }}/{{ sugarizer_server_version }}/index.html" + +# CLONING SUGARIZER'S MASTER IN NOT A LONG-TERM SOLUTION, BUT +# UNCOMMENTING "version:" LINE BELOW CAN BRING STABILITY IN FUTURE +- name: Clone llaske/sugarizer-server from GitHub to /opt/iiab + git: + repo: http://github.com/llaske/sugarizer-server dest: "{{ sugarizer_location }}" - creates: "{{ sugarizer_location }}/{{ sugarizer_server_version }}/index.html" -- name: Create symbolic link /library/www/html/sugarizer +# version: "{{ sugarizer_server_version }}" + +- name: Move /opt/iiab/sugarizer-server to /opt/iiab/{{ sugarizer_server_version }} + move: + src: "{{ sugarizer_location }}/sugarizer-server" + dest: "{{ sugarizer_location }}/{{ sugarizer_server_version }}" + +- name: Create symbolic link /opt/iiab/sugarizer-server -> /opt/iiab/{ sugarizer_server_version }} 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 - +- name: Set up Node.js 8.x apt sources (debuntu but avoid ubuntu-18) + shell: curl -sL https://deb.nodesource.com/setup_8.x | bash - when: internet_available and is_debuntu and not is_ubuntu_18 - name: Install latest Node.js which includes /usr/bin/npm (debuntu) package: name: nodejs + # name: nodejs=8.x state: latest -# package: name=nodejs=6.* -# state=present + # state: present when: internet_available and is_debuntu and not is_ubuntu_18 +- name: Install Node.js and npm (ubuntu-18) + package: + name: "{{ item }}" + state: latest + when: internet_available and is_ubuntu_18 + with_items: + - nodejs + - npm + - name: Install npm (OS's other than debuntu) package: name: "{{ item }}" @@ -67,15 +86,6 @@ - nodejs - npm -- name: Install npm (ubuntu-18) - package: - name: "{{ item }}" - state: latest - when: internet_available and is_ubuntu_18 - with_items: - - npm - - nodejs - # attempting to reinstall npm is broken on Raspbian 9 - name: Check for Sugarizer already installed stat: @@ -96,11 +106,11 @@ owner: root group: root with_items: - - { 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: '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' } -- name: Create the symlink enabling the rewrite +- name: Create symlink enabling short URL http://box/sugarizer file: src: /etc/apache2/sites-available/sugarizer.conf dest: /etc/apache2/sites-enabled/sugarizer.conf @@ -110,7 +120,8 @@ shell: npm install args: chdir: "{{ sugarizer_location }}/{{ sugarizer_server_version }}" - creates: "{{ sugarizer_location }}/{{ sugarizer_server_version }}/server/node_modules" + creates: "{{ sugarizer_location }}/{{ sugarizer_server_version }}/node-modules" + #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)