Change in ovirt-engine-sdk-ruby[sdk_4.1]: Add Error.code

Code Review gerrit at ovirt.org
Sun May 28 11:41:32 UTC 2017


>From Juan Hernandez <juan.hernandez at redhat.com>:

Juan Hernandez has submitted this change and it was merged.

Change subject: Add Error.code
......................................................................


Add Error.code

This patch adds a new 'code' attribute to the Error class.

For errors that are HTTP related, this will contain the HTTP response
code. For example, if the method to retrieve a virtual machine fails
because it doesn't exist, this will contain the value 404. The users of
the SDK can use it like this:

  # Get the identifier of the virtual machine from some place, maybe
  # from a database that is out of sync with the engine:
  id = ...

  # Find the service that manages that virtual machine. Note that this
  # will always succeed, even if the virtual machine doesn't exist, as
  # the calls to the 'whatever_service' methods *do not* perform any
  # call to the server.
  vm_service = vms_service.vm_service(id)

  # Try to retrieve the virtual machine. This *does* send the request
  # to the server, hence it may fail if the virtual machine doesn't
  # exist.
  begin
    vm = vm_service.get
  rescue OvirtSDK4::Error => error
    if error.code == 404
      # The virtual machine doesn't exist, handle it.
      ...
    else
      # Something else happened that we don't know how to handle.
      raise
    end
  end

For errors that aren't HTTP related, the value of the new attribute will
be 'nil'.

Change-Id: I6e3fc71e17fa1726049ca1e49c8cc9e295c15b0c
Bug-Url: https://bugzilla.redhat.com/1443420
Signed-off-by: Juan Hernandez <juan.hernandez at redhat.com>
(cherry picked from commit 512ab31f477f9f1ec763a7face556013ffef4c7e)
---
M sdk/lib/ovirtsdk4.rb
M sdk/lib/ovirtsdk4/connection.rb
A sdk/lib/ovirtsdk4/error.rb
M sdk/spec/vm_service_spec.rb
4 files changed, 47 insertions(+), 1 deletion(-)

Approvals:
  Juan Hernandez: Verified; Looks good to me, approved; Passed CI tests



-- 
To view, visit https://gerrit.ovirt.org/77009
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I6e3fc71e17fa1726049ca1e49c8cc9e295c15b0c
Gerrit-PatchSet: 2
Gerrit-Project: ovirt-engine-sdk-ruby
Gerrit-Branch: sdk_4.1
Gerrit-Owner: Juan Hernandez <juan.hernandez at redhat.com>
Gerrit-Reviewer: Jenkins CI
Gerrit-Reviewer: Juan Hernandez <juan.hernandez at redhat.com>
Gerrit-Reviewer: gerrit-hooks <automation at ovirt.org>


More information about the Engine-commits mailing list