Martin Kosek wrote:
On 06/25/2012 09:35 PM, Rob Crittenden wrote:
Rob Crittenden wrote:
Martin Kosek wrote:
On 06/22/2012 07:27 PM, Rob Crittenden wrote:
Martin Kosek wrote:
On Wed, 2012-06-20 at 13:23 -0400, Rob Crittenden wrote:
Rob Crittenden wrote:
Rob Crittenden wrote:
Here is a tool that can be used to configure automount in an IPA
client.
It can use either SSSD or autofs for automount. It also configures
NFSv4
on the client so secure maps will work.

rebased patch

rebase again

rob

I finally managed to look on this patch. This is generally a good work
and make things a lot easier, but still I found few issues:
[snip]

5) Would it make sense to check if the given automount location
exists?
Currently there is no check for that:

# ipa-configure-automount --server vm-091.idm.lab.bos.redhat.com
--location foo
Searching for IPA server...
IPA server: DNS discovery
Location: foo
Continue to configure the system with these values? [no]: y
Configured /etc/nsswitch.conf
Configured /etc/sysconfig/nfs
Configured /etc/idmapd.conf
Started nfs-server.service
Started nfs-secure.service
Restarting sssd, waiting for it to become available.
Started autofs.service

Automount then obviously not work:

There was even a TODO in the code for this. I went ahead and did it. I
had punted originally because it wasn't really a big deal to
unconfigure
and reconfigure with the right location.

Its better, thanks. The error message could be more user-friendly and
for example print all available automount location, but its not a
blocking issue.

We may however print other errors.ExecutionError's, e.g. I hit this when
I uninstalled automount support and then installed it again too fast:

# ipa-client-automount --server=vm-091.idm.lab.bos.redhat.com --location
brno --no-sssdSearching for IPA server...
IPA server: DNS discovery
Location: brno
Traceback (most recent call last):
File "/sbin/ipa-client-automount", line 458, in<module>
sys.exit(main())
File "/sbin/ipa-client-automount", line 426, in main
api.Command['automountlocation_show'](unicode(options.location))
File "/usr/lib/python2.7/site-packages/ipalib/frontend.py", line 435,
in __call__
ret = self.run(*args, **options)
File "/usr/lib/python2.7/site-packages/ipalib/frontend.py", line 748,
in run
return self.forward(*args, **options)
File "/usr/lib/python2.7/site-packages/ipalib/frontend.py", line 769,
in forward
return self.Backend.xmlclient.forward(self.name, *args, **kw)
File "/usr/lib/python2.7/site-packages/ipalib/rpc.py", line 531, in
forward
return self.forward(name, *args, **kw)
File "/usr/lib/python2.7/site-packages/ipalib/rpc.py", line 514, in
forward
raise NetworkError(uri=server, error=str(e))
ipalib.errors.NetworkError: cannot connect to
'http://vm-091.idm.lab.bos.redhat.com/ipa/xml': [Errno -8053]
(SEC_ERROR_BUSY) NSS could not shutdown. Objects are still in use.

I don't think this was related to the speed in which you configured and
unconfigured though it looks like a timing issue. I wasn't able to
reproduce this but I did make the logging on it a little nicer if it
happens again.


7) This is related to ipa-client-install, but even when I disable
autodiscovery and add --server option it still disregards it and tries
to search SRV records:

# ipa-configure-automount --server=vm-091.idm.lab.bos.redhat.com
<after some time and SRV searches>
Unable to confirm that<some-ldap-server>.redhat.com is an IPA v2
server

Yeah, I think a separate ticket should be opened up, I call the same
code as ipa-client-install.

The issue here is that you don't pass neither server nor domain to
ds.search() function. ipa-client-install use this call:

ret = ds.search(domain=options.domain, server=options.server,
hostname=hostname)

But ipa-client-automount just calls:

+ ret = ds.search()

You may also need to add --domain parameter just like ipa-client-install
does.

Ok, I see the problem. I'm not actually trying to do discovery, I'm just
seeing if it works. If we are able to autodiscover the IPA servers then
we configure the client to use discovery. Otherwise a server is
hardcoded in.

It would do this even if a server was provided, I changed that in this
patch.




8) When discovery is on, we are not really verbose:

# ipa-configure-automount
Searching for IPA server...
IPA server: DNS discovery
Location: default
Continue to configure the system with these values? [no]:

We just write "IPA server: DNS discovery", but I would at least
like to
now what servers it detected so that I know it does the right thing.

This should be better with Petr^3's patches. Is it not? Perhaps only
with --debug?

I don't think it does this is printed in ipa-client-automount:

+ if not autodiscover:
+ print "IPA server: %s" % server
+ else:
+ print "IPA server: DNS discovery"


I'm open to changing the message but basically it is saying whether or
not a fixed IPA server is going to be configured on the client for
autofs.


9) autofs via LDAP (no SSSD )is broken when autodiscovery is used.
After
some investigation I found this line is causing it:

+ if not autodiscover:
+ ldap_uri = "ldap://%s"; % server
+ else:
+ ldap_uri = "ldap:///%s"; % api.env.basedn<<<

There should be an IPA server, not basedn. When I fixed it, autofs via
LDAP worked.

I'm not sure why it didn't work, this is correct.
ldap:///dc=example,dc=com tells the autofs client to use DNS discovery
to find the right server. It works for me.

Now, it forked for me too, I must have had some bad setting.

[snip]

11) I found another issue, nested indirect maps did not work with sssd
provider but they did with ldap provider in nsswitch. But this is a
problem on SSSD side, I filed a ticket for them:

https://fedorahosted.org/sssd/ticket/1390

I also found 3 new issues (sorry for not finding them in original
review).

12) I see we log to ~/.ipa/default.log. I think it would be better to
append the log ipaclient-install.log or similar.

Ok, good idea. Done.

13) First three options in ipa-client-automount man pages are not
formatted right. Bold format is missing + there is extra tag<fl>  in
--location option:

--server=SERVER Set the IPA server to connect to

--location=<fl>LOCATION
Automount location

-S, --no-sssd
Do not configure the client to use SSSD for automount

I only saw the bad<fl>  which I fixed. They are otherwise bolded for me.

14) I assume that your patch covers also ticket 2193, I think it should
be added to the patch description too.

Fixed that too

rob

And now the correct patch.

rob

Thanks, everything seems to be fixed. I just see that
ipaclient-install.log is truncated when I start ipa-client-automount. So
I would rather append the log to it (like we do in ipa-dns-install) so
that we don't loose the client install debug info.

ACK if you do this change or choose a different log file.

Martin

fixed and pushed to master

_______________________________________________
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel

Reply via email to