This is an automated email from the ASF dual-hosted git repository.
machristie pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata.git
The following commit(s) were added to refs/heads/develop by this push:
new c1fd82b AIRAVATA-2374 API-Orch systemd unit file
c1fd82b is described below
commit c1fd82bc09f9be2847d8601786854d036672fa80
Author: Marcus Christie <[email protected]>
AuthorDate: Fri Feb 1 14:07:33 2019 -0500
AIRAVATA-2374 API-Orch systemd unit file
---
dev-tools/ansible/roles/api-orch/defaults/main.yml | 2 ++
dev-tools/ansible/roles/api-orch/tasks/main.yml | 29 +++++++++++++---------
.../main.yml => templates/apiorch.service.j2} | 27 ++++++++++++--------
3 files changed, 35 insertions(+), 23 deletions(-)
diff --git a/dev-tools/ansible/roles/api-orch/defaults/main.yml
b/dev-tools/ansible/roles/api-orch/defaults/main.yml
index c73f4cb..5855377 100644
--- a/dev-tools/ansible/roles/api-orch/defaults/main.yml
+++ b/dev-tools/ansible/roles/api-orch/defaults/main.yml
@@ -42,3 +42,5 @@ profile_service_bind_host: "{{ ansible_default_ipv4.address
}}"
default_registry_user : "admin"
default_registry_password : "admin"
+
+api_orch_systemd_unit_file: "/etc/systemd/system/apiorch.service"
diff --git a/dev-tools/ansible/roles/api-orch/tasks/main.yml
b/dev-tools/ansible/roles/api-orch/tasks/main.yml
index 669c5ff..268ff61 100644
--- a/dev-tools/ansible/roles/api-orch/tasks/main.yml
+++ b/dev-tools/ansible/roles/api-orch/tasks/main.yml
@@ -29,11 +29,16 @@
stat: path="{{ api_orch_dir }}/{{ airavata_dist }}" get_md5=no
get_checksum=no
register: check
+- name: check if api-orch systemd unit file is installed
+ stat:
+ path: "{{ api_orch_systemd_unit_file }}"
+ register: systemd_unit_file
+
- name: stop api-orch
- command: ./bin/airavata-server-stop.sh -f
- chdir="{{ api_orch_dir }}/{{ airavata_dist }}/"
- removes="{{ api_orch_dir }}/{{ airavata_dist }}/bin/server_start_*"
- when: check.stat.exists == True
+ service: name=apiorch state=stopped
+ when: systemd_unit_file.stat.exists
+ become: yes
+ become_user: root
- name: Delete previous deployments
file: path="{{ api_orch_dir }}/{{ airavata_dist }}" state=absent
@@ -95,14 +100,14 @@
- "{{ sharing_registry_port }}/tcp"
become_user: root
-- name: stop api-orch
- command: ./bin/airavata-server-stop.sh -f
- chdir="{{ api_orch_dir }}/{{ airavata_dist }}/"
- removes="{{ api_orch_dir }}/{{ airavata_dist }}/bin/server_start_*"
+- name: Install api-orch systemd script
+ template: src=apiorch.service.j2
+ dest="{{ api_orch_systemd_unit_file }}"
+ become: yes
+ become_user: root
- name: start api-orch
- command: ./bin/airavata-server-start.sh api-orch -d -log "{{
api_orch_log_dir }}/output.log"
- chdir="{{ api_orch_dir }}/{{ airavata_dist }}/"
- creates="{{ api_orch_dir }}/{{ airavata_dist }}/bin/server_start_*"
-
+ service: name=apiorch state=started enabled=yes daemon_reload=yes
+ become: yes
+ become_user: root
...
diff --git a/dev-tools/ansible/roles/api-orch/handlers/main.yml
b/dev-tools/ansible/roles/api-orch/templates/apiorch.service.j2
similarity index 62%
rename from dev-tools/ansible/roles/api-orch/handlers/main.yml
rename to dev-tools/ansible/roles/api-orch/templates/apiorch.service.j2
index 4111c6f..d404079 100644
--- a/dev-tools/ansible/roles/api-orch/handlers/main.yml
+++ b/dev-tools/ansible/roles/api-orch/templates/apiorch.service.j2
@@ -18,17 +18,22 @@
# under the License.
#
----
+# {{ansible_managed}}
-# Api server, Orchestrator related handlers
-- name: start api-orch
- command: ./bin/airavata-server-start.sh api-orch -d
- chdir="{{ api_orch_dir }}/{{ airavata_dist }}/"
- creates="{{ api_orch_dir }}/{{ airavata_dist }}/bin/server_start_*"
+[Unit]
+Description=API-Orchestrator Service
+Before=
+After=network.target
+Wants=rabbitmq-server.service zookeeper.service mysql.service
-- name: stop api-orch
- command: ./bin/airavata-server-stop.sh -f
- chdir="{{ api_orch_dir }}/{{ airavata_dist }}/"
- removes="{{ api_orch_dir }}/{{ airavata_dist }}/bin/server_start_*"
-...
+[Service]
+Type=forking
+ExecStart={{ api_orch_dir }}/{{ airavata_dist }}/bin/airavata-server-start.sh
-d api-orch -log "{{ api_orch_log_dir }}/output.log"
+ExecStop={{ api_orch_dir }}/{{ airavata_dist }}/bin/airavata-server-stop.sh
+Restart=always
+TimeoutSec=300
+User={{ user }}
+
+[Install]
+WantedBy=multi-user.target