2017-02-21 1 views
0

マイberkshelfのフォルダ構造が似ているJavaのインストール:Berkshelf:8

│ Berksfile 
│ Berksfile.lock 
│ chefignore 
│ knife.rb 
│ living.pem 
│ metadata.rb 
├───recipes 
│  default.rb 
│  elasticsearch.rb 
│  java.rb 

recipe.rbの内容は次のとおりです。

default.rbコンテンツファイル:

include_recipe 'berk::java' 
include_recipe 'berk::elasticsearch' 

java.rbコンテンツファイル:

include_recipe 'java' 

elasticsearch.rbコンテンツファイル:

include_recipe 'elasticsearch' 

elasticsearch_user 'elasticsearch' do 
    username 'elasticsearch' 
    groupname 'elasticsearch' 
    shell '/bin/bash' 
    comment 'Elasticsearch User' 

    action :create 
end 

elasticsearch_install 'my_es_installation' do 
    type 'package' # type of install 
    version '5.2.0' 
    action :install # could be :remove as well 
end 

... 

私は、OracleのJavaの8を使用するためにJavaの設定を変更したいと思います。私はおそらく、それは非常に簡単な質問にもかかわらず、私は本当にその問題に立ち往生していることを知っている。

私はjava.rbにこれらの行を追加しようとしました:

node.default['java']['install_flavor'] = 'oracle' 
node.default['java']['jdk_version'] = '8' 
node.default['java']['oracle']['accept_oracle_download_terms'] = true 

そしてまた、私が試した:

node.override['java']['install_flavor'] = 'oracle' 
node.override['java']['jdk_version'] = '8' 
node.override['java']['oracle']['accept_oracle_download_terms'] = true 

はそれにもかかわらず、Javaの6がインストールされている:

==> default: * log[jdk-version-changed] action nothing (skipped due to action :nothing) 
==> default: Recipe: java::openjdk 
==> default: * yum_package[java-1.6.0-openjdk] action install 
==> default: [2017-02-21T15:10:33+00:00] INFO: yum_package[java-1.6.0-openjdk] installing java-1.6.0-openjdk-1.6.0.41-1.13.13.1.el7_3 from updates repository 

何か案は?

ありがとうございました。

答えて

1

attributes/default.rbファイルを使用して、既定のレベルでこれらの属性を定義しても十分であり、すべてが正しくなるように、レシピ内の属性を上書きしないでください。

Javaレシピを組み込んだ後で属性をオーバーライドしている可能性があります。したがって、レシピがコンパイルされる前にすべての属性ファイルが読み込まれます。include_recipeターゲットレシピが表示されるとすぐにコンパイルします。ファイルは次のようになります。

include_recipe 'java' 

node.default['java']['install_flavor'] = 'oracle' 
node.default['java']['jdk_version'] = '8' 
node.default['java']['oracle']['accept_oracle_download_terms'] = true 

属性が更新される前に、Javaレシピのリソースがコンパイルされます。

そうで内attributesディレクトリとファイルdefault.rbを作成します:

default['java']['install_flavor'] = 'oracle' 
default['java']['jdk_version'] = '8' 
default['java']['oracle']['accept_oracle_download_terms'] = true 

そして、あなたは、java 8がインストールされています。

アトリビュートディレクトリ内のファイルは、2つのファイルが同じアトリビュートで異なる値を設定している場合に問題ありませんが、アトリビュートを分離する場合は、java.rbelasticsearch.rbにすることができますレシピごとに

関連する問題