[ 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 <crunkle...@google.com> 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)