Ryan Thomson wrote:
Hi,
First off, thanks to the freeIPA team for releasing the next iteration
of v2! I eagerly follow this project despite my limited deployment
goals. As such, I've already downloaded the source code and built it on
my Fedora 12 PPC server (IBM p505) for testing.
Wow, nice!
The new web UI is definitely a move in the right direction! Good work.
It's quite difficult to judge the workflow at this point though because
there's a couple problems I'm facing that seem like bugs or errors in my
installation/configuration which prevent me from really starting to
hammer data into the UI.
On both the Automount Maps and Automount Keys pages, I can't see any of
the existing automount entries. An error is displayed above the table:
"'cn' is required". I'm thinking this might be referring to the cn for
the automount "location" being missing/not provided? Is there someone to
provide it that I'm just obviously missing?
When I use the "ipa" command on the CLI, I can verify the existence of
my entry:
# ipa automountkey-find
Location: default
Map: auto.home
<automountkey>: ryan
<automountinformation>: -wsize=65536,rsize=65536,intr dnsname:/home/ryan
----------------------------
Number of entries returned 1
----------------------------
but browsing from the web UI, both the key and map tables appear empty.
I can however create automount key and map entries through the web UI
and when I do so, I can see the entry listed right after I create it but
once I navigate away from the map or key page and go back, it's gone
with the "'cn' is required' error in bold red again. Looking in the
httpd error logs, this is all I get when viewing the key or map pages:
ipa: INFO: Created connection context.ldap2
ipa: INFO: Destroyed connection context.ldap2
ipa: INFO: Created connection context.ldap2
ipa: DEBUG: raw: automountmap_find(u'', None)
ipa: INFO: automountmap_find(None, None, all=False, raw=False)
ipa: INFO: Destroyed connection context.ldap2
It seems like automountmap_find() maybe isn't specifying any automount
"location" for where to find entries for but I'm not entirely certain
here. Is there somewhere I'm missing in the UI where I can specify
automount location I want to work with?
Yes, I think you're on the right path. We may need to add some
additional meta-data to help the UI know what to do.
The command-line has another option, automountlocation-tofiles, which
should spit out the maps as they would appear in discrete files if you
weren't storing the data in LDAP. I use this to help check my work but
I'm not sure it's all that useful otherwise. Does this seem like
something you might use?
Next, on the "Services" page of the web UI, I see an error in bold red
above the table which says "Request failed to /ipa/json". Checking my
httpd error logs, I find the following error:
ipa: ERROR: jsonserver.__call__():
Traceback (most recent call last):
File "/usr/lib/python2.6/site-packages/ipaserver/rpcserver.py", line
141, in __call__
response = self.wsgi_execute(environ)
File "/usr/lib/python2.6/site-packages/ipaserver/rpcserver.py", line
128, in wsgi_execute
return self.marshal(result, error, _id)
File "/usr/lib/python2.6/site-packages/ipaserver/rpcserver.py", line
244, in marshal
return json.dumps(response, sort_keys=True, indent=4)
File "/usr/lib/python2.6/json/__init__.py", line 237, in dumps
**kw).encode(obj)
File "/usr/lib/python2.6/json/encoder.py", line 367, in encode
chunks = list(self.iterencode(o))
File "/usr/lib/python2.6/json/encoder.py", line 309, in _iterencode
for chunk in self._iterencode_dict(o, markers):
File "/usr/lib/python2.6/json/encoder.py", line 275, in _iterencode_dict
for chunk in self._iterencode(value, markers):
File "/usr/lib/python2.6/json/encoder.py", line 309, in _iterencode
for chunk in self._iterencode_dict(o, markers):
File "/usr/lib/python2.6/json/encoder.py", line 275, in _iterencode_dict
for chunk in self._iterencode(value, markers):
File "/usr/lib/python2.6/json/encoder.py", line 306, in _iterencode
for chunk in self._iterencode_list(o, markers):
File "/usr/lib/python2.6/json/encoder.py", line 204, in _iterencode_list
for chunk in self._iterencode(value, markers):
File "/usr/lib/python2.6/json/encoder.py", line 309, in _iterencode
for chunk in self._iterencode_dict(o, markers):
File "/usr/lib/python2.6/json/encoder.py", line 275, in _iterencode_dict
for chunk in self._iterencode(value, markers):
File "/usr/lib/python2.6/json/encoder.py", line 306, in _iterencode
for chunk in self._iterencode_list(o, markers):
File "/usr/lib/python2.6/json/encoder.py", line 204, in _iterencode_list
for chunk in self._iterencode(value, markers):
File "/usr/lib/python2.6/json/encoder.py", line 294, in _iterencode
yield encoder(o)
UnicodeDecodeError: 'utf8' codec can't decode byte 0x82 in position 1:
unexpected code byte
Unfortunately, I'm not entirely certain where to start investigating
this problem as I don't posses any significant knowledge of python, JSON
or UTF encoding!
It is probably choking on displaying the SSL certificate stored within
the service. We have some special handling for this on the command-line
(we base64-encode it), I guess we need something similar in the UI.
Let me know how I can help discover what is going on here and then I'll
get to doing the more interesting testing of UI workflow, layout, etc.
You've done most of the legwork already on the automount problem, I
think enough for us to figure out the problem. I recognize the encoding
problem from running into it on the cli so fixing it should be
relatively straightforward (famous last words).
Thanks for the bug reports!
cheers
rob
rob
_______________________________________________
Freeipa-users mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/freeipa-users