J'ai 3 recetteChef: réinitialiser les valeurs par défaut pour une recette
- my_java
- my_db_client
- my_app (dépend de my_db_client et my_java)
En my_app j'ai
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]}"
En my_db_client j'ai
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"
Rôle1
default_attributes(
:my_db_client => {
:user => "myuser",
:group => "mygroup",
:user_home => '/home',
:base => '/u01'
}
)
run_list(
"recipe[my_db_client]",
"recipe[my_app::_install]"
)
Role2
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]"
)
Pour Rôle1 les choses fonctionnent bien.
Mais pour Role2 la valeur my_db_client par défaut sont mis à ""
[:my_db_client][:user] = ""
- Comment puis-je passer la valeur du nœud [: my_java] [: user] à [: my_db_client] [: utilisateur ]?
Comment puis-je également définir les valeurs ci-dessous?
default[:my_db_client][:oracle_client_home] = "#{node[:my_db_client][:base]}/oracle/home"
Dans my_app, les valeurs default.rb sont définies à partir des noeuds my_db_client, mais dans role2, je capture les données dans my_java node. Maintenant, comment définir les valeurs dans les nœuds my_db_client à partir des nœuds my_java? –
Je ne comprends pas la question, si c'est ce que vous voulez faire, faites-le. – coderanger