Test-kitchen + chef-zero


#1

It looks like the initial support for chef-zero provisioner has been added
to test-kitchen but it’s not working for me:
https://gist.github.com/iroller/8a297dd53438ce02c5e7 (shows chef-zero as a
provisioner, but still trying to use chef-solo on converge)

Is there a way to use Chef-zero with test-kitchen in the same way it works
with Vagrantfile?
Maybe there is some pull request I can clone&merge or a fork where it works?


Best regards,
Koldaev Anton


#2

updated gist: https://gist.github.com/iroller/54912998eac3ace049a1

On Tue, Sep 24, 2013 at 3:58 PM, Anton Koldaev koldaevav@gmail.com wrote:

It looks like the initial support for chef-zero provisioner has been added
to test-kitchen but it’s not working for me:
https://gist.github.com/iroller/8a297dd53438ce02c5e7 (shows chef-zero as
a provisioner, but still trying to use chef-solo on converge)

Is there a way to use Chef-zero with test-kitchen in the same way it works
with Vagrantfile?
Maybe there is some pull request I can clone&merge or a fork where it
works?


Best regards,
Koldaev Anton


Best regards,
Koldaev Anton


#3

Whereas the vagrant-chef-zero vagrant plugin can be used with a Vagrantfile
to start chef-zero on the host, I have not found a way to get test-kitchen
to use chef-zero instance on the host. The test-kitchen chef_zero
provisioner seems to install chef-zero on the guest and use it that way.

To get that to work, make sure you do not have a Vagrantfile in the
directory you are running test-kitchen, and under the platform section add
"use_vagrant_provision: false".

Example:


driver_plugin: vagrant

platforms:

  • name: ubuntu-precise
    driver_config:
    box: ubuntu-12.04
    box_url: .box
    provider: virtualbox
    use_vagrant_berkshelf_plugin: true
    use_vagrant_provision: false

provisioner: chef_zero

suites:

  • name: default
    run_list: []
    attributes: {}

On Tue, Sep 24, 2013 at 8:02 AM, Anton Koldaev koldaevav@gmail.com wrote:

updated gist: https://gist.github.com/iroller/54912998eac3ace049a1

On Tue, Sep 24, 2013 at 3:58 PM, Anton Koldaev koldaevav@gmail.comwrote:

It looks like the initial support for chef-zero provisioner has been
added to test-kitchen but it’s not working for me:
https://gist.github.com/iroller/8a297dd53438ce02c5e7 (shows chef-zero as
a provisioner, but still trying to use chef-solo on converge)

Is there a way to use Chef-zero with test-kitchen in the same way it
works with Vagrantfile?
Maybe there is some pull request I can clone&merge or a fork where it
works?


Best regards,
Koldaev Anton


Best regards,
Koldaev Anton


#4

The test-kitchen chef_zero provisioner seems to install chef-zero on the
guest
Oh, that makes sense

On Tue, Sep 24, 2013 at 4:25 PM, Carlton Stedman cstedman@dyn.com wrote:

Whereas the vagrant-chef-zero vagrant plugin can be used with a
Vagrantfile to start chef-zero on the host, I have not found a way to get
test-kitchen to use chef-zero instance on the host. The test-kitchen
chef_zero provisioner seems to install chef-zero on the guest and use it
that way.

To get that to work, make sure you do not have a Vagrantfile in the
directory you are running test-kitchen, and under the platform section add
"use_vagrant_provision: false".

Example:


driver_plugin: vagrant

platforms:

  • name: ubuntu-precise
    driver_config:
    box: ubuntu-12.04
    box_url: .box
    provider: virtualbox
    use_vagrant_berkshelf_plugin: true
    use_vagrant_provision: false

provisioner: chef_zero

suites:

  • name: default
    run_list: []
    attributes: {}

On Tue, Sep 24, 2013 at 8:02 AM, Anton Koldaev koldaevav@gmail.comwrote:

updated gist: https://gist.github.com/iroller/54912998eac3ace049a1

On Tue, Sep 24, 2013 at 3:58 PM, Anton Koldaev koldaevav@gmail.comwrote:

It looks like the initial support for chef-zero provisioner has been
added to test-kitchen but it’s not working for me:
https://gist.github.com/iroller/8a297dd53438ce02c5e7 (shows chef-zero
as a provisioner, but still trying to use chef-solo on converge)

Is there a way to use Chef-zero with test-kitchen in the same way it
works with Vagrantfile?
Maybe there is some pull request I can clone&merge or a fork where it
works?


Best regards,
Koldaev Anton


Best regards,
Koldaev Anton


Best regards,
Koldaev Anton


#5

Did you get it to work with the chef_zero provisioner by setting
’use_vagrant_provision:false’? I didn’t need to do that to get it to work.
Simply using ‘provisioner:chef_zero’ worked for me when I used it a couple
months ago. Are you sure you’re using a version of test-kitchen with
chef_zero support. It’s only in 1.0.0.beta1, beta2 and beta3. No final
release yet that I see. I just installed directly from master.
Here’s what worked for me. Just, bundle install and then kitchen verify.


~ ᐅ grep -v ‘^#’ src/cookbooks/glusterfs/.kitchen.yml

driver_plugin: vagrant
driver_config:
require_chef_omnibus: true
provisioner: chef_zero

platforms:

suites:

  • name: client
    run_list: [“recipe[glusterfs]”]
    attributes: {}
  • name: server
    run_list: [“recipe[glusterfs]”, “recipe[glusterfs::server]”]
    attributes: {}

~ ᐅ grep -v ‘^#’ src/cookbooks/glusterfs/Gemfile
source ‘https://rubygems.org

gem 'berkshelf’
group :integration do
gem ‘kitchen-vagrant’, :git => '
https://github.com/opscode/kitchen-vagrant.git
gem ‘test-kitchen’, :git => 'git://github.com/opscode/test-kitchen.git’
end

Regards,
John

On Wed, Sep 25, 2013 at 7:23 AM, Anton Koldaev koldaevav@gmail.com wrote:

The test-kitchen chef_zero provisioner seems to install chef-zero on
the guest
Oh, that makes sense

On Tue, Sep 24, 2013 at 4:25 PM, Carlton Stedman cstedman@dyn.com wrote:

Whereas the vagrant-chef-zero vagrant plugin can be used with a
Vagrantfile to start chef-zero on the host, I have not found a way to get
test-kitchen to use chef-zero instance on the host. The test-kitchen
chef_zero provisioner seems to install chef-zero on the guest and use it
that way.

To get that to work, make sure you do not have a Vagrantfile in the
directory you are running test-kitchen, and under the platform section add
"use_vagrant_provision: false".

Example:


driver_plugin: vagrant

platforms:

  • name: ubuntu-precise
    driver_config:
    box: ubuntu-12.04
    box_url: .box
    provider: virtualbox
    use_vagrant_berkshelf_plugin: true
    use_vagrant_provision: false

provisioner: chef_zero

suites:

  • name: default
    run_list: []
    attributes: {}

On Tue, Sep 24, 2013 at 8:02 AM, Anton Koldaev koldaevav@gmail.comwrote:

updated gist: https://gist.github.com/iroller/54912998eac3ace049a1

On Tue, Sep 24, 2013 at 3:58 PM, Anton Koldaev koldaevav@gmail.comwrote:

It looks like the initial support for chef-zero provisioner has been
added to test-kitchen but it’s not working for me:
https://gist.github.com/iroller/8a297dd53438ce02c5e7 (shows chef-zero
as a provisioner, but still trying to use chef-solo on converge)

Is there a way to use Chef-zero with test-kitchen in the same way it
works with Vagrantfile?
Maybe there is some pull request I can clone&merge or a fork where it
works?


Best regards,
Koldaev Anton


Best regards,
Koldaev Anton


Best regards,
Koldaev Anton


John Alberts


#6

I have tried it to use some data bag search in my recipes but the virtual chef server doesn’t have any entries at runtime. Can anyone tell me how to configure kitchen to upload my local data bags to the chef zero server? Regards,Oleg
Did you get it to work with the chef_zero provisioner by setting ‘use_vagrant_provision:false’? I didn’t need to do that to get it to work. Simply using ‘provisioner:chef_zero’ worked for me when I used it a couple months ago. Are you sure you’re using a version of test-kitchen with chef_zero support. It’s only in 1.0.0.beta1, beta2 and beta3. No final release yet that I see. I just installed directly from master.Here’s what worked for me. Just, bundle install and then kitchen verify. -----------------------------------------~ ᐅ grep -v ‘^#’ src/cookbooks/glusterfs/.kitchen.yml—driver_plugin: vagrantdriver_config: require_chef_omnibus: trueprovisioner: chef_zero platforms:- name: ubuntu-12.04 driver_config: box: opscode-ubuntu-12.04 box_url: https://opscode-vm-bento.s3.amazonaws.com/vagrant/opscode_ubuntu-12.04_provisionerless.box suites:- name: client run_list: [“recipe[glusterfs]”] attributes: {}- name: server run_list: [“recipe[glusterfs]”, “recipe[glusterfs::server]”] attributes: {} ~ ᐅ grep -v ‘^#’ src/cookbooks/glusterfs/Gemfilesource ‘https://rubygems.org’ gem 'berkshelf’group :integration do gem ‘kitchen-vagrant’, :git => ‘https://github.com/opscode/kitchen-vagrant.git’ gem ‘test-kitchen’, :git => 'git://github.com/opscode/test-kitchen.git’end Regards,John
On Wed, Sep 25, 2013 at 7:23 AM, Anton Koldaev <koldaevav@gmail.com> wrote:

> The test-kitchen chef_zero provisioner seems to install chef-zero on the guestOh, that makes sense On Tue, Sep 24, 2013 at 4:25 PM, Carlton Stedman <cstedman@dyn.com> wrote:
Whereas the vagrant-chef-zero vagrant plugin can be used with a Vagrantfile to start chef-zero on the host, I have not found a way to get test-kitchen to use chef-zero instance on the host. The test-kitchen chef_zero provisioner seems to install chef-zero on the guest and use it that way.

To get that to work, make sure you do not have a Vagrantfile in the directory you are running test-kitchen, and under the platform section add “use_vagrant_provision: false”.

Example:

—driver_plugin: vagrant platforms:- name: ubuntu-precise driver_config: box: ubuntu-12.04 box_url: <some-url>.box provider: virtualbox use_vagrant_berkshelf_plugin: true use_vagrant_provision: false provisioner: chef_zero suites:- name: default run_list: [] attributes: {}
On Tue, Sep 24, 2013 at 8:02 AM, Anton Koldaev <koldaevav@gmail.com> wrote:

updated gist: https://gist.github.com/iroller/54912998eac3ace049a1 On Tue, Sep 24, 2013 at 3:58 PM, Anton Koldaev <koldaevav@gmail.com> wrote:

It looks like the initial support for chef-zero provisioner has been added to test-kitchen but it’s not working for me:
https://gist.github.com/iroller/8a297dd53438ce02c5e7 (shows chef-zero as a provisioner, but still trying to use chef-solo on converge) Is there a way to use Chef-zero with test-kitchen in the same way it works with Vagrantfile?Maybe there is some pull request I can clone&merge or a fork where it works?

Best regards,

Koldaev Anton

Best regards,

Koldaev Anton

Best regards,

Koldaev Anton

John Alberts


#7

You need to create a “./test/integration/data_bags” in the root of the repo
you are running test-kitchen from. This can be a symlink to wherever the
repos exist.

Same things with roles and (I think, but haven’t tested),
encrypted_data_bag_secret.

So, say you’re repo is “foo”, located at “~/repos/foo”, and your data bags
are at “~/repos/data_bags”, then:

mkdir -p ~/repos/foo/test/integration
ln -s ~/repos/data_bags/ ~/repos/foo/test/integration/data_bags

You should see the data_bags being copied over and uploaded to the
chef-zero instance during a kitchen converge.

-Carlton

On Mon, Sep 30, 2013 at 3:32 AM, Oleg Volotov oleg.volotov@gmx.de wrote:

I have tried it to use some data bag search in my recipes but the virtual
chef server doesn’t have any entries at runtime. Can anyone tell me how to
configure kitchen to upload my local data bags to the chef zero server?

Regards,
Oleg

Did you get it to work with the chef_zero provisioner by setting
’use_vagrant_provision:false’? I didn’t need to do that to get it to work.
Simply using ‘provisioner:chef_zero’ worked for me when I used it a couple
months ago. Are you sure you’re using a version of test-kitchen with
chef_zero support. It’s only in 1.0.0.beta1, beta2 and beta3. No final
release yet that I see. I just installed directly from master.
Here’s what worked for me. Just, bundle install and then kitchen verify.


~ ᐅ grep -v ‘^#’ src/cookbooks/glusterfs/.kitchen.yml

driver_plugin: vagrant
driver_config:
require_chef_omnibus: true
provisioner: chef_zero

platforms:

suites:

  • name: client
    run_list: [“recipe[glusterfs]”]
    attributes: {}
  • name: server
    run_list: [“recipe[glusterfs]”, “recipe[glusterfs::server]”]
    attributes: {}

~ ᐅ grep -v ‘^#’ src/cookbooks/glusterfs/Gemfile
source ‘https://rubygems.org

gem 'berkshelf’
group :integration do
gem ‘kitchen-vagrant’, :git => '
https://github.com/opscode/kitchen-vagrant.git
gem ‘test-kitchen’, :git => 'git://github.com/opscode/test-kitchen.git’
end

Regards,
John

On Wed, Sep 25, 2013 at 7:23 AM, Anton Koldaev koldaevav@gmail.comwrote:

The test-kitchen chef_zero provisioner seems to install chef-zero on
the guest
Oh, that makes sense

On Tue, Sep 24, 2013 at 4:25 PM, Carlton Stedman cstedman@dyn.comwrote:

Whereas the vagrant-chef-zero vagrant plugin can be used with a
Vagrantfile to start chef-zero on the host, I have not found a way to get
test-kitchen to use chef-zero instance on the host. The test-kitchen
chef_zero provisioner seems to install chef-zero on the guest and use it
that way.

To get that to work, make sure you do not have a Vagrantfile in the
directory you are running test-kitchen, and under the platform section add
"use_vagrant_provision: false".

Example:


driver_plugin: vagrant

platforms:

  • name: ubuntu-precise
    driver_config:
    box: ubuntu-12.04
    box_url: .box
    provider: virtualbox
    use_vagrant_berkshelf_plugin: true
    use_vagrant_provision: false

provisioner: chef_zero

suites:

  • name: default
    run_list: []
    attributes: {}

On Tue, Sep 24, 2013 at 8:02 AM, Anton Koldaev koldaevav@gmail.comwrote:

updated gist: https://gist.github.com/iroller/54912998eac3ace049a1

On Tue, Sep 24, 2013 at 3:58 PM, Anton Koldaev koldaevav@gmail.comwrote:

It looks like the initial support for chef-zero provisioner has been
added to test-kitchen but it’s not working for me:
https://gist.github.com/iroller/8a297dd53438ce02c5e7 (shows chef-zero
as a provisioner, but still trying to use chef-solo on converge)

Is there a way to use Chef-zero with test-kitchen in the same way it
works with Vagrantfile?
Maybe there is some pull request I can clone&merge or a fork where it
works?


Best regards,
Koldaev Anton


Best regards,
Koldaev Anton


Best regards,
Koldaev Anton


John Alberts


#8

Yeah that did the trick. Thanks allot. I’ve tried it over days with no result. Regards,Oleg
You need to create a “./test/integration/data_bags” in the root of the repo you are running test-kitchen from. This can be a symlink to wherever the repos exist.

Same things with roles and (I think, but haven’t tested), encrypted_data_bag_secret.

So, say you’re repo is “foo”, located at “~/repos/foo”, and your data bags are at “~/repos/data_bags”, then:

mkdir -p ~/repos/foo/test/integration

ln -s ~/repos/data_bags/ ~/repos/foo/test/integration/data_bags

You should see the data_bags being copied over and uploaded to the chef-zero instance during a kitchen converge.

-Carlton
On Mon, Sep 30, 2013 at 3:32 AM, Oleg Volotov <oleg.volotov@gmx.de> wrote:

I have tried it to use some data bag search in my recipes but the virtual chef server doesn't have any entries at runtime. Can anyone tell me how to configure kitchen to upload my local data bags to the chef zero server? Regards,Oleg Did you get it to work with the chef_zero provisioner by setting 'use_vagrant_provision:false'? I didn't need to do that to get it to work. Simply using 'provisioner:chef_zero' worked for me when I used it a couple months ago. Are you sure you're using a version of test-kitchen with chef_zero support. It's only in 1.0.0.beta1, beta2 and beta3. No final release yet that I see. I just installed directly from master.Here's what worked for me. Just, bundle install and then kitchen verify. -----------------------------------------~ ᐅ grep -v '^#' src/cookbooks/glusterfs/.kitchen.yml---driver_plugin: vagrantdriver_config: require_chef_omnibus: trueprovisioner: chef_zero platforms:- name: ubuntu-12.04 driver_config: box: opscode-ubuntu-12.04 box_url: https://opscode-vm-bento.s3.amazonaws.com/vagrant/opscode_ubuntu-12.04_provisionerless.box suites:- name: client run_list: ["recipe[glusterfs]"] attributes: {}- name: server run_list: ["recipe[glusterfs]", "recipe[glusterfs::server]"] attributes: {} ~ ᐅ grep -v '^#' src/cookbooks/glusterfs/Gemfilesource 'https://rubygems.org' gem 'berkshelf'group :integration do gem 'kitchen-vagrant', :git => 'https://github.com/opscode/kitchen-vagrant.git' gem 'test-kitchen', :git => 'git://github.com/opscode/test-kitchen.git'end Regards,John On Wed, Sep 25, 2013 at 7:23 AM, Anton Koldaev <koldaevav@gmail.com> wrote:
> The test-kitchen chef_zero provisioner seems to install chef-zero on the guestOh, that makes sense On Tue, Sep 24, 2013 at 4:25 PM, Carlton Stedman <cstedman@dyn.com> wrote:
Whereas the vagrant-chef-zero vagrant plugin can be used with a Vagrantfile to start chef-zero on the host, I have not found a way to get test-kitchen to use chef-zero instance on the host. The test-kitchen chef_zero provisioner seems to install chef-zero on the guest and use it that way.

To get that to work, make sure you do not have a Vagrantfile in the directory you are running test-kitchen, and under the platform section add “use_vagrant_provision: false”.

Example:

—driver_plugin: vagrant platforms:- name: ubuntu-precise driver_config: box: ubuntu-12.04 box_url: <some-url>.box provider: virtualbox use_vagrant_berkshelf_plugin: true use_vagrant_provision: false provisioner: chef_zero suites:- name: default run_list: [] attributes: {}
On Tue, Sep 24, 2013 at 8:02 AM, Anton Koldaev <koldaevav@gmail.com> wrote:

updated gist: https://gist.github.com/iroller/54912998eac3ace049a1 On Tue, Sep 24, 2013 at 3:58 PM, Anton Koldaev <koldaevav@gmail.com> wrote:

It looks like the initial support for chef-zero provisioner has been added to test-kitchen but it’s not working for me:
https://gist.github.com/iroller/8a297dd53438ce02c5e7 (shows chef-zero as a provisioner, but still trying to use chef-solo on converge) Is there a way to use Chef-zero with test-kitchen in the same way it works with Vagrantfile?Maybe there is some pull request I can clone&merge or a fork where it works?

Best regards,

Koldaev Anton

Best regards,

Koldaev Anton

Best regards,

Koldaev Anton

John Alberts