On 02/27, jprov...@redhat.com wrote: ACK. Pushing.
> From: Jan Provaznik <jprov...@redhat.com> > > Error responses from server don't have to contain backend node, only a > message. > For example 401 error response looks like: > <error status='401' url='/api/instances'> > <message>Authentication required</message> > </error> > > This patch makes sure that dc-client doesn't fail if 'backend' node is not > present. > --- > client/lib/deltacloud.rb | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/client/lib/deltacloud.rb b/client/lib/deltacloud.rb > index c3efcde..a58c280 100644 > --- a/client/lib/deltacloud.rb > +++ b/client/lib/deltacloud.rb > @@ -366,10 +366,12 @@ module DeltaCloud > DeltaCloud::HTTPError.client_error(response.code) > else > opts = { > - :driver => (xml/'backend').first[:driver], > - :provider => (xml/'backend').first[:provider], > :params => (xml/'request/param').inject({}) { |r,p| > r[:"#{p[:name]}"] = p.text; r } > } > + if backend_node = xml.at_xpath('/error/backend') > + opts[:driver] = backend_node[:driver] > + opts[:provider] = backend_node[:provider] > + end > backtrace = (xml/'backtrace').empty? ? nil : > (xml/'backtrace').first.text.split("\n")[1..10].map { |l| l.strip } > DeltaCloud::HTTPError.server_error(xml.root[:status] || > response.code, > (xml/'message').first.text, opts, > backtrace) > -- > 1.7.11.7 > -- Michal Fojtik <mfoj...@redhat.com> Deltacloud API, CloudForms