agaric-coop/box/provisioning/roles/geerlingguy.solr/tasks/install-pre5.yml

83 lines
2.4 KiB
YAML

---
# Install Solr.
- name: Check if Solr is already installed.
stat: "path={{ solr_install_path }}/dist/{{ solr_filename }}.war"
register: solr_war_file
- name: Copy Solr into place.
command: "cp -r {{ solr_workspace }}/{{ solr_filename }} {{ solr_install_path }}"
when: not solr_war_file.stat.exists
- name: Ensure Solr install files are owned by the solr_user.
file:
path: "{{ solr_install_path }}"
owner: "{{ solr_user }}"
group: "{{ solr_user }}"
recurse: yes
when: not solr_war_file.stat.exists
# Set up solr_home.
- name: Check if solr_home is already set up.
stat: "path={{ solr_home }}/solr.xml"
register: solr_example
- name: Ensure solr_home directory exists.
file:
path: "{{ solr_home }}"
state: directory
owner: "{{ solr_user }}"
group: "{{ solr_user }}"
mode: 0755
when: not solr_example.stat.exists
- name: Copy Solr example into solr_home.
shell: "cp -r {{ solr_install_path }}/example/solr/* {{ solr_home }}"
when: not solr_example.stat.exists
- name: Fix the example solrconfig.xml file.
replace:
dest: "{{ solr_home }}/collection1/conf/solrconfig.xml"
regexp: ^.+solr\.install\.dir.+$
replace: ""
when: "not solr_example.stat.exists and solr_version.split('.')[0] == '4'"
- name: Ensure Solr home files are owned by the solr_user.
file:
path: "{{ solr_home }}"
owner: "{{ solr_user }}"
group: "{{ solr_user }}"
recurse: yes
when: not solr_example.stat.exists
# Set up Solr init script.
- name: Ensure log file is created and has proper permissions.
file:
path: "/var/log/solr.log"
state: touch
owner: "{{ solr_user }}"
group: root
mode: 0664
changed_when: false
- name: Copy solr init script into place.
template:
src: "solr-init-{{ ansible_os_family }}-pre5.j2"
dest: "/etc/init.d/{{ solr_service_name }}"
mode: 0755
- name: Ensure daemon is installed (Debian).
apt: name=daemon state=installed
when: ansible_os_family == "Debian"
- name: Copy solr systemd unit file into place (for systemd systems).
template:
src: solr.unit.j2
dest: /etc/systemd/system/solr.service
owner: root
group: root
mode: 0755
when: >
(ansible_distribution == 'Ubuntu' and ansible_distribution_version == '16.04') or
(ansible_distribution == 'Debian' and ansible_distribution_version|int >= 8) or
(ansible_distribution == 'CentOS' and ansible_distribution_version|int >= 7) or
(ansible_distribution == 'Fedora')