)]}'
{"octavia/common/clients.py":[{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"f9bd28ab7c2781b7d88e0c08f22968ec82142e8b","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    nova_client \u003d None"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    @classmethod"},{"line_number":30,"context_line":"    def get_nova_client(cls, region, endpoint_type, service_name\u003dNone):"},{"line_number":31,"context_line":"        \"\"\"Create nova client object."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"        :param region: The region of the service"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a5ae5dd_617da81b","line":30,"range":{"start_line":30,"start_character":37,"end_line":30,"end_character":50},"updated":"2016-02-04 09:33:00.000000000","message":"any reason to not default it to publicURL or you just rather only the config default it?","commit_id":"d309a28901f11450c1695f8cfa44dd1a2615136f"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"1cf30dbfeb74396a644e03ab8d5085a8cc90eb90","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    nova_client \u003d None"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    @classmethod"},{"line_number":30,"context_line":"    def get_nova_client(cls, region, endpoint_type, service_name\u003dNone):"},{"line_number":31,"context_line":"        \"\"\"Create nova client object."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"        :param region: The region of the service"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a5ae5dd_a40633cc","line":30,"range":{"start_line":30,"start_character":37,"end_line":30,"end_character":50},"in_reply_to":"5a5ae5dd_617da81b","updated":"2016-02-04 17:36:20.000000000","message":"Done","commit_id":"d309a28901f11450c1695f8cfa44dd1a2615136f"},{"author":{"_account_id":15226,"name":"Bharath M","email":"bharath.stacker@gmail.com","username":"bharath"},"change_message_id":"53eea45dcc6da91fc03e414d0e4e6ab395c1a9e6","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        :param region: The region of the service"},{"line_number":35,"context_line":"        :param service_name: The name of the nova service in the catalog"},{"line_number":36,"context_line":"        :param endpoint: The endpoint of the service"},{"line_number":37,"context_line":"        :return: a Nova Client object."},{"line_number":38,"context_line":"        :raises Exception: if the client cannot be created"},{"line_number":39,"context_line":"        \"\"\""},{"line_number":40,"context_line":"        if not cls.nova_client:"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a5ae5dd_988c37db","line":37,"range":{"start_line":37,"start_character":8,"end_line":37,"end_character":9},"updated":"2016-02-08 18:30:49.000000000","message":"Missing \":param endpoint_type ....... \"","commit_id":"c08c1da69082caf7062354ab1ab8d3ffbb495e65"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"2de808caccf65624b98317d7263830b96455ecc6","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        :param region: The region of the service"},{"line_number":35,"context_line":"        :param service_name: The name of the nova service in the catalog"},{"line_number":36,"context_line":"        :param endpoint: The endpoint of the service"},{"line_number":37,"context_line":"        :return: a Nova Client object."},{"line_number":38,"context_line":"        :raises Exception: if the client cannot be created"},{"line_number":39,"context_line":"        \"\"\""},{"line_number":40,"context_line":"        if not cls.nova_client:"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a5ae5dd_e3b7bc82","line":37,"range":{"start_line":37,"start_character":8,"end_line":37,"end_character":9},"in_reply_to":"5a5ae5dd_988c37db","updated":"2016-02-08 19:27:40.000000000","message":"Done","commit_id":"c08c1da69082caf7062354ab1ab8d3ffbb495e65"},{"author":{"_account_id":15226,"name":"Bharath M","email":"bharath.stacker@gmail.com","username":"bharath"},"change_message_id":"53eea45dcc6da91fc03e414d0e4e6ab395c1a9e6","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        :param region: The region of the service"},{"line_number":66,"context_line":"        :param service_name: The name of the neutron service in the catalog"},{"line_number":67,"context_line":"        :param endpoint: The endpoint of the service"},{"line_number":68,"context_line":"        :return: a Neutron Client object."},{"line_number":69,"context_line":"        :raises Exception: if the client cannot be created"},{"line_number":70,"context_line":"        \"\"\""},{"line_number":71,"context_line":"        if not cls.neutron_client:"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a5ae5dd_58923ff7","line":68,"range":{"start_line":68,"start_character":8,"end_line":68,"end_character":9},"updated":"2016-02-08 18:30:49.000000000","message":"Missing \":param endpoint_type ....... \"","commit_id":"c08c1da69082caf7062354ab1ab8d3ffbb495e65"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"2de808caccf65624b98317d7263830b96455ecc6","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        :param region: The region of the service"},{"line_number":66,"context_line":"        :param service_name: The name of the neutron service in the catalog"},{"line_number":67,"context_line":"        :param endpoint: The endpoint of the service"},{"line_number":68,"context_line":"        :return: a Neutron Client object."},{"line_number":69,"context_line":"        :raises Exception: if the client cannot be created"},{"line_number":70,"context_line":"        \"\"\""},{"line_number":71,"context_line":"        if not cls.neutron_client:"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a5ae5dd_a37544cb","line":68,"range":{"start_line":68,"start_character":8,"end_line":68,"end_character":9},"in_reply_to":"5a5ae5dd_58923ff7","updated":"2016-02-08 19:27:40.000000000","message":"Done","commit_id":"c08c1da69082caf7062354ab1ab8d3ffbb495e65"}],"octavia/common/config.py":[{"author":{"_account_id":8157,"name":"Bertrand LALLAU","email":"bertrand.lallau@gmail.com","username":"blallau"},"change_message_id":"c68c3c2762e3ef64b276dc8d856064fa85c4c856","unresolved":false,"context_lines":[{"line_number":54,"context_line":"                      \"means no limit\")),"},{"line_number":55,"context_line":"    cfg.StrOpt(\u0027host\u0027, default\u003dutils.get_hostname(),"},{"line_number":56,"context_line":"               help\u003d_(\"The hostname Octavia is running on\")),"},{"line_number":57,"context_line":"    cfg.StrOpt(\u0027nova_url\u0027,"},{"line_number":58,"context_line":"               default\u003d\u0027http://127.0.0.1:8774/v2\u0027,"},{"line_number":59,"context_line":"               help\u003d_(\u0027URL for connection to nova\u0027)),"},{"line_number":60,"context_line":"    cfg.StrOpt(\u0027nova_admin_username\u0027,"},{"line_number":61,"context_line":"               help\u003d_(\u0027Username for connecting to nova in admin context\u0027)),"},{"line_number":62,"context_line":"    cfg.StrOpt(\u0027nova_admin_password\u0027,"},{"line_number":63,"context_line":"               help\u003d_(\u0027Password for connection to nova in admin context\u0027),"},{"line_number":64,"context_line":"               secret\u003dTrue),"},{"line_number":65,"context_line":"    cfg.StrOpt(\u0027nova_admin_tenant_id\u0027,"},{"line_number":66,"context_line":"               help\u003d_(\u0027The uuid of the admin nova tenant\u0027)),"},{"line_number":67,"context_line":"    cfg.StrOpt(\u0027nova_admin_auth_url\u0027,"},{"line_number":68,"context_line":"               default\u003d\u0027http://localhost:5000/v2.0\u0027,"},{"line_number":69,"context_line":"               help\u003d_(\u0027Authorization URL for connecting to nova in admin \u0027"},{"line_number":70,"context_line":"                      \u0027context\u0027)),"},{"line_number":71,"context_line":"    cfg.StrOpt(\u0027nova_ca_certificates_file\u0027,"},{"line_number":72,"context_line":"               help\u003d_(\u0027CA file for novaclient to verify server certificates\u0027)),"},{"line_number":73,"context_line":"    cfg.BoolOpt(\u0027nova_api_insecure\u0027, default\u003dFalse,"},{"line_number":74,"context_line":"                help\u003d_(\"If True, ignore any SSL validation issues\")),"},{"line_number":75,"context_line":"    cfg.StrOpt(\u0027os_region_name\u0027,"},{"line_number":76,"context_line":"               help\u003d_(\u0027Region in Identity service catalog to use for \u0027"},{"line_number":77,"context_line":"                      \u0027communication with the OpenStack services.\u0027)),"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a68dd71_6b0c6241","side":"PARENT","line":74,"range":{"start_line":57,"start_character":0,"end_line":74,"end_character":69},"updated":"2016-01-22 20:01:34.000000000","message":"Is this really related to this Fix?","commit_id":"d2072ae0aef340b8bca7db72d130439f2a7bef07"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"ab9256a3820b57e14a945fc043b9203b46bf4694","unresolved":false,"context_lines":[{"line_number":58,"context_line":"               help\u003d_(\u0027Region in Identity service catalog to use for \u0027"},{"line_number":59,"context_line":"                      \u0027communication with the OpenStack services.\u0027)),"},{"line_number":60,"context_line":"    cfg.StrOpt(\u0027os_endpoint_type\u0027, default\u003d\u0027publicURL\u0027,"},{"line_number":61,"context_line":"               help\u003d_(\u0027Endpoint interface in idendity service to use\u0027)),"},{"line_number":62,"context_line":"    cfg.StrOpt(\u0027octavia_plugins\u0027,"},{"line_number":63,"context_line":"               default\u003d\u0027hot_plug_plugin\u0027,"},{"line_number":64,"context_line":"               help\u003d_(\u0027Name of the controller plugin to use\u0027))"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a5de9d1_a03b7c9b","line":61,"updated":"2016-01-29 03:19:26.000000000","message":"s/idendtity/identity","commit_id":"5451ee5aab143f6c3c5b96f77665dbdb33d5c040"},{"author":{"_account_id":15226,"name":"Bharath M","email":"bharath.stacker@gmail.com","username":"bharath"},"change_message_id":"d6429dc0e54bb776610723734a2f9a077cbabadf","unresolved":false,"context_lines":[{"line_number":58,"context_line":"               help\u003d_(\u0027Region in Identity service catalog to use for \u0027"},{"line_number":59,"context_line":"                      \u0027communication with the OpenStack services.\u0027)),"},{"line_number":60,"context_line":"    cfg.StrOpt(\u0027os_endpoint_type\u0027, default\u003d\u0027publicURL\u0027,"},{"line_number":61,"context_line":"               help\u003d_(\u0027Endpoint interface in idendity service to use\u0027)),"},{"line_number":62,"context_line":"    cfg.StrOpt(\u0027octavia_plugins\u0027,"},{"line_number":63,"context_line":"               default\u003d\u0027hot_plug_plugin\u0027,"},{"line_number":64,"context_line":"               help\u003d_(\u0027Name of the controller plugin to use\u0027))"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a5de9d1_62daef18","line":61,"range":{"start_line":61,"start_character":45,"end_line":61,"end_character":53},"updated":"2016-02-01 22:07:45.000000000","message":"idendity -\u003e identity","commit_id":"036cb6eb3738a26475e6394e5e443104afebb53e"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"510158b71c7bed7c43f185c3220589a7ccaee199","unresolved":false,"context_lines":[{"line_number":58,"context_line":"               help\u003d_(\u0027Region in Identity service catalog to use for \u0027"},{"line_number":59,"context_line":"                      \u0027communication with the OpenStack services.\u0027)),"},{"line_number":60,"context_line":"    cfg.StrOpt(\u0027os_endpoint_type\u0027, default\u003d\u0027publicURL\u0027,"},{"line_number":61,"context_line":"               help\u003d_(\u0027Endpoint interface in idendity service to use\u0027)),"},{"line_number":62,"context_line":"    cfg.StrOpt(\u0027octavia_plugins\u0027,"},{"line_number":63,"context_line":"               default\u003d\u0027hot_plug_plugin\u0027,"},{"line_number":64,"context_line":"               help\u003d_(\u0027Name of the controller plugin to use\u0027))"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a5de9d1_18adae9a","line":61,"range":{"start_line":61,"start_character":45,"end_line":61,"end_character":53},"in_reply_to":"7a5de9d1_62daef18","updated":"2016-02-01 22:50:45.000000000","message":"Done","commit_id":"036cb6eb3738a26475e6394e5e443104afebb53e"}],"octavia/compute/drivers/noop_driver/driver.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"2f7987d373f80730d6a632ed7dfadfbab58fbc0c","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"class NoopComputeDriver(driver_base.ComputeBase):"},{"line_number":71,"context_line":"    def __init__(self, region\u003dNone, endpoint_type\u003d\u0027public_URL\u0027):"},{"line_number":72,"context_line":"        super(NoopComputeDriver, self).__init__()"},{"line_number":73,"context_line":"        self.driver \u003d NoopManager()"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a68dd71_15c38539","line":71,"updated":"2016-01-22 19:02:20.000000000","message":"\"public_URL\"?","commit_id":"96b6dea19da6c814d65aa3e34aae588086c72b05"}],"octavia/compute/drivers/nova_driver.py":[{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"e5ef3a4185fe7f2edc293c44ea880de40499788e","unresolved":false,"context_lines":[{"line_number":33,"context_line":"class VirtualMachineManager(compute_base.ComputeBase):"},{"line_number":34,"context_line":"    \u0027\u0027\u0027Compute implementation of virtual machines via nova.\u0027\u0027\u0027"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def __init__(self, region\u003dNone, endpoint_type\u003d\u0027publicURL\u0027):"},{"line_number":37,"context_line":"        super(VirtualMachineManager, self).__init__()"},{"line_number":38,"context_line":"        # Must initialize nova api"},{"line_number":39,"context_line":"        self._nova_client \u003d clients.NovaAuth.get_nova_client("}],"source_content_type":"text/x-python","patch_set":3,"id":"7a5de9d1_0fe4fb0a","line":36,"updated":"2016-01-29 06:49:48.000000000","message":"region and endpoint_type being here implies that all compute drivers should have these.  Wouldn\u0027t it just be better if they were read from the config here instead of passed from the main controller tasks/flows?  This way the controller doesn\u0027t have to know about any of the authentication and endpoints, its all up to the driver.\n\nSending these to the nova driver is like the neutron lbaas plugin sending the octavia url to the octavia driver.  Only the octavia driver knows what to do with it, so it pulls it out of the config it expects to be there.\n\nI know region was here before but now that we\u0027re adding more, I think these should be pulled out of the __init__ method signature altogether and read from the config in the body of the __init__ method.","commit_id":"5451ee5aab143f6c3c5b96f77665dbdb33d5c040"},{"author":{"_account_id":12417,"name":"Aishwarya","email":"aishwarya.thangappa@gmail.com","username":"Aish"},"change_message_id":"c28a0e4157cad9e77f24b176656b2955dd82f29a","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        super(VirtualMachineManager, self).__init__()"},{"line_number":38,"context_line":"        # Must initialize nova api"},{"line_number":39,"context_line":"        region \u003d CONF.os_region_name"},{"line_number":40,"context_line":"        endpoint_type \u003d cfg.CONF.os_endpoint_type"},{"line_number":41,"context_line":"        self._nova_client \u003d clients.NovaAuth.get_nova_client("},{"line_number":42,"context_line":"            region, endpoint_type)"},{"line_number":43,"context_line":"        self.manager \u003d self._nova_client.servers"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a5de9d1_ac578056","line":40,"range":{"start_line":40,"start_character":23,"end_line":40,"end_character":28},"updated":"2016-02-01 21:20:42.000000000","message":"nit: I think we can refer it as CONF.os_endpoint_type.","commit_id":"036cb6eb3738a26475e6394e5e443104afebb53e"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"510158b71c7bed7c43f185c3220589a7ccaee199","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        super(VirtualMachineManager, self).__init__()"},{"line_number":38,"context_line":"        # Must initialize nova api"},{"line_number":39,"context_line":"        region \u003d CONF.os_region_name"},{"line_number":40,"context_line":"        endpoint_type \u003d cfg.CONF.os_endpoint_type"},{"line_number":41,"context_line":"        self._nova_client \u003d clients.NovaAuth.get_nova_client("},{"line_number":42,"context_line":"            region, endpoint_type)"},{"line_number":43,"context_line":"        self.manager \u003d self._nova_client.servers"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a5de9d1_388bca20","line":40,"range":{"start_line":40,"start_character":23,"end_line":40,"end_character":28},"in_reply_to":"7a5de9d1_ac578056","updated":"2016-02-01 22:50:45.000000000","message":"Done","commit_id":"036cb6eb3738a26475e6394e5e443104afebb53e"},{"author":{"_account_id":15226,"name":"Bharath M","email":"bharath.stacker@gmail.com","username":"bharath"},"change_message_id":"53eea45dcc6da91fc03e414d0e4e6ab395c1a9e6","unresolved":false,"context_lines":[{"line_number":28,"context_line":"CONF \u003d cfg.CONF"},{"line_number":29,"context_line":"CONF.import_group(\u0027keystone_authtoken\u0027, \u0027octavia.common.config\u0027)"},{"line_number":30,"context_line":"CONF.import_group(\u0027networking\u0027, \u0027octavia.common.config\u0027)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"class VirtualMachineManager(compute_base.ComputeBase):"},{"line_number":34,"context_line":"    \u0027\u0027\u0027Compute implementation of virtual machines via nova.\u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a5ae5dd_d8394ff3","line":31,"updated":"2016-02-08 18:30:49.000000000","message":"nit: If submitting another patch, would import_group(\u0027nova\u0027, \u0027octavia.common.config\u0027)","commit_id":"c08c1da69082caf7062354ab1ab8d3ffbb495e65"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"2de808caccf65624b98317d7263830b96455ecc6","unresolved":false,"context_lines":[{"line_number":28,"context_line":"CONF \u003d cfg.CONF"},{"line_number":29,"context_line":"CONF.import_group(\u0027keystone_authtoken\u0027, \u0027octavia.common.config\u0027)"},{"line_number":30,"context_line":"CONF.import_group(\u0027networking\u0027, \u0027octavia.common.config\u0027)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"class VirtualMachineManager(compute_base.ComputeBase):"},{"line_number":34,"context_line":"    \u0027\u0027\u0027Compute implementation of virtual machines via nova.\u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a5ae5dd_3e8f2b76","line":31,"in_reply_to":"5a5ae5dd_d8394ff3","updated":"2016-02-08 19:27:40.000000000","message":"Done","commit_id":"c08c1da69082caf7062354ab1ab8d3ffbb495e65"}],"octavia/network/drivers/neutron/allowed_address_pairs.py":[{"author":{"_account_id":15226,"name":"Bharath M","email":"bharath.stacker@gmail.com","username":"bharath"},"change_message_id":"53eea45dcc6da91fc03e414d0e4e6ab395c1a9e6","unresolved":false,"context_lines":[{"line_number":33,"context_line":"AAP_EXT_ALIAS \u003d \u0027allowed-address-pairs\u0027"},{"line_number":34,"context_line":"VIP_SECURITY_GRP_PREFIX \u003d \u0027lb-\u0027"},{"line_number":35,"context_line":"OCTAVIA_OWNER \u003d \u0027Octavia\u0027"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"class AllowedAddressPairsDriver(neutron_base.BaseNeutronDriver):"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5a5ae5dd_c355e0f9","line":36,"updated":"2016-02-08 18:30:49.000000000","message":"nit: If submitting another patch, for consistency, better add\n\nCONF \u003d cfg.CONF\nCONF.import_group(\u0027nova\u0027, \u0027octavia.common.config\u0027)\nCONF.import_group(\u0027controller_worker\u0027, \u0027octavia.common.config\u0027)\nCONF.import_group(\u0027networking\u0027, \u0027octavia.common.config\u0027)\n\nAnd replace the corresponding usages with \"CONF.xxx\" instead of \"cfg.CONF.xxx\"","commit_id":"c08c1da69082caf7062354ab1ab8d3ffbb495e65"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"2de808caccf65624b98317d7263830b96455ecc6","unresolved":false,"context_lines":[{"line_number":33,"context_line":"AAP_EXT_ALIAS \u003d \u0027allowed-address-pairs\u0027"},{"line_number":34,"context_line":"VIP_SECURITY_GRP_PREFIX \u003d \u0027lb-\u0027"},{"line_number":35,"context_line":"OCTAVIA_OWNER \u003d \u0027Octavia\u0027"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"class AllowedAddressPairsDriver(neutron_base.BaseNeutronDriver):"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5a5ae5dd_fed2f35a","line":36,"in_reply_to":"5a5ae5dd_c355e0f9","updated":"2016-02-08 19:27:40.000000000","message":"Done","commit_id":"c08c1da69082caf7062354ab1ab8d3ffbb495e65"}],"octavia/network/drivers/neutron/base.py":[{"author":{"_account_id":15226,"name":"Bharath M","email":"bharath.stacker@gmail.com","username":"bharath"},"change_message_id":"53eea45dcc6da91fc03e414d0e4e6ab395c1a9e6","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":28,"context_line":"SEC_GRP_EXT_ALIAS \u003d \u0027security-group\u0027"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"class BaseNeutronDriver(base.AbstractNetworkDriver):"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5a5ae5dd_839928c6","line":29,"updated":"2016-02-08 18:30:49.000000000","message":"nit: If submitting another patch, for consistency, better add\nCONF \u003d cfg.CONF\nCONF.import_group(\u0027neutron\u0027, \u0027octavia.common.config\u0027)\n\nAnd replace the corresponding usages with \"CONF.xxx\" instead of \"cfg.CONF.xxx\"","commit_id":"c08c1da69082caf7062354ab1ab8d3ffbb495e65"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"82a9dc4514d5019f5f384b0f966f9be968c17c36","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":28,"context_line":"SEC_GRP_EXT_ALIAS \u003d \u0027security-group\u0027"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"class BaseNeutronDriver(base.AbstractNetworkDriver):"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5a5ae5dd_bb10085a","line":29,"in_reply_to":"5a5ae5dd_839928c6","updated":"2016-02-08 20:41:18.000000000","message":"Done","commit_id":"c08c1da69082caf7062354ab1ab8d3ffbb495e65"}],"octavia/network/drivers/noop_driver/driver.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"2f7987d373f80730d6a632ed7dfadfbab58fbc0c","unresolved":false,"context_lines":[{"line_number":127,"context_line":""},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"class NoopNetworkDriver(driver_base.AbstractNetworkDriver):"},{"line_number":130,"context_line":"    def __init__(self, region\u003dNone, endpoint_type\u003d\u0027public_URL\u0027):"},{"line_number":131,"context_line":"        super(NoopNetworkDriver, self).__init__()"},{"line_number":132,"context_line":"        self.driver \u003d NoopManager()"},{"line_number":133,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a68dd71_f50b518c","line":130,"updated":"2016-01-22 19:02:20.000000000","message":"\"public_URL\" or \"publicURL\"?","commit_id":"96b6dea19da6c814d65aa3e34aae588086c72b05"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"c3fc48751c7492672736c13b7fbeb0af01a07f11","unresolved":false,"context_lines":[{"line_number":127,"context_line":""},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"class NoopNetworkDriver(driver_base.AbstractNetworkDriver):"},{"line_number":130,"context_line":"    def __init__(self, region\u003dNone, endpoint_type\u003d\u0027publicURL\u0027):"},{"line_number":131,"context_line":"        super(NoopNetworkDriver, self).__init__()"},{"line_number":132,"context_line":"        self.driver \u003d NoopManager()"},{"line_number":133,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5a5ae5dd_9570820c","line":130,"updated":"2016-02-08 17:56:12.000000000","message":"Does this matter? I don\u0027t think either of these are actually ever passed to this function because that wouldn\u0027t match the interface, nor are they used.","commit_id":"c08c1da69082caf7062354ab1ab8d3ffbb495e65"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"82a9dc4514d5019f5f384b0f966f9be968c17c36","unresolved":false,"context_lines":[{"line_number":127,"context_line":""},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"class NoopNetworkDriver(driver_base.AbstractNetworkDriver):"},{"line_number":130,"context_line":"    def __init__(self, region\u003dNone, endpoint_type\u003d\u0027publicURL\u0027):"},{"line_number":131,"context_line":"        super(NoopNetworkDriver, self).__init__()"},{"line_number":132,"context_line":"        self.driver \u003d NoopManager()"},{"line_number":133,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5a5ae5dd_ae076416","line":130,"in_reply_to":"5a5ae5dd_9570820c","updated":"2016-02-08 20:41:18.000000000","message":"Done","commit_id":"c08c1da69082caf7062354ab1ab8d3ffbb495e65"}],"octavia/tests/unit/common/test_clients.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"2f7987d373f80730d6a632ed7dfadfbab58fbc0c","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        # Mock out the keystone session and get the client"},{"line_number":43,"context_line":"        keystone._SESSION \u003d mock.MagicMock()"},{"line_number":44,"context_line":"        bc1 \u003d clients.NovaAuth.get_nova_client(region\u003dNone,"},{"line_number":45,"context_line":"                                               endpoint_type\u003d\u0027public_URL\u0027)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        # Our returned client should also be the saved client"},{"line_number":48,"context_line":"        self.assertIsInstance("}],"source_content_type":"text/x-python","patch_set":1,"id":"9a68dd71_b501596c","line":45,"updated":"2016-01-22 19:02:20.000000000","message":"\"public_URL\" or \"publicURL\"?","commit_id":"96b6dea19da6c814d65aa3e34aae588086c72b05"},{"author":{"_account_id":15226,"name":"Bharath M","email":"bharath.stacker@gmail.com","username":"bharath"},"change_message_id":"d6429dc0e54bb776610723734a2f9a077cbabadf","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        # Getting the session again should return the same object"},{"line_number":58,"context_line":"        bc2 \u003d clients.NovaAuth.get_nova_client("},{"line_number":59,"context_line":"            region\u003d\"test-region\", endpoint_type\u003d\u0027admin\u0027)"},{"line_number":60,"context_line":"        self.assertIs(bc1, bc2)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"7a5de9d1_02853bcd","line":59,"range":{"start_line":59,"start_character":49,"end_line":59,"end_character":54},"updated":"2016-02-01 22:07:45.000000000","message":"For consistency, lets make this adminURL","commit_id":"036cb6eb3738a26475e6394e5e443104afebb53e"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"510158b71c7bed7c43f185c3220589a7ccaee199","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        # Getting the session again should return the same object"},{"line_number":58,"context_line":"        bc2 \u003d clients.NovaAuth.get_nova_client("},{"line_number":59,"context_line":"            region\u003d\"test-region\", endpoint_type\u003d\u0027admin\u0027)"},{"line_number":60,"context_line":"        self.assertIs(bc1, bc2)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"7a5de9d1_189b6e67","line":59,"range":{"start_line":59,"start_character":49,"end_line":59,"end_character":54},"in_reply_to":"7a5de9d1_02853bcd","updated":"2016-02-01 22:50:45.000000000","message":"Done","commit_id":"036cb6eb3738a26475e6394e5e443104afebb53e"},{"author":{"_account_id":15226,"name":"Bharath M","email":"bharath.stacker@gmail.com","username":"bharath"},"change_message_id":"d6429dc0e54bb776610723734a2f9a077cbabadf","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        # Mock out the keystone session and get the client"},{"line_number":81,"context_line":"        keystone._SESSION \u003d mock.MagicMock()"},{"line_number":82,"context_line":"        bc1 \u003d clients.NeutronAuth.get_neutron_client("},{"line_number":83,"context_line":"            region\u003dNone, endpoint_type\u003d\u0027public_URL\u0027)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        # Our returned client should also be the saved client"},{"line_number":86,"context_line":"        self.assertIsInstance("}],"source_content_type":"text/x-python","patch_set":4,"id":"7a5de9d1_c224030e","line":83,"range":{"start_line":83,"start_character":40,"end_line":83,"end_character":50},"updated":"2016-02-01 22:07:45.000000000","message":"Should be publicURL","commit_id":"036cb6eb3738a26475e6394e5e443104afebb53e"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"510158b71c7bed7c43f185c3220589a7ccaee199","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        # Mock out the keystone session and get the client"},{"line_number":81,"context_line":"        keystone._SESSION \u003d mock.MagicMock()"},{"line_number":82,"context_line":"        bc1 \u003d clients.NeutronAuth.get_neutron_client("},{"line_number":83,"context_line":"            region\u003dNone, endpoint_type\u003d\u0027public_URL\u0027)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        # Our returned client should also be the saved client"},{"line_number":86,"context_line":"        self.assertIsInstance("}],"source_content_type":"text/x-python","patch_set":4,"id":"7a5de9d1_d8c87657","line":83,"range":{"start_line":83,"start_character":40,"end_line":83,"end_character":50},"in_reply_to":"7a5de9d1_c224030e","updated":"2016-02-01 22:50:45.000000000","message":"Done","commit_id":"036cb6eb3738a26475e6394e5e443104afebb53e"},{"author":{"_account_id":15226,"name":"Bharath M","email":"bharath.stacker@gmail.com","username":"bharath"},"change_message_id":"d6429dc0e54bb776610723734a2f9a077cbabadf","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":"        # Getting the session again should return the same object"},{"line_number":96,"context_line":"        bc2 \u003d clients.NeutronAuth.get_neutron_client("},{"line_number":97,"context_line":"            region\u003d\"test-region\", endpoint_type\u003d\u0027public_URL\u0027)"},{"line_number":98,"context_line":"        self.assertIs(bc1, bc2)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a5de9d1_427fb3df","line":97,"range":{"start_line":97,"start_character":49,"end_line":97,"end_character":59},"updated":"2016-02-01 22:07:45.000000000","message":"Should be publicURL","commit_id":"036cb6eb3738a26475e6394e5e443104afebb53e"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"510158b71c7bed7c43f185c3220589a7ccaee199","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":"        # Getting the session again should return the same object"},{"line_number":96,"context_line":"        bc2 \u003d clients.NeutronAuth.get_neutron_client("},{"line_number":97,"context_line":"            region\u003d\"test-region\", endpoint_type\u003d\u0027public_URL\u0027)"},{"line_number":98,"context_line":"        self.assertIs(bc1, bc2)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a5de9d1_38e0aacc","line":97,"range":{"start_line":97,"start_character":49,"end_line":97,"end_character":59},"in_reply_to":"7a5de9d1_427fb3df","updated":"2016-02-01 22:50:45.000000000","message":"Done","commit_id":"036cb6eb3738a26475e6394e5e443104afebb53e"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"f9bd28ab7c2781b7d88e0c08f22968ec82142e8b","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        # Mock out the keystone session and get the client"},{"line_number":43,"context_line":"        keystone._SESSION \u003d mock.MagicMock()"},{"line_number":44,"context_line":"        bc1 \u003d clients.NovaAuth.get_nova_client(region\u003dNone,"},{"line_number":45,"context_line":"                                               endpoint_type\u003d\u0027publicURL\u0027)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        # Our returned client should also be the saved client"},{"line_number":48,"context_line":"        self.assertIsInstance("}],"source_content_type":"text/x-python","patch_set":6,"id":"5a5ae5dd_c1ea5cac","line":45,"range":{"start_line":45,"start_character":47,"end_line":45,"end_character":60},"updated":"2016-02-04 09:33:00.000000000","message":"here you are calling it like a keyword argument, which i think is better.  It\u0027s defined as a positional argument though.","commit_id":"d309a28901f11450c1695f8cfa44dd1a2615136f"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"f9bd28ab7c2781b7d88e0c08f22968ec82142e8b","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        # Getting the session again should return the same object"},{"line_number":58,"context_line":"        bc2 \u003d clients.NovaAuth.get_nova_client("},{"line_number":59,"context_line":"            region\u003d\"test-region\", service_name\u003d\u0027novaEndpoint1\u0027,"},{"line_number":60,"context_line":"            endpoint_type\u003d\u0027adminURL\u0027)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        self.assertIs(bc1, bc2)"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"5a5ae5dd_e104387f","line":60,"updated":"2016-02-04 09:33:00.000000000","message":"same","commit_id":"d309a28901f11450c1695f8cfa44dd1a2615136f"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"c3fc48751c7492672736c13b7fbeb0af01a07f11","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        # Getting the session again should return the same object"},{"line_number":58,"context_line":"        bc2 \u003d clients.NovaAuth.get_nova_client("},{"line_number":59,"context_line":"            region\u003d\"test-region\", service_name\u003d\u0027novaEndpoint1\u0027,"},{"line_number":60,"context_line":"            endpoint\u003d\"test-endpoint\", endpoint_type\u003d\u0027adminURL\u0027)"},{"line_number":61,"context_line":"        self.assertIs(bc1, bc2)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5a5ae5dd_b5001e35","line":60,"updated":"2016-02-08 17:56:12.000000000","message":"Wait, it gets the same object with a different endpoint_type? I guess I don\u0027t understand how this works internally. I see this isn\u0027t new logic, so maybe I\u0027m crazy.","commit_id":"c08c1da69082caf7062354ab1ab8d3ffbb495e65"},{"author":{"_account_id":10806,"name":"Trevor Vardeman","email":"tvardema@redhat.com","username":"tvardeman"},"change_message_id":"a68d0c5f8749aa084e54df8a896234296ff7d6d7","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        # Getting the session again should return the same object"},{"line_number":58,"context_line":"        bc2 \u003d clients.NovaAuth.get_nova_client("},{"line_number":59,"context_line":"            region\u003d\"test-region\", service_name\u003d\u0027novaEndpoint1\u0027,"},{"line_number":60,"context_line":"            endpoint\u003d\"test-endpoint\", endpoint_type\u003d\u0027adminURL\u0027)"},{"line_number":61,"context_line":"        self.assertIs(bc1, bc2)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5a5ae5dd_c933bf60","line":60,"in_reply_to":"5a5ae5dd_2905b30f","updated":"2016-02-08 19:19:25.000000000","message":"I agree, this doesn\u0027t feel right to me either.","commit_id":"c08c1da69082caf7062354ab1ab8d3ffbb495e65"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"29143af31207e6b6410d2c763ebc445a3e19f93e","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        # Getting the session again should return the same object"},{"line_number":58,"context_line":"        bc2 \u003d clients.NovaAuth.get_nova_client("},{"line_number":59,"context_line":"            region\u003d\"test-region\", service_name\u003d\u0027novaEndpoint1\u0027,"},{"line_number":60,"context_line":"            endpoint\u003d\"test-endpoint\", endpoint_type\u003d\u0027adminURL\u0027)"},{"line_number":61,"context_line":"        self.assertIs(bc1, bc2)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5a5ae5dd_2905b30f","line":60,"in_reply_to":"5a5ae5dd_a33d442c","updated":"2016-02-08 19:03:00.000000000","message":"Wow, this seems REALLY bad -- it just ignores the changed args and returns the original client! This will cause so much confusion if someone actually tries to make an admin client and a normal client in order to use both... This is broken, IMO, and needs to be fixed (possibly client just can\u0027t be shared, or we need to keep one client per unique set of args, which could be done).","commit_id":"c08c1da69082caf7062354ab1ab8d3ffbb495e65"},{"author":{"_account_id":15226,"name":"Bharath M","email":"bharath.stacker@gmail.com","username":"bharath"},"change_message_id":"53eea45dcc6da91fc03e414d0e4e6ab395c1a9e6","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        # Getting the session again should return the same object"},{"line_number":58,"context_line":"        bc2 \u003d clients.NovaAuth.get_nova_client("},{"line_number":59,"context_line":"            region\u003d\"test-region\", service_name\u003d\u0027novaEndpoint1\u0027,"},{"line_number":60,"context_line":"            endpoint\u003d\"test-endpoint\", endpoint_type\u003d\u0027adminURL\u0027)"},{"line_number":61,"context_line":"        self.assertIs(bc1, bc2)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5a5ae5dd_a33d442c","line":60,"in_reply_to":"5a5ae5dd_b5001e35","updated":"2016-02-08 18:30:49.000000000","message":"@Adam - If I understood this correctly, the same object would be returned with the subsequent get_nova_client calls irrespective of the new kwargs.\n\nhttps://github.com/openstack/octavia/blob/master/octavia/common/clients.py#L39\n\nSo, this shouldn\u0027t matter though I prefer endpoint_type be \u0027publicURL\u0027 as we use the same in L99 for Neutron.","commit_id":"c08c1da69082caf7062354ab1ab8d3ffbb495e65"}]}
