Hi Richard,

another question: you are creating the elasticsearch user and group 
somewhere in the module (havent found exactly where yet). My problem is 
that I have to create a directory for data_dir (on a different device) that 
is needed by the class (or instance, not sure), but I need the owner and 
the group to be able to set it otherwise the service won't start. Can I set 
a requirement in my file declaration to make sure that the user and the 
group already exist? Something like

  file { "/data/elasticsearch":
    ensure  => "directory",
    owner   => "elasticsearch",
    group   => "elasticsearch",
    require => ???
  }


Once again, thanks!
Andrej

Am Dienstag, 1. Juli 2014 14:37:55 UTC+2 schrieb Richard Pijnenburg:
>
> Hi Andrej,
>
> Sorry for the late response. Didn't get an update email about it.
>
> As long as you don't setup an instance with the 'elasticsearch::instance' 
> define it will only install the package but do nothing afterwards.
> I recently fixed that the default files from the packages are being 
> removed now.
> The memory can be set via the init_defaults hash by setting the ES_HEAP 
> option.
>
> The issue with 0.90.x versions is that it automatically starts up after 
> package installation.
> Since i don't stop it, it keeps running. Its advised to run a newer 
> version of ES since 0.90.x will be EOL'd at some point.
>
>
> On Thursday, June 26, 2014 2:24:47 PM UTC+1, Andrej Rosenheinrich wrote:
>>
>> Hi Richard,
>>
>> thanks for your answer, it for sure helped! Still, I am puzzling with a 
>> few effects and questions:
>>
>> 1.) I am a bit confused by your class/instance idea. I can do something 
>> pretty simple like class { 'elasticsearch' :  version => '0.90.7' } and it 
>> will install elasticsearch in the correct version using the default 
>> settings you defined. Repeating this (I tested every step on a fresh debian 
>> instance in a VM, no different puppet installation steps in between) with a 
>> config added in class like 
>>
>> class { 'elasticsearch' :
>>     version => '0.90.7',
>>     config => {
>>       'cluster'            => {
>>         'name'             => 'andrejtest'
>>       },
>>       'http.port' => '9210'
>>     }
>> }
>>   
>> I still get elasticsearch installed, but it completely ignores everything 
>> in the config. (I should be able to curl localhost:9210, but its up and 
>> running on the old default port, using the old cluster name). You explained 
>> overwriting for instances and classes a bit, so I tried the following thing 
>> (again, blank image, no previous installation) :
>>
>>   class { 'elasticsearch' :
>>     version => '0.90.7',
>>     config => {
>>       'cluster'            => {
>>         'name'             => 'andrejtest'
>>       },
>>       'http.port' => '9210'
>>     }
>>   }
>>
>>   elasticsearch::instance { 'es-01':
>>   }
>>
>> What happened is that I have two elasticsearch instances running, one 
>> with the default value and another one (es-01) that uses the provided 
>> configuration. Even freakier, I install java7 in my script before the 
>> snippet posted , the first (default based) elasticsearch version uses the 
>> standard openjdk-6 java, the second instance (es-01) uses java7. 
>> So, where is my mistake or what am I doing wrong? What would be the way 
>> to install and start only one service using provided configuration? And 
>> does elasticsearch::instance require an instance name? I would really miss 
>> the funny comic node names ;)
>>
>> 2. As you pointed out I can define all values from elasticsearch.yml in 
>> the config hash. But what about memory settings (I usually modify the 
>> init.d script for that), can I configure Xms and Xmx settings in the puppet 
>> module somehow?
>>
>> Logging configuration would be a nice-to-have (no must-have), just in 
>> case you were wondering ;)
>>
>> I hope my questions don't sound too confusing, if you could give me a 
>> hint on what I am doing wrong I would really appreciate it.
>>
>> Thanks in advance!
>> Andrej
>>
>>
>> Am Freitag, 20. Juni 2014 09:44:49 UTC+2 schrieb Richard Pijnenburg:
>>>
>>> Hi Andrej,
>>>
>>> Thank you for using the puppet module :-)
>>>
>>> The 'port' and 'discovery minimum' settings are both configuration 
>>> settings for the elasticsearch.yml file.
>>> You can set those in the 'config' option variable, for example:
>>>
>>> elasticsearch::instance { 'instancename':
>>>   config => { 'http.port' => '9210', 
>>> 'discovery.zen.minimum_master_nodes' => 3 }
>>> }
>>>
>>>
>>> For the logging part, management of the logging.yml file is very limited 
>>> at the moment but i hope to get some feedback on extending that.
>>> The thresholds for the slowlogs can be set in the same config option 
>>> variable.
>>> See 
>>> http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/index-modules-slowlog.html#index-slow-log
>>>  
>>> for more information.
>>>
>>> If you have any further questions, let me know.
>>>
>>> Cheers
>>>
>>> On Thursday, June 19, 2014 9:53:10 AM UTC+1, Andrej Rosenheinrich wrote:
>>>>
>>>> Hi,
>>>>
>>>> i am playing around with puppet-easticsearch 0.4.0, works wells so far 
>>>> (thanks!), but I am missing a few options I havent seen in the 
>>>> documentation. As I couldnt figure it out immediately by reading the 
>>>> scripts, may be someone can help me fast on this:
>>>>
>>>> - there is an option to change the port (9200), but this is only the 
>>>> http port. Is there an option to change the tcp transport port as well?
>>>> - how can I configure logging? I think about logfile names and 
>>>> loglevel, may be even thresholds for slowlog. May be this is interesting 
>>>> enough to add it to the documentation?
>>>> - is there an option in the module to easily configure memory usage?
>>>> - how can I configure the discovery minimum?
>>>>
>>>> I am aware that I could go ahead and manipulate the elasticsearch.yml 
>>>> file with puppet, I am just curious if there are options for my questions 
>>>> already implemented in the module I have missed. So if someone could give 
>>>> me a hint or an example it would be really helpful!
>>>>
>>>> Thanks in advance!
>>>> Andrej
>>>>
>>>

-- 
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elasticsearch+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/30117937-d76f-41fb-a8e3-a01f06d0e1f8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to