Allow mounting of shared filesystems for index backup/restore
Change-Id: I6590bd0b7560fe42bd82d1a8aa7932a45f067ca5
This commit is contained in:
parent
c495a6f3df
commit
39e9905d00
@ -36,6 +36,7 @@ if [[ ! -e "${ANSIBLE_EMBED_HOME}/bin/ansible" ]]; then
|
|||||||
fi
|
fi
|
||||||
eval "${ANSIBLE_EMBED_HOME}/bin/pip install --upgrade --force pip"
|
eval "${ANSIBLE_EMBED_HOME}/bin/pip install --upgrade --force pip"
|
||||||
eval "${ANSIBLE_EMBED_HOME}/bin/pip install --upgrade ansible==2.5.5.0 --isolated"
|
eval "${ANSIBLE_EMBED_HOME}/bin/pip install --upgrade ansible==2.5.5.0 --isolated"
|
||||||
|
eval "${ANSIBLE_EMBED_HOME}/bin/pip install --upgrade jmespath --isolated"
|
||||||
echo "Ansible can be found here: ${ANSIBLE_EMBED_HOME}/bin"
|
echo "Ansible can be found here: ${ANSIBLE_EMBED_HOME}/bin"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
|
|
||||||
vars:
|
vars:
|
||||||
temp_dir: /var/lib/elasticsearch/tmp
|
temp_dir: /var/lib/elasticsearch/tmp
|
||||||
|
nfs_query: "[?fstype=='nfs' || fstype=='nfs4']"
|
||||||
|
|
||||||
environment: "{{ deployment_environment_variables | default({}) }}"
|
environment: "{{ deployment_environment_variables | default({}) }}"
|
||||||
|
|
||||||
@ -172,6 +173,26 @@
|
|||||||
src: "templates/logrotate.j2"
|
src: "templates/logrotate.j2"
|
||||||
dest: "/etc/logrotate.d/elasticsearch"
|
dest: "/etc/logrotate.d/elasticsearch"
|
||||||
|
|
||||||
|
- name: Ensure nfs client is available if necessary
|
||||||
|
package:
|
||||||
|
name: nfs-common
|
||||||
|
state: present
|
||||||
|
when:
|
||||||
|
- elastic_shared_fs_repos is defined
|
||||||
|
- (elastic_shared_fs_repos|json_query(nfs_query)) | length > 0
|
||||||
|
|
||||||
|
- name: Ensure backup filesystems are mounted
|
||||||
|
mount:
|
||||||
|
fstype: "{{ item.fstype }}"
|
||||||
|
src: "{{ item.src }}"
|
||||||
|
opts: "{{ item.opts }}"
|
||||||
|
path: "{{ item.path }}"
|
||||||
|
state: "{{ item.state }}"
|
||||||
|
with_items:
|
||||||
|
- "{{ elastic_shared_fs_repos }}"
|
||||||
|
when:
|
||||||
|
- elastic_shared_fs_repos is defined and elastic_shared_fs_repos | length > 0
|
||||||
|
|
||||||
handlers:
|
handlers:
|
||||||
- name: Enable and restart elastic
|
- name: Enable and restart elastic
|
||||||
systemd:
|
systemd:
|
||||||
|
@ -17,6 +17,15 @@ path.data: /var/lib/elasticsearch
|
|||||||
# path.logs: /path/to/logs
|
# path.logs: /path/to/logs
|
||||||
#path.logs: /var/lib/elasticsearch/logs/
|
#path.logs: /var/lib/elasticsearch/logs/
|
||||||
path.logs: /var/log/elasticsearch/
|
path.logs: /var/log/elasticsearch/
|
||||||
|
#
|
||||||
|
# Path to shared filesystem repos
|
||||||
|
#
|
||||||
|
# path.repo: ["/mount/backups", "/mount/longterm_backups"]
|
||||||
|
#
|
||||||
|
|
||||||
|
{% if elastic_shared_fs_repos is defined and elastic_shared_fs_repos|length > 0 %}
|
||||||
|
path.repo: {{ elastic_shared_fs_repos | json_query("[*].path") | to_json }}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
# Set the global default index store. More information on these settings can be
|
# Set the global default index store. More information on these settings can be
|
||||||
# found here:
|
# found here:
|
||||||
|
@ -58,6 +58,16 @@ elastic_vip_url: >-
|
|||||||
http://{{ hostvars[groups['kibana'][0]]['ansible_host'] ~ ':' ~ elastic_port }}
|
http://{{ hostvars[groups['kibana'][0]]['ansible_host'] ~ ':' ~ elastic_port }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
#define this in host/group vars as needed to mount remote filesystems
|
||||||
|
#set the client address as appropriate, eth1 assumes osa container mgmt network
|
||||||
|
#mountpoints and server paths are just examples
|
||||||
|
#elastic_shared_fs_repos:
|
||||||
|
# - fstype: nfs4
|
||||||
|
# src: "<nfs-server-ip>:/esbackup"
|
||||||
|
# opts: clientaddr="{{ ansible_eth1['ipv4']['address'] }}"
|
||||||
|
# path: "/elastic-backup"
|
||||||
|
# state: mounted
|
||||||
|
|
||||||
# kibana vars
|
# kibana vars
|
||||||
kibana_interface: 0.0.0.0
|
kibana_interface: 0.0.0.0
|
||||||
kibana_port: 5601
|
kibana_port: 5601
|
||||||
|
Loading…
x
Reference in New Issue
Block a user