Uploaded image for project: 'Modules'
  1. Modules
  2. MODULES-8719

Duplicate declaration with ensure_packages

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Normal
    • Resolution: Duplicate
    • None
    • None
    • stdlib
    • None
    • Needs Assessment
    • Needs Assessment

    Description

      I have just updated puppetlabs/stdlib from 5.1.0 to 5.2.0 and now I have problems with duplicate package declarations. My code is:

      class profile::base (
        $packages = {},
         ...
      ) {
        $packages.each |$name, $opts| {
        package {$name:
          * => $opts,
        }
        ...
      }
       
      class profile::vcsrepo {
        ensure_packages('git')
        ...
      }
      

      now I have problems with a node that contains git in its profile::base::packages parameter.

      Until now (puppetlabs/stdlib version 5.0.0) it was working fine, but now I get:

      Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Function Call, Duplicate declaration: Package[git] is already declared at (file: /etc/puppetlabs/code/environments/production/manifests/profile/manifests/base.pp, line: 40); cannot redeclare (file: /etc/puppetlabs/code/environments/production/manifests/profile/manifests/vcsrepo.pp, line: 64) (file: /etc/puppetlabs/code/environments/production/manifests/profile/manifests/vcsrepo.pp, line: 64, column: 7) on node elephas42.um.es
      

      is this a bug?

      I'm running puppet-agent 5.5.10, puppetserver 5.3.7 with different OSs (ubuntu 14.04, 16.04 and 18.04).

      Attachments

        Activity

          People

            Unassigned Unassigned
            amateo Angel L. Mateo
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Zendesk Support