a not-so-technical user's experience with Conductor part #2

Matt Wagner matt.wagner at redhat.com
Mon Oct 22 20:30:28 UTC 2012


On Mon, Oct 22, 2012 at 03:23:13PM +0200, Martin Povolny wrote:
> Below I have fixed the issue numbering and added one more issue.
> 
> Status: I have an image built, now I want to push it to the cloud. So I
> click "push".
> 
> http://192.168.122.174:3000/catalogs/1/deployables/1
> 
> #10 problem:
> I see: "Some of the images are not pushed". But no link/button/whatever
> to do something about that.

This seems to be a persistent problem in our error messages -- we state
what is wrong, but don't mention how to fix it.

> #11 problem:
> On more problem on the page. I see "Choose a Catalog to enable access:
> ", then an EMPTY combobox and then a grey button that goes blue, when I
> hover it.  The button does nothing.

Ignoring the fact that this form doesn't seem to work for you, our
description here is really unclear. I would argue that we should give
some description of _why_ you would want to do this, and whether it was
required or not.

> back to problem #11:

I assume you mean #10.

> 
> I was told to look into the ImageFactory log, I did.
> 
> 2012-10-22 11:07:47,282 DEBUG oz.Guest.FedoraRemoteGuest thread(7e70cef7) Message: Original ISO path: /var/lib/oz/isos/Fedora17x86_64-iso.iso
> 2012-10-22 11:07:47,282 DEBUG oz.Guest.FedoraRemoteGuest thread(7e70cef7) Message: Modified ISO cache: /var/lib/oz/isos/Fedora17x86_64-iso-oz.iso
> 2012-10-22 11:07:47,282 DEBUG oz.Guest.FedoraRemoteGuest thread(7e70cef7) Message: Output ISO path: /var/lib/imagefactory/images/factory-build-7e70cef7-0520-485d-9699-981a836b44b3-iso-oz.iso
> 2012-10-22 11:07:47,282 DEBUG oz.Guest.FedoraRemoteGuest thread(7e70cef7) Message: ISO content path: /var/lib/oz/isocontent/factory-build-7e70cef7-0520-485d-9699-981a836b44b3-iso
> 2012-10-22 11:07:47,282 DEBUG imgfac.builders.BaseBuilder.Fedora_ec2_Builder thread(7e70cef7) Message: Being asked to push for provider ec2-amazon
> 2012-10-22 11:07:47,282 DEBUG imgfac.builders.BaseBuilder.Fedora_ec2_Builder thread(7e70cef7) Message: distro: Fedora - update: 17 - arch: x86_64
> 2012-10-22 11:07:47,284 DEBUG imgfac.builders.BaseBuilder.Fedora_ec2_Builder thread(7e70cef7) Message: acting as EC2 user: 8211-0863-6519
> 2012-10-22 11:07:47,284 DEBUG imgfac.BuildJob.BuildJob thread(7e70cef7) Message: 7e70cef7-0520-485d-9699-981a836b44b3 for ec2 about to enter ec2 queue...
> 2012-10-22 11:07:47,284 DEBUG imgfac.ReservationManager.ReservationManager thread(7e70cef7) Message: ENTERING queue: (ec2)
> 2012-10-22 11:07:47,284 DEBUG imgfac.ReservationManager.ReservationManager thread(7e70cef7) Message: SUCCESS ENTERING queue: (ec2)
> 2012-10-22 11:07:47,284 DEBUG imgfac.BuildJob.BuildJob thread(7e70cef7) Message: Builder (7e70cef7-0520-485d-9699-981a836b44b3) changed status from NEW to PUSHING
> 2012-10-22 11:07:47,284 DEBUG imgfac.BuildJob.BuildJob thread(7e70cef7) Message: Builder (7e70cef7-0520-485d-9699-981a836b44b3) changed percent complete from 0 to 0
> 2012-10-22 11:07:47,285 DEBUG imgfac.builders.BaseBuilder.Fedora_ec2_Builder thread(7e70cef7) Message: Exception caught in ImageFactory
> 2012-10-22 11:07:47,285 DEBUG imgfac.builders.BaseBuilder.Fedora_ec2_Builder thread(7e70cef7) Message: Traceback (most recent call last):
>   File "/usr/lib/python2.7/site-packages/imgfac/builders/Fedora_ec2_Builder.py", line 481, in push_image
>     credentials)
>   File "/usr/lib/python2.7/site-packages/imgfac/builders/Fedora_ec2_Builder.py", line 572, in push_image_snapshot_ec2
>     region_conf=self.ec2_region_details[region]
> KeyError: 'ec2-amazon'
> 
> #12 problem: Image Factory log and error message are useless from the
> user point of view. That should be worked on.

Yes, indeed. You mention further in your email what seems to have caused
this, but the error really doesn't even say anything related.

> Further more we have a
> WUI, so having user to study the logs each time something goes wrong is
> a no-no.

What's a little bit tricky is that we're pretty much at the mercy of
Deltacloud and Image Factory to give us meaningful error messages in
these cases, and they often do not. Of course, this isn't an excuse,
just an explanation for why things are this way right now. We should
really work with those projects to find a way to pass errors across our
apps so we can present something understandable to our users.

> I was told by Jenik, that I have to change region (don't have idea why
> should I, but I did) 

I'm hoping that someone from the Tim project will come along and sort me
out, but I have a vague recollection of hearing that this reliance on
magical strings for names is changed in newer versions of Image Factory
and Tim, but I might have misunderstood.

Who is Jenik?


> So I went editing the provider:
> 
> http://192.168.122.174:3000/providers/1/edit
> 
> There are interesting 2 buttons there: "Save Changes" and "Test
> Connection"
> 
> I obviously first want to test, if I can so I type in my changes
> (changing provide name and region" and then click "Test Connection"
> 
> I get a message telling me "Successfully connected to Provider" but my
> changes are gone. Did I test the newly entered setup or the previous
> one?
> 
> The workflow should be IMHO: enter changes --> test --> confirm or
> decline changes

Saving should actually test the information as part of its validation,
so I think the "Test Connection" button is not even necessary.

But if it throws away your changes when re-rendering the page... That's
bad.

> #13 problem: Clicking "Test Connections" (probably) looses my changes to
> the provider "Connectivity" and (probably) tests the old configuration,
> not the one just entered.

I suspect it is testing the new one, but either way this is a bug. Have
you been entering BZs for this stuff, or should we start to enter them?

> Jenik told me to rebuild the image, when I have edited the Provider
> Connectivity. I believe, I have to, when he tells me.
> 
> #14 problem: If image rebuild is needed after editing the provider, then
> Conductor shall take care of that. Either rebuild the image for me, or
> invalidate it.

I think (but could be wrong) that this is really something more
involved/complicated. Did you change EC2 regions?

> So I changed to 'ec2-us-east-1' -- have been told that the name should
> match the EC2 Region.
> 
> #15 problem: Why am I entering the regions if the name matters?

+1

> Anyway the error message is again telling me nothing. But in the log I
> see a new error:
> 
> 2012-10-22 12:23:29,075 DEBUG imgfac.BuildJob.BuildJob thread(dd8a0120) Message: Builder (dd8a0120-d167-4ece-8c61-662d5bfba7fd) changed status from NEW to PUSHING
> 2012-10-22 12:23:29,075 DEBUG imgfac.BuildJob.BuildJob thread(dd8a0120) Message: Builder (dd8a0120-d167-4ece-8c61-662d5bfba7fd) changed percent complete from 0 to 0
> 2012-10-22 12:23:29,075 DEBUG imgfac.BuildJob.BuildJob thread(dd8a0120) Message: Builder (dd8a0120-d167-4ece-8c61-662d5bfba7fd) changed status from PUSHING to FAILED
> 2012-10-22 12:23:29,075 DEBUG imgfac.BuildJob.BuildJob thread(dd8a0120) Message: dd8a0120-d167-4ece-8c61-662d5bfba7fd for ec2 about to exit ec2 queue...
> 2012-10-22 12:23:29,075 DEBUG imgfac.ReservationManager.ReservationManager thread(dd8a0120) Message: EXITING queue: (ec2)
> 2012-10-22 12:23:29,075 DEBUG imgfac.ReservationManager.ReservationManager thread(dd8a0120) Message: SUCCESS EXITING queue: (ec2)
> 2012-10-22 12:23:29,076 DEBUG imgfac.builders.BaseBuilder.Fedora_ec2_Builder thread(dd8a0120) Message: Exception caught in ImageFactory
> 2012-10-22 12:23:29,076 DEBUG imgfac.builders.BaseBuilder.Fedora_ec2_Builder thread(dd8a0120) Message: Traceback (most recent call last):
>   File "/usr/lib/python2.7/site-packages/imgfac/builders/Fedora_ec2_Builder.py", line 481, in push_image
>     credentials)
>   File "/usr/lib/python2.7/site-packages/imgfac/builders/Fedora_ec2_Builder.py", line 603, in push_image_snapshot_ec2
>     raise ImageFactoryException("No available JEOS for desired OS, verison combination")
> ImageFactoryException: No available JEOS for desired OS, verison combination
> 
> 
> #16 problem: I should get a SANE error message in Conductor. Not just
> "push failed".  At least: "ImageFactoryException: No available JEOS for
> desired OS, verison combination" provided the user knows what i JEOS is
> and fixing the 'verizon' -> 'version'

Yes, this is another instance of where we don't display anything usable
from the generated exception.

> I give up again, ask for help. I am told to switch from Fedora 17 to
> Fedora 16. So I create a new image for Fedora 16 and this image finally
> gets build and gets pushed to the EC2.
> 
> Now I am at: http://192.168.122.174:3000/images/0ca96c28-1c33-11e2-9928-525400b4f6a2
> 
> #17 problem: The fact that I actually managed to push the image (WOW!)
> is not adequately 'celebrated' in the UI. I would expect something to go
> green or at least blue. I just see the ProviderImage ID column and an
> identifier. I have to make the connection, that it's actually right
> myself.

After all of the hoops you had to jump through to get it working, there
should have been balloons. And cake. (In all seriousness, though, I
agree with you.)

> #18 problem: there's something wrong with the page. When I open the page
> the button "Push All" is light grey. Than after a while (a minute or so)
> the button goes blue. Probably a duplicated code setting the button
> status onLoad and then on some Ajax update? Setting different classes?

This is probably Backbone.

> 
> 
> Next I launch the instance ---> OK
> 
> Then I take a look at the properties: http://192.168.122.174:3000/instances/1
> 
> I See:
> 
>   Name  t-f-16-deployable/t-f-16
>   Status  Running
>   Public Addresses  ec2-23-20-10-45.compute-1.amazonaws.com
>   Private Addresses ip-10-190-202-192.ec2.internal
>   Assembly  t-f-16
>   Provider  ec2-us-east-1
>   Architecture  x86_64
>   Memory  512
>   Storage 1
>   Instantiation Time  22-Oct-2012 12:40:38
>   Current Alerts  0
>   Console Connection  via SSH
>   SSH key Download
>   SSH key name  t-f-16-deployable_t-f-16_1350910502_key_30898600
>   Owner Administrator Administrator
>   Shared to N/A
> 
> 
> #19 problem: The IP address is real, but the memory is from the frontend
> profile. The backend EC2 machine has >1.5GB.

"Storage: 1" has got to be from the frontend HWP as well.

For an additional bonus, we should probably display units here. Memory:
512 is easy enough to figure out, but is "Memory: 64" a really small
instance with only 64MB, or a really big instance with 64GB? Storage is
even more open-ended. (Of course, none of this really matters if the
numbers we show aren't even right...)

Thanks again for writing this stuff up. (I'm afraid to see what will go
wrong in Part 3, though...) Did you file BZs for these, or should we
start to enter them so they can get fixed?

-- Matt



More information about the aeolus-devel mailing list