【发布时间】:2017-07-15 05:44:48
【问题描述】:
我有 3 个食谱
- my_java
- my_db_client
- my_app(取决于 my_db_client 和 my_java)
在 my_app 我有
default.rb
default[:my_app][:user] = "#{node[:my_db_client][:user]}"
default[:my_app][:group] = "#{node[:my_db_client][:group]}"
default[:my_app][:user_home] = "#{node[:my_db_client][:user_home]}"
default[:my_app][:base] = "#{node[:my_db_client][:base]}"
default[:my_app][:oracle_client_home] = "#{node[:my_db_client][:oracle_home]}"
在 my_db_client 我已经
default.rb
default[:my_db_client][:user] = "" --(Set from Role)
default[:my_db_client][:group] = "" --(Set from Role)
default[:my_db_client][:user_home] = "" --(Set from Role)
default[:my_db_client][:base] = "" --(Set from Role)
default[:my_db_client][:oracle_client_home] = "#{node[:my_db_client][:base]}/oracle/home"
角色1
default_attributes(
:my_db_client => {
:user => "myuser",
:group => "mygroup",
:user_home => '/home',
:base => '/u01'
}
)
run_list(
"recipe[my_db_client]",
"recipe[my_app::_install]"
)
角色2
default_attributes(
:my_java => {
:user => "myuser",
:group => "mygroup",
:user_home => '/home',
:base => '/u01'
}
)
run_list(
"recipe[my_java]",
"recipe[my_db_client]",
"recipe[my_app::_install]"
)
对于 Role1,一切正常。
但对于 Role2,默认 my_db_client 值设置为“”
[:my_db_client][:user] = ""
- 如何将 node[:my_java][:user] 中的值传递给 [:my_db_client][:user] ?
-
如何也设置以下值?
default[:my_db_client][:oracle_client_home] = "#{node[:my_db_client][:base]}/oracle/home"
【问题讨论】:
标签: chef-infra chef-recipe chef-solo