Hi Martin,
thank you for this feedback. I have very similar notes from my going
through the application and I added some of yours. It's definitely
helpful and thank you for taking them down. Some of them are already
under development.
In general there are problems with error messages. We need to provide
user readable message and information how to get out of the problem.
It's already been on the list.
There are some notes in quoted text.
On 22.10.2012 10:56, Martin Povolny wrote:
Setup: Fedora 16 RPMs, on top of that Conductor from githup so that I
don't crash into what is already fixed.
Story:
---------------------------
Log in, adding a provider
http://192.168.122.174:3000/providers
#1 error: "Provider name must start with 'ec2-'"
WTF? why? the UI allows any name! (was told, this is fixed somewhere)
Under Providers I click "Provider Accounts" and start adding an account:
1 error prohibited this Provider Account from being saved
#2 error: "Cannot add the Provider Account." -- WTF message? tell's me nothing
Conductor (Rails) log, tells me nothing, but a quick look into
/var/log/messages!! to find out I forgot to disable selinux
(DC already fixed the logging AFAIK)
Next I Navigate to Content; I see a catalog "Default" I click that
I see "New Deployable"
Now I remember my previous experience I know, that to make a deployable I need
an Image!
#3 problem: the UI should tell me I need an image or I'm lost at this point
That's truth, will be fixed by adding a reference to empty list or some
comment to a link. Something like "Oh, poor man, you want to create
deployable? No no no, you need to create an image first."
So I navigate back, looking for a place to work with images. Image -- that is probably
"Content" so look there, not in "Environment"
nothing there
General problem with the whole navigation structure, working on that.
ok, I look into "Environments", it brings me to
http://192.168.122.174:3000/pool_families (pool_families) ;-)
It was renamed some time ago but just on a half way. There are
discussion about renaming terms to more sensible ones, so it's waiting
for the result of this discussion to resolve this problem.
Wow, theres a greyed-out "Images" let's click
Now failed again I see an empty list,
#4 problem NO BUTTON to create an image from listing of images! WTF?
As I got the initial intention for this issue when I bumped into the
same problem, the reason was to bind images with Environments (Pool
Families), but now, regarding revisiting workflows will definitely be fixed.
Ok, back to Environments, it has to be there, if it's not under Images
"Default" is clickable --> click and go to "http://192.168.122.174:3000/pools/1"
There's a text "Catalog Images" I click that it resembles "Images" I need an
image to make a deployable, remember?
#5 problem shoot me! -- no link or button "New image" :-(
Same problem as above mentioned issues.
Back to http://192.168.122.174:3000/pool_families now I notice "Import Image", "New
Image"
I choose "New Image" --> http://192.168.122.174:3000/images/new?environment=1
There I read: "Choose one of the following options to upload or import an image into the
"default Environment"."
Below is written "Choose an Image Template file:" but who reads all the text?
Form is under construction - there is already pull-request for that
As an average linux user who is prompted for an image I provide an ISO image of
the latest Ubuntu.
#6 problem: after a dozen of minutes I get an empty browser window; the Rails
log reads:
Rendered layouts/_admin_nav.html.haml (19.5ms)
Rendered images/edit_xml.html.haml within layouts/application (365004.5ms)
Rendered layouts/_new_notification.html.haml (45.3ms)
Rendered layouts/_footer.html.haml (882.3ms)
Rendered layouts/converge-ui/_header_layout.haml (4.9ms)
Rendered layouts/converge-ui/_base.haml (41565.7ms)
Rendered layouts/converge-ui/shell_layout.haml (201594.5ms)
Completed 200 OK in 753340ms (Views: 743206.8ms | ActiveRecord: 5.9ms)
terminate called after throwing an instance of 'std::runtime_error'
what(): no allocation for outbound data
Aborted
hint: 1) add a size limit; 2) guess content type before starting XML parser
I restart Conductor, lost again -- where do I add an image?
#7 problem: in env/images there's a link to add image but in the list of images
there's none; that is not intuitive
The same category as above problems, and the same reason. Will be fixed.
Next I manage to put in a valid XML and actually have a valid image
Next I found a button to create a Deployable from an image.
Next I get a page saying: "Images are not Built" and no hint what to do about it
http://192.168.122.174:3000/catalogs/1/deployables/1
There's a green button, it reads "Images valid" -- green is good, let's click
it!
No! Don't! :-D It's not very logical and will be fixed when I get to images.
But it leads to a page to edit deployable XML
http://192.168.122.174:3000/catalogs/1/deployables/1 ---> click "Images Valid"
(green button) ----> http://192.168.122.174:3000/catalogs/1/deployables/1/edit?edit_xml=true
#8 problem: "Images Valid" should read "edit the deployable XML" and is
probably should not be green
No there, should be just status, Edit Deployable XML is on the top right
now.
On the page under "Build Status" there's "Images are not Built" with CAPITAL B.
But there's no hint what shall I do about it.
That is truth. In general we need to add information what to do, when
list is empty / nothing is there / first build, etc.
I got an advice from Jenik: "for now, got to images show page (env ->
images)"
http://192.168.122.174:3000/images/067f4d76-19fa-11e2-8f46-525400b4f6a2
there's a grey button there. It reads "Build". I clicked it
Failed. Response code = 500. Response message = Internal Server Error.
/home/martin/.gem/ruby/1.9.1/gems/activeresource-3.2.3/lib/active_resource/connection.rb:148:in
`handle_response'
/home/martin/.gem/ruby/1.9.1/gems/activeresource-3.2.3/lib/active_resource/connection.rb:115:in
`request'
/home/martin/.gem/ruby/1.9.1/bundler/gems/aeolus-image-rubygem-4bffe3f60ce3/lib/aeolus_image/active_resource_oauth_client.rb:30:in
`request_with_oauth'
/home/martin/.gem/ruby/1.9.1/gems/activeresource-3.2.3/lib/active_resource/connection.rb:92:in
`block in put'
/home/martin/.gem/ruby/1.9.1/gems/activeresource-3.2.3/lib/active_resource/connection.rb:218:in
`with_auth'
/home/martin/.gem/ruby/1.9.1/gems/activeresource-3.2.3/lib/active_resource/connection.rb:92:in
`put'
probably some component missing, the 'intuitive' code of 500 suggests I forgot
to install or configure image-factory
problem was with oauth credentials
#8 problem: there should be a nice error message telling me about auth problem
#9 problem also the image factory log is a mess. User should get something like
"invalid credentials for image factory, configure the image factory, please"
2012-10-17 09:12:04,299 INFO root thread(MainThread) Message: Launched
as daemon...
2012-10-17 09:12:04,394 DEBUG root thread(MainThread) Message: Unable
to start faulthandler - multi-thread tracebacks will not be available
Traceback (most recent call last):
File "/usr/bin/imagefactory", line 176, in main
import faulthandler
ImportError: No module named faulthandler
2012-10-17 09:12:04,433 DEBUG paste.httpserver.ThreadPool thread(worker
0) Message: Started new worker 139691243161344: Initial worker pool
2012-10-19 16:43:36,291 ERROR imgfac.rest.imagefactory thread(worker 4)
Message: 'oauth_consumer_key'
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/imgfac/rest/imagefactory.py",
line 49, in validate_two_leg_oauth
oauth_consumer = Consumer(request.params['oauth_consumer_key'])
File "/usr/lib/python2.7/site-packages/imgfac/rest/bottle.py", line
1528, in __getitem__
def __getitem__(self, key): return self.dict[key][-1]
KeyError: 'oauth_consumer_key'
(END)
Failed. Response code = 500. Response message = Internal Server Error.
/home/martin/.gem/ruby/1.9.1/gems/activeresource-3.2.3/lib/active_resource/connection.rb:148:in
`handle_response'
/home/martin/.gem/ruby/1.9.1/bundler/gems/aeolus-image-rubygem-4bffe3f60ce3/lib/aeolus_image/active_resource_oauth_client.rb:52:in
`request_with_oauth'
/home/martin/.gem/ruby/1.9.1/gems/activeresource-3.2.3/lib/active_resource/connection.rb:92:in
`block in put'
/home/martin/.gem/ruby/1.9.1/gems/activeresource-3.2.3/lib/active_resource/connection.rb:218:in
`with_auth'
mpovolny: Hrm, in that case, I wonder if oauth.json was wrong.
after I copied the credentials I got:
2012-10-19 16:57:22,683 ERROR imgfac.rest.imagefactory thread(worker 9)
Message: 'NoneType' object has no attribute 'encode'
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/imgfac/rest/imagefactory.py",
line 50, in validate_two_leg_oauth
oauth_server.verify_request(req, oauth_consumer, None)
File "/usr/lib/python2.7/site-packages/oauth2/__init__.py", line 712,
in verify_request
self._check_signature(request, consumer, token)
File "/usr/lib/python2.7/site-packages/oauth2/__init__.py", line 765,
in _check_signature
valid = signature_method.check(request, consumer, token, signature)
File "/usr/lib/python2.7/site-packages/oauth2/__init__.py", line 816,
in check
built = self.sign(request, consumer, token)
File "/usr/lib/python2.7/site-packages/oauth2/__init__.py", line 841,
in sign
key, raw = self.signing_base(request, consumer, token)
File "/usr/lib/python2.7/site-packages/oauth2/__init__.py", line 833,
in signing_base
key = '%s&' % escape(consumer.secret)
File "/usr/lib/python2.7/site-packages/oauth2/__init__.py", line 158,
in escape
return urllib.quote(s.encode('utf-8'), safe='~')
AttributeError: 'NoneType' object has no attribute 'encode'
probably did not copy them right, but again, I would expect a sane error
message
Finally I disabled oauth, clicked the button and built the image. More
fun to come.
One more time thanks for taking this down.
-- Jarda
--
Jaromír Coufal
Interaction Designer
Red Hat Czech s.r.o.
Mobile: +420 724 595 508
E-mail: [email protected]
IRC: jcoufal at #cloudforms-ui, #aeolus, #brno