kapilt / juju-digitalocean

JuDo - A juju provider for digital ocean using a client side plugin and manual provisioning.
111 stars 17 forks source link

Errors in api response reveal programming errors #18

Closed dpb1 closed 10 years ago

dpb1 commented 10 years ago

For instance:

juju docean bootstrap --constraints="mem=2g, region=FOO"

Gives back:

dpb@helo:~$ juju docean bootstrap --constraints="mem=1g, region=FOO"
2014/04/01 09:19.10:INFO Starting new HTTPS connection (1): api.digitalocean.com
2014/04/01 09:19.10:INFO Launching bootstrap host
2014/04/01 09:19.10:INFO Starting new HTTPS connection (1): api.digitalocean.com
Traceback (most recent call last):
  File "/usr/bin/juju-docean", line 9, in <module>
    load_entry_point('juju-docean==0.2.3', 'console_scripts', 'juju-docean')()
  File "/usr/lib/python2.7/dist-packages/juju_docean/cli.py", line 100, in main
    cmd.run()
  File "/usr/lib/python2.7/dist-packages/juju_docean/commands.py", line 84, in run
    instance = op.run()
  File "/usr/lib/python2.7/dist-packages/juju_docean/ops.py", line 30, in run
    instance = self.provider.launch_instance(self.params)
  File "/usr/lib/python2.7/dist-packages/juju_docean/provider.py", line 70, in launch_instance
    return self.client.create_droplet(**params)
  File "/usr/lib/python2.7/dist-packages/juju_docean/client.py", line 65, in create_droplet
    return Droplet.from_dict(data.get('droplet', {}))
AttributeError: 'ProviderAPIError' object has no attribute 'get'
ERROR exit status 1

client.py and exceptions.py need a small patch to agree on the ProviderApiError structure (init is overrided there)

kapilt commented 10 years ago

thanks for the report

kapilt commented 10 years ago

Fixed, in trunk, releasing shortly.