Failures in image registration should be reported as HTTP error codes

Bug #430266 reported by Neil Soman on 2009-09-15
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Eucalyptus
Fix Released
Critical
chris grzegorczyk
eucalyptus (Ubuntu)
Low
Unassigned

Bug Description

Currently replies with a 200 code.

HTTP/1.1 200 OK.
Content-Length: 349.
Content-Type: application/xml; charset=UTF-8.
.
<?xml version="1.0" encoding="utf-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><soapenv:Fault><faultcode>Image</faultcode><faultstring>Image registration failed because the manifest referenced is invalid or unavailable.</faultstring><detail></detail></soapenv:Fault></soapenv:Body></soapenv:Envelope>

chris grzegorczyk (chris-grze) wrote :

This is a more general issue with the formatting of errors.

Changed in eucalyptus:
assignee: nobody → chris grzegorczyk (chris-grze)
importance: Undecided → Critical
status: New → Confirmed
Dustin Kirkland  (kirkland) wrote :

Confirming, marking medium (though not critical).

Error reporting really stinks, coming from an early tester who encounters a lot of errors, and can't interpret them very well.

:-Dustin

Changed in eucalyptus (Ubuntu):
status: New → Confirmed
importance: Undecided → High
importance: High → Medium
Thierry Carrez (ttx) wrote :

I've a slightly different result on failed euca-register:

$ euca-register uecramdisk/nonexistentmanifest
'ResultSet' object has no attribute 'imageId'

chris grzegorczyk (chris-grze) wrote :

The underlying problem is not the error reporting itself. There is (as I pointed out earlier) a formatting problem that causes the client tools to not display the error message in many cases.

c

Neil Soman (neilsoman) wrote :

"The underlying problem is not the error reporting itself. There is (as I pointed out earlier) a formatting problem that causes the client tools to not display the error message in many cases."

I agree that there is a formatting issue. However, failed requests should not send back a HTTP 200. It should be a 400 error code.

"I've a slightly different result on failed euca-register:

$ euca-register uecramdisk/nonexistentmanifest
'ResultSet' object has no attribute 'imageId'"

This has to do with a bug in boto. I have reported boto upstream of this issue and it has been patched in their svn head,

http://code.google.com/p/boto/issues/detail?id=277

Neil Soman (neilsoman) wrote :

Just to clarify, I opened the bug because the HTTP code returned was not correct. There are two issues,

1. HTTP error code reported when registration fails.

2. Formatting of the error response.

They could both be addressed here, but the intention was not to start a "metabug" that covers all error reporting. Just this specific case.

> 1. HTTP error code reported when registration fails.
Roger.

> 2. Formatting of the error response.
Roger.

From my point of view "formatting" includes all aspects of the
response; including the error code.

> They could both be addressed here, but the intention was not to start a
> "metabug" that covers all error reporting. Just this specific case.

As far as I know these are the two known problems with the error
reporting mechanism.

c

Dustin Kirkland  (kirkland) wrote :

Lowering priority from Medium to Low for Ubuntu. I think we have bigger fish to fry, right now.

:-Dustin

Changed in eucalyptus (Ubuntu):
importance: Medium → Low
Changed in eucalyptus:
status: Confirmed → In Progress
chris grzegorczyk (chris-grze) wrote :

------------------------------------------------------------
revno: 919
committer: decker <decker@personal-army>
branch nick: 1.6
timestamp: Thu 2009-10-08 01:09:03 -0700
message:
  fix issues with failure cases and the release of addresses and network indexes lp:#430266
------------------------------------------------------------

Changed in eucalyptus:
status: In Progress → Fix Committed
chris grzegorczyk (chris-grze) wrote :

Ignore the last comment. I got the wrong bug number.

Changed in eucalyptus:
status: Fix Committed → In Progress
chris grzegorczyk (chris-grze) wrote :

Fix pending merge.

chris grzegorczyk (chris-grze) wrote :

------------------------------------------------------------
revno: 928
committer: decker <decker@personal-army>
branch nick: 1.6
timestamp: Tue 2009-10-13 14:34:50 -0700
message:
  - fix setting of HTTP error codes lp:#430266
------------------------------------------------------------

Changed in eucalyptus:
status: In Progress → Fix Committed
Launchpad Janitor (janitor) wrote :
Download full text (3.6 KiB)

This bug was fixed in the package eucalyptus - 1.6~bzr930-0ubuntu1

---------------
eucalyptus (1.6~bzr930-0ubuntu1) karmic; urgency=low

  [ Dustin Kirkland ]
  * debian/eucalyptus-url, debian/eucalyptus-cc.install,
    debian/eucalyptus-cc.links, debian/eucalyptus-cc.postinst::
    - fix whitespace, to match other update-motd urls LP: #450449
    - link to ubuntu.com/cloud, which links to our documentation,
      necessary for new UEC admins
    - ensure that it gets installed with executable permissions,
      LP: #444970
  * debian/eucalyptus-udeb.finish-install: fix typo; fix breakage of
    /etc/network/interfaces when nodes are configured with static IP
    addresses, LP: #446023
  * eucalyptus-cc.upstart,
    eucalyptus-cloud.eucalyptus-cc-registration.upstart,
    eucalyptus-cloud.eucalyptus-sc-registration.upstart,
    eucalyptus-cloud.eucalyptus-walrus-registration.upstart,
    eucalyptus-sc.upstart, eucalyptus-walrus.upstart, rules, control:
    - registration of cc/sc/walrus should *only* ever occur on the CLC,
      so these scripts should be moved to the eucalyptus-cloud package,
      LP: #450815
    - starting cc/sc/walrus should *not* depend on eucalyptus-cloud
      running, since these components can be installed on separate
      machines, LP: #450777
    - but if cc/sc/walrus are on a system doing registration, ensure that
      these jobs kick off when "starting" registration
    - allow for whitespace separated list of $CC_IP_ADDR and $SC_IP_ADDR,
      as there can be more than one of these, and admins in multi-cluster
      or multi-component mode would need to register a list
    - use Replaces to ensure upgrades work properly
  * debian/eucalyptus-ipaddr.conf: update inline documentation accordingly
  * debian/eucalyptus-cc.templates: update public_ips instructions in the
    installer to match the new upstream implementation, LP: #438565
  * eucalyptus-common.eucalyptus.upstart: fix unclean package purging,
    which hangs on stopping eucalyptus service

  [ Upstream ]
  * Merge upstream revision 930
  * This snapshot is expected to fix the following bugs:
    - LP: #449944 - fixes remote component bootstrap issue
    - LP: #430852, #401996 - fix handling of security groups for the admin
    - LP: #449948 - fix issues with network index and address recovery after
      a system restart
    - LP: #398867 - fix storing VLAN tag info from web ui
    - LP: #430266 - fix setting of HTTP error codes
    - LP: #449948 - part of fix to LP:#449948 the CC now correctly sets the
      networkIndex field in the reponse message of describeInstances
    - LP: #438565 - allowing a range of IPs to be specified in the
      VNET_PUBLICIPS field of eucalyptus.conf
    - LP: #449143 - Add the 169.254.169.254 address to eth0 as 'scope link'
      in order to avoid conflict with the UEC avahi-publish mechanism
    - LP: #449135 - Prevents a segfault in CC during client connection to NC
      on describeInstances, when number of instances is high (> 20 or so).
      The number of bytes sent to 'malloc' was being calculated incorrectly.
    - LP: #444838 - fix to fully allow VMs to access meta-data service in
      MANAGED-NOVLAN, when ...

Read more...

Changed in eucalyptus (Ubuntu):
status: Confirmed → Fix Released
Changed in eucalyptus:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.