Bug #3085

rsources type generates warnings for multiple providers of the managed type

Added by Peter Pickford 6 months ago. Updated 3 months ago.

Status:Closed Start:01/19/2010
Priority:Normal Due date:
Assigned to:- % Done:

0%

Category:-
Target version:0.25.5
Affected version:0.25.4rc1 Branch:http://github.com/MarkusQ/puppet/tree/ticket/0.25.x/3085
Keywords:resources
Votes: 0

Description

Jan 18 16:24:05 buildsun4u puppetd[21565]: [ID 702911 daemon.warning] User root found in both user_role_add and useradd; skipping the useradd version
Jan 18 16:24:05 buildsun4u puppetd[21565]: [ID 702911 daemon.warning] User daemon found in both user_role_add and useradd; skipping the useradd version
Jan 18 16:24:05 buildsun4u puppetd[21565]: [ID 702911 daemon.warning] User bin found in both user_role_add and useradd; skipping the useradd version
Jan 18 16:24:05 buildsun4u puppetd[21565]: [ID 702911 daemon.warning] User sys found in both user_role_add and useradd; skipping the useradd version
Jan 18 16:24:05 buildsun4u puppetd[21565]: [ID 702911 daemon.warning] User adm found in both user_role_add and useradd; skipping the useradd version
Jan 18 16:24:05 buildsun4u puppetd[21565]: [ID 702911 daemon.warning] User lp found in both user_role_add and useradd; skipping the useradd version
Jan 18 16:24:05 buildsun4u puppetd[21565]: [ID 702911 daemon.warning] User uucp found in both user_role_add and useradd; skipping the useradd version
Jan 18 16:24:05 buildsun4u puppetd[21565]: [ID 702911 daemon.warning] User nuucp found in both user_role_add and useradd; skipping the useradd version
Jan 18 16:24:05 buildsun4u puppetd[21565]: [ID 702911 daemon.warning] User smmsp found in both user_role_add and useradd; skipping the useradd version
Jan 18 16:24:05 buildsun4u puppetd[21565]: [ID 702911 daemon.warning] User listen found in both user_role_add and useradd; skipping the useradd version
Jan 18 16:24:05 buildsun4u puppetd[21565]: [ID 702911 daemon.warning] User gdm found in both user_role_add and useradd; skipping the useradd version
Jan 18 16:24:05 buildsun4u puppetd[21565]: [ID 702911 daemon.warning] User webservd found in both user_role_add and useradd; skipping the useradd version
Jan 18 16:24:05 buildsun4u puppetd[21565]: [ID 702911 daemon.warning] User postgres found in both user_role_add and useradd; skipping the useradd version
Jan 18 16:24:05 buildsun4u puppetd[21565]: [ID 702911 daemon.warning] User svctag found in both user_role_add and useradd; skipping the useradd version
Jan 18 16:24:05 buildsun4u puppetd[21565]: [ID 702911 daemon.warning] User nobody found in both user_role_add and useradd; skipping the useradd version
Jan 18 16:24:05 buildsun4u puppetd[21565]: [ID 702911 daemon.warning] User noaccess found in both user_role_add and useradd; skipping the useradd version
Jan 18 16:24:05 buildsun4u puppetd[21565]: [ID 702911 daemon.warning] User nobody4 found in both user_role_add and useradd; skipping the useradd version
Jan 18 16:24:05 buildsun4u puppetd[21565]: [ID 702911 daemon.warning] User oracle found in both user_role_add and useradd; skipping the useradd version
Jan 18 16:24:05 buildsun4u puppetd[21565]: [ID 702911 daemon.warning] User hpovadmin found in both user_role_add and useradd; skipping the useradd version
Jan 18 16:24:07 buildsun4u puppetd[21565]: [ID 702911 daemon.warning] Host localhost found in both parsed and parsed; skipping the parsed version
@user { 'hpovadmin':
    uid => '5600',
    ensure => 'present',
    gid => '5600',
    password => 'NP',
    home => '/opt/OV/',
    groups => ['jinstall'],
    keys => 'lock_after_retries=no',
    shell => '/bin/bash',
    provider => user_role_add,
}


   User {
                provider => user_role_add,
        }

   realize (
                User['root'],
                User['daemon'],
                User['bin'],
                User['sys'],
                User['adm'],
                User['lp'],
                User['uucp'],
                User['nuucp'],
                User['smmsp'],
                User['listen'],
                User['gdm'],
                User['webservd'],
                User['postgres'],
                User['svctag'],
                User['nobody'],
                User['noaccess'],
                User['nobody4'],
                User['oracle'],
                User['hpovadmin'],
        )

        resources { "users purge":
                name => user,
                purge => true,
#               noop => true,
                unless_system_user => true,
        }

Related issues

related to Puppet - Bug #3035: ralsh service spews lots of warning on redhat Closed 01/12/2010
related to Puppet - Bug #3108: Resource discovery leads to multiple occurrence of single... Investigating 01/25/2010

History

Updated by Markus Roberts 6 months ago

  • Status changed from Unreviewed to Investigating

Updated by Markus Roberts 6 months ago

  • Status changed from Investigating to Ready for Testing
  • Target version set to 0.25.5
  • Branch set to http://github.com/MarkusQ/puppet/tree/ticket/0.25.x/3085

Updated by Peter Pickford 6 months ago

applying the change to add :source to user_role_add.rb

Puppet::Type.type(:user).provide :user_role_add, :parent => :useradd, :source => :useradd do

removes the duplicates for user_role_add provider in my environment. :)

When/if a parsed file provider is created for user and group types there will again be duplicates as there would be two different sources one based on pwgetent and one based on parsed files. I have been having a go at creating a parsed file provider for user/group so that servers with ldap can manage only the /etc/{passwd,group} files in order that user ensure and purges of user reflect changes to /etc files only.

I believe that self.instances in puppet/types.rb iterates all applicable providers for the type. If the resources type could provide and alternative way of specifying the providers that are iterated in types.rb with a providers attribute then that issue would be resolved too.

I also see Jan 25 12:39:07 buildsun4u puppetd[25234]: [ID 702911 daemon.warning] Host localhost found in both parsed and parsed; skipping the parsed version

This is due to ::1 localhost 127.0.0.1 localhost in /etc/hosts

for this it looks like canonical name is only canonical within ip protocol also when duplicate canonical names are present for ip4 only the first entry is managed.

Do these need separate issues raised?

Updated by Markus Roberts 6 months ago

Added these issues by reference to the comment above as #3108.

Updated by James Turnbull 6 months ago

  • Status changed from Ready for Testing to Closed

Pushed in commit:“49a718539c9f896d01a757e4f8b3ddb21edec0da” in branch 0.25.x

Also available in: Atom PDF