From 6d75d8265b0b315dee06eb262c730f273c456172 Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Sat, 10 Aug 2019 01:57:34 -0500 Subject: [PATCH 01/16] skip yarn add if installed, but allow yarn upgrade if set in local_vars --- roles/internetarchive/defaults/main.yml | 1 + roles/internetarchive/tasks/main.yml | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/roles/internetarchive/defaults/main.yml b/roles/internetarchive/defaults/main.yml index c2b445d53..ee70948ef 100644 --- a/roles/internetarchive/defaults/main.yml +++ b/roles/internetarchive/defaults/main.yml @@ -7,3 +7,4 @@ # If nec, change them by editing /etc/iiab/local_vars.yml prior to installing! internetarchive_dir: '{{ iiab_base }}/internetarchive' +IA_upgrade: False diff --git a/roles/internetarchive/tasks/main.yml b/roles/internetarchive/tasks/main.yml index fd0f196d5..9fe914fef 100644 --- a/roles/internetarchive/tasks/main.yml +++ b/roles/internetarchive/tasks/main.yml @@ -22,7 +22,9 @@ command: sudo yarn add @internetarchive/dweb-archive @internetarchive/dweb-mirror args: chdir: "{{ internetarchive_dir }}" + creates: "{{ internetarchive_dir }}/node_modules/@internetarchive/dweb-mirror/internetarchive" when: internet_available | bool + register: IA_installing - name: Create directory /library/archiveorg file: @@ -30,6 +32,12 @@ state: directory owner: "root" +- name: Update pre-existing install + command: sudo yarn upgrade + args: + chdir: "{{ internetarchive_dir }}" + when: not IA_installing.changed and IA_upgrade + # CONFIG FILES From 1f3ff2667403b9a35cfd5ac40f17278f167bc990 Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Sat, 10 Aug 2019 15:38:14 -0500 Subject: [PATCH 02/16] move symlink creation --- roles/0-init/tasks/first_run.yml | 6 ++++++ roles/0-init/tasks/main.yml | 7 ------- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/roles/0-init/tasks/first_run.yml b/roles/0-init/tasks/first_run.yml index 332da85b7..666103396 100644 --- a/roles/0-init/tasks/first_run.yml +++ b/roles/0-init/tasks/first_run.yml @@ -1,2 +1,8 @@ +- name: Create symlink /usr/bin/iiab-diagnostics + file: + src: "{{ iiab_dir }}/scripts/iiab-diagnostics" + dest: /usr/bin/iiab-diagnostics + state: link + - name: Create {{ iiab_ini_file }} include_tasks: iiab_ini.yml diff --git a/roles/0-init/tasks/main.yml b/roles/0-init/tasks/main.yml index 5a40bb39d..24b26066c 100644 --- a/roles/0-init/tasks/main.yml +++ b/roles/0-init/tasks/main.yml @@ -1,11 +1,4 @@ # Initialize - -- name: Create symlink /usr/bin/iiab-diagnostics - file: - src: "{{ iiab_dir }}/scripts/iiab-diagnostics" - dest: /usr/bin/iiab-diagnostics - state: link - - name: ...IS BEGINNING ============================================ stat: path: "{{ iiab_env_file }}" From daf23626110028f07fdd64d88691b10f71e12fa9 Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Sat, 10 Aug 2019 15:42:19 -0500 Subject: [PATCH 03/16] cleanup --- roles/0-init/tasks/main.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/roles/0-init/tasks/main.yml b/roles/0-init/tasks/main.yml index 24b26066c..b6e4ac735 100644 --- a/roles/0-init/tasks/main.yml +++ b/roles/0-init/tasks/main.yml @@ -11,12 +11,10 @@ # We need to inialize the ini file and only write the location and version # sections once and only once to preserve the install date and git hash. -- name: Create IIAB directory structure and {{ iiab_ini_file }}, if first_run +- name: Create IIAB tools and {{ iiab_ini_file }}, if first_run include_tasks: first_run.yml when: first_run | bool -#- name: Loading computed_vars -# include_tasks: roles/0-init/tasks/computed_vars.yml - name: Re-read local_facts.facts from /etc/ansible/facts.d setup: filter: ansible_local From ded9c3a249f86f54d06e4ccbfe3091538000d44d Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 10 Aug 2019 11:18:08 -0400 Subject: [PATCH 04/16] IA_upgrade -> internetarchive_upgrade per pattern --- roles/internetarchive/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/internetarchive/defaults/main.yml b/roles/internetarchive/defaults/main.yml index ee70948ef..d26f839bf 100644 --- a/roles/internetarchive/defaults/main.yml +++ b/roles/internetarchive/defaults/main.yml @@ -7,4 +7,4 @@ # If nec, change them by editing /etc/iiab/local_vars.yml prior to installing! internetarchive_dir: '{{ iiab_base }}/internetarchive' -IA_upgrade: False +internetarchive_upgrade: False From 2b69d6b9a4be319bf305bef67492a29d96cd6052 Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 10 Aug 2019 11:20:28 -0400 Subject: [PATCH 05/16] IA_vars -> internetarchive_vars per pattern --- roles/internetarchive/tasks/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/roles/internetarchive/tasks/main.yml b/roles/internetarchive/tasks/main.yml index 9fe914fef..316d8a6ff 100644 --- a/roles/internetarchive/tasks/main.yml +++ b/roles/internetarchive/tasks/main.yml @@ -24,7 +24,7 @@ chdir: "{{ internetarchive_dir }}" creates: "{{ internetarchive_dir }}/node_modules/@internetarchive/dweb-mirror/internetarchive" when: internet_available | bool - register: IA_installing + register: internetarchive_installing - name: Create directory /library/archiveorg file: @@ -32,11 +32,11 @@ state: directory owner: "root" -- name: Update pre-existing install +- name: 'Update pre-existing install: sudo yarn upgrade' command: sudo yarn upgrade args: chdir: "{{ internetarchive_dir }}" - when: not IA_installing.changed and IA_upgrade + when: not internetarchive_installing.changed and internetarchive_upgrade # CONFIG FILES From 0d067970d46e62030fca37614d0b34b58bab7a03 Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Sat, 10 Aug 2019 15:51:29 -0500 Subject: [PATCH 06/16] pass reinstall ansible --- iiab-install | 1 + 1 file changed, 1 insertion(+) diff --git a/iiab-install b/iiab-install index 7d5f71c35..adbbf69b7 100755 --- a/iiab-install +++ b/iiab-install @@ -124,6 +124,7 @@ if [ -f /etc/iiab/iiab.env ]; then echo "Removed /etc/iiab/iiab.env effectively resetting STAGE (counter)." elif [ "$1" == "--reinstall" ]; then STAGE=0 + ARGS="$ARGS --extra-vars reinstall=True" sed -i 's/^STAGE=.*/STAGE=0/' /etc/iiab/iiab.env echo "Wrote STAGE=0 (counter) to /etc/iiab/iiab.env" elif [ "$STAGE" -ge 2 ] && [ "$1" == "--debug" ]; then From 787288405dd33f9e00946d8e8cda6a28383dc5da Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Sat, 10 Aug 2019 15:52:27 -0500 Subject: [PATCH 07/16] passed reinstall to ansible --- roles/internetarchive/tasks/main.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/roles/internetarchive/tasks/main.yml b/roles/internetarchive/tasks/main.yml index 316d8a6ff..3643424bb 100644 --- a/roles/internetarchive/tasks/main.yml +++ b/roles/internetarchive/tasks/main.yml @@ -32,6 +32,11 @@ state: directory owner: "root" +- name: Set --reinstall fact + set_fact: + internetarchive_upgrade: True + when: reinstall is defined + - name: 'Update pre-existing install: sudo yarn upgrade' command: sudo yarn upgrade args: From 6db2df873e8384329819354def632df2f78527df Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Sat, 10 Aug 2019 15:53:56 -0500 Subject: [PATCH 08/16] runrole can take --reinstall as second arguement --- runrole | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/runrole b/runrole index 4d060c719..6d076b1be 100755 --- a/runrole +++ b/runrole @@ -2,8 +2,9 @@ INVENTORY="ansible_hosts" PLAYBOOK="run-one-role.yml" -#PLAYBOOK="iiab-stages.yml" +ARGS="" CWD=`pwd` + if [ $# -eq 2 ]; then export ANSIBLE_LOG_PATH="$2" else @@ -22,10 +23,14 @@ if [ ! -f /etc/iiab/config_vars.yml ]; then echo "{}" > /etc/iiab/config_vars.yml fi +if [ "$2" == "--reinstall" ]; then + ARGS="$ARGS --extra-vars reinstall=True" +fi + if [[ $# -eq 0 ]] ; then echo " usage: ./runrole " echo " Can only take a single value." exit 0 fi -ansible-playbook -i $INVENTORY $PLAYBOOK --connection=local -e "role_to_run=$1" +ansible-playbook -i $INVENTORY $PLAYBOOK ${ARGS} --connection=local -e "role_to_run=$1" From 3f61470543f40e13bc2c80bdc60487aa591c27fa Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Sat, 10 Aug 2019 16:22:35 -0500 Subject: [PATCH 09/16] always stop the service before upgrading/restart --- roles/internetarchive/tasks/main.yml | 34 ++++++++++++++++------------ 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/roles/internetarchive/tasks/main.yml b/roles/internetarchive/tasks/main.yml index 3643424bb..2f2f003d5 100644 --- a/roles/internetarchive/tasks/main.yml +++ b/roles/internetarchive/tasks/main.yml @@ -37,12 +37,6 @@ internetarchive_upgrade: True when: reinstall is defined -- name: 'Update pre-existing install: sudo yarn upgrade' - command: sudo yarn upgrade - args: - chdir: "{{ internetarchive_dir }}" - when: not internetarchive_installing.changed and internetarchive_upgrade - # CONFIG FILES @@ -71,7 +65,25 @@ when: is_debuntu and not internetarchive_enabled -# RESTART/STOP SYSTEMD SERVICE +# STOP SYSTEMD SERVICE +- name: Stop 'internetarchive' systemd service + systemd: + name: internetarchive + daemon_reload: yes + state: stopped + +- name: 'Update pre-existing install: sudo yarn upgrade' + command: sudo yarn upgrade + args: + chdir: "{{ internetarchive_dir }}" + when: not internetarchive_installing.changed and internetarchive_upgrade + + # RESTART/ENABLE SYSTEMD SERVICE +- name: Disable 'internetarchive' systemd service (if not internetarchive_enabled) + systemd: + name: internetarchive + enabled: no + when: not internetarchive_enabled # with "systemctl daemon-reload" in case mongodb.service changed, etc - name: Enable & Restart 'internetarchive' systemd service (if internetarchive_enabled) @@ -82,14 +94,6 @@ state: restarted when: internetarchive_enabled | bool -- name: Disable & Stop 'internetarchive' systemd service (if not internetarchive_enabled) - systemd: - name: internetarchive - daemon_reload: yes - enabled: no - state: stopped - when: not internetarchive_enabled - - name: Restart Apache service ({{ apache_service }}) to enable/disable http://box/archive (not just http://box:{{ internetarchive_port }}) systemd: name: "{{ apache_service }}" # httpd or apache2 From aba27836bb7467b895a02dce3897f543808d1c43 Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Sat, 10 Aug 2019 16:34:29 -0500 Subject: [PATCH 10/16] custom log becomes third arguement --- runrole | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/runrole b/runrole index 6d076b1be..ac8629317 100755 --- a/runrole +++ b/runrole @@ -5,8 +5,8 @@ PLAYBOOK="run-one-role.yml" ARGS="" CWD=`pwd` -if [ $# -eq 2 ]; then - export ANSIBLE_LOG_PATH="$2" +if [ $# -eq 3 ]; then + export ANSIBLE_LOG_PATH="$3" else export ANSIBLE_LOG_PATH="$CWD/iiab-debug.log" fi From 001e00eb26246eba8eb8669bae101f9414301738 Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Sat, 10 Aug 2019 16:38:44 -0500 Subject: [PATCH 11/16] latest will update cache --- roles/yarn/tasks/main.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/roles/yarn/tasks/main.yml b/roles/yarn/tasks/main.yml index 170ef42ce..6edadeab0 100644 --- a/roles/yarn/tasks/main.yml +++ b/roles/yarn/tasks/main.yml @@ -17,10 +17,6 @@ line: 'deb http://dl.yarnpkg.com/debian/ stable main' state: present -- name: "Yarn | Update APT cache" - apt: - update_cache: yes - - name: "Yarn | Install" package: name: yarn From b07b25789ba9a6a504a85bc286dcb39220e8554c Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Sat, 10 Aug 2019 17:01:38 -0500 Subject: [PATCH 12/16] use become --- roles/internetarchive/tasks/main.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/roles/internetarchive/tasks/main.yml b/roles/internetarchive/tasks/main.yml index 2f2f003d5..13ea826c7 100644 --- a/roles/internetarchive/tasks/main.yml +++ b/roles/internetarchive/tasks/main.yml @@ -73,7 +73,10 @@ state: stopped - name: 'Update pre-existing install: sudo yarn upgrade' - command: sudo yarn upgrade + command: yarn upgrade + become: yes + become_method: sudo + become_user: root args: chdir: "{{ internetarchive_dir }}" when: not internetarchive_installing.changed and internetarchive_upgrade From 94261c5bf1d4da672942c10a463599b7a91f4e03 Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Sat, 10 Aug 2019 17:27:39 -0500 Subject: [PATCH 13/16] use shift to filter --reinstall --- runrole | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/runrole b/runrole index ac8629317..8a8d72986 100755 --- a/runrole +++ b/runrole @@ -4,9 +4,13 @@ INVENTORY="ansible_hosts" PLAYBOOK="run-one-role.yml" ARGS="" CWD=`pwd` +if [ "$1" == "--reinstall" ]; then + ARGS="$ARGS --extra-vars reinstall=True" + shift 1 +fi -if [ $# -eq 3 ]; then - export ANSIBLE_LOG_PATH="$3" +if [ $# -eq 2 ]; then + export ANSIBLE_LOG_PATH="$2" else export ANSIBLE_LOG_PATH="$CWD/iiab-debug.log" fi @@ -23,10 +27,6 @@ if [ ! -f /etc/iiab/config_vars.yml ]; then echo "{}" > /etc/iiab/config_vars.yml fi -if [ "$2" == "--reinstall" ]; then - ARGS="$ARGS --extra-vars reinstall=True" -fi - if [[ $# -eq 0 ]] ; then echo " usage: ./runrole " echo " Can only take a single value." From 8402496acdcc1aacd7d520678c461b0a7c4e0574 Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Sun, 11 Aug 2019 03:57:34 -0500 Subject: [PATCH 14/16] use become in place of raw sudo to suppress warning --- roles/internetarchive/tasks/main.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/roles/internetarchive/tasks/main.yml b/roles/internetarchive/tasks/main.yml index 13ea826c7..863e0a5fb 100644 --- a/roles/internetarchive/tasks/main.yml +++ b/roles/internetarchive/tasks/main.yml @@ -19,7 +19,10 @@ owner: "root" - name: Run yarn install to get needed modules (CAN TAKE ~15 MINUTES) - command: sudo yarn add @internetarchive/dweb-archive @internetarchive/dweb-mirror + command: yarn add @internetarchive/dweb-archive @internetarchive/dweb-mirror + become: yes + become_method: sudo + become_user: root args: chdir: "{{ internetarchive_dir }}" creates: "{{ internetarchive_dir }}/node_modules/@internetarchive/dweb-mirror/internetarchive" From 8768509ff3ef49b38a34c30f8e37b45358f95c9d Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Mon, 12 Aug 2019 02:43:44 -0500 Subject: [PATCH 15/16] why are call sudo when we are sudo'd already. --- roles/internetarchive/tasks/main.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/roles/internetarchive/tasks/main.yml b/roles/internetarchive/tasks/main.yml index 863e0a5fb..013b72ad3 100644 --- a/roles/internetarchive/tasks/main.yml +++ b/roles/internetarchive/tasks/main.yml @@ -20,9 +20,6 @@ - name: Run yarn install to get needed modules (CAN TAKE ~15 MINUTES) command: yarn add @internetarchive/dweb-archive @internetarchive/dweb-mirror - become: yes - become_method: sudo - become_user: root args: chdir: "{{ internetarchive_dir }}" creates: "{{ internetarchive_dir }}/node_modules/@internetarchive/dweb-mirror/internetarchive" @@ -77,9 +74,6 @@ - name: 'Update pre-existing install: sudo yarn upgrade' command: yarn upgrade - become: yes - become_method: sudo - become_user: root args: chdir: "{{ internetarchive_dir }}" when: not internetarchive_installing.changed and internetarchive_upgrade From c501d5897c2a417f74b3bbc1b600b27d032e5fdf Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Tue, 13 Aug 2019 13:28:29 -0500 Subject: [PATCH 16/16] why are call sudo when we are sudo'd already.2 --- roles/internetarchive/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/internetarchive/tasks/main.yml b/roles/internetarchive/tasks/main.yml index 013b72ad3..e6721de9f 100644 --- a/roles/internetarchive/tasks/main.yml +++ b/roles/internetarchive/tasks/main.yml @@ -72,7 +72,7 @@ daemon_reload: yes state: stopped -- name: 'Update pre-existing install: sudo yarn upgrade' +- name: 'Update pre-existing install: yarn upgrade' command: yarn upgrade args: chdir: "{{ internetarchive_dir }}"