shelleg/ansible-role-activemq

View on GitHub
tasks/tarball.yml

Summary

Maintainability
Test Coverage
---

- 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