【发布时间】:2017-05-23 12:20:11
【问题描述】:
我在我的环境中使用 mongodb3 食谱(从厨师超市购买)。当我们传递像 [10.10.0.10,127.0.0.1] 这样的 mongos 模板的输入时,输出文件的创建语法不正确:
PFB out put -
net:
port: 27017
bindIp: ! '[10.10.0.10,127.0.0.1]'
方括号周围有一个! 和'',而不仅仅是[10.10.0.10,127.0.0.1]
我正在使用下面的函数进行转换。
module Mongodb3Helper
def mongodb_config(config)
config.to_hash.compact.to_yaml
end
end
class Hash
def compact
inject({}) do |new_hash, (k, v)|
if v.is_a?(Hash)
v = v.compact
new_hash[k] = v unless v.empty?
else
new_hash[k] = v unless v.nil?
end
new_hash
end
end
end
【问题讨论】:
-
显示您的厨师食谱,但您在此处执行的操作有问题。引用 mongo documetnation:“要绑定到多个 IP 地址,请输入逗号分隔值的列表。”因此,只需将属性设置为 IP 以逗号分隔的字符串而不是数组,就可以了。
-
我正在传递这样的输入 '[10.10.10.10'+',127.0.0.1]' 这是正确的吗?
-
不,只需传递
"10.10.0.10,127.0.0.1"一个简单的字符串,IP 用逗号分隔... -
好的...但我需要像这样 [10.10.10.10,127.0.0.1] 不带引号
-
为什么需要方括号?这不是 mongodb 3.4 文档所说的。但如果你真的想要,只需将它们添加到字符串中而不是外部:
"[10.10.0.10,127.0.0.1]"
标签: ruby-on-rails-3 chef-infra yaml chef-recipe