Bug #2112

Puppet fails with "Duplicate Definition" on any ParsedFile type when using "resources { purge => true }"

Added by Eric Gerlach almost 3 years ago. Updated almost 3 years ago.

Status:Closed Start date:03/26/2009
Priority:Normal Due date:
Assignee:James Turnbull % Done:

0%

Category:plumbing
Target version:0.25.0
Affected Puppet version:0.25.0 Branch:
Keywords:
Votes: 0

Description

If you use @resources { type: purge => true }@ on a type which uses a ParsedFile provider, and the entry is already in the default target file, puppet fails with (e.g.):

err: Could not apply complete catalog: Duplicate definition: Firehol[eth0-http-server] is already defined in file /home/egerlach-/tmp/test.pp at line 15

Attached are a type, provider, and test case which trigger this bug. Run the test case twice to trigger (once to create the file, once to trigger). It’s not confined to this type, though. You can also use the test case in #2111, but doing so will also trigger the infinite recursion bug (I found #2111 when trying to create a simple test for this).

firehol.rb - Type (1.3 kB) Eric Gerlach, 03/26/2009 12:51 am

parsed.rb - Provider (3.3 kB) Eric Gerlach, 03/26/2009 12:51 am

test.pp - Manifest (339 Bytes) Eric Gerlach, 03/26/2009 12:51 am

History

Updated by Eric Gerlach almost 3 years ago

Note to self while trying to find this:

Initial git bisect said it could be in any of: commit:5bef4a55b3489a6404ee34b900621af8b784749a commit:3cc3e0f5b21deee4fbdbcbae18fba47c7a0cbb1e commit:488c43771aea482e0212b605bde054bf8cb0533c commit:cfda651f88d12249f29706d2bedbfddce7a2e6f7 commit:fe9b453650755e66e29eca259075e2e7245a5219 commit:4165edaeb71ee2883b1bb85ff39a52d5628b259f commit:b7b11bd4858a4d6dd0661aa7c546d03b4a85ca7d commit:88dc49cb7b0efe757c92ce28c807b91335acb07a

But… I’m not sure I bisected well. It was hard because it didn’t error out the same way… will continue this tomorrow.

Updated by Luke Kanies almost 3 years ago

  • Category set to plumbing
  • Status changed from Unreviewed to Accepted
  • Assignee set to Luke Kanies
  • Target version set to 0.25.0

Updated by Luke Kanies almost 3 years ago

  • Status changed from Accepted to Ready For Checkin
  • Assignee changed from Luke Kanies to James Turnbull

Fixed in my tickets/master/2112 branch.

Updated by James Turnbull almost 3 years ago

  • Status changed from Ready For Checkin to Closed

Pushed in commit:7ab7d9f9ff378041ab7a2baf159860439bd1c812 in branch master.

Also available in: Atom PDF