blob: c0eb2507aaad284a9f4f81838dfdf32812fe57e8 [file] [log] [blame]
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
- name: "enable epel yum repo"
yum: name=epel-release state=present
register: epelresult
retries: 10
delay: 15
until: epelresult is not failed
- name: "install packages"
yum:
name:
- vim
- git
- wget
- gcc-c++
- collectd
- screen
- patch
- "{{ java_package }}"
- collectd-zookeeper
state: present
register: yumresult
retries: 10
delay: 15
until: yumresult is not failed
- name: "Install package specific to CentOS 7"
yum:
name:
- policycoreutils-python
state: present
register: yumresult_centos7
retries: 10
delay: 15
until: yumresult_centos7 is not failed
when: ansible_facts['distribution_major_version'] == "7"
- name: "Install packages specific to CentOS 8"
yum:
name:
- python3-policycoreutils
- collectd-disk
- collectd-write_http
- make
state: present
register: yumresult_centos8
retries: 10
delay: 15
until: yumresult_centos8 is not failed
when: ansible_facts['distribution_major_version'] == "8"
- name: "get exact jdk folder path"
find:
file_type: directory
paths: /usr/lib/jvm/
patterns: "{{ jdk_folder_pattern }}"
register: actual_jdk_folder
- name: "ensure correct version of jdk is selected"
alternatives:
link: /usr/lib/jvm/java
name: java-openjdk
path: "{{ actual_jdk_folder.files[0].path }}"
- name: "configure node shutdown"
shell: shutdown +{{ shutdown_delay_minutes }} &> {{ user_home }}/.shutdown creates={{ user_home }}/.shutdown
when: shutdown_delay_minutes > 0
- name: "create install directory on all hosts"
file: path={{ install_dir }} state=directory owner={{ cluster_user }} group={{ cluster_group }}
- name: "install maven"
unarchive: src={{ tarballs_dir }}/{{ maven_tarball }} dest={{ install_dir }} creates={{ maven_home }}
- name: "chown maven home"
file: path={{ maven_home }} recurse=yes owner={{ cluster_user }} group={{ cluster_group }}
- name: "install hub"
unarchive: src={{ tarballs_dir }}/{{ hub_tarball }} dest={{ install_dir }} creates={{ hub_home }}
when: install_hub
- name: "chown hub home"
file: path={{ hub_home }} recurse=yes owner={{ cluster_user }} group={{ cluster_group }}
when: install_hub
- name: "configure collectd"
template: src=etc/collectd.conf.j2 dest=/etc/collectd.conf
when: ('metrics' in groups) or (cluster_type == 'azure')
notify:
- restart collectd
- name: "ensure collectd is running (and enable it at boot)"
service: name=collectd state=started enabled=yes
when: ('metrics' in groups) or (cluster_type == 'azure')