[英]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.