)]}'
{"openstack/user_preference.py":[{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"fbe6500fa323a6faf30f01ff97f25c49f0d77337","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        # Load the different OpenStack services through their entry points"},{"line_number":45,"context_line":"        # defined in setup.cfg at install time."},{"line_number":46,"context_line":"        service_entry_pts \u003d \u0027openstack.services.list\u0027"},{"line_number":47,"context_line":"        for entry_point in pkg_resources.iter_entry_points(service_entry_pts):"},{"line_number":48,"context_line":"            cls \u003d entry_point.load()"},{"line_number":49,"context_line":"            serv \u003d cls()"},{"line_number":50,"context_line":"            serv.set_visibility(None)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aa7fdbe_0b3fccb4","line":47,"updated":"2014-10-28 12:48:30.000000000","message":"Personally, I like the idea of entry points to load services, but I thought there was some resistance to this idea from some folks.  I also would like to be able to load services from outside the SDK because:\n\n*  I think it would be great if stackforge projects could just be dependent on the SDK and use it to develop and API to their service.\n* We could also use this to to develop proprietary support for certain provider specific features.\n\nMy concerns are:\n* If we are going to allow integration of other projects into the SDK, why not use stevedore.\n* It might be nice to have the loading all in one place, right now we have auth plugins loaded in Connection and get_module in the base class of the Service filter, plus this here.","commit_id":"152bc1a93146c0c2c9c948326b0276d5952b495b"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"7f2a68efa7e1d763a859997babde8e30ad3e22cb","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        # Load the different OpenStack services through their entry points"},{"line_number":45,"context_line":"        # defined in setup.cfg at install time."},{"line_number":46,"context_line":"        service_entry_pts \u003d \u0027openstack.services.list\u0027"},{"line_number":47,"context_line":"        for entry_point in pkg_resources.iter_entry_points(service_entry_pts):"},{"line_number":48,"context_line":"            cls \u003d entry_point.load()"},{"line_number":49,"context_line":"            serv \u003d cls()"},{"line_number":50,"context_line":"            serv.set_visibility(None)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aa7fdbe_01e5ed07","line":47,"in_reply_to":"9aa7fdbe_0b3fccb4","updated":"2014-10-28 16:24:27.000000000","message":"\u003e but I thought there was some resistance to this idea from some folks.\n\nI wasn\u0027t aware of that, I just saw the NOTE.\n\n\u003e If we are going to allow integration of other projects into the SDK, why not use stevedore.\n\nI\u0027m not familiar with stevedore, but I can see how it would handle this.\n\n\u003e It might be nice to have the loading all in one place, right now we have auth plugins loaded in Connection and get_module in the base class of the Service filter, plus this here.\n\nWhat do you imagine this would look like? A module with functions that load entry points, e.g., the above would look like:\n\nfrom openstack import some_module\n\nclass UserPreference(object):\n    def __init__(self):\n        self._services \u003d some_module.load_services()","commit_id":"152bc1a93146c0c2c9c948326b0276d5952b495b"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"14d3e149bc0885ab12e4fe3c925e6dd28974aeed","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        # Load the different OpenStack services through their entry points"},{"line_number":45,"context_line":"        # defined in setup.cfg at install time."},{"line_number":46,"context_line":"        service_entry_pts \u003d \u0027openstack.services.list\u0027"},{"line_number":47,"context_line":"        for entry_point in pkg_resources.iter_entry_points(service_entry_pts):"},{"line_number":48,"context_line":"            cls \u003d entry_point.load()"},{"line_number":49,"context_line":"            serv \u003d cls()"},{"line_number":50,"context_line":"            serv.set_visibility(None)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8c0949_0abbd7c4","line":47,"in_reply_to":"9aa7fdbe_0b3fccb4","updated":"2014-11-05 21:32:21.000000000","message":"So I changed this to use stevedore. Given that the auth plugins are \"drivers\" and these are treated as extensions (although we could use Drivers for this too I guess), does it still make sense to have the loading in one place?","commit_id":"152bc1a93146c0c2c9c948326b0276d5952b495b"}]}
