【问题标题】:Errors occurred wher using Chef-solo+vagran+AWS+ Mac OS X使用 Chef-solo+vagrant+AWS Mac OS X 时出现错误
【发布时间】:2013-11-29 02:32:44
【问题描述】:

我打算使用 Vagrant,Chef-solo 建立一个 AWS 环境。但是我遇到了一些我无法解决的错误。有人可以帮帮我吗?

我使用的步骤:

  1. 在 Mac OS X 上安装所有必要的环境:如 vagrant、vagrant 插件、虚拟盒子、厨师、厨师插件等。

  2. 下载 vagrant 配置文件:

    git clone https://github.com/ICTatRTI/ict-chef-repo
    
  3. Vagrantfile

    # -*- mode: ruby -*-
    # vi: set ft=ruby :
    Vagrant.configure("2") do |config|
      # All Vagrant configuration is done here. The most common configuration
      # options are documented and commented below. For a complete reference,
      # please see the online documentation at vagrantup.com.
      #config.vm.box_url = "https://opscode-vm.s3.amazonaws.com/vagrant/opscode_ubuntu-12.04_chef-11.2.0.box"
      #config.vm.box = "opscode-ubuntu-1204"
      config.vm.box = "dummy"
      config.vm.network :forwarded_port, guest: 80, host: 8888
      config.vm.network :forwarded_port, guest: 3306, host: 3333
      config.ssh.username = "ubuntu"
    
      config.vm.provider :aws do |aws, override|
      #config.vm.provider :aws do |aws|
        aws.access_key_id     = 'XXXXXXXXXXXXXXXQ'
        aws.secret_access_key = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
        aws.keypair_name = "usr-aws-2013"
        aws.availability_zone = "us-west-2c"
        aws.instance_type = "t1.micro"
        aws.region = "us-west-2"
        aws.ami = "ami-0849a03f"
        aws.security_groups = ['quicklaunch-1']
        aws.tags = { 
          'Name' => 'tong',
          'Description' => 'vagrant test'
        } 
        override.ssh.private_key_path = "~/.ssh/usr-aws-2013.pem"
        override.ssh.username = "ubuntu"
      end
      config.vm.provision :chef_solo do |chef|
    
         chef.node_name = 'base' 
         chef.cookbooks_path = "./cookbooks"
         chef.roles_path = "./roles"
         chef.add_role "base"
         chef.add_role "ushahidi"
       end
    
    end
    
  4. 运行:

    vagrant up --provider=aws
    
  5. 出现以下错误

    Bringing machine 'default' up with 'aws' provider...
    WARNING: Nokogiri was built against LibXML version 2.8.0, but has dynamically loaded 2.9.1
    [default] Warning! The AWS provider doesn't support any of the Vagrant
    high-level network configurations (`config.vm.network`). They
    will be silently ignored.
    [default] Launching an instance with the following settings...
    [default]  -- Type: t1.micro
    [default]  -- AMI: ami-0849a03f
    [default]  -- Region: us-west-2
    [default]  -- Availability Zone: us-west-2c
    [default]  -- Keypair: usr-aws-2013
    [default]  -- Security Groups: ["quicklaunch-1"]
    [default]  -- Block Device Mapping: []
    [default]  -- Terminate On Shutdown: false
    An error occurred while executing multiple actions in parallel.
    Any errors that occurred are shown below.
    
    An unexpected error ocurred when executing the action on the
    'default' machine. Please report this as a bug:
     The image id '[ami-0849a03f]' does not exist
    

【问题讨论】:

  • 对我来说很明显:在提供的区域和区域中没有“ami-0849a03f”,或者您可能无法访问它。
  • 嗨 @DracoAter 我在 AWS EC2 控制台中创建一个实例,我确保有一个实例看起来像“i-bddcf889 t1.micro us-west-2b running”并且我更改了 Vagrantfile "aws.availability_zone = "us-west-2b" aws.instance_type = "t1.micro" aws.region = "us-west-2" aws.ami = "ami-bddcf889"" 但它显示相同的错误

标签: amazon-web-services chef-infra vagrant chef-solo


【解决方案1】:

InstanceAMI不同的东西,它们的编号也不同。因此,如果您有 i-bddcf889,则不能在 Vagrantfile 中将其引用为 ami-bddcf889

相反,您不必手动创建/启动实例 - 您必须提供 ami,Vagrant 将从该 ami 中创建实例本身。例如,以您手动创建的实例为例。

【讨论】:

  • 您好,很抱歉回复晚了,但我们之间似乎有几个时差。你是对的,我完全误解了它。但是我怎样才能正确获得这个 ami 编号和区域?我找到了一个可以找到 amis 的站点,但我真的不知道如何使用它,这些 AMIS 之间的引导文件有什么区别吗?这些[链接]aws.amazon.com/marketplace/search/results/…
  • 如果操作系统仍然是同一类型(Linux、Windows、Mac),则应该没有任何差异
  • 在我的 AWS 控制台页面中,我发现“您不拥有任何符合您的过滤条件的图像。使用上面的过滤器控件查看亚马逊和其他人拥有的图像。”在 AMIs 标签中,我需要在其中创建/导入 AMIs 吗?你能告诉我怎么做吗?
  • 搜索亚马逊和其他人拥有的图片 - 它们是公开的
  • 非常感谢~我知道了~成功了!
猜你喜欢
  • 2013-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-31
  • 2015-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多