Uploaded image for project: 'Libcloud'
  1. Libcloud
  2. LIBCLOUD-331

proposal to add a new error type - ProviderError

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 0.12.3
    • 0.13.0
    • Core
    • None

    Description

      libcloud.common.base.Response constructor is handling failures of provider operations, this way

      if not self.success():
      raise Exception(self.parse_error())

      for eg., in ec2 driver the parse_error method is overridden to handle specific cases like invalid credentials, malformed responses but all other error cases produced by ec2 will be raised as Exception. Its too generic and we need a classification (ProviderError) to capture all the errors generated by a cloud provider.

      • libcloud.common.base.Response can use it
        if not self.success():
        raise ProviderError(self.parse_error())
      • specific errors of providers can be derived from it
        class InvalidCredsError(ProviderError):

      Also drivers that are having provider specific error types (eg., SoftLayerException, LinodeException, HostVirtualException) can be extended from ProviderError. Currently its extending LibcloudError and since LibcloudError is inclusive of all internal stuffs, having a separate type for errors occured at provider side would simplify error handling for libcloud clients.

      Attachments

        1. provider-error-type.patch
          2 kB
          Jay Kumar

        Activity

          People

            kami Tomaz Muraus
            jayyy0v Jay Kumar
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: