On Wednesday 24 Feb 2010 18:12:18 Andrew Schulman wrote:
> > Hi Andrew,
> >
> > Just noticed that ssh::auth::server doesn't require the resource for
> > ~/.ssh directory.  Considering the documentation says it does (in
> > Examples -> 1. With account management at the bottom mentions that
> > 'require => [User[$title], File["$home/.ssh"]]' is implicitly included in
> > both client and server), I thought I'll report it.
> >
> > This works fine for ssh::auth::server because it uses a file resource for
> > the ~/.ssh/$filename file, so ~/.ssh is autorequired by puppet (if
> > defined).
> 
> OK, thanks for pointing this out.  Looking back at it now, I think I was
> probably counting on ssh_authorized_key requiring File[$home/.ssh].  But
> that doesn't seem to be explicit anywhere, so I'll add it in explicitly for
> the next point release.  And the user too, while I'm at it.

Actually, the user dependency is already there.  But now that you mention it, 
do you think it would be OK to make it optional, e.g. as in `if 
defined(User[foo]) { ... }`?  I actually had to disable it as I don't manage 
users in puppet (I use nss_ldap and users are in AD).

I realize this can lead to failures when user's home directory doesn't exist, 
but it's not critical, i.e. the key will simply be installed when the 
directory is created (in case of nss_ldap that is after the first time a user 
logged on).  I haven't found a better way to deal with that yet, if you have 
better ideas, please share :)

> > Also, while I'm at it, I wanted to ask a question related to scoping. 
> > Don't know if it's another difference between puppet 0.24.8 and 0.25.x,
> > can't find any docs mentioning that.  Anyway the problem manifests itself
> > in that simple manifest:
> >
> > ----
> > import "auth.pp"
> >
> > include ssh::auth
> >
> > Ssh::Auth::Key { length => 4096 }
> >
> > ssh::auth::key { 'foo': }
> >
> > include ssh::auth::keymaster
> > file { '/home/foo/.ssh': ensure => directory, mode => 700, owner =>
> > 'foo', group => 'puppet' }
> > ssh::auth::client { 'foo': group => 'foo' }
> > ----
> >
> > this is a simplified manifest which I ran with standalone puppet and it
> > produces the following error:
> >
> > Only subclasses can override parameters at /root/puppet-
> > tests/sshauth/auth.pp:113 on node ...
> >
> > The problem here is the "group => 'foo'" param passed to
> > ssh::auth::client. It doesn't really matter which parameter it is though
> > as the issue seems to be that the ssh::auth::client (or
> > ssh::auth::server) define cannot override properties of a resource
> > declared in ssh::auth::key define.
> >
> > I searched a bit for something on defines overriding parameters of
> > resources and found a thread here on puppet-users [1] which implies this
> > isn't possible.
> >
> > Does that work in 0.25.x ?
> 
> I'll have to spend a little time looking into this.  The whole purpose of
> the way I set up the defines and virtual resources was to be able to
> override parameters.  The last time I tried it, it worked.  I guess it's a
> conflict with the file resource in your manifest?  I'll see what I can
> figure out and get back to you.

AFAICS, ssh::auth doesn't declare the '${home}/.ssh' directory and it is the 
only file resource in the manifest above.

Don't know, to be honest scoping and related issues in Puppet DSL have always 
confused the heck out of me ;)

> 
> Andrew.
> 

Thanks Andrew, let me know if I can help.


-- 
Michael Gliwinski
Henderson Group Information Services
9-11 Hightown Avenue, Newtownabby, BT36 4RT
Phone: 028 9034 3319

**********************************************************************************************
The information in this email is confidential and may be legally privileged.  
It is intended solely for the addressee and access to the email by anyone else 
is unauthorised.
If you are not the intended recipient, any disclosure, copying, distribution or 
any action taken or omitted to be taken in reliance on it, is prohibited and 
may be unlawful.
When addressed to our clients, any opinions or advice contained in this e-mail 
are subject to the terms and conditions expressed  in the governing client 
engagement leter or contract.
If you have received this email in error please notify 
supp...@henderson-group.com

John Henderson (Holdings) Ltd
Registered office: 9 Hightown Avenue, Mallusk, County Antrim, Northern Ireland, 
BT36 4RT.
Registered in Northern Ireland
Registration Number NI010588
Vat No.: 814 6399 12
*********************************************************************************

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-us...@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to