[英]Chef aws driver tags don't work using Etc.getlogin
我目前在Windows计算机上单独使用Chef。 我使用了雾驱动程序,然后才在AWS上为我的实例创建标签。 最近,我移至aws驱动程序,并注意到aws驱动程序无法处理标记。 我尝试编写自己的代码来创建标签。 标签之一是“所有者”,它告诉我创建实例的人。 为此,我使用以下代码:
def get_admin_machine_options()
case get_provisioner()
when "cccis-environments-aws"
general_machine_options = {ssh_username: "root",
create_timeout: 7000,
use_private_ip_for_ssh: true,
aws_tags: {Owner: Etc.getlogin.to_s}
}
general_bootstrap_options = {
key_name: KEY_NAME,
image_id: "AMI",
instance_type: "m3.large",
subnet_id: "subnet",
security_group_ids: ["sg-"],
}
bootstrap_options = Chef::Mixin::DeepMerge.hash_only_merge(general_bootstrap_options,{})
return Chef::Mixin::DeepMerge.hash_only_merge(general_machine_options, {bootstrap_options: bootstrap_options})
else
raise "Unknown provisioner #{get_setting('CHEF_PROFILE')}"
end
end
machine admin_name do
recipe "random.rb"
machine_options get_admin_machine_options()
ohai_hints ohai_hints
action $provisioningAction
end
现在,这在我的机器上可以正常工作。 该实例是在我的计算机上创建的,带有适当的标记,但是当我在其他人的计算机上运行相同的代码时。 它根本不会创建标签。 我觉得这很奇怪。 有人知道发生了什么吗? 我有相同的代码!
好的,所以我找到了问题。 我使用的是宝石厨师调配锯1.2.1,其他所有人都在1.1.1上
gem 1.1.1不支持标记,因此刚过去。
我卸载了旧的gem,然后安装了新的gem。 它就像一个魅力!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.