Comments (9)
@jsirex That's bad... I know Chef 11 changed how attributes are handled and evaluated, what Chef version this is?
from elasticsearch.
I'm using Chef 10.x. At chef wiki.
First, chef applies default attributes. Then overrides default attributes by role, env, etc. If I specify only version in my role-file, for example, download_url stay unchanged, because it is already evaulated by old node.elasticsearch['version'] value. I have to explicitly override atleast version and download_url to make it work.
Also I have to say that I'm very new in Chef and, probably, do something wrong with it.
from elasticsearch.
There's something weird in your case, since attributes set in role
have higher precedence then node attributes. I know the same code as in the cookbook works with roles -- I have to add a test role to the cookbook and evaluate that. Make sure you're overriding the attribute in the role
file properly -- please post the relevant snippet.
from elasticsearch.
In role file I put:
override_attributes "elasticsearch" => {
:version => '0.19.8'
}
On Chefs' side (isn't it? I'm not sure):
- Chef Evaluate node with default attributes (:version => '0.20.1', :download_url => "http://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.20.1.tar.gz")
- Chef processes role and override only version attribute (:version => '0.19.8', :download_url => "http://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.20.1.tar.gz")
- Recipe uses :download_url for downloading and "elasticsearch-#{node.elasticsearch[:version]}" for target folder
About attributes I've read here: http://wiki.opscode.com/display/chef/Attributes
from elasticsearch.
Have a look at what file is Chef trying to download -- it's in the output. Raise the level to debug
to see more info.
Actually, the Chef 11 changelog states that the behaviour should work as you expect here, ie. correctly compose the node.elasticsearch.download_url
attribute.
from elasticsearch.
@jsirex Any new info here? I'm able to upgrade/downgrade the version just fine, the only problem is that the service isn't restarted.
My steps:
$EDITOR Vagrantfile # Change version to 0.19.0
time CHEF=latest bundle exec vagrant provision precise64
...
DEBUG: Streaming download from http://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.19.0.tar.gz to tempfile /tmp/chef...
INFO: Processing directory[/usr/local/elasticsearch-0.19.0] action create (dynamically defined)
...
time CHEF=latest bundle exec vagrant ssh precise64 -c 'ls -la /usr/local/elasticsearch'
lrwxrwxrwx 1 root root 31 Feb 26 12:57 /usr/local/elasticsearch -> /usr/local/elasticsearch-0.19.0
Please try this out with latest versions of either Chef 10.x or 11.x and post relevant parts of the Chef run output (increase level to DEBUG).
from elasticsearch.
As a side note, the cookbook now installs the pry
gem into Chef, so you can put this in your recipes/default.rb file:
require 'pry'
binding.pry
When you run Chef with:
sudo chef-solo -j /etc/vagrant-chef/dna.json -c /etc/vagrant-chef/solo.rb
you'll get an interactive console where you can check and manipulate node attributes etc.
from elasticsearch.
@karmi, thanks.
Looks like I have to upgrade Chef to 11.x.
from elasticsearch.
@jsirex It works on 10.24.0 just fine
from elasticsearch.
Related Issues (20)
- Switch from Foodcritic to Cookstyle
- Systemd does not start elasticsearch with Type=notify HOT 5
- Log4j ESJsonLayout not available in ES 6.x
- Support for 6.8.10
- elasticsearch_install don't converge in idempotency state HOT 2
- cluster.initial_master_nodes HOT 3
- deprecated options jvm.options file HOT 3
- Provide support for elasticsearch-oss and custom package name install
- node.roles attribute cannot be set through configuration HOT 1
- allow package to manage it's own init.d/systemd scripts HOT 1
- plugin install fails cause of input dialog/tty
- trigger plugin remove/install when upgrading HOT 2
- Is this cookbook still maintained? HOT 2
- Entire cookbook stopped working with HOT 2
- Stop using Travis CI
- [Ubuntu 20.04] ElasticSearch_install 7.5.1 HOT 1
- Any way to override yum repo in attributes?
- support for ES 8.x? HOT 2
- Dependency Dashboard
- Allow configuration of systemd service Restart directive
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from elasticsearch.