簡體   English   中英

Chef AWS驅動程序標簽無法在Etc.getlogin中使用

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM