Puppet Error 400 On Server Duplicate Definition
Contents |
QueryOpen cron issuesPlatform Report - 2 Week ActivityPuppet Solaris issuesRuby 1.9 IssuesSupport Customer TicketsSupport TicketsTelly DeprecationsTickets - Assigned to MeTickets - Authored
Puppet Duplicate Declaration Is Already Declared In File
by MeTickets - By PriorityTickets - In Topic Branch Pending ReviewTickets puppet duplicate declaration file - Top by votesTickets - Unassigned to a target releaseTickets - UnreviewedTickets - unreviewed and outside SLATickets
Puppet Duplicate Declaration Class
- waiting for actionTickets with simple fixes The Puppet Labs Issue Tracker has Moved: https://tickets.puppetlabs.com This issue tracker is now in read-only archive mode and automatic ticket puppet duplicate declaration same line export has been disabled. Redmine users will need to create a new JIRA account to file tickets using https://tickets.puppetlabs.com. See the following page for information on filing tickets with JIRA: The Puppet Projects Workflow describes how to file tickets against Puppet projects. Bug #5429 Inconsistent "Duplicate definition" error Added by Juerg Walz over 5 years ago. puppet define duplicate declaration Updated over 3 years ago. Status:ClosedStart date:12/01/2010Priority:NormalDue date:Assignee:-% Done:0%Category:stagesTarget version:- Affected Puppet version:2.6.3 Branch: Keywords:duplicate definition stages We've Moved! Ticket tracking is now hosted in JIRA: https://tickets.puppetlabs.com Description The following error occurs when I run the Puppet agent a second time after restarting the Puppet Master (running it for the first time after the restart works successfully): # puppet agent --test err: Could not retrieve catalog from remote server: Error 400 on SERVER: Duplicate definition: Class[Yum::Os] is already defined; cannot redefine at /etc/puppet/modules/csdev/yum/manifests/os.pp:100 on node puppet.example.com warning: Not using cache on failed catalog err: Could not retrieve catalog; skipping run # service puppetmaster restart Stopping puppetmaster: [ OK ] Starting puppetmaster: [ OK ] # puppet agent --test info: Caching catalog for puppet.example.com info: Applying configuration version '1291183870' notice: Finished catalog run in 11.80 seconds # puppet agent --test err: Could not retrieve catalog from remote server: Error 400 on SERVER: Duplicate definition: Class[Yum::Os] is already defined; cannot redefine at /etc/puppet/modules/csdev/yum/manifests/os.pp:100 on node puppet.example.c
here for a quick overview of the site Help Center Detailed answers to any questions you might have Meta Discuss the workings and policies of this site About Us Learn more about Stack Overflow the
Error 400 On Server: Duplicate Declaration: Class
company Business Learn more about hiring developers or posting ads with us Stack Overflow puppet include class Questions Jobs Documentation Tags Users Badges Ask Question x Dismiss Join the Stack Overflow Community Stack Overflow is a community of 6.2
Puppet Ensure_resource
million programmers, just like you, helping each other. Join them; it only takes a minute: Sign up Puppet manifest has a file declaration that somehow duplicates itself up vote 2 down vote favorite Given the confusing https://projects.puppetlabs.com/issues/5429 error message: err: Could not retrieve catalog from remote server: Error 400 on SERVER: Duplicate declaration: File[/etc/logstash/conf.d] is already declared in file /var/lib/puppet/envs/SYS_15378/modules/logstash/manifests/config.pp at line 54; cannot redeclare at /var/lib/puppet/envs/SYS_15378/modules/logstash/manifests/config.pp:54 on node foo.bar.com Questions: If this is really duplicating a file, how do I go about debugging it (finding the file)? If not... what is this actually communicating? Notice: the duplicate declaration is on line 54 the file it is duplicating is defined http://stackoverflow.com/questions/25858390/puppet-manifest-has-a-file-declaration-that-somehow-duplicates-itself on... line 54 line 54 is the same line as line 54 The line in question is the closing brace of: file { "${logstash::params::config_dir}": ensure => directory, owner => root, group => root, mode => '0755', purge => true, } where class logstash::params { $config_dir = '/etc/logstash/conf.d' ... } puppet share|improve this question asked Sep 15 '14 at 23:24 MonkeyWidget 137214 1 Am I right to assume that this piece of code is from inside a defined type? –Felix Frank Sep 16 '14 at 8:21 That is correct, it's inside define logstash::config(...) { –MonkeyWidget Sep 18 '14 at 18:05 add a comment| 2 Answers 2 active oldest votes up vote 3 down vote accepted Defined types should not declare common resources, meaning such that are not derived from the define instances $name. In your example, the directory is a resource that many instances of your define need. It should therefor move to a (perhaps dedicated) class. class logstash::config_dir { file { "${logstash::params::config_dir}": ensure => directory, owner => root, group => root, mode => '0755', purge => true, } } In your define, you just include logstash::config_dir Including a class multiple times poses no problem and solves exactly that problem (among others). share|improve this answer answered Sep 18 '14 at 20:36 Felix Frank 6,5
Start here for a quick overview of the site Help Center Detailed answers to any questions you might have Meta Discuss the http://serverfault.com/questions/579924/puppet-class-already-declared workings and policies of this site About Us Learn more about Stack Overflow the company Business Learn more about hiring developers or posting ads with us Server Fault Questions Tags Users Badges Unanswered Ask Question _ Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute: Sign up Here's how duplicate declaration it works: Anybody can ask a question Anybody can answer The best answers are voted up and rise to the top Puppet: class already declared up vote 1 down vote favorite I'm currently in reorganising the structure of my puppet code to a model, which uses, profiles and roles. I've started with profiles and was testing, but already run into issues puppet duplicate declaration :/ In my node definition I do the following: node 'dev.server' { include profile::php } # modules/profiles/manifests/php.pp class profile::php { include apache::mod::php class{ 'php': } php::module { "mcrypt": } php::module { "mysql": } php::module { "gd": } } When I run the puppet agent on the node I get the error Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Duplicate declaration: Class[Profile::Php] is already declared; cannot redeclare at /etc/puppet/environments/production/modules/profile/manifests/php.pp:5 on node However, when I rename the profile to profile::php2 it's working. What's causing the issue that it's already declared? puppet debugging share|improve this question edited Mar 5 '14 at 8:57 asked Mar 5 '14 at 8:51 paul.tw 5317 ` class{ 'php': ensure => 'present', }` - What is the purpose of this? Did you mean package{'php':...}? –Zoredache Mar 5 '14 at 8:54 nope, i want to include the class. Sorry, I've fixed it. The ensure was wrong here –paul.tw Mar 5 '14 at 8:57 add a comment| 1 Answer 1 active oldest votes up vote 3 down vote accepted Changing cla