Skip to content

docker-run.erb - undefined method `+' for nil:NilClass #461

@timdeluxe

Description

@timdeluxe

What you expected to happen?

clean puppet run

What happened?

Warning: Unknown variable: 'docker::service_name'. (file: /etc/puppetlabs/code/environments/production/modules/docker/manifests/run.pp, line: 153, column: 19)
Warning: Unknown variable: 'docker::docker_group'. (file: /etc/puppetlabs/code/environments/production/modules/docker/manifests/run.pp, line: 154, column: 19)
Error: Evaluation Error: Error while evaluating a Resource Statement, Evaluation Error: Error while evaluating a Function Call, Failed to parse template docker/etc/systemd/system/docker-run.erb:
  Filepath: /etc/puppetlabs/code/environments/production/modules/docker/templates/etc/systemd/system/docker-run.erb
  Line: 3
  Detail: undefined method `+' for nil:NilClass
 (file: /etc/puppetlabs/code/environments/production/modules/docker/manifests/run.pp, line: 443, column: 20) (file: /tmp/helloworld.pp, line: 1) on node foobar

How to reproduce it?

Install module:
puppet module install puppetlabs-docker
Create file helloworld.pp:

 docker::run {
    "helloworld":
      hostname => "helloworld",
      image => "hello-world:latest",
  }

Run
puppet apply -v helloworld.pp

Anything else we need to know?

Version 3.3.0 of the module works

Versions:

$ puppet --version
5.5.3
$ docker version
Client:
 Version:      18.03.1-ce
 API version:  1.37
 Go version:   go1.9.5
 Git commit:   9ee9f40
 Built:        Thu Apr 26 07:17:20 2018
 OS/Arch:      linux/amd64
 Experimental: false
 Orchestrator: swarm

Server:
 Engine:
  Version:      18.03.1-ce
  API version:  1.37 (minimum version 1.12)
  Go version:   go1.9.5
  Git commit:   9ee9f40
  Built:        Thu Apr 26 07:15:30 2018
  OS/Arch:      linux/amd64
  Experimental: false
$ facter os
{
  architecture => "amd64",
  distro => {
    codename => "xenial",
    description => "Ubuntu 16.04.6 LTS",
    id => "Ubuntu",
    release => {
      full => "16.04",
      major => "16.04"
    }
  },
  family => "Debian",
  hardware => "x86_64",
  name => "Ubuntu",
  release => {
    full => "16.04",
    major => "16.04"
  },
  selinux => {
    enabled => false
  }
}
$ puppet module list
/etc/puppetlabs/code/environments/production/modules
├── puppetlabs-apt (v6.3.0)
├── puppetlabs-docker (v3.5.0)
├── puppetlabs-powershell (v2.2.0)
├── puppetlabs-reboot (v2.1.2)
├── puppetlabs-stdlib (v5.2.0)
└── puppetlabs-translate (v1.2.0)
/etc/puppetlabs/code/modules (no modules installed)
/opt/puppetlabs/puppet/modules (no modules installed)

Logs:

See "What happened"

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions