【问题标题】:Using chef array attribute within bash resource在 bash 资源中使用厨师数组属性
【发布时间】:2016-04-29 23:36:16
【问题描述】:

我有 node['server']['ipaddress'] 属性,其中包括以下 3 个 IP 地址:

node['server']['ipaddress']=["10.211.241.21", "10.211.241.20", "10.211.241.22"]

我现在正在尝试在 chef bash 资源中使用上述值

bash 'configure_engine_discovery' do
  code <<-EOH
  echo `docker run --server ipaddress1 --server ipaddress2 --server ipaddress3 --update`
  EOH
end

可能有超过 3 个 ipaddresses,我想让上面的 bash 命令更加动态,这样我就不需要每次都更改 bash 并且它可以容纳任意数量的服务器 ips

【问题讨论】:

    标签: ruby bash shell chef-infra chef-recipe


    【解决方案1】:

    试试这个:

    server_specs = node['server']['ipaddress'].map { |s| "--server #{s}" }.join(' ')
    command = "docker run #{server_specs} --update"
    echo command
    

    顺便问一下,为什么不以复数形式命名键 ipaddresses 而不是 ipaddress?这让读者感到困惑。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-30
      • 2018-01-28
      • 2017-07-31
      • 2014-07-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多