【问题标题】:Unable to load provisioning/aws_driver when running chef test kitchen运行厨师测试厨房时无法加载配置/aws_driver
【发布时间】:2017-07-05 16:34:27
【问题描述】:

我正在尝试设置厨房,但在这方面遇到了困难。

据我所知,yml 看起来是正确的,但在运行配方时总是出错。

错误: 加载错误

cannot load such file -- chef/provisioning/aws_driver
and
[2017-07-04T15:09:11+00:00] ERROR: cannot load such file -- chef/provisioning/aws_driver
[2017-07-04T15:09:11+00:00] ERROR: cannot load such file -- chef/provisioning/aws_driver

我的 yml 是:

driver:
name: ec2
aws_ssh_key_id: key
security_group_ids: ["sg-", "sg-"]
reqion: us-east-1
require_chef_omnibus: true
subnet_id: subnet-x
instance_type: t2.micro
associate_public_ip: true
interface: public

provisioner:
name: chef_zero

platforms:

name: amazon-linux
driver:
image_id: ami-a4c7edb2
transport:
ssh_key: C:\Keys.pem
connection_timeout: 10
connection_retries: 5
username: ec2-user
suites:

name: default
run_list:
recipe[solr::default]
attributes:

【问题讨论】:

  • Chef-provisioning 和 Test Kitchen 没有任何关系。你想用哪个?
  • 我要测试的菜谱中包含 'require 'chef/provisioning/aws_driver' with_driver 'aws:Test:us-east-1'' 我认为测试厨房反对
  • 确实,在 Test Kitchen 中运行该配方的可能性不大,因为您要测试的是运行该配方的主机,而不是由它创建的 EC2 实例。您可能需要重新配置 TK 来安装 ChefDK 而不是普通的 Chef 安装程序,这是可行的,但正如所提到的,最终可能没用。
  • 你想测试什么?
  • @coderanger - 我有一个包含几个红宝石块的配方,并且想要测试收敛时间结果等。

标签: rspec chef-infra test-kitchen


【解决方案1】:

在 cmets 中已解决,Test Kitchen 通常会安装不包含 chef-provisioning 的标准 Chef 安装程序包。您可以将其设置为安装和使用 ChefDK,但这需要一些复杂的配置,并且目前存在一些主要的性能问题,因此不建议这样做。

如果人们通过 Google 找到此内容,则更直接地说,您不能(目前)使用 Test Kitchen 来测试厨师供应代码,因为我们没有在测试结束时清理内容的系统,也没有除了 Kitchen 实例 VM 本身之外,还可以测试有关所创建系统的任何内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-04
    • 1970-01-01
    • 2017-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多