[
https://issues.apache.org/jira/browse/LIBCLOUD-786?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15067740#comment-15067740
]
ASF GitHub Bot commented on LIBCLOUD-786:
-----------------------------------------
GitHub user crunk1 opened a pull request:
https://github.com/apache/libcloud/pull/665
Implemented LazyObject class, which provides a .lazy class method. Th…
…e lazy class method returns a Proxy object that subclasses the target
object class. Upon accessing the proxy object in any way, the object is
initialized.
Modified Google Compute Engine License objects, GCELicense, to be such a
lazy object. This addresses https://issues.apache.org/jira/browse/LIBCLOUD-786.
Tests/Verification:
tox -e lint
python setup.py test
Added test/common/test_base.py which has LazyObjectTest
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/crunk1/libcloud trunk
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/libcloud/pull/665.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #665
----
commit 4314737241e048778f492640e5e730c8bc499d6c
Author: Scott Crunkleton <[email protected]>
Date: 2015-12-22T08:21:06Z
Implemented LazyObject class, which provides a .lazy class method. The lazy
class method returns a Proxy object that subclasses the target object class.
Upon accessing the proxy object in any way, the object is initialized.
Modified Google Compute Engine License objects, GCELicense, to be such a
lazy object.
Tests/Verification:
tox -e lint
python setup.py test
Added test/common/test_base.py which has LazyObjectTest
----
> GCENodeDriver.ex_get_image needs some love, see description.
> ------------------------------------------------------------
>
> Key: LIBCLOUD-786
> URL: https://issues.apache.org/jira/browse/LIBCLOUD-786
> Project: Libcloud
> Issue Type: Bug
> Components: Compute
> Reporter: Scott Crunkleton
>
> Firstly, the parameter 'ex_project_list' is a misnomer. It is being treated
> as a single project, not list of projects.
> Secondly, it's slow. When not providing a project parameter, ex_get_image
> lists all images from all projects listed in GCENodeDriver.IMAGE_PROJECTS.
> This is a separate API call for each project. After getting all the images,
> any images that have licenses create another API call via ex_get_license.
> Thirdly, if any of the license calls try to pull a license from an image
> project that the user doesn't have access to, it raises a
> ResourceNotFoundError.
> My opinion: fix the ex_project_list param, and see about not populating the
> image license data when fetching images.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)