Hi All,I am currently looking at using PE to provide our config management (and orchestrated deployment via MCollective) for our app stack. It is currently used to manage the Linux OS estate but not yet for Windows. I'd like to use the same tool so that the people who develop and manage apps on both OS only have a single learning curve and given PE is already used in the organisation that is my first choice.In my initial investigation there are a number of critical functions that currently cannot be managed out the box (or via modules on PuppetForge) which i would have expected from a tool such as this. (I appreciate that Windows support on Puppet is relatively new and that I could create my own modules. However that would mean learning Ruby *and* Puppet, diverting resource away from their main job, and convincing management to allow custom coding something that they'd expect out of the box of such a tool is going to be tricky!).So, are there currently any plans to provide- NTFS file support to allow detailed control of permissions settings and not relying on the very limited POSIX -> Windows mapping in the current File resource. (And yes i understand the RAL and reasons behind it, but this is kind of a deal breaker for us for the Windows side of our estate)?- Setting the user for a Service on Windows? (I know i could probably exec out to sc.exe to achieve this but would like it config managed)And probably not for this forum (but i know PuppetLabs employees are reading)...- Do you have any idea of of when MCollective support in Puppet Enterprise will be provided for Windows.Thanks,Damian
Tbh if I could just model the dacl plus control the inheritance of dacl from parent that would be enough.
I did start to write an ntfsfile class but wanted to keep all of the existing file class functionality except setting user, group, and mode so started by copying all the related ruby for that. . Thats a pretty complicated type and provider and a combination of this being my first Puppet development plus not knowing Ruby made it tough going.
The plan was to have a string property which was a JSON representation of a dacl which got munged into a combination of arrays and hashes plus an inherit property. I wrote the code to then set the dacl on the file based upon the arrays etc. This worked but was v hacky and was based upon a hard coded array (not yet written the validate and munge methods!)
Overall I'm not sure how good quality I could make this.
So..., are we likely to see any progress on the ticket for Puppetlabs to release an official version for this?
Would it help speed things up if a request came from a PE customer (with 1500 node licence)?
Hi Josh,
Did PuppetLabs ever get anywhere with ticket 13249. I'm guessing not as it hasn't been updated for months. I see that PE 3 is now available and that there has been plenty of activity on the Windows side of things (we are about to start a trial with it on some of our Windows estate as Windows support especially MCollective is much better).
Do you have any sort of timescale for this ticket. I'd like to vote on it but the "gatekeepers" of our PE login details are not letting me near it (the sysadmins own it, we're an app development department and having some fun and games with them trying to do continuous deployment type stuff!).
If you have any early release type versions of this I might be able to help out with some testing etc.
On Sun, Jul 28, 2013 at 1:03 PM, <damian....@gmail.com> wrote:
<snip>
I don't have a time estimate, other than to say that we are working on a set of improvements to file system management, including NTFS ACLs, symlinks, and some bug fixes, and it's one of our top priorities, along with powershell and reboot support.
That'd be great! Managing the ACL via Win32 API's is not hard (we do much of it today). The hard part is deciding how best to model the ACL in puppet. Should it be a separate resource type or a property of the file type? Do we create a new file acl type with multiple providers, e.g. windows, solaris, etc? If so, what parameters and properties are common, and which are unique to a specific provider, e.g. protected on windows?
Josh--Josh CooperDeveloper, Puppet Labs
Join us at PuppetConf 2013, August 22-23 in San Francisco - http://bit.ly/pupconf13
Register now and take advantage of the Final Countdown discount - save 15%!
Hi Josh,On Sun, Jul 28, 2013 at 1:03 PM, <damian....@gmail.com> wrote:
<snip>I don't have a time estimate, other than to say that we are working on a set of improvements to file system management, including NTFS ACLs, symlinks, and some bug fixes, and it's one of our top priorities, along with powershell and reboot support.That's amazing news. Powershell support alone would be killer - I had to wrap nearly my entire universe with cmd.exe to make like easier - to the point of writing a shared module for this pain. Powershell can't come fast enough :)
Hopefully my $0.02 can we worth something here ;) I'd argue that it's really a separate resource type - since the ACL is related to the user space. If you're going to extend it to multiple providers (solaris as per your example) it's really similar in idea to RBAC. In fact, if you look at Windows ACLs, RBAC, and set/get facl you pretty much have a new type. Or at least that's what I'd hope :)
On Aug 1, 2013 12:56 AM, "Josh Cooper" <jo...@puppetlabs.com> wrote:
>
>
>
>
> On Wed, Jul 31, 2013 at 6:22 AM, <cha...@lyricalsoftware.com> wrote:
>>
>> Hi Josh,
>>
>>> On Sun, Jul 28, 2013 at 1:03 PM, <damian....@gmail.com> wrote:
>>>>
>>>> <snip>
>>>
>>> I don't have a time estimate, other than to say that we are working on a set of improvements to file system management, including NTFS ACLs, symlinks, and some bug fixes, and it's one of our top priorities, along with powershell and reboot support.
>>
>>
>> That's amazing news. Powershell support alone would be killer - I had to wrap nearly my entire universe with cmd.exe to make like easier - to the point of writing a shared module for this pain. Powershell can't come fast enough :)
>
>
> I have a powershell provider here: http://forge.puppetlabs.com/joshcooper/powershell. And as of puppet 3.2, that the module tool supports windows, so you can do:
>
> C:\>puppet module install joshcooper-powershell
> C:\>puppet apply -e "exec { 'Write-Host hello': provider=> powershell, logoutput => true }"
> Notice: /Stage[main]//Exec[Write-Host hello]/returns: hello
> Notice: /Stage[main]//Exec[Write-Host hello]/returns: executed successfully
>
> We've recently made some improvements around powershell invocation. See https://github.com/joshcooper/puppetlabs-powershell/issues for more info.
>
> Josh
>
> --
> Josh Cooper
> Developer, Puppet Labs
Fantastic thank you! I'm going to bang on this next week.
Cheers,
--c
Chayim Kirshen
Founder, Lyrical Software
@lyricaldevops
>
> Join us at PuppetConf 2013, August 22-23 in San Francisco - http://bit.ly/pupconf13
> Register now and take advantage of the Final Countdown discount - save 15%!
>
> --
> You received this message because you are subscribed to a topic in the Google Groups "Puppet Users" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/topic/puppet-users/yKZAWODowGA/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to puppet-users...@googlegroups.com.
> To post to this group, send email to puppet...@googlegroups.com.
> Visit this group at http://groups.google.com/group/puppet-users.
Hi John,On Thu, Aug 1, 2013 at 6:00 AM, jcbollinger <John.Bo...@stjude.org> wrote:
On Wednesday, July 31, 2013 8:22:01 AM UTC-5, cha...@lyricalsoftware.com wrote:Hopefully my $0.02 can we worth something here ;) I'd argue that it's really a separate resource type - since the ACL is related to the user space. If you're going to extend it to multiple providers (solaris as per your example) it's really similar in idea to RBAC. In fact, if you look at Windows ACLs, RBAC, and set/get facl you pretty much have a new type. Or at least that's what I'd hope :)
And of course some Solaris is by no means the only Unix-y OS with ACL support. It is available on Linux, too, at least for the most frequently used filesystems, and I'm sure there are others. I'm inclined to agree that a type aimed at broad ACL / RBAC support would be a win.
Yep, I agree. Now, how exactly to map the type across different implementations?Windows ACLs support inheritance. An ACL can be marked as protected, breaking inheritance, and for directories, everything below it.ACEs specify a subject (SID) and the rights that are granted/denied. This is a bitfield, though users are more typically used to saying "Full Control" or "Read & Execute".Windows ACEs can either be allow or deny, the order matters, and if no ACEs match, access is denied.An ACE for a directory can be marked as object-inherit and/or container-inherit. This doesn't affect the effective permissions on the directory, only files and subdirectories, respectively.
How are these similar & different to Unix-y ACLs?