test-kitchen/kitchen-docker

`merged_data_for`: undefined method `rmerge` for #<Array:0x00007fb416ab36d8> (NoMethodError)

Noah-Huppert opened this issue · 1 comments

I am attempting to setup a basic Kitchen file using the Docker driver.

When I run any command (For example kitchen list) I receive the following error message:

/opt/chefdk/embedded/lib/ruby/gems/2.4.0/gems/test-kitchen-1.20.0/lib/kitchen/data_munger.rb:621:in `merged_data_for': undefined method `rmerge' for #<Array:0x00007fa6cebe9db8> (NoMethodError)
        from /opt/chefdk/embedded/lib/ruby/gems/2.4.0/gems/test-kitchen-1.20.0/lib/kitchen/data_munger.rb:80:in `provisioner_data_for'
        from /opt/chefdk/embedded/lib/ruby/gems/2.4.0/gems/test-kitchen-1.20.0/lib/kitchen/config.rb:288:in `new_provisioner'
        from /opt/chefdk/embedded/lib/ruby/gems/2.4.0/gems/test-kitchen-1.20.0/lib/kitchen/config.rb:251:in `new_instance'
        from /opt/chefdk/embedded/lib/ruby/gems/2.4.0/gems/test-kitchen-1.20.0/lib/kitchen/config.rb:142:in `block in build_instances'
        from /opt/chefdk/embedded/lib/ruby/gems/2.4.0/gems/test-kitchen-1.20.0/lib/kitchen/config.rb:141:in `map'
        from /opt/chefdk/embedded/lib/ruby/gems/2.4.0/gems/test-kitchen-1.20.0/lib/kitchen/config.rb:141:in `with_index'
        from /opt/chefdk/embedded/lib/ruby/gems/2.4.0/gems/test-kitchen-1.20.0/lib/kitchen/config.rb:141:in `build_instances'
        from /opt/chefdk/embedded/lib/ruby/gems/2.4.0/gems/test-kitchen-1.20.0/lib/kitchen/config.rb:117:in `instances'
        from /opt/chefdk/embedded/lib/ruby/gems/2.4.0/gems/test-kitchen-1.20.0/lib/kitchen/command.rb:112:in `filtered_instances'
        from /opt/chefdk/embedded/lib/ruby/gems/2.4.0/gems/test-kitchen-1.20.0/lib/kitchen/command.rb:142:in `parse_subcommand'
        from /opt/chefdk/embedded/lib/ruby/gems/2.4.0/gems/test-kitchen-1.20.0/lib/kitchen/command/list.rb:30:in `call'
        from /opt/chefdk/embedded/lib/ruby/gems/2.4.0/gems/test-kitchen-1.20.0/lib/kitchen/cli.rb:52:in `perform'
        from /opt/chefdk/embedded/lib/ruby/gems/2.4.0/gems/test-kitchen-1.20.0/lib/kitchen/cli.rb:120:in `list'
        from /opt/chefdk/embedded/lib/ruby/gems/2.4.0/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
        from /opt/chefdk/embedded/lib/ruby/gems/2.4.0/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
        from /opt/chefdk/embedded/lib/ruby/gems/2.4.0/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
        from /opt/chefdk/embedded/lib/ruby/gems/2.4.0/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
        from /opt/chefdk/embedded/lib/ruby/gems/2.4.0/gems/test-kitchen-1.20.0/bin/kitchen:13:in `block in <top (required)>'
        from /opt/chefdk/embedded/lib/ruby/gems/2.4.0/gems/test-kitchen-1.20.0/lib/kitchen/errors.rb:171:in `with_friendly_errors'
        from /opt/chefdk/embedded/lib/ruby/gems/2.4.0/gems/test-kitchen-1.20.0/bin/kitchen:13:in `<top (required)>'
        from /usr/local/bin/kitchen:250:in `load'
        from /usr/local/bin/kitchen:250:in `<main>'

Here is my .kitchen.yml:

driver:
  name: docker
  use_sudo: false
transport:
  name: sftp
platforms:
- name: centos-7.4
suites:
- name: foo
provisioner:
- name: salt_solo
  salt_install: bootstrap
  is_file_root: true
  require_chef: false
  state_top:
    base:
      "*":
        - demo.webserver

And my Gemfile:

# Gemfile
source 'https://rubygems.org'

gem 'kitchen-salt'
gem 'kitchen-docker'
gem 'kitchen-sync'
gem "test-kitchen"
gem "kitchen-vagrant"

And my directory structure:

.
├── .kitchen
│   └── logs
│       ├── foo-centos-74.log
│       └── kitchen.log
├── .kitchen.yml
├── Gemfile
├── Gemfile.lock
├── chefignore
├── demo
│   ├── webserver.sls
│   └── www
│       └── index.html
└── test
    └── integration
        └── default

7 directories, 9 files

The files in .kitchen/logs are empty.

I am using Ruby ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin17] on OSX 10.13.4 (17E199)

bad formatting