summaryrefslogtreecommitdiffstats
path: root/deploy/adapters/ansible/roles/monitor
diff options
context:
space:
mode:
authorbaigk <baiguoku@huawei.com>2015-09-12 13:55:40 +0800
committerbaigk <baiguoku@huawei.com>2015-09-12 16:28:25 +0800
commit6fec88cd73e388a14dcfdad812781667e5f9a668 (patch)
treefbe8e182526c29a83e1f9f5d97d0ac265191433e /deploy/adapters/ansible/roles/monitor
parent6ec9d66787b01e710de5514f377830a94e32a4d2 (diff)
bug fix:support centos 7.1 deployment
JIRA: COMPASS-46 Change-Id: I4003c843b34509d44b45d0235fdf66d9114ff8d5 Signed-off-by: baigk <baiguoku@huawei.com>
Diffstat (limited to 'deploy/adapters/ansible/roles/monitor')
-rw-r--r--deploy/adapters/ansible/roles/monitor/files/check_Debian_service.sh7
-rw-r--r--deploy/adapters/ansible/roles/monitor/files/check_RedHat_service.sh8
-rw-r--r--deploy/adapters/ansible/roles/monitor/tasks/main.yml8
-rw-r--r--deploy/adapters/ansible/roles/monitor/vars/Debian.yml4
-rw-r--r--deploy/adapters/ansible/roles/monitor/vars/RedHat.yml3
5 files changed, 27 insertions, 3 deletions
diff --git a/deploy/adapters/ansible/roles/monitor/files/check_Debian_service.sh b/deploy/adapters/ansible/roles/monitor/files/check_Debian_service.sh
new file mode 100644
index 00000000..0138100c
--- /dev/null
+++ b/deploy/adapters/ansible/roles/monitor/files/check_Debian_service.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+services=`cat /opt/service | uniq`
+for service in $services; do
+ if [ `/sbin/initctl list|awk '/stop\/waiting/{print $1}'|uniq | grep $service` ]; then
+ /sbin/start $service
+ fi
+done
diff --git a/deploy/adapters/ansible/roles/monitor/files/check_RedHat_service.sh b/deploy/adapters/ansible/roles/monitor/files/check_RedHat_service.sh
new file mode 100644
index 00000000..0fd921f4
--- /dev/null
+++ b/deploy/adapters/ansible/roles/monitor/files/check_RedHat_service.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+services=`cat /opt/service | uniq`
+for service in $services; do
+ /usr/sbin/service $service status >/dev/null 2>&1
+ if [[ $? -ne 0 ]]; then
+ /usr/sbin/service $service start
+ fi
+done
diff --git a/deploy/adapters/ansible/roles/monitor/tasks/main.yml b/deploy/adapters/ansible/roles/monitor/tasks/main.yml
index e5b93f39..6e446944 100644
--- a/deploy/adapters/ansible/roles/monitor/tasks/main.yml
+++ b/deploy/adapters/ansible/roles/monitor/tasks/main.yml
@@ -1,11 +1,13 @@
---
+- include_vars: "{{ ansible_os_family }}.yml"
+
- name: copy service check file
- copy: src=check_service.sh dest=/usr/local/bin/check_service.sh mode=0777
+ copy: src=check_{{ ansible_os_family }}_service.sh dest=/usr/local/bin/check_service.sh mode=0777
- name: copy cron file
- copy: src=root dest=/var/spool/cron/crontabs/root mode=0600
+ copy: src=root dest={{ cron_path }}/root mode=0600
- name: restart cron
- service: name=cron state=restarted
+ service: name={{ cron }} state=restarted
diff --git a/deploy/adapters/ansible/roles/monitor/vars/Debian.yml b/deploy/adapters/ansible/roles/monitor/vars/Debian.yml
new file mode 100644
index 00000000..7de590c9
--- /dev/null
+++ b/deploy/adapters/ansible/roles/monitor/vars/Debian.yml
@@ -0,0 +1,4 @@
+---
+cron: cron
+cron_path: "/var/spool/cron/crontabs"
+
diff --git a/deploy/adapters/ansible/roles/monitor/vars/RedHat.yml b/deploy/adapters/ansible/roles/monitor/vars/RedHat.yml
new file mode 100644
index 00000000..f4ff7657
--- /dev/null
+++ b/deploy/adapters/ansible/roles/monitor/vars/RedHat.yml
@@ -0,0 +1,3 @@
+---
+cron: crond
+cron_path: "/var/spool/cron"