Bug 749376 - aeolus-image should gracefully handle Conductor being down
Summary: aeolus-image should gracefully handle Conductor being down
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: CloudForms Cloud Engine
Classification: Retired
Component: rubygem-aeolus-cli
Version: 1.0.0
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: rc
Assignee: Maros Zatko
QA Contact: wes hayutin
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-10-26 20:43 UTC by Matt Wagner
Modified: 2014-08-17 22:27 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-08-30 17:16:18 UTC


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 782574 0 unspecified CLOSED conductor needs better messaging / errors if deltacloud goes down 2021-02-22 00:41:40 UTC

Internal Links: 782574

Description Matt Wagner 2011-10-26 20:43:07 UTC
Description of problem:
If aeolus-image is run when Conductor is down, a backtrace is thrown, rather than a helpful error.


Version-Release number of selected component (if applicable):
rubygem-aeolus-cli-0.1.0-3.20111024205439gitc3aa990.fc15.noarch


How reproducible:
100%


Steps to Reproduce:
1. service aeolus-conductor stop
2. aeolus-image list --images
3. Error!

  
Actual results:
$ aeolus-image build --target mock --template ~/template.tpl 
/usr/lib/ruby/1.8/net/http.rb:560:in `initialize': Connection refused - connect(2) (Errno::ECONNREFUSED)
	from /usr/lib/ruby/1.8/net/http.rb:560:in `open'
	from /usr/lib/ruby/1.8/net/http.rb:560:in `connect'
	from /usr/lib/ruby/1.8/timeout.rb:67:in `timeout'
	from /usr/lib/ruby/1.8/timeout.rb:101:in `timeout'
	from /usr/lib/ruby/1.8/net/http.rb:560:in `connect'
	from /usr/lib/ruby/1.8/net/http.rb:553:in `do_start'
	from /usr/lib/ruby/1.8/net/http.rb:542:in `start'
	from /usr/lib/ruby/1.8/net/http.rb:1035:in `__request__'
	from /usr/lib/ruby/gems/1.8/gems/rest-client-1.6.1/lib/restclient/net_http_ext.rb:17:in `request'
	from /usr/lib/ruby/1.8/net/http.rb:845:in `post'
	from /usr/lib/ruby/gems/1.8/gems/activeresource-3.0.10/lib/active_resource/connection.rb:112:in `send'
	from /usr/lib/ruby/gems/1.8/gems/activeresource-3.0.10/lib/active_resource/connection.rb:112:in `request'
	from /usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/notifications.rb:52:in `instrument'
	from /usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/notifications/instrumenter.rb:21:in `instrument'
	from /usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/notifications.rb:52:in `instrument'
	from /usr/lib/ruby/gems/1.8/gems/activeresource-3.0.10/lib/active_resource/connection.rb:109:in `request'
	from /usr/lib/ruby/gems/1.8/gems/activeresource-3.0.10/lib/active_resource/connection.rb:97:in `post'
	from /usr/lib/ruby/gems/1.8/gems/activeresource-3.0.10/lib/active_resource/connection.rb:217:in `with_auth'
	from /usr/lib/ruby/gems/1.8/gems/activeresource-3.0.10/lib/active_resource/connection.rb:97:in `post'
	from /usr/lib/ruby/gems/1.8/gems/activeresource-3.0.10/lib/active_resource/base.rb:1314:in `create_without_notifications'
	from /usr/lib/ruby/gems/1.8/gems/activeresource-3.0.10/lib/active_resource/observing.rb:11:in `create'
	from /usr/lib/ruby/gems/1.8/gems/activeresource-3.0.10/lib/active_resource/base.rb:1117:in `save_without_validation'
	from /usr/lib/ruby/gems/1.8/gems/activeresource-3.0.10/lib/active_resource/validations.rb:87:in `save_without_notifications'
	from /usr/lib/ruby/gems/1.8/gems/activeresource-3.0.10/lib/active_resource/observing.rb:11:in `save'
	from /usr/lib/ruby/gems/1.8/gems/activeresource-3.0.10/lib/active_resource/base.rb:1134:in `save!'
	from /usr/lib/ruby/gems/1.8/gems/aeolus-cli-0.1.0/lib/aeolus_cli/command/build_command.rb:37:in `run'
	from /usr/lib/ruby/gems/1.8/gems/aeolus-cli-0.1.0/lib/aeolus_cli/command/config_parser.rb:220:in `build'
	from /usr/lib/ruby/gems/1.8/gems/aeolus-cli-0.1.0/lib/aeolus_cli/command/config_parser.rb:38:in `send'
	from /usr/lib/ruby/gems/1.8/gems/aeolus-cli-0.1.0/lib/aeolus_cli/command/config_parser.rb:38:in `process'
	from /usr/lib/ruby/gems/1.8/gems/aeolus-cli-0.1.0/bin/aeolus-image:20
	from /usr/bin/aeolus-image:19:in `load'
	from /usr/bin/aeolus-image:19


Expected results:
A helpful error along the lines of, "Could not reach Conductor. Please ensure that the aeolus-conductor service is running."

Comment 1 wes hayutin 2011-11-03 00:25:09 UTC
version should be cloudforms-1.0.0

Comment 2 wes hayutin 2012-01-12 16:51:51 UTC
adding to sprint tracker

Comment 3 Maros Zatko 2012-01-27 13:00:19 UTC
fixed in axiom/1.0-staging

commit 76c98a9759b1cb732a5c93c80f1fdf139b1eac11
Author: Maros Zatko <mzatko>
Date:   Fri Jan 27 00:38:54 2012 +0100

    BZ 749376: tests for aeolus-image handling of Conductor being down
    
    https://bugzilla.redhat.com/show_bug.cgi?id=749376
    
    Test for descriptive messages for exceptions when Conductor is
    unreachable

commit a46435e430e748aaad6b70d7db57b32c988feb14
Author: Maros Zatko <mzatko>
Date:   Thu Jan 26 19:06:11 2012 +0100

    BZ 749376: aeolus-image should gracefully handle Conductor being down
    
    https://bugzilla.redhat.com/show_bug.cgi?id=749376
    
    Added descriptive messages for exceptions when Conductor is unreachable

Comment 4 Steve Linabery 2012-01-31 22:14:32 UTC
76c98a9759b1cb732a5c93c80f1fdf139b1eac11 in rubygem-aeolus-cli-0.3.0-7

Comment 5 Aziza Karol 2012-02-01 13:03:21 UTC
aeolus-image checks if Conductor is down.

#aeolus-image list --images
ERROR:  Service Temporarily Unavailable => Please check that Conductor is running.


verified on:
rpm -qa | grep aeolus
aeolus-conductor-0.8.0-17.el6.noarch
rubygem-aeolus-cli-0.3.0-7.el6.noarch
aeolus-configure-2.5.0-11.el6.noarch
aeolus-conductor-daemons-0.8.0-17.el6.noarch
aeolus-all-0.8.0-17.el6.noarch
aeolus-conductor-doc-0.8.0-17.el6.noarch
rubygem-aeolus-image-0.3.0-7.el6.noarch


Note You need to log in before you can comment on or make changes to this bug.