Chef infra 厨师:重置配方的默认值

Chef infra 厨师:重置配方的默认值,chef-infra,chef-recipe,chef-solo,Chef Infra,Chef Recipe,Chef Solo,我有三个食谱 我的爪哇 我的客户 my_应用程序(取决于我的_db_客户端和我的_java) 在我的应用程序中,我 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_hom

我有三个食谱

  • 我的爪哇
  • 我的客户
  • my_应用程序(取决于我的_db_客户端和我的_java)
  • 在我的应用程序中,我

    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]}"
    
    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"
    
    在我的客户中,我

    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]}"
    
    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

    角色2

    就角色1而言,一切正常

    但对于角色2,默认的my_db_客户端值设置为“”

  • 如何将值从节点[:my_java][:user]传递到 [:我的数据库客户端][:用户]
  • 如何也设置以下值

    default[:my_db_client][:oracle_client_home] = "#{node[:my_db_client][:base]}/oracle/home"
    

  • 如果希望
    node['my\u db\u client']['user']
    的默认值为
    node['my\u java']['user']
    的值,请在属性文件中执行此操作。我不太确定问题是什么,因为在其他情况下你已经这样做了,所以你一定是因为某些特定原因而忽略了它?

    在我的my_应用程序中,default.rb值是从my_db_客户端节点设置的,但在role2中,我将数据捕获到my_java节点中。现在,我如何将值从我的java节点设置到我的\u db\u客户端节点?我不理解这个问题,如果这是你想要做的,就去做吧。
    default[:my_db_client][:oracle_client_home] = "#{node[:my_db_client][:base]}/oracle/home"