Commit 9bf4c8ff authored by Rafael Monnerat's avatar Rafael Monnerat

playbook: Fix auto-upgrader system.

parent daa70e60
--- ---
- file: path=/opt/upgrader state=directory mode=0755 - file: path=/opt/upgrader state=directory mode=0755
- stat: path=/opt/upgrader/playbook
register: playbook_folder
- stat: path=/opt/upgrader/last-upgrade - stat: path=/opt/upgrader/last-upgrade
register: last_upgrade register: last_upgrade
...@@ -9,9 +12,9 @@ ...@@ -9,9 +12,9 @@
- file: path=/opt/upgrader/ state=directory mode=0755 - file: path=/opt/upgrader/ state=directory mode=0755
- shell: rm -rf /opt/upgrader/playbook/ - shell: rm -rf /opt/upgrader/playbook-tmp
- shell: mkdir -p /opt/upgrader/playbook - shell: mkdir -p /opt/upgrader/playbook-tmp
- name: Periodically download the latest playbook - name: Periodically download the latest playbook
shell: slapcache-download --destination=/opt/upgrader/archive.tar.gz shell: slapcache-download --destination=/opt/upgrader/archive.tar.gz
...@@ -19,7 +22,10 @@ ...@@ -19,7 +22,10 @@
- name: Uncompress - name: Uncompress
shell: tar -xzvf /opt/upgrader/archive.tar.gz shell: tar -xzvf /opt/upgrader/archive.tar.gz
args: args:
chdir: /opt/upgrader/playbook/ chdir: /opt/upgrader/playbook-tmp
- shell: cp -R /opt/upgrader/playbook-tmp /opt/upgrader/playbook
when: playbook_folder.stat.exists == False
- name: Save new archive MD5 - name: Save new archive MD5
stat: path=/opt/upgrader/archive.tar.gz stat: path=/opt/upgrader/archive.tar.gz
...@@ -43,10 +49,10 @@ ...@@ -43,10 +49,10 @@
current_upgrade_signature current_upgrade_signature
- name: Do upgrade - name: Do upgrade
shell: ansible-playbook {{ upgrader_playbook }} -i hosts >> /opt/upgrader/latest_upgrade.log shell: ansible-playbook {{ upgrader_playbook }} -i hosts 2>>/opt/upgrader/latest_upgrade.log >> /opt/upgrader/latest_upgrade.log
when: (upgrade_after > lookup('file', '/opt/upgrader/last-upgrade')|int ) and (lookup('file', '/opt/upgrader/next-upgrade-signature') != lookup('file', '/opt/upgrader/current-upgrade-signature')) when: (upgrade_after > lookup('file', '/opt/upgrader/last-upgrade')|int ) and (lookup('file', '/opt/upgrader/next-upgrade-signature') != lookup('file', '/opt/upgrader/current-upgrade-signature'))
args: args:
chdir: /opt/upgrader/playbook/ chdir: /opt/upgrader/playbook-tmp/
- name: Upgrade Current Upgrade Signature - name: Upgrade Current Upgrade Signature
shell: cat /opt/upgrader/next-upgrade-signature > /opt/upgrader/current-upgrade-signature shell: cat /opt/upgrader/next-upgrade-signature > /opt/upgrader/current-upgrade-signature
...@@ -56,6 +62,8 @@ ...@@ -56,6 +62,8 @@
when: (upgrade_after > lookup('file', '/opt/upgrader/last-upgrade')|int ) and (lookup('file', '/opt/upgrader/next-upgrade-signature') != lookup('file', '/opt/upgrader/current-upgrade-signature')) when: (upgrade_after > lookup('file', '/opt/upgrader/last-upgrade')|int ) and (lookup('file', '/opt/upgrader/next-upgrade-signature') != lookup('file', '/opt/upgrader/current-upgrade-signature'))
- name: Set Cron - name: Set Cron
cron: name="Launch Upgrader" minute="0" hour="*/3" job='ansible-playbook upgrader-run.yml --with-vars "upgrader-playbook={{ upgrader_playbook }}" -i hosts >> /opt/upgrader/latest_upgrade.log' cron: name="Launch Upgrader with ansible" minute="0" hour="*/3" job='rm -rf /opt/upgrader/playbook && mv /opt/upgrader/playbook-tmp /opt/upgrader/playbook && cd /opt/upgrader/playbook && ansible-playbook upgrader-run.yml --extra-vars "upgrader_playbook={{ upgrader_playbook }}" -i hosts 2>>/opt/upgrader/latest_upgrade.log >> /opt/upgrader/latest_upgrade.log'
- cron: name="Launch Upgrader" state=absent
- include: remove-legacy.yml - include: remove-legacy.yml
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
vars_files: vars_files:
- settings/upgrader.yml - settings/upgrader.yml
roles: roles:
- upgrader - upgrader
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment