1
0
Fork 0
mirror of https://github.com/iiab/iiab.git synced 2025-02-15 04:32:11 +00:00

Merge pull request #80 from iiab/master

sync from iiab/iiab
This commit is contained in:
A Holt 2018-05-10 12:07:52 -04:00 committed by GitHub
commit bded9a8fa2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 76 additions and 53 deletions

View file

@ -3,3 +3,5 @@
[defaults]
squash_actions = apk, apt, dnf, homebrew, openbsd_pkg, pacman, pkgng, yum, zypper, package
remote_tmp = $HOME/.ansible/tmp
local_tmp = $HOME/.ansible/tmp

View file

@ -1,69 +1,90 @@
- name: Install ejabberd packages
package: name={{ item }}
state=present
package:
name: "{{ item }}"
state: present
with_items:
- ejabberd
tags:
- download
- name: Configure ejabberd
template: backup=yes
src={{ item.src }}
dest={{ item.dest }}
owner=root
group=root
mode={{ item.mode }}
with_items:
- { src: 'ejabberd-iiab.cfg.j2', dest: '/etc/ejabberd/ejabberd-iiab.cfg' , mode: '0644' }
- { src: 'ejabberdctl.cfg.j2', dest: '/etc/ejabberd/ejabberdctl-iiab.cfg', mode: '0644' }
- { src: 'ejabberd-iiab', dest: '/etc/sysconfig/ejabberd-iiab', mode: '0755' }
# - { src: 'ejabberd-domain-config', dest: '/etc/sysconfig/olpc-scripts/domain_config.d/ejabberd', mode: '0755'}
# - { src: 'ejabberd', dest: '/etc/sysconfig/olpc-scripts/domain_config.d/ejabberd' , mode: '0755' }
- { src: 'ejabberd-iiab.service.j2', dest: '/etc/systemd/system/ejabberd-iiab.service', mode: '0755' }
- { src: 'iiab-ejabberd-srg', dest: '/usr/bin/iiab-ejabberd-srg' , mode: '0755' }
# - { src: '10-ejabberdmoodle', dest: '/etc/sudoers.d/10-ejabberdmoodle', mode: '0440' }
- { src: 'ejabberd.tmpfiles', dest: '/etc/tmpfiles.d/ejabberd.conf', mode: '0640' }
register: ejabberd_config
#- name: Configure ejabberd
# template:
# backup: yes
# src: "{{ item.src }}"
# dest: "{{ item.dest }}"
# owner: root
# group: root
# mode: "{{ item.mode }}"
# with_items:
# - { src: 'ejabberd-iiab.cfg.j2', dest: '/etc/ejabberd/ejabberd-iiab.cfg' , mode: '0644' }
# - { src: 'ejabberdctl.cfg.j2', dest: '/etc/ejabberd/ejabberdctl-iiab.cfg', mode: '0644' }
# - { src: 'ejabberd-iiab', dest: '/etc/sysconfig/ejabberd-iiab', mode: '0755' }
# #- { src: 'ejabberd-domain-config', dest: '/etc/sysconfig/olpc-scripts/domain_config.d/ejabberd', mode: '0755'}
# #- { src: 'ejabberd', dest: '/etc/sysconfig/olpc-scripts/domain_config.d/ejabberd' , mode: '0755' }
# - { src: 'ejabberd-iiab.service.j2', dest: '/etc/systemd/system/ejabberd-iiab.service', mode: '0644' }
# - { src: 'iiab-ejabberd-srg', dest: '/usr/bin/iiab-ejabberd-srg' , mode: '0755' }
# #- { src: '10-ejabberdmoodle', dest: '/etc/sudoers.d/10-ejabberdmoodle', mode: '0440' }
# - { src: 'ejabberd.tmpfiles', dest: '/etc/tmpfiles.d/ejabberd.conf', mode: '0640' }
# register: ejabberd_config
- name: Stop and disable OS provided systemd ejabberd service
service: name=ejabberd
state=stopped
enabled=no
#- name: Stop and disable OS provided systemd ejabberd service
# service:
# name: ejabberd
# state: stopped
# enabled: no
- name: Put the startup script in place - debian
template: src='ejabberd-iiab.init'
dest='/etc/init.d/ejabberd-iiab'
when: is_debuntu
#- name: Put the startup script in place - debian
# template:
# src: ejabberd-iiab.init
# dest: /etc/init.d/ejabberd-iiab
# mode: 0755
# when: is_debuntu
- name: Put the startup script in place - non debian
template: src='ejabberd-iiab.init'
dest='/usr/libexec/ejabberd-iiab'
when: not is_debuntu
#- name: Put the startup script in place - non debian
# template:
# src: ejabberd-iiab.init
# dest: /usr/libexec/ejabberd-iiab
# mode: 0755
# when: not is_debuntu
- name: Remove ejabberd_domain if domain changes
file: path=/etc/sysconfig/ejabberd_domain_name
state=absent
when: ejabberd_config.changed
#- name: Remove ejabberd_domain if domain changes
# file:
# path: /etc/sysconfig/ejabberd_domain_name
# state: absent
# when: ejabberd_config.changed
- name: Enable ejabberd service
file: src=/etc/systemd/system/ejabberd-iiab.service
dest=/etc/systemd/system/multi-user.target.wants/ejabberd-iiab.service
owner=root
group=root
state=link
#- name: Enable ejabberd service
# file:
# src: /etc/systemd/system/ejabberd-iiab.service
# dest: /etc/systemd/system/multi-user.target.wants/ejabberd-iiab.service
# owner: root
# group: root
# state: link
- name: Stop ejabberd service
service:
name: ejabberd
#name: ejabberd-iiab
state: stopped
enabled: no
when: not ejabberd_enabled
- name: Start ejabberd service
service: name=ejabberd-iiab
state=restarted
enabled=yes
when: ejabberd_config.changed and ejabberd_enabled
service:
name: ejabberd
#name: ejabberd-iiab
state: restarted
enabled: yes
when: ejabberd_enabled
#when: ejabberd_config.changed and ejabberd_enabled
- name: Wait for ejabberd service start
wait_for: port=5280
delay=15
state=started
timeout=300
when: ejabberd_config.changed and ejabberd_enabled
#- name: Wait for ejabberd service start
# wait_for:
# port: 5280
# delay: 15
# state: started
# timeout: 300
# when: ejabberd_config.changed and ejabberd_enabled
# ejabberd-iiab.init has the logic for the below, needs to be done once
# and only if the group does not exist based on presence of

View file

@ -11,7 +11,7 @@
# Provides: ejabberd
# Required-Start: network
# Required-Stop: network
# Default-Start:
# Default-Start: 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start and stop ejabberd
# Description: A distributed, fault-tolerant Jabber/XMPP server