Allow user override of beat install locations
The installation locations of elastic beats are currently hardcoded using openstack-ansible groups and cannot readily be extended to include non-openstack hosts. This is particularly notable with auditbeat, packetbeat and filebeat, which directly use the OSA 'hosts' group, and metricbeat, which uses 'all'. This commit allows these choices to be overrided by defining groups named filebeat, metricbeat etc, with naming conventions as with the elk integration inventory. Using integration inventories, one can include the OSA groups within the override to extend the deployment. The defaults are unchanged, with the exception of Metricbeat, which is now by default deployed to the OSA groups 'hosts' and 'all_containers' instead of 'all'. Change-Id: Ie39fc10f5749c9636c890a0417fc532f77562144
This commit is contained in:
parent
9dffb8c184
commit
c43903e5c5
@ -12,7 +12,7 @@
|
||||
# limitations under the License.
|
||||
|
||||
- name: Install Auditbeat
|
||||
hosts: hosts
|
||||
hosts: "{{ groups['auditbeat'] | default(groups['hosts']) }}"
|
||||
become: true
|
||||
vars:
|
||||
haproxy_ssl: false
|
||||
|
@ -12,7 +12,7 @@
|
||||
# limitations under the License.
|
||||
|
||||
- name: Install Filebeat
|
||||
hosts: hosts
|
||||
hosts: "{{ groups['filebeat'] | default(groups['hosts']) }}"
|
||||
become: true
|
||||
vars:
|
||||
haproxy_ssl: false
|
||||
|
@ -16,17 +16,20 @@
|
||||
gather_facts: false
|
||||
connection: local
|
||||
tasks:
|
||||
- name: Add hosts to dynamic inventory group
|
||||
group_by:
|
||||
key: heatbeat_deployment_targets
|
||||
parents: kibana
|
||||
when:
|
||||
- inventory_hostname in groups['kibana'][:3]
|
||||
- name: Configure deployment group when Heartbeat group not specified
|
||||
block:
|
||||
- name: Add hosts to dynamic inventory group
|
||||
group_by:
|
||||
key: heartbeat_deployment_targets
|
||||
parents: kibana
|
||||
when:
|
||||
- inventory_hostname in groups['kibana'][:3]
|
||||
when: groups['heartbeat'] is not defined
|
||||
tags:
|
||||
- always
|
||||
|
||||
- name: Install Heartbeat
|
||||
hosts: heatbeat_deployment_targets
|
||||
hosts: "{{ groups['heartbeat'] | default(groups['heartbeat_deployment_targets'] | default([])) }}"
|
||||
become: true
|
||||
vars:
|
||||
haproxy_ssl: false
|
||||
|
@ -16,29 +16,32 @@
|
||||
gather_facts: false
|
||||
connection: local
|
||||
tasks:
|
||||
- name: Add hosts to dynamic inventory group
|
||||
group_by:
|
||||
key: journalbeat_deployment_containers
|
||||
parents: all_journalbeat_deployments
|
||||
when:
|
||||
- openstack_release is defined and
|
||||
openstack_release is version('18.0.0', 'lt')
|
||||
- physical_host is defined and
|
||||
physical_host != inventory_hostname
|
||||
- name: Configure deployment group when Journalbeat group not specified
|
||||
block:
|
||||
- name: Add hosts to dynamic inventory group
|
||||
group_by:
|
||||
key: journalbeat_deployment_containers
|
||||
parents: all_journalbeat_deployments
|
||||
when:
|
||||
- openstack_release is defined and
|
||||
openstack_release is version('18.0.0', 'lt')
|
||||
- physical_host is defined and
|
||||
physical_host != inventory_hostname
|
||||
|
||||
- name: Add hosts to dynamic inventory group
|
||||
group_by:
|
||||
key: journalbeat_deployment_hosts
|
||||
parents: all_journalbeat_deployments
|
||||
- name: Add hosts to dynamic inventory group
|
||||
group_by:
|
||||
key: journalbeat_deployment_hosts
|
||||
parents: all_journalbeat_deployments
|
||||
when:
|
||||
- physical_host is undefined or
|
||||
physical_host == inventory_hostname
|
||||
when:
|
||||
- physical_host is undefined or
|
||||
physical_host == inventory_hostname
|
||||
|
||||
- groups['journalbeat'] is not defined
|
||||
tags:
|
||||
- always
|
||||
|
||||
- name: Install Journalbeat
|
||||
hosts: all_journalbeat_deployments
|
||||
hosts: "{{ groups['journalbeat'] | default(groups['all_journalbeat_deployments']) }}"
|
||||
become: true
|
||||
vars:
|
||||
haproxy_ssl: false
|
||||
|
@ -11,8 +11,9 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
- name: Install Metricsbeat
|
||||
hosts: all
|
||||
- name: Install Metricbeat
|
||||
# The nested defaults are required as ansible doesn't short-circuit in its default filter
|
||||
hosts: "{{ groups['metricbeat'] | default( (groups['hosts'] | default([])) + (groups['all_containers'] | default([]))) }}"
|
||||
become: true
|
||||
vars:
|
||||
haproxy_ssl: false
|
||||
|
@ -12,7 +12,7 @@
|
||||
# limitations under the License.
|
||||
|
||||
- name: Install Packetbeat
|
||||
hosts: hosts
|
||||
hosts: "{{ groups['packetbeat'] | default(groups['hosts']) }}"
|
||||
become: true
|
||||
vars:
|
||||
haproxy_ssl: false
|
||||
|
Loading…
x
Reference in New Issue
Block a user