AWS
chef
test-kitchen
kitchen-ec2

test-kitchenで複数のドライバを利用する場合の設定

More than 3 years have passed since last update.

test-kitchenを使ってごにょごにょ開発環境を作っている時に複数のドライバを使いたい場合ってありますよね。

たとえば、kitchen-ec2使ってubuntu動かしてテストしているときとかかな?

でも、ec2だとお金かかるし、そもそもkitchen-vagrantだったり、kitchen-docker使って最終的な確認だけをkitchen-ec2使いたい場合とかですかね。

まあそんな感じで僕は両方のドライバを使いたくなったのでこんな感じにkitchen.yml書いてみました。

kitchen.yml
---
provisioner:
  name: chef_solo

platforms:
  - name: ubuntu-ec2
    driver:
      name: ec2
      aws_access_key_id: <%= ENV["AWS_ACCESS_KEY"] %>
      aws_seret_access_key: <%= ENV["AWS_SECRET_KEY"] %>
      aws_ssh_key_id: <%= ENV["AWS_KEY_PAIR"] %>
      ssh_key: <%= File.expand_path("#{ENV['AWS_KEY_PATH']}") %>
      security_group_ids: ["グループID"]
      region: ap-northeast-1
      availability_zone: ap-northeast-1a
      require_chef_omnibus: true
      ebs_volume_size: 4
      ebs_device_name: 'true'
      ebs_device_name: '/dev/sda'
      flavor_id: 't2.micro'
      tags:
        Name: test-kitchen
      image_id: ami-e74b60e6
      username: ubuntu
  - name: ubuntu-vagrant
    driver:
      name: vagrant
      box: ubuntu/trusty64

suites:

platformsでそれぞのドライバ設定できたんですね。

driver_configとdriverの違いとかいまいちよくわかってないんですが、とりあえずこれで行けるぽいです。

ただ、chef社のkitchen.ymlを見ている感じだと、やっぱdriver_plugindriver_configを指定したほうがいいのかなぁーと思います。

おしまい。