Elasticsearch Puppet module
tea
module dependency for pre-existing types in stdlib
module.file
as a file_rolling_type
.java_opts
parameter to elasticsearch::plugin
resource.jvm.options
up-to-date with upstream.JAVA_HOME
set through the java_home
parameter.ES_PATH_CONF
being unset in SysV init files.Major version upgrade with several important deprecations:
manage_repo
is now set to true
by default.*_hiera_merge
parameters have been removed.Minor:
present
or absent
The following migration guide is intended to help aid in upgrading this module.
Puppet 4.5.0 is the new minimum required version of Puppet, which offers better safety, module metadata, and Ruby features. Migrating from Puppet 3 to Puppet 4 is beyond the scope of this guide, but the official upgrade documentation can help. As with any version or module upgrade, remember to restart any agents and master servers as needed.
Package pinning caused lots of unexpected behavior and usually caused more problems than solutions.
If you still require package pinning, consider using the apt::pin
resource on Debian-based systems or a yum::versionlock
resource from the yum module for Red Hat-based systems.
Java installation was a very simple operation in this module which simply declared an instance of the java
class but created conflicts for users who managed Java separately.
If you still wish to configure Java alongside this module, consider using the puppetlabs/java module and installing Java with the following configuration:
class { "java" : distribution => "jre" }
This will install a version of Java suitable for Elasticsearch in most situations. Note that in some older distributions, you may need to take extra steps to install a more recent version of Java that supports Elasticsearch.
These resource types were simple wrappers around package
resources with their providers set to pip
and gem
, respectively.
Simply defining your own resources similarly to:
package { 'elasticsearch' : provider => 'pip' }
Is sufficient.
This parameter is now set to true
by default to automatically manage the Elastic repository.
If you do not wish to configure the repository to automatically retrieve package updates, set this parameter to false
:
class { 'elasticsearch': manage_repo => false }
hiera_merge
ParametersUpdates to Hiera in later versions of Puppet mean that you can set merging behavior in end-user configuration.
Read the upstream Hiera documentation regarding lookup_options
to learn how to configure Hiera appropriately for your needs.
Fixed an issue where logging_yml_ensure
and log4j2_ensure
would not propagate to elasticsearch::instance
resources.
api_timeout
parameter is now passed to the es_instance_conn_validator
resource for index, pipeline, and template defined types.logging.yml
and log4j2.properties
files can be selectively enabled/disabled with the logging_yml_ensure
and log4j2_ensure
parameters on the elasticsearch
class and elasticsearch::instance
defined type.jvm_options
are now controllable on a per-instance basis.es_instance_validator
in which ruby connection errors were not caught.Minor release to fix bugs related to the elasticsearch_keystore
type and generated docs.
elasticsearch_keystore
type and augeas defaults resource.Minor bugfix release with added support for managing Elasticsearch keystores, custom repository URLs, and more.
datadir
for instances can now be shared among multiple instances by using the datadir_instance_directories
parameter.repo_baseurl
is now exposed as a top-level parameter for users who wish to control custom repositories.elasticsearch-keystore
values can now be managed via native Puppet resources.Release supporting several new features and bugfixes for 5.4.0 users and users who need the ability to update plugins.
elasticsearch::script
type now supports recursively managing directories of scripts.elasticsearch
class (primarily for hiera and PE)default.path
options introduced in Elasticsearch 5.4.0.