Uploaded image for project: 'Puppet'
  1. Puppet
  2. PUP-9569

Crontab prefetch fails when the filename is not a valid user

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Normal
    • Resolution: Fixed
    • Affects Version/s: PUP 5.5.3
    • Fix Version/s: None
    • Component/s: None
    • Template:
      PUP Bug Template
    • Team:
      Night's Watch
    • Story Points:
      3
    • Sprint:
      PR - 2019-04-17
    • Method Found:
      Needs Assessment
    • CS Priority:
      Reviewed
    • Zendesk Ticket IDs:
      34212
    • Zendesk Ticket Count:
      1
    • Release Notes:
      Not Needed
    • QA Risk Assessment:
      Needs Assessment

      Description

      Puppet Version:2018.1.2
      Puppet Server Version:5.5.3
      OS Name/Version:centos 7.5

      Describe your issue in as much detail as possible…
      Describe steps to reproduce…

      Desired Behavior: Puppet, throws a crontab error when examining the /var/spool/cron directory, as tries to list the crontab for users when that user is just a temp file starting with a hash. Oddly, this error does not appear in the debug log, only in STDERR

      To re-create the error, all you need to do is create a file starting with a hash in the /var/spool/cron/ folder. (touch '/var/spool/cron/#tmp.XXXXkhATKA') as is created by editing the crontab and having that process crash during edit.

      Actual Behavior:

      [root@xxxxx tmp]# puppet agent -t 
      Info: Using configured environment 'staging' 
      Info: Retrieving pluginfacts 
      Info: Retrieving plugin 
      Info: Retrieving locales 
      Info: Loading facts 
      Info: Caching catalog for xxxxx.example.com
      Info: Applying configuration version '200fcdecf443bdcf4232a9c6abafabc14bd819eb' 
      crontab: option requires an argument – 'u' 
      crontab: usage error: unrecognized option 
      usage: crontab [-u user] file 
      crontab [-u user] [ -e | -l | -r ] 
      (default operation is replace, per 1003.2) 
      -e (edit user's crontab) 
      -l (list user's crontab) 
      -r (delete user's crontab) 
      -i (prompt before deleting user's crontab) 
      -s (selinux context) 
      Notice: Applied catalog in 6.50 seconds
       
      [root@xxxxxx tmp]# ls -l /var/spool/cron/ 
      total 4 
       -rw-------. 1 username username 0 Dec 17 2014 username 
       -rw-------. 1 root root 1182 Mar 12 16:24 root 
       -rw-------. 1 root root 0 Mar 15 2019 #tmp.XXXXkhATKA
       
      [root@xxxxxx tmp]# rm /var/spool/cron/#tmp.XXXXkhATKA 
      rm: remove regular empty file `/var/spool/cron/#tmp.XXXXkhATKA'? y
       
      [root@xxxxxx tmp]# puppet agent -t 
      Info: Using configured environment 'staging' 
      Info: Retrieving pluginfacts 
      Info: Retrieving plugin 
      Info: Retrieving locales 
      Info: Loading facts 
      Info: Caching catalog for xxxxxx.example.com 
      Info: Applying configuration version '200fcdecf443bdcf4232a9c6abafabc14bd819eb' 
      Notice: Applied catalog in 5.20 seconds
      

        Attachments

          Activity

            People

            • Assignee:
              gheorghe.popescu Gheorghe Popescu
              Reporter:
              jason.stewart Jason Stewart
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Zendesk Support