diff options
author | Stefan Joosten <stefan@sjoosten.nl> | 2016-08-20 11:46:16 +0200 |
---|---|---|
committer | Stefan Joosten <stefan@sjoosten.nl> | 2016-08-20 11:46:16 +0200 |
commit | b01f723a6a106df203317d4c5ac4f8342302dc15 (patch) | |
tree | c2f5c778380b164f6d5782034c6aeae1684124d1 | |
parent | fd2c9d5e351319e433838fe81b44b09af754555b (diff) | |
download | ansible-teamspeak-b01f723a6a106df203317d4c5ac4f8342302dc15.tar.gz ansible-teamspeak-b01f723a6a106df203317d4c5ac4f8342302dc15.tar.xz ansible-teamspeak-b01f723a6a106df203317d4c5ac4f8342302dc15.zip |
Improve updater mechanism.
Changes:
1. Detect if there is a systemd service unit, otherwise skip it.
2. Make sure ownership of the TeamSpeak 3 server directory gets set on upgrades.
3. Expand README
-rw-r--r-- | README.md | 6 | ||||
-rw-r--r-- | tasks/ts3update.yml | 18 |
2 files changed, 23 insertions, 1 deletions
@@ -6,7 +6,11 @@ Inspired by [dharmab/ansible-playbooks/roles/teamspeak](https://github.com/dharm TeamSpeak 3 servers installed with this role can also be updated to newer versions with this role. By incrementing the TeamSpeak 3 version number, and assigning the appropriate SHA256 checksum string, this role will copy your currently installed TeamSpeak 3 server and update it to the new version. -Note: this feature has been tested, but is still fairly new. + +The upgrade mechanism can also be used for restoring TeamSpeak 3 servers from a backup. +1. Extract your old Teamspeak 3 server files to a directory called `{teamspeak.home}/oldts/teamspeak3-server_linux_amd64/`. +2. Create the `current` symlink in `{teamspeak.home}` to point to `oldts`. For example: `cd /opt/teamspeak && ln -s oldts current` +3. Now run this Ansible role and the updater mechanism should find it and use it. Requirements ------------ diff --git a/tasks/ts3update.yml b/tasks/ts3update.yml index e96dead..d5ee363 100644 --- a/tasks/ts3update.yml +++ b/tasks/ts3update.yml @@ -1,10 +1,18 @@ --- # tasks file for teamspeak +- name: Check if a TeamSpeak 3 systemd service unit exists + stat: + path: "{{ systemd_service_file_path }}/teamspeak3-server.service" + register: ts3_systemd_service + tags: + - teamspeak + - name: Stop currently running TeamSpeak 3 server instance service: name: teamspeak3-server state: stopped + when: ts3_systemd_service.stat.exists tags: - teamspeak @@ -17,3 +25,13 @@ - Prune older TeamSpeak 3 server versions tags: - teamspeak + +- name: Make sure ownership is set to {{ teamspeak.user }} + file: + path: "{{ teamspeak.home }}/teamspeak3-server_linux_amd64-{{ teamspeak.version }}/teamspeak3-server_linux_amd64/" + state: directory + owner: "{{ teamspeak.user }}" + group: "{{ teamspeak.user }}" + recurse: yes + tags: + - teamspeak |