Feature #2927

Symbolic Modes for the File type.

Added by Trevor Vaughan over 2 years ago. Updated 4 months ago.

Status:Closed Start date:12/14/2009
Priority:High Due date:
Assignee:Daniel Pittman % Done:

0%

Category:file
Target version:2.7.10
Affected Puppet version:development Branch:https://github.com/puppetlabs/puppet/pull/230
Keywords:file, mode, symbolic
Votes: 1

Description

Symbolic modes should be included in the mode option for the File type. The GNU coreutils version of chmod is the intended reference implementation.

2927.patch (5.5 kB) Trevor Vaughan, 12/19/2009 04:40 pm


Related issues

related to Puppet - Bug #12197: Array handling broken in 2.7.10 Closed 01/26/2012

History

Updated by James Turnbull over 2 years ago

  • Status changed from Unreviewed to Accepted
  • Target version set to 2.6.0

Updated by Trevor Vaughan over 2 years ago

Patch posted to dev list.

Updated by Trevor Vaughan over 2 years ago

Attaching patch.

Updated by Trevor Vaughan about 2 years ago

  • Affected Puppet version changed from 0.25.1 to development

An updated patch meeting Luke’s suggested changes has been posted to the mailing list.

I, unfortunately, do not have the time at the moment to flesh out all of the tests for the mode portion of the file type but I wrote tests to verify that my added functionality should be correct.

Updated by Trevor Vaughan about 2 years ago

Posted a patch a while ago that was theoretically accepted for testing. Any idea what happened to it?

Updated by Jesse Wolfe about 2 years ago

  • Target version changed from 2.6.0 to 52

Updated by Luke Kanies over 1 year ago

  • Priority changed from Normal to High

Updated by Luke Kanies over 1 year ago

  • Target version changed from 52 to 2.7.x

Updated by James Turnbull over 1 year ago

  • Status changed from Accepted to In Topic Branch Pending Review

Updated by Jesse Wolfe over 1 year ago

  • Assignee set to Jesse Wolfe

Updated by Nigel Kersten about 1 year ago

What’s the status of this? Is it “Ready for testing” or “Tests insufficient” ?

Updated by James Turnbull about 1 year ago

  • Branch set to https://github.com/jes5199/puppet/tree/ticket/next/2927

Updated by Trevor Vaughan 10 months ago

Any chance that this could get into 2.7.3 final?

Updated by Daniel Pittman 9 months ago

  • Assignee changed from Jesse Wolfe to Nigel Kersten

Trevor, thanks for calling attention to this.

Nigel, your call on getting this in or not, but it looks to be that the code still exists. I have not checked if it can be merged or not, but it certainly isn’t impossible.

Updated by Nigel Kersten 9 months ago

So the code is good and the tests are good, but it was never merged in time for the 2.7.0 release?

I’m still not clear on why this whole process took so long or who sat on it, but my first reaction would be that this should target Telly as it’s adding new features, particularly given how complex and yet fundamental the File type is in Puppet.

Are there good reasons why we should add a feature this far into the 2.7.x series?

Updated by Daniel Pittman 9 months ago

Nigel Kersten wrote:

So the code is good and the tests are good, but it was never merged in time for the 2.7.0 release?

Looks to be, to me.

I’m still not clear on why this whole process took so long or who sat on it, but my first reaction would be that this should target Telly as it’s adding new features, particularly given how complex and yet fundamental the File type is in Puppet.

Looks like it just got dropped, and no one really noticed until Trevor asked again.

Are there good reasons why we should add a feature this far into the 2.7.x series?

Personally, I favour putting forward compatible features (eg: will work in 2.7.3+, but not 2.7.2) into our less feature-focused releases. It is also a fine feature, and should be rolled in to the product … and we sat for more than a year on Trevor’s contribution. Getting that sorted out sooner would be awesome, and Telly means that we would have close to another year before it rolled out beyond our code to actual production systems – for something that has very few real compatibility concerns, IMO.

Updated by Trevor Vaughan 9 months ago

All, thanks for picking this back up.

I was happy to wait for this until 2.7.X, but I’d like to get this in before 2.8 if possible since 2.8 is going to require a great deal of testing to be sure that the dynamic lookup issues are all properly addressed.

Thanks,

Trevor

Updated by Daniel Pittman 9 months ago

Trevor Vaughan wrote:

All, thanks for picking this back up.

I was happy to wait for this until 2.7.X, but I’d like to get this in before 2.8 if possible since 2.8 is going to require a great deal of testing to be sure that the dynamic lookup issues are all properly addressed.

Sorry it got dropped in the first place. We will get this into 2.8 in the very near future, but it won’t land in 2.7 at this time. Thanks again for the contribution, and sorry about the long delay in getting it rolled out.

Updated by James Turnbull 8 months ago

  • Target version changed from 2.7.x to 3.x

Updated by Daniel Pittman 8 months ago

Sorry for the delays around merging this: the code is still correct, and it just needs the merge conflicts sorted out by hand because it was outstanding for so long. The security issues last week got in the way of the merge, but I hope to get it in by the end of this week.

Thanks for your patience.

Updated by Trevor Vaughan 7 months ago

Any update on getting this merged?

Updated by Nigel Kersten 7 months ago

  • Assignee changed from Nigel Kersten to Daniel Pittman

Sorry Trevor, as you may have seen we had a cluster of security issues that dominated our attention over the last month.

Note that this is going into Telly, not into 2.7.x

Daniel, are you the best person to do the merge?

Updated by Daniel Pittman 7 months ago

On Tue, Nov 1, 2011 at 08:12, tickets@puppetlabs.com wrote:

Sorry Trevor, as you may have seen we had a cluster of security issues that dominated our attention over the last month.

Trevor, let me add my voice to that: it has explicitly been that set of security issues that have delayed this, rather than anything specific to the code.

Note that this is going into Telly, not into 2.7.x Daniel, are you the best person to do the merge?

There was some hand work required because the Windows changes perturbed code in the region. It might be worth getting the OSS team, who also handled the Windows changes, to look at doing this?

Updated by Daniel Pittman 6 months ago

  • Branch changed from https://github.com/jes5199/puppet/tree/ticket/next/2927 to https://github.com/puppetlabs/puppet/pull/230

This is now a formal pull request at https://github.com/puppetlabs/puppet/pull/230

The original implementation didn’t have a full symbolic modes implementation, which I discovered in the course of merging in the code and writing tests; the new variant does. It picks the least crazy mode of operation – generally, add more, or remove less – when presented with ambiguous situations. (Which, incidentally, there are plenty of in these implementations.)

This should be a full symbolic mode implementation, and full support for that in the file type, through the product.

Updated by Jeff McCune 4 months ago

  • Status changed from In Topic Branch Pending Review to Merged - Pending Release
  • Target version changed from 3.x to 2.7.10

Merged into 2.7.x

Merged into 2.7.x as https://github.com/puppetlabs/puppet/commit/2ac94f94b9af6d8025ee0e771c4c7141ca9705c6

Should be released in 2.7.10 and of course in Telly.

-Jeff

Updated by Michael Stahnke 4 months ago

  • Status changed from Merged - Pending Release to Closed

released in 2.7.10rc1

Also available in: Atom PDF