tasks/tarball.yml
---
- name: "determin if to use systemd or not (for centos 6 support)"
stat:
path: /etc/systemd
register: systemd
- debug: var=systemd.stat
- name: "set fact if systemd is avail"
set_fact:
amq_systemd: true
when: systemd.stat.exists
- name: "Add Activemq group"
group:
name: "{{ amq_group }}"
tags:
- init
- group
- name: "Add Activemq user"
user:
name: "{{ amq_user }}"
group: "{{ amq_group }}"
home: "{{ amq_home_dir }}"
comment: "ActiveMQ service account"
createhome: no
state: present
system: yes
tags:
- init
- user
- name: "Create requires directories [home/log etc etc]"
file:
path: "{{ item }}"
state: directory
mode: 0755
owner: "{{ amq_user }}"
group: "{{ amq_group }}"
with_items:
- "{{ amq_home_dir }}"
- "{{ amq_log_dir }}"
#- block:
# - name: "set amq_checksum fact"
# set_fact:
# amq_checksum: "{{ item.checksum }}"
# when: item.version == amq_version
# with_items: "{{ amq_checksums }}"
# tags:
# - getbin
# - name: "Get tarball [ Validating md5 Checksum ]"
# get_url: url={{ amq_url }} dest=/tmp/apache-activemq-{{ amq_version }}-bin.tar.gz checksum={{ amq_checksum }}
# when: amq_skip_checksum == false and amq_checksum is defined
# tags:
# - getbin
- name: "Get tarball"
get_url:
url: "{{ amq_url }}"
dest: "/tmp/apache-activemq-{{ amq_version }}-bin.tar.gz"
owner: "{{ amq_user }}"
group: "{{ amq_group }}"
when: amq_skip_checksum
#and amq_checksum is not defined
tags:
- getbin
- name: "Extract tarball" # see: https://github.com/ansible/ansible/issues/16078
# bug in snsible >= 2.1.0.0
# unarchive:
# src=/tmp/apache-activemq-{{ amq_version }}-bin.bz2
# dest="{{ amq_install_dir}}"
# list_files=true
# copy=no
# owner={{ amq_user }}
# group={{ amq_group }}
command: tar zxvf /tmp/apache-activemq-{{ amq_version }}-bin.tar.gz --directory /opt/
- name: "Become didn't work ... so chown it is ..."
command: chown "{{ amq_user }}"."{{ amq_user }}" /opt/apache-activemq-"{{ amq_version }}" -R
tags:
- chown
# when we upgrade activemq we might want to keep the older versions copy for just in case ...
- name: "Create link activemq to /opt/activemq"
file: src="{{ amq_install_dir }}/apache-activemq-{{ amq_version }}"
dest="{{ amq_install_dir }}/activemq"
state=link
owner="{{ amq_user }}"
group="{{ amq_group }}"
#force=true
tags:
- link
- name: Copy custom activemq.xml config file
template:
src: '{{ activemq_custom_xml_config_path }}'
dest: '{{ activemq_conf_dir }}/activemq.xml'
owner: '{{ amq_user }}'
group: "{{ amq_group }}"
mode: 0644
when:
- activemq_custom_xml_config == True
- name: "Create init sctipt link file"
file:
src: "{{ amq_install_dir }}/activemq/bin/linux-x86-{{ ansible_userspace_bits }}/activemq"
dest: "/etc/init.d/activemq"
owner: root
group: root
state: link
when: amq_systemd is not defined
- name: "Create init sctipt link file"
file:
src: "{{ amq_install_dir }}/activemq/bin/linux-x86-{{ ansible_userspace_bits }}/activemq"
dest: "/etc/init.d/activemq"
owner: root
group: root
state: link
when: amq_systemd is not defined
- name: "Generate empty log file ..."
file:
path: "{{ amq_log_dir }}"
state: touch
mode: "u=rw,g=r,o=r"
owner: root
group: root
- name: "Generate /etc/sysconfig/activemq Redhat"
template:
src: sysconfig_activemq.j2
dest: /etc/sysconfig/activemq
owner: root
group: root
mode: 0755
- name: "Generate systemd service file"
template:
src: activemq.service.j2
dest: /etc/systemd/system/activemq.service
owner: root
group: root
when: amq_systemd is defined
- service: name=activemq enabled=yes state=started