#mod 'puppetlabs/xinetd', '1.5.0'
#mod 'puppetlabs/stunnel', '0.1.0'
-mod 'elasticsearch/elasticsearch', '0.9.3'
+mod 'elasticsearch/elasticsearch', '0.9.4'
+##0.9.4( Apr 14, 2015 )
+
+###Summary
+Bugfix release 0.9.4
+
+####Features
+* Add the ability to create and populate scripts
+
+####Bugfixes
+* add support for init_defaults_file to elasticsearch::instance
+* Update apt key to full 40characters
+
+####Changes
+* Fix readme regarding module_dir with plugins
+
+####Testing changes
+* Adding staged removal test
+* Convert git urls to https
+* Add centos7 node config
+
+####Known bugs
+* Possible package conflicts when using ruby/python defines with main package name
+
+
##0.9.3( Mar 24, 2015 )
###Summary
puppetversion = ENV['PUPPET_VERSION'] || '~> 3.7.0'
gem 'puppet', puppetversion, :require => false
-gem 'beaker', :git => 'git@github.com:puppetlabs/beaker.git', :branch => 'master'
-gem 'beaker-rspec', :git => 'git@github.com:puppetlabs/beaker-rspec.git', :branch => 'master'
+gem 'beaker', :git => 'https://github.com/puppetlabs/beaker.git', :branch => 'master'
+gem 'beaker-rspec', :git => 'https://github.com/puppetlabs/beaker-rspec.git', :branch => 'master'
gem 'metadata-json-lint', :git => 'https://github.com/nibalizer/metadata-json-lint.git', :branch => 'master'
gem 'rspec-puppet', :git => 'https://github.com/rodjek/rspec-puppet.git', :branch => 'master'
gem 'puppet-syntax'
gem 'rspec-puppet-facts'
gem 'webmock'
+
+# Extra Puppet-lint gems
+gem 'puppet-lint-appends-check', :require => false
+gem 'puppet-lint-version_comparison-check', :require => false
+gem 'puppet-lint-unquoted_string-check', :require => false
+gem 'puppet-lint-undef_in_function-check', :require => false
+gem 'puppet-lint-trailing_comma-check', :require => false
+gem 'puppet-lint-leading_zero-check', :require => false
+gem 'puppet-lint-file_ensure-check', :require => false
+gem 'puppet-lint-empty_string-check', :require => false
GIT
- remote: git@github.com:puppetlabs/beaker-rspec.git
- revision: c4c43fd726c4910f38585c30177f088596ce1872
+ remote: https://github.com/nibalizer/metadata-json-lint.git
+ revision: c2225fed4b88aef1945e8da3f8580709939371cd
+ branch: master
+ specs:
+ metadata-json-lint (0.0.6)
+ json
+ spdx-licenses (~> 1.0)
+
+GIT
+ remote: https://github.com/puppetlabs/beaker-rspec.git
+ revision: b9831088def7cae245e1b3d6785c1a500da54769
branch: master
specs:
- beaker-rspec (5.0.1)
+ beaker-rspec (5.0.2)
beaker (~> 2.0)
rspec
serverspec (~> 2)
specinfra (~> 2)
GIT
- remote: git@github.com:puppetlabs/beaker.git
- revision: f426a7cffb1588105623578d6b98a4c37186cf91
+ remote: https://github.com/puppetlabs/beaker.git
+ revision: d854fcaeb013170ed4bc8189e00cbc6cea9848b7
branch: master
specs:
- beaker (2.7.1)
+ beaker (2.9.0)
aws-sdk (~> 1.57)
docker-api
fission (~> 0.4)
rsync (~> 1.0.9)
unf (~> 0.1)
-GIT
- remote: https://github.com/nibalizer/metadata-json-lint.git
- revision: c2225fed4b88aef1945e8da3f8580709939371cd
- branch: master
- specs:
- metadata-json-lint (0.0.6)
- json
- spdx-licenses (~> 1.0)
-
GIT
remote: https://github.com/rodjek/rspec-puppet.git
revision: a9a837669cf6955279f02d1d9b524dc140b9d3e8
minitest (~> 5.1)
thread_safe (~> 0.3, >= 0.3.4)
tzinfo (~> 1.1)
- addressable (2.3.7)
+ addressable (2.3.8)
autoparse (0.3.3)
addressable (>= 2.3.1)
extlib (>= 0.9.15)
multi_json (>= 1.0.0)
- aws-sdk (1.63.0)
- aws-sdk-v1 (= 1.63.0)
- aws-sdk-v1 (1.63.0)
+ aws-sdk (1.64.0)
+ aws-sdk-v1 (= 1.64.0)
+ aws-sdk-v1 (1.64.0)
json (~> 1.4)
nokogiri (>= 1.4.4)
axiom-types (0.1.1)
descendants_tracker (0.0.4)
thread_safe (~> 0.3, >= 0.3.1)
diff-lcs (1.2.5)
- docker-api (1.20.0)
+ docker-api (1.21.0)
excon (>= 0.38.0)
json
equalizer (0.0.11)
- excon (0.44.4)
+ excon (0.45.1)
extlib (0.9.16)
facter (1.7.6)
faraday (0.9.1)
multipart-post (>= 1.2, < 3)
fission (0.5.0)
CFPropertyList (~> 2.2)
- fog (1.28.0)
+ fog (1.29.0)
fog-atmos
fog-aws (~> 0.0)
fog-brightbox (~> 0.4)
- fog-core (~> 1.27, >= 1.27.3)
+ fog-core (~> 1.27, >= 1.27.4)
fog-ecloud
fog-json
+ fog-local
+ fog-powerdns (>= 0.1.1)
fog-profitbricks
fog-radosgw (>= 0.0.2)
fog-riakcs
fog-atmos (0.1.0)
fog-core
fog-xml
- fog-aws (0.1.1)
+ fog-aws (0.1.2)
fog-core (~> 1.27)
fog-json (~> 1.0)
fog-xml (~> 0.1)
fog-core (~> 1.22)
fog-json
inflecto (~> 0.0.2)
- fog-core (1.29.0)
+ fog-core (1.30.0)
builder
- excon (~> 0.38)
+ excon (~> 0.45)
formatador (~> 0.2)
mime-types
net-scp (~> 1.1)
net-ssh (>= 2.1.3)
- fog-ecloud (0.0.2)
+ fog-ecloud (0.1.1)
fog-core
fog-xml
- fog-json (1.0.0)
+ fog-json (1.0.1)
+ fog-core (~> 1.0)
multi_json (~> 1.0)
+ fog-local (0.2.1)
+ fog-core (~> 1.27)
+ fog-powerdns (0.1.1)
+ fog-core (~> 1.27)
+ fog-json (~> 1.0)
+ fog-xml (~> 0.1)
fog-profitbricks (0.0.2)
fog-core
fog-xml
nokogiri
- fog-radosgw (0.0.3)
+ fog-radosgw (0.0.4)
fog-core (>= 1.21.0)
fog-json
fog-xml (>= 0.0.1)
fog-core
fog-json
fog-xml
- fog-sakuracloud (1.0.0)
+ fog-sakuracloud (1.0.1)
fog-core
fog-json
- fog-serverlove (0.1.1)
+ fog-serverlove (0.1.2)
fog-core
fog-json
- fog-softlayer (0.4.1)
+ fog-softlayer (0.4.5)
fog-core
fog-json
- fog-storm_on_demand (0.1.0)
+ fog-storm_on_demand (0.1.1)
fog-core
fog-json
- fog-terremark (0.0.4)
+ fog-terremark (0.1.0)
fog-core
fog-xml
- fog-vmfusion (0.0.1)
+ fog-vmfusion (0.1.0)
fission
fog-core
- fog-voxel (0.0.2)
+ fog-voxel (0.1.0)
fog-core
fog-xml
- fog-xml (0.1.1)
+ fog-xml (0.1.2)
fog-core
nokogiri (~> 1.5, >= 1.5.11)
formatador (0.2.5)
- google-api-client (0.8.3)
+ google-api-client (0.8.5)
activesupport (>= 3.2)
addressable (~> 2.3)
autoparse (~> 0.3)
multi_json (~> 1.10)
retriable (~> 1.4)
signet (~> 0.6)
- googleauth (0.3.0)
+ googleauth (0.4.0)
faraday (~> 0.9)
- jwt (~> 1.4.1)
+ jwt (~> 1.4)
logging (~> 1.8)
- memoist (~> 0.11.0)
- multi_json (= 1.11.0)
- signet (~> 0.6.0)
+ memoist (~> 0.11)
+ multi_json (= 1.11)
+ signet (~> 0.6)
hiera (1.3.4)
json_pure
hocon (0.0.7)
logging (1.8.2)
little-plugger (>= 1.1.3)
multi_json (>= 1.8.4)
- memoist (0.11.0)
+ memoist (0.12.0)
metaclass (0.0.4)
method_source (0.8.2)
mime-types (2.4.3)
mini_portile (0.6.2)
- minitest (5.5.1)
+ minitest (5.6.0)
mocha (1.1.0)
metaclass (~> 0.0.1)
multi_json (1.11.0)
coderay (~> 1.1.0)
method_source (~> 0.8.1)
slop (~> 3.4)
- puppet (3.7.4)
+ puppet (3.7.5)
facter (> 1.6, < 3)
hiera (~> 1.0)
json_pure
rdoc (>= 3.12, < 4.0)
virtus (~> 1.0.1)
puppet-lint (1.1.0)
+ puppet-lint-appends-check (0.1.0)
+ puppet-lint (~> 1.0)
+ puppet-lint-empty_string-check (0.2.1)
+ puppet-lint (~> 1.0)
+ puppet-lint-file_ensure-check (0.2.1)
+ puppet-lint (~> 1.0)
+ puppet-lint-leading_zero-check (0.1.0)
+ puppet-lint (~> 1.0)
+ puppet-lint-trailing_comma-check (0.3.1)
+ puppet-lint (~> 1.0)
+ puppet-lint-undef_in_function-check (0.1.0)
+ puppet-lint (~> 1.0)
+ puppet-lint-unquoted_string-check (0.2.5)
+ puppet-lint (~> 1.0)
+ puppet-lint-version_comparison-check (0.1.2)
+ puppet-lint (~> 1.0)
puppet-syntax (2.0.0)
rake
puppetlabs_spec_helper (0.10.1)
rspec-core (~> 3.2.0)
rspec-expectations (~> 3.2.0)
rspec-mocks (~> 3.2.0)
- rspec-core (3.2.2)
+ rspec-core (3.2.3)
rspec-support (~> 3.2.0)
- rspec-expectations (3.2.0)
+ rspec-expectations (3.2.1)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.2.0)
rspec-its (1.2.0)
rsync (1.0.9)
rubysl-securerandom (2.0.0)
safe_yaml (1.0.4)
- serverspec (2.13.0)
+ serverspec (2.14.1)
multi_json
rspec (~> 3.0)
rspec-its
slop (3.6.0)
spdx-licenses (1.0.0)
json
- specinfra (2.25.0)
+ specinfra (2.28.1)
net-scp
net-ssh
thread_safe (0.3.5)
coercible (~> 1.0)
descendants_tracker (~> 0.0, >= 0.0.3)
equalizer (~> 0.0, >= 0.0.9)
- webmock (1.20.4)
+ webmock (1.21.0)
addressable (>= 2.3.6)
crack (>= 0.3.2)
puppet (~> 3.7.0)
puppet-doc-lint
puppet-lint
+ puppet-lint-appends-check
+ puppet-lint-empty_string-check
+ puppet-lint-file_ensure-check
+ puppet-lint-leading_zero-check
+ puppet-lint-trailing_comma-check
+ puppet-lint-undef_in_function-check
+ puppet-lint-unquoted_string-check
+ puppet-lint-version_comparison-check
puppet-syntax
puppetlabs_spec_helper
rake
name 'elasticsearch-elasticsearch'
-version '0.9.3'
+version '0.9.4'
source 'https://github.com/elastic/puppet-elasticsearch'
author 'elasticsearch'
license 'Apache License, Version 2.0'
###Plug-ins
-Install [a variety of plugins](http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-plugins.html#known-plugins):
+Install [a variety of plugins](http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-plugins.html#known-plugins). Note that `module_dir` is where the plugin will install itself to and must match that published by the plugin author; it is not where you would like to install it yourself.
####From official repository
```puppet
* `groupId/artifactId/version` for community plugins (download from maven central or oss sonatype)
* `username/repository` for site plugins (download from github master)
+
+###Scripts
+
+Install [scripts](http://www.elastic.co/guide/en/elasticsearch/reference/1.x/modules-scripting.html) to be used by Elasticsearch.
+These scripts are shared accross all defined instances on the same host.
+
+```puppet
+elasticsearch::script { 'myscript':
+ ensure => 'present',
+ source => 'puppet:///path/to/my/script.groovy'
+}
+```
+
###Templates
#### Add a new template using a file
{
- "CHANGELOG.md": "4a81c4fe644a2359154438a3f22b9314",
+ "CHANGELOG.md": "9ba84b10cf0f5e46c5ecaa1c5e3c0b12",
"CONTRIBUTING.md": "c2985e231626a62f65cb661eaa346794",
"CONTRIBUTORS": "14df2fd27cf7b6ca9833527f2ba93442",
- "Gemfile": "4be55511a7990290d9693eb8131d3767",
- "Gemfile.lock": "a385e2f9cad45b87ad5c264827c8ff8e",
+ "Gemfile": "2a7c1a11ce3e71d8e644c4966583908f",
+ "Gemfile.lock": "3793e259a80fd7ad59d6eb42968c7c99",
"LICENSE": "0e0bfc0e5636afdb297a2aa49d8d933d",
- "Modulefile": "cb22d42b03516f2fb9e0cf7dd2a95ac4",
- "README.md": "79bd2afce64519598a63de9041c966a3",
+ "Modulefile": "8337aad0f4b6a506e246c437457f719e",
+ "README.md": "910dd00a5cd96ca706f38270ebdb3d2e",
"lib/facter/es_facts.rb": "b4b33e1047d659e45cb2590402f4b376",
"lib/puppet/parser/functions/array_suffix.rb": "f4d8cfd448698eb9594f49bb2ed3c263",
"lib/puppet/provider/es_instance_conn_validator/tcp_port.rb": "1f20143aa8023524ad568cabc0fc36c8",
"log/2015-03-14_18_41_25/sut.log": "c3101099c35c9804c9f47a304a49c82b",
"log/2015-03-16_02_10_40/sut.log": "51407bfcddeb9689ab330c8e8120806b",
"log/2015-03-16_23_30_55/sut.log": "1f0faa9e603fcf3af4b51045e9215c64",
- "manifests/config.pp": "ee90bc3dee3f75225e4ed5df281b7067",
- "manifests/init.pp": "bb9bdda59f5a0e4ddf307c6f61c06a5f",
- "manifests/instance.pp": "3cd452071af6e612a61ffec93c6d20f5",
- "manifests/package.pp": "176fa044686caca3ca13de5aad10e85d",
- "manifests/params.pp": "43e6580af881579a9f607ade881cfa7e",
- "manifests/plugin.pp": "bfb8df0bb1158ca4f4070fa86fe27e3e",
+ "log/centos-6-x64/2015-04-01_10_00_58/sut.log": "7178cfef99b07ad06de41724fa546bfd",
+ "log/centos-6-x64/2015-04-01_10_46_26/sut.log": "0378009ae03f995576e749d4ad185973",
+ "log/centos-6-x64/2015-04-01_11_20_04/sut.log": "1aa97919a8802e10600e204169766ead",
+ "log/centos-6-x64/2015-04-01_11_27_48/sut.log": "9f0f77ce5e27ee92ab0df845f2a88b5e",
+ "log/centos-6-x64/2015-04-01_11_35_31/sut.log": "c1e36c2bba3ee22d9abd97625869d4ee",
+ "log/centos-6-x64/2015-04-01_12_59_57/sut.log": "45b833a47033621d4e428e6d72595f06",
+ "log/centos-6-x64/2015-04-01_13_09_48/sut.log": "8605000f87fc4c75ac10a1fd949db943",
+ "log/centos-6-x64/2015-04-01_13_41_36/sut.log": "4fe04bb9ecee5a1c3342faa76eac115f",
+ "log/centos-6-x64/2015-04-01_15_16_35/sut.log": "f1d994052b796a0a6d19dddd68030c7a",
+ "log/centos-6-x64/2015-04-02_13_13_01/sut.log": "84e67a9d68180d96ad642f369b85af24",
+ "log/centos-6-x64/2015-04-02_13_17_34/sut.log": "d92c27493287e89e07b3c0282ca9a936",
+ "log/centos-6-x64/2015-04-02_13_26_48/sut.log": "d41d8cd98f00b204e9800998ecf8427e",
+ "log/centos-6-x64/2015-04-02_13_35_46/sut.log": "6af88ca22ceb3297373ff20e180dde19",
+ "log/centos-6-x64/2015-04-02_13_46_30/sut.log": "426ac949c1e62a590e69e85d5c5b3d8f",
+ "log/centos-7-x64/2015-04-02_09_58_58/sut.log": "d41d8cd98f00b204e9800998ecf8427e",
+ "log/centos-7-x64/2015-04-02_10_01_25/sut.log": "9137df4d230e68252b0f0034911f585e",
+ "log/centos-7-x64/2015-04-02_10_11_32/sut.log": "3a01955c89e470097084c7cd199cd585",
+ "log/centos-7-x64/2015-04-02_10_12_51/sut.log": "d41d8cd98f00b204e9800998ecf8427e",
+ "log/centos-7-x64/2015-04-02_10_15_37/sut.log": "d41d8cd98f00b204e9800998ecf8427e",
+ "log/centos-7-x64/2015-04-02_10_23_54/sut.log": "d41d8cd98f00b204e9800998ecf8427e",
+ "log/centos-7-x64/2015-04-02_10_43_22/sut.log": "d41d8cd98f00b204e9800998ecf8427e",
+ "log/centos-7-x64/2015-04-02_10_52_46/sut.log": "58d0e1d5a2a17c63d293b6ee0da923b9",
+ "log/centos-7-x64/2015-04-02_10_59_12/sut.log": "aaf060a6f29c127da5f20ac56e5d6caa",
+ "log/centos-7-x64/2015-04-07_11_27_50/sut.log": "a6a881e8ec06d93e7c1d1888435e8265",
+ "log/centos-7-x64/2015-04-07_21_10_14/sut.log": "ad322e2ba0802035e05511a56cb8467c",
+ "log/centos-7-x64/2015-04-07_21_30_33/sut.log": "c6cf6b033c0c4d1ea891dc7c59b8f7e2",
+ "log/centos-7-x64/2015-04-08_12_40_12/sut.log": "6d306dd1d99c149917279b20970e2f45",
+ "log/centos-7-x64/2015-04-14_09_47_18/sut.log": "af8ac0521a84dccdc4a2279fb638a7c6",
+ "log/centos-7-x64/2015-04-14_09_47_40/sut.log": "c10f15cab4db9e88b3b43b6f4dbfa271",
+ "log/centos-7-x64/2015-04-14_11_41_18/sut.log": "dd8ce807b46e24d71f5a5cb78dd07c81",
+ "log/centos-7-x64/2015-04-14_13_15_13/sut.log": "c84739c6e97c41e570d2a1225e0d6d9e",
+ "log/debian-7-x64/2015-04-02_13_54_36/sut.log": "4f99087d407ec0c718dff805fb4a4680",
+ "log/debian-7-x64/2015-04-02_15_23_38/sut.log": "e949997215719242842ac4d692e7c763",
+ "log/ubuntu-server-1404-x64/2015-04-14_13_30_41/sut.log": "88a27bff98e74f9ef424e29791105b61",
+ "manifests/config.pp": "db109e9924e451663e735ebffb8653e2",
+ "manifests/init.pp": "5d2d79dae581410d429345a7b3bc8b00",
+ "manifests/instance.pp": "ad2f1684674d4004c42f85c45a42d966",
+ "manifests/package.pp": "604dc7b513979918c3734d3326c2769e",
+ "manifests/params.pp": "2d1315c5466f27ec59b6296996a68e44",
+ "manifests/plugin.pp": "e45b7ae5fb70ad25da7878a1c8bbb980",
"manifests/python.pp": "109f076fea175ffef78da479952dc1a0",
- "manifests/repo.pp": "4cff161af5b4500437354d79c1839307",
+ "manifests/repo.pp": "f001f79d28d28c93d018e9f00b547034",
"manifests/ruby.pp": "dd72a2538e23bba1c47618c9b3e6d66f",
- "manifests/service/init.pp": "a642c495df7b249c0e84ec87024fd928",
- "manifests/service/systemd.pp": "5a20cdd31c37d70635847acf6c444d5b",
- "manifests/service.pp": "594de29d273d24f25b9f5ec61380d7e6",
- "manifests/template.pp": "87af209a0d768cc36b9e4a5fcefcaf46",
- "metadata.json": "2f76c1774a6a1d7afdcb7b850550db96",
+ "manifests/script.pp": "8eaad1494fb7de63c65720400bad7442",
+ "manifests/service/init.pp": "dc6817e1414e59f1fe23470c38a03c5d",
+ "manifests/service/systemd.pp": "1f69c7e366958dfbdd2034f38c86ee25",
+ "manifests/service.pp": "b34e3bb5a3984de44c9ad2566734576e",
+ "manifests/template.pp": "35efdc655772908976df3c69338188fd",
+ "metadata.json": "6832a29ee56d4cf6e4555305a2836716",
"templates/etc/elasticsearch/elasticsearch.yml.erb": "08529839471ef1fac3a9f4a169ec5da8",
"templates/etc/elasticsearch/logging.yml.erb": "99062dbf00c6b96d9bec7382dadafb9d",
"templates/etc/init.d/elasticsearch.Debian.erb": "e7a586b5fd921ec6819936f44694f4c2",
--- /dev/null
+2015-04-01 10:01:12 [+] docker el-6-x86_64 centos-6-x64
--- /dev/null
+2015-04-01 10:46:27 [+] docker el-6-x86_64 centos-6-x64
--- /dev/null
+2015-04-01 11:20:05 [+] docker el-6-x86_64 centos-6-x64
+2015-04-01 11:22:57 [-] docker el-6-x86_64 centos-6-x64
--- /dev/null
+2015-04-01 11:27:50 [+] docker el-6-x86_64 centos-6-x64
+2015-04-01 11:30:45 [-] docker el-6-x86_64 centos-6-x64
--- /dev/null
+2015-04-01 11:35:33 [+] docker el-6-x86_64 centos-6-x64
+2015-04-01 11:37:58 [-] docker el-6-x86_64 centos-6-x64
--- /dev/null
+2015-04-01 12:59:58 [+] docker el-6-x86_64 centos-6-x64
+2015-04-01 13:06:31 [-] docker el-6-x86_64 centos-6-x64
--- /dev/null
+2015-04-01 13:09:49 [+] docker el-6-x86_64 centos-6-x64
--- /dev/null
+2015-04-01 13:41:37 [+] docker el-6-x86_64 centos-6-x64
--- /dev/null
+2015-04-01 15:16:36 [+] docker el-6-x86_64 centos-6-x64
--- /dev/null
+2015-04-02 13:13:03 [+] docker el-6-x86_64 centos-6-x64
--- /dev/null
+2015-04-02 13:17:36 [+] docker el-6-x86_64 centos-6-x64
--- /dev/null
+2015-04-02 13:35:48 [+] docker el-6-x86_64 centos-6-x64
--- /dev/null
+2015-04-02 13:46:33 [+] docker el-6-x86_64 centos-6-x64
--- /dev/null
+2015-04-02 10:03:18 [+] docker el-7-x86_64 centos-7-x64
--- /dev/null
+2015-04-02 10:11:33 [+] docker el-7-x86_64 centos-7-x64
--- /dev/null
+2015-04-02 10:53:42 [+] docker el-7-x86_64 centos-7-x64
--- /dev/null
+2015-04-02 10:59:14 [+] docker el-7-x86_64 centos-7-x64
--- /dev/null
+2015-04-07 11:27:52 [+] docker el-7-x86_64 centos-7-x64
+2015-04-07 12:00:29 [-] docker el-7-x86_64 centos-7-x64
--- /dev/null
+2015-04-07 21:11:26 [+] docker el-7-x86_64 centos-7-x64
--- /dev/null
+2015-04-07 21:31:47 [+] docker el-7-x86_64 centos-7-x64
--- /dev/null
+2015-04-08 12:40:13 [+] docker el-7-x86_64 centos-7-x64
+2015-04-08 12:53:37 [-] docker el-7-x86_64 centos-7-x64
--- /dev/null
+2015-04-14 09:47:21 [+] docker el-7-x86_64 centos-7-x64
--- /dev/null
+2015-04-14 09:47:43 [+] docker el-7-x86_64 centos-7-x64
+2015-04-14 09:59:57 [-] docker el-7-x86_64 centos-7-x64
--- /dev/null
+2015-04-14 11:41:19 [+] docker el-7-x86_64 centos-7-x64
+2015-04-14 11:57:29 [-] docker el-7-x86_64 centos-7-x64
--- /dev/null
+2015-04-14 13:15:14 [+] docker el-7-x86_64 centos-7-x64
+2015-04-14 13:27:46 [-] docker el-7-x86_64 centos-7-x64
--- /dev/null
+2015-04-02 13:54:38 [+] docker debian-7-amd64 debian-7
--- /dev/null
+2015-04-02 15:23:40 [+] docker debian-7-amd64 debian-7
--- /dev/null
+2015-04-14 13:30:42 [+] docker ubuntu-14.04-amd64 ubuntu-14-04
+2015-04-14 13:46:00 [-] docker ubuntu-14.04-amd64 ubuntu-14-04
File {
owner => $elasticsearch::elasticsearch_user,
- group => $elasticsearch::elasticsearch_group
+ group => $elasticsearch::elasticsearch_group,
}
Exec {
file { $elasticsearch::configdir:
ensure => directory,
- mode => '0644'
+ mode => '0644',
}
file { $elasticsearch::params::logdir:
ensure => 'directory',
group => undef,
mode => '0644',
- recurse => true
+ recurse => true,
}
file { $elasticsearch::params::homedir:
- ensure => 'directory'
+ ensure => 'directory',
}
file { "${elasticsearch::params::homedir}/bin":
ensure => 'directory',
recurse => true,
- mode => '0755'
+ mode => '0755',
}
file { $elasticsearch::plugindir:
ensure => 'directory',
- recurse => true
+ recurse => true,
}
file { $elasticsearch::datadir:
- ensure => 'directory'
+ ensure => 'directory',
}
file { "${elasticsearch::homedir}/lib":
ensure => 'directory',
- recurse => true
+ recurse => true,
}
if $elasticsearch::params::pid_dir {
file { $elasticsearch::params::pid_dir:
ensure => 'directory',
group => undef,
- recurse => true
+ recurse => true,
}
}
file { "${elasticsearch::configdir}/templates_import":
ensure => 'directory',
mode => '0644',
- require => [ Exec['mkdir_templates_elasticsearch'] ]
+ require => [ Exec['mkdir_templates_elasticsearch'] ],
+ }
+
+ file { "${elasticsearch::configdir}/scripts":
+ ensure => 'directory',
+ mode => '0644',
}
# Removal of files that are provided with the package which we don't use
file { '/etc/init.d/elasticsearch':
- ensure => 'absent'
+ ensure => 'absent',
}
file { '/usr/lib/systemd/system/elasticsearch.service':
- ensure => 'absent'
+ ensure => 'absent',
}
file { "${elasticsearch::params::defaults_location}/elasticsearch":
- ensure => 'absent'
+ ensure => 'absent',
}
file { '/etc/elasticsearch/elasticsearch.yml':
- ensure => 'absent'
+ ensure => 'absent',
}
file { '/etc/elasticsearch/logging.yml':
- ensure => 'absent'
+ ensure => 'absent',
}
} elsif ( $elasticsearch::ensure == 'absent' ) {
# Install java
class { '::java':
package => $java_package,
- distribution => 'jre'
+ distribution => 'jre',
}
# ensure we first java java and then manage the service
}
class { 'elasticsearch::repo':
- stage => $repo_stage
+ stage => $repo_stage,
}
}
}
# [*init_defaults*]
# Defaults file content in hash representation
#
+# [*init_defaults_file*]
+# Defaults file as puppet resource
+#
# === Authors
#
# * Richard Pijnenburg <mailto:richard.pijnenburg@elasticsearch.com>
#
define elasticsearch::instance(
- $ensure = $elasticsearch::ensure,
- $status = $elasticsearch::status,
- $config = undef,
- $configdir = undef,
- $datadir = undef,
- $logging_file = undef,
- $logging_config = undef,
- $logging_template = undef,
- $logging_level = $elasticsearch::default_logging_level,
- $init_defaults = undef
+ $ensure = $elasticsearch::ensure,
+ $status = $elasticsearch::status,
+ $config = undef,
+ $configdir = undef,
+ $datadir = undef,
+ $logging_file = undef,
+ $logging_config = undef,
+ $logging_template = undef,
+ $logging_level = $elasticsearch::default_logging_level,
+ $init_defaults = undef,
+ $init_defaults_file = undef
) {
require elasticsearch::params
File {
owner => $elasticsearch::elasticsearch_user,
- group => $elasticsearch::elasticsearch_group
+ group => $elasticsearch::elasticsearch_group,
}
Exec {
command => "mkdir -p ${dirs}",
creates => $instance_datadir,
require => Class['elasticsearch::package'],
- before => Elasticsearch::Service[$name]
+ before => Elasticsearch::Service[$name],
}
file { $instance_datadir:
group => undef,
mode => '0644',
require => [ Exec["mkdir_datadir_elasticsearch_${name}"], Class['elasticsearch::package'] ],
- before => Elasticsearch::Service[$name]
+ before => Elasticsearch::Service[$name],
}
exec { "mkdir_configdir_elasticsearch_${name}":
command => "mkdir -p ${instance_configdir}",
creates => $elasticsearch::configdir,
require => Class['elasticsearch::package'],
- before => Elasticsearch::Service[$name]
+ before => Elasticsearch::Service[$name],
}
file { $instance_configdir:
purge => $elasticsearch::purge_configdir,
force => $elasticsearch::purge_configdir,
require => [ Exec["mkdir_configdir_elasticsearch_${name}"], Class['elasticsearch::package'] ],
- before => Elasticsearch::Service[$name]
+ before => Elasticsearch::Service[$name],
}
file { "${instance_configdir}/logging.yml":
mode => '0644',
notify => $notify_service,
require => Class['elasticsearch::package'],
- before => Elasticsearch::Service[$name]
+ before => Elasticsearch::Service[$name],
+ }
+
+ file { "${instance_configdir}/scripts":
+ ensure => 'link',
+ target => "${elasticsearch::configdir}/scripts",
}
# build up new config
$instance_conf = merge($main_config, $instance_node_name, $instance_config, $instance_datadir_config)
# defaults file content
+ # ensure user did not provide both init_defaults and init_defaults_file
+ if (($init_defaults != undef) and ($init_defaults_file != undef)) {
+ fail ('Only one of $init_defaults and $init_defaults_file should be defined')
+ }
+
if (is_hash($elasticsearch::init_defaults)) {
$global_init_defaults = $elasticsearch::init_defaults
} else {
content => template("${module_name}/etc/elasticsearch/elasticsearch.yml.erb"),
mode => '0644',
notify => $notify_service,
- require => Class['elasticsearch::package']
+ require => Class['elasticsearch::package'],
}
$require_service = Class['elasticsearch::package']
}
elasticsearch::service { $name:
- ensure => $ensure,
- status => $status,
- init_defaults => $init_defaults_new,
- init_template => "${module_name}/etc/init.d/${elasticsearch::params::init_template}",
- require => $require_service,
- before => $before_service
+ ensure => $ensure,
+ status => $status,
+ init_defaults => $init_defaults_new,
+ init_defaults_file => $init_defaults_file,
+ init_template => "${module_name}/etc/init.d/${elasticsearch::params::init_template}",
+ require => $require_service,
+ before => $before_service,
}
}
path => [ '/bin', '/usr/bin', '/usr/local/bin' ],
cwd => '/',
tries => 3,
- try_sleep => 10
+ try_sleep => 10,
}
#### Package management
cwd => '/',
path => ['/usr/bin', '/bin'],
command => "mkdir -p ${elasticsearch::package_dir}",
- creates => $elasticsearch::package_dir;
+ creates => $elasticsearch::package_dir,
}
file { $package_dir:
case $protocol_type {
- puppet: {
+ 'puppet': {
file { $pkg_source:
- ensure => present,
+ ensure => file,
source => $elasticsearch::package_url,
require => File[$package_dir],
backup => false,
- before => $before
+ before => $before,
}
}
- ftp, https, http: {
+ 'ftp', 'https', 'http': {
exec { 'download_package_elasticsearch':
command => "${elasticsearch::params::download_tool} ${pkg_source} ${elasticsearch::package_url} 2> /dev/null",
creates => $pkg_source,
timeout => $elasticsearch::package_dl_timeout,
require => File[$package_dir],
- before => $before
+ before => $before,
}
}
- file: {
+ 'file': {
$source_path = $sourceArray[1]
file { $pkg_source:
- ensure => present,
+ ensure => file,
source => $source_path,
require => File[$package_dir],
backup => false,
- before => $before
+ before => $before,
}
}
ensure => 'absent',
purge => true,
force => true,
- backup => false
+ backup => false,
}
}
'action' => 'DEBUG',
'com.amazonaws' => 'WARN',
'index.search.slowlog' => 'TRACE, index_search_slow_log_file',
- 'index.indexing.slowlog' => 'TRACE, index_indexing_slow_log_file'
+ 'index.indexing.slowlog' => 'TRACE, index_indexing_slow_log_file',
}
#### Internal module values
$module_dir,
$instances,
$ensure = 'present',
- $url = '',
+ $url = undef,
$proxy_host = undef,
$proxy_port = undef,
) {
cwd => '/',
user => $elasticsearch::elasticsearch_user,
tries => 6,
- try_sleep => 10
+ try_sleep => 10,
}
$notify_service = $elasticsearch::restart_on_change ? {
if ($proxy_host != undef and $proxy_port != undef) {
$proxy = " -DproxyPort=${proxy_port} -DproxyHost=${proxy_host}"
} else {
- $proxy = ''
+ $proxy = '' # lint:ignore:empty_string_assignment
}
if ($url != '') {
creates => "${elasticsearch::plugindir}/${module_dir}",
returns => $exec_rets,
notify => $notify_service,
- require => File[$elasticsearch::plugindir]
+ require => File[$elasticsearch::plugindir],
}
}
default: {
location => "http://packages.elasticsearch.org/elasticsearch/${elasticsearch::repo_version}/debian",
release => 'stable',
repos => 'main',
- key => 'D88E42B4',
+ key => '46095ACC8548582C1A2699A9D27D666CD88E42B4',
key_source => 'http://packages.elasticsearch.org/GPG-KEY-elasticsearch',
include_src => false,
}
exec { 'elasticsearch_suse_import_gpg':
command => 'rpmkeys --import http://packages.elasticsearch.org/GPG-KEY-elasticsearch',
unless => 'test $(rpm -qa gpg-pubkey | grep -i "D88E42B4" | wc -l) -eq 1 ',
- notify => [ Zypprepo['elasticsearch'] ]
+ notify => [ Zypprepo['elasticsearch'] ],
}
zypprepo { 'elasticsearch':
name => 'elasticsearch',
gpgcheck => 1,
gpgkey => 'http://packages.elasticsearch.org/GPG-KEY-elasticsearch',
- type => 'yum'
+ type => 'yum',
}
}
default: {
--- /dev/null
+# == Define: elasticsearch::script
+#
+# This define allows you to insert, update or delete scripts that are used within Elasticsearch
+#
+# === Parameters
+#
+# [*ensure*]
+# String. Controls if the managed resources shall be <tt>present</tt> or
+# <tt>absent</tt>. If set to <tt>absent</tt>:
+# * The managed software packages are being uninstalled.
+# * Any traces of the packages will be purged as good as possible. This may
+# include existing configuration files. The exact behavior is provider
+# dependent. Q.v.:
+# * Puppet type reference: {package, "purgeable"}[http://j.mp/xbxmNP]
+# * {Puppet's package provider source code}[http://j.mp/wtVCaL]
+# * System modifications (if any) will be reverted as good as possible
+# (e.g. removal of created users, services, changed log settings, ...).
+# * This is thus destructive and should be used with care.
+# Defaults to <tt>present</tt>.
+#
+# [*source*]
+# Puppet source of the script
+# Value type is string
+# Default value: undef
+# This variable is optional
+#
+# === Authors
+#
+# * Richard Pijnenburg <mailto:richard.pijnenburg@elasticsearch.com>
+#
+define elasticsearch::script(
+ $ensure = 'present',
+ $source = undef,
+) {
+
+ require elasticsearch
+
+ # ensure
+ if ! ($ensure in [ 'present', 'absent' ]) {
+ fail("\"${ensure}\" is not a valid ensure parameter value")
+ }
+
+ validate_re($source, '^puppet://')
+
+ $filenameArray = split($source, '/')
+ $basefilename = $filenameArray[-1]
+
+ file { "${elasticsearch::configdir}/scripts/${basefilename}":
+ ensure => $ensure,
+ source => $source,
+ owner => $elasticsearch::elasticsearch_user,
+ group => $elasticsearch::elasticsearch_group,
+ mode => '0644',
+ }
+}
case $elasticsearch::real_service_provider {
- init: {
+ 'init': {
elasticsearch::service::init { $name:
ensure => $ensure,
status => $status,
init_template => $init_template,
}
}
- systemd: {
+ 'systemd': {
elasticsearch::service::systemd { $name:
ensure => $ensure,
status => $status,
group => 'root',
mode => '0644',
before => Service["elasticsearch-instance-${name}"],
- notify => $notify_service
+ notify => $notify_service,
}
} elsif ($init_defaults != undef and is_hash($init_defaults) ) {
lens => 'Shellvars.lns',
changes => template("${module_name}/etc/sysconfig/defaults.erb"),
before => Service["elasticsearch-instance-${name}"],
- notify => $notify_service
+ notify => $notify_service,
}
}
group => 'root',
mode => '0755',
before => Service["elasticsearch-instance-${name}"],
- notify => $notify_service
+ notify => $notify_service,
}
}
file { "/etc/init.d/elasticsearch-${name}":
ensure => 'absent',
- subscribe => Service["elasticsearch-instance-${name}"]
+ subscribe => Service["elasticsearch-instance-${name}"],
}
file { "${elasticsearch::params::defaults_location}/elasticsearch-${name}":
ensure => 'absent',
- subscribe => Service["elasticsearch-${$name}"]
+ subscribe => Service["elasticsearch-${$name}"],
}
}
group => 'root',
mode => '0644',
before => Service["elasticsearch-instance-${name}"],
- notify => $notify_service
+ notify => $notify_service,
}
} elsif ($init_defaults != undef and is_hash($init_defaults) ) {
lens => 'Shellvars.lns',
changes => template("${module_name}/etc/sysconfig/defaults.erb"),
before => Service["elasticsearch-instance-${name}"],
- notify => $notify_service
+ notify => $notify_service,
}
}
ensure => $ensure,
content => template($init_template),
before => Service["elasticsearch-instance-${name}"],
- notify => $notify_service
+ notify => $notify_service,
}
}
file { "/usr/lib/systemd/system/elasticsearch-${name}.service":
ensure => 'absent',
subscribe => Service["elasticsearch-instance-${name}"],
- notify => Exec["systemd_reload_${name}"]
+ notify => Exec["systemd_reload_${name}"],
}
file { "${elasticsearch::params::defaults_location}/elasticsearch-${name}":
ensure => 'absent',
subscribe => Service["elasticsearch-instance-${name}"],
- notify => Exec["systemd_reload_${name}"]
+ notify => Exec["systemd_reload_${name}"],
}
$service_require = undef
path => [ '/bin', '/usr/bin', '/usr/local/bin' ],
cwd => '/',
tries => 6,
- try_sleep => 10
+ try_sleep => 10,
}
# Build up the url
command => "curl -s -XDELETE ${es_url}",
onlyif => "test $(curl -s '${es_url}?pretty=true' | wc -l) -gt 1",
notify => $insert_notify,
- refreshonly => true
+ refreshonly => true,
}
if ($ensure == 'absent') {
if $content == undef {
# place the template file using the file source
file { "${elasticsearch::configdir}/templates_import/elasticsearch-template-${name}.json":
- ensure => 'present',
+ ensure => file,
source => $file,
notify => Exec[ "delete_template_${name}" ],
require => Exec[ 'mkdir_templates_elasticsearch' ],
} else {
# place the template file using content
file { "${elasticsearch::configdir}/templates_import/elasticsearch-template-${name}.json":
- ensure => 'present',
+ ensure => file,
content => $content,
notify => Exec[ "delete_template_${name}" ],
require => Exec[ 'mkdir_templates_elasticsearch' ],
command => "curl -sL -w \"%{http_code}\\n\" -XPUT ${es_url} -d @${elasticsearch::configdir}/templates_import/elasticsearch-template-${name}.json -o /dev/null | egrep \"(200|201)\" > /dev/null",
unless => "test $(curl -s '${es_url}?pretty=true' | wc -l) -gt 1",
refreshonly => true,
- loglevel => 'debug'
+ loglevel => 'debug',
}
}
{
"name": "elasticsearch-elasticsearch",
- "version": "0.9.3",
+ "version": "0.9.4",
"author": "elasticsearch",
"summary": "Module for managing and configuring Elasticsearch nodes",
"license": "Apache License, Version 2.0",