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

Update directory? check on cwd in Execution.execute

    XMLWordPrintable

Details

    • Task
    • Status: Closed
    • Normal
    • Resolution: Won't Do
    • None
    • None
    • None
    • Night's Watch
    • Needs Assessment

    Description

      Puppet::Util::Execution.execute checks for the existence of the cwd specified when the :cwd option is given using Puppet::FileSystem.directory?

      However, Puppet::FileSystem.directory? currently can return a false negative with reparse points (symlinks) in windows. We should refactor that function so it works with reparse points.

      A change to refactor Puppet::FileSystem.dirctory? is likely too risky to introduce in a Z release, so we'll need to introduce two fixes: one that's safer for Z releases and one to actually fix Puppet::FileSystem.directory?

      Note that Puppet::Util::Windows::File.exist? works for directories as well (the underlying windows API used in that function is for files or directories), so that's likely the solution here:

      For the Z release streams we can simply have the check cwd use Puppet::Util::Windows::File.exist? on windows and directory? everywhere else. Then the change to the master branch should be to actually leverage Puppet::Util::Windows::File.exist? inside the windows specific Puppet::FileSystem.dirctory?

      Attachments

        Activity

          People

            Unassigned Unassigned
            sean.mcdonald Sean McDonald
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Zendesk Support