)]}'
{"octavia/api/v2/controllers/listener.py":[{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"fca75d348eedd7967dca223dcb6749f91bdf1d88","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from wsme import types as wtypes"},{"line_number":22,"context_line":"from wsmeext import pecan as wsme_pecan"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from octavia.api.v1.controllers import l7policy"},{"line_number":25,"context_line":"from octavia.api.v1.controllers import listener_statistics"},{"line_number":26,"context_line":"from octavia.api.v1.controllers import pool"},{"line_number":27,"context_line":"from octavia.api.v2.controllers import base"},{"line_number":28,"context_line":"from octavia.api.v2.types import listener as listener_types"},{"line_number":29,"context_line":"from octavia.common import constants"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa31d9ce_9e5d7b49","line":26,"range":{"start_line":24,"start_character":0,"end_line":26,"end_character":43},"updated":"2017-02-14 22:43:08.000000000","message":"these shouldn\u0027t be needed anymore. l7policy and pool no longer route through the listener controller and listener_statistics isn\u0027t an nlbaas thing.","commit_id":"d5332aa461e50722666d8476b2438158276b45fc"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"cf92f454f9fb0cb68e56c9f40abe52816bfb2ad2","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from wsme import types as wtypes"},{"line_number":22,"context_line":"from wsmeext import pecan as wsme_pecan"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from octavia.api.v1.controllers import l7policy"},{"line_number":25,"context_line":"from octavia.api.v1.controllers import listener_statistics"},{"line_number":26,"context_line":"from octavia.api.v1.controllers import pool"},{"line_number":27,"context_line":"from octavia.api.v2.controllers import base"},{"line_number":28,"context_line":"from octavia.api.v2.types import listener as listener_types"},{"line_number":29,"context_line":"from octavia.common import constants"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa31d9ce_c79e1862","line":26,"range":{"start_line":24,"start_character":0,"end_line":26,"end_character":43},"in_reply_to":"fa31d9ce_9e5d7b49","updated":"2017-02-15 16:55:09.000000000","message":"Done","commit_id":"d5332aa461e50722666d8476b2438158276b45fc"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"fca75d348eedd7967dca223dcb6749f91bdf1d88","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def __init__(self):"},{"line_number":42,"context_line":"        super(ListenersController, self).__init__()"},{"line_number":43,"context_line":"        self.load_balancer_id \u003d None"},{"line_number":44,"context_line":"        self.handler \u003d self.handler.listener"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    @staticmethod"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa31d9ce_be2ddfa9","line":43,"range":{"start_line":43,"start_character":8,"end_line":43,"end_character":36},"updated":"2017-02-14 22:43:08.000000000","message":"no point in keeping this around, since its not getting passed by the uri","commit_id":"d5332aa461e50722666d8476b2438158276b45fc"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"cf92f454f9fb0cb68e56c9f40abe52816bfb2ad2","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def __init__(self):"},{"line_number":42,"context_line":"        super(ListenersController, self).__init__()"},{"line_number":43,"context_line":"        self.load_balancer_id \u003d None"},{"line_number":44,"context_line":"        self.handler \u003d self.handler.listener"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    @staticmethod"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa31d9ce_078bd01f","line":43,"range":{"start_line":43,"start_character":8,"end_line":43,"end_character":36},"in_reply_to":"fa31d9ce_be2ddfa9","updated":"2017-02-15 16:55:09.000000000","message":"Done","commit_id":"d5332aa461e50722666d8476b2438158276b45fc"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"fca75d348eedd7967dca223dcb6749f91bdf1d88","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        return listener_types.ListenersRootResponse(listeners\u003dresult)"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    def _test_lb_and_listener_statuses("},{"line_number":85,"context_line":"            self, session, id\u003dNone, listener_status\u003dconstants.PENDING_UPDATE):"},{"line_number":86,"context_line":"        \"\"\"Verify load balancer is in a mutable state.\"\"\""},{"line_number":87,"context_line":"        lb_repo \u003d self.repositories.load_balancer"},{"line_number":88,"context_line":"        if id:"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa31d9ce_7915413e","line":85,"updated":"2017-02-14 22:43:08.000000000","message":"you\u0027ll need to pass in lb_id as well because we need to not have self.load_balancer_id per my comment above.","commit_id":"d5332aa461e50722666d8476b2438158276b45fc"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"cf92f454f9fb0cb68e56c9f40abe52816bfb2ad2","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        return listener_types.ListenersRootResponse(listeners\u003dresult)"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    def _test_lb_and_listener_statuses("},{"line_number":85,"context_line":"            self, session, id\u003dNone, listener_status\u003dconstants.PENDING_UPDATE):"},{"line_number":86,"context_line":"        \"\"\"Verify load balancer is in a mutable state.\"\"\""},{"line_number":87,"context_line":"        lb_repo \u003d self.repositories.load_balancer"},{"line_number":88,"context_line":"        if id:"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa31d9ce_478148fa","line":85,"in_reply_to":"fa31d9ce_7915413e","updated":"2017-02-15 16:55:09.000000000","message":"Done","commit_id":"d5332aa461e50722666d8476b2438158276b45fc"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"fca75d348eedd7967dca223dcb6749f91bdf1d88","unresolved":false,"context_lines":[{"line_number":240,"context_line":"                                          listener_types.ListenerResponse)"},{"line_number":241,"context_line":"        return listener_types.ListenerRootResponse(listener\u003dresult)"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"    @pecan.expose()"},{"line_number":244,"context_line":"    def _lookup(self, listener_id, *remainder):"},{"line_number":245,"context_line":"        \"\"\"Overridden pecan _lookup method for custom routing."},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"        Verifies that the listener passed in the url exists, and if so decides"},{"line_number":248,"context_line":"        which controller, if any, should control be passed."},{"line_number":249,"context_line":"        \"\"\""},{"line_number":250,"context_line":"        context \u003d pecan.request.context.get(\u0027octavia_context\u0027)"},{"line_number":251,"context_line":"        if listener_id and len(remainder) and (remainder[0] \u003d\u003d \u0027pools\u0027 or"},{"line_number":252,"context_line":"                                               remainder[0] \u003d\u003d \u0027l7policies\u0027 or"},{"line_number":253,"context_line":"                                               remainder[0] \u003d\u003d \u0027stats\u0027):"},{"line_number":254,"context_line":"            controller \u003d remainder[0]"},{"line_number":255,"context_line":"            remainder \u003d remainder[1:]"},{"line_number":256,"context_line":"            db_listener \u003d self.repositories.listener.get("},{"line_number":257,"context_line":"                context.session, id\u003dlistener_id)"},{"line_number":258,"context_line":"            if not db_listener:"},{"line_number":259,"context_line":"                LOG.info(_LI(\"Listener %s not found.\"), listener_id)"},{"line_number":260,"context_line":"                raise exceptions.NotFound("},{"line_number":261,"context_line":"                    resource\u003ddata_models.Listener._name(), id\u003dlistener_id)"},{"line_number":262,"context_line":"            if controller \u003d\u003d \u0027pools\u0027:"},{"line_number":263,"context_line":"                return pool.PoolsController("},{"line_number":264,"context_line":"                    load_balancer_id\u003dself.load_balancer_id,"},{"line_number":265,"context_line":"                    listener_id\u003ddb_listener.id), remainder"},{"line_number":266,"context_line":"            elif controller \u003d\u003d \u0027l7policies\u0027:"},{"line_number":267,"context_line":"                return l7policy.L7PolicyController("},{"line_number":268,"context_line":"                    load_balancer_id\u003dself.load_balancer_id,"},{"line_number":269,"context_line":"                    listener_id\u003ddb_listener.id), remainder"},{"line_number":270,"context_line":"            elif controller \u003d\u003d \u0027stats\u0027:"},{"line_number":271,"context_line":"                return listener_statistics.ListenerStatisticsController("},{"line_number":272,"context_line":"                    listener_id\u003ddb_listener.id), remainder"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa31d9ce_f983f153","line":272,"range":{"start_line":243,"start_character":0,"end_line":272,"end_character":58},"updated":"2017-02-14 22:43:08.000000000","message":"i don\u0027t think this method is needed anymore as there isn\u0027t any subresource of listener anymore.","commit_id":"d5332aa461e50722666d8476b2438158276b45fc"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"cf92f454f9fb0cb68e56c9f40abe52816bfb2ad2","unresolved":false,"context_lines":[{"line_number":240,"context_line":"                                          listener_types.ListenerResponse)"},{"line_number":241,"context_line":"        return listener_types.ListenerRootResponse(listener\u003dresult)"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"    @pecan.expose()"},{"line_number":244,"context_line":"    def _lookup(self, listener_id, *remainder):"},{"line_number":245,"context_line":"        \"\"\"Overridden pecan _lookup method for custom routing."},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"        Verifies that the listener passed in the url exists, and if so decides"},{"line_number":248,"context_line":"        which controller, if any, should control be passed."},{"line_number":249,"context_line":"        \"\"\""},{"line_number":250,"context_line":"        context \u003d pecan.request.context.get(\u0027octavia_context\u0027)"},{"line_number":251,"context_line":"        if listener_id and len(remainder) and (remainder[0] \u003d\u003d \u0027pools\u0027 or"},{"line_number":252,"context_line":"                                               remainder[0] \u003d\u003d \u0027l7policies\u0027 or"},{"line_number":253,"context_line":"                                               remainder[0] \u003d\u003d \u0027stats\u0027):"},{"line_number":254,"context_line":"            controller \u003d remainder[0]"},{"line_number":255,"context_line":"            remainder \u003d remainder[1:]"},{"line_number":256,"context_line":"            db_listener \u003d self.repositories.listener.get("},{"line_number":257,"context_line":"                context.session, id\u003dlistener_id)"},{"line_number":258,"context_line":"            if not db_listener:"},{"line_number":259,"context_line":"                LOG.info(_LI(\"Listener %s not found.\"), listener_id)"},{"line_number":260,"context_line":"                raise exceptions.NotFound("},{"line_number":261,"context_line":"                    resource\u003ddata_models.Listener._name(), id\u003dlistener_id)"},{"line_number":262,"context_line":"            if controller \u003d\u003d \u0027pools\u0027:"},{"line_number":263,"context_line":"                return pool.PoolsController("},{"line_number":264,"context_line":"                    load_balancer_id\u003dself.load_balancer_id,"},{"line_number":265,"context_line":"                    listener_id\u003ddb_listener.id), remainder"},{"line_number":266,"context_line":"            elif controller \u003d\u003d \u0027l7policies\u0027:"},{"line_number":267,"context_line":"                return l7policy.L7PolicyController("},{"line_number":268,"context_line":"                    load_balancer_id\u003dself.load_balancer_id,"},{"line_number":269,"context_line":"                    listener_id\u003ddb_listener.id), remainder"},{"line_number":270,"context_line":"            elif controller \u003d\u003d \u0027stats\u0027:"},{"line_number":271,"context_line":"                return listener_statistics.ListenerStatisticsController("},{"line_number":272,"context_line":"                    listener_id\u003ddb_listener.id), remainder"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa31d9ce_c7753832","line":272,"range":{"start_line":243,"start_character":0,"end_line":272,"end_character":58},"in_reply_to":"fa31d9ce_f983f153","updated":"2017-02-15 16:55:09.000000000","message":"Done","commit_id":"d5332aa461e50722666d8476b2438158276b45fc"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"88fec57c175bb4b7c3819112b52577d2562e878a","unresolved":false,"context_lines":[{"line_number":170,"context_line":"        \"\"\"Creates a listener on a load balancer.\"\"\""},{"line_number":171,"context_line":"        listener \u003d listener_.listener"},{"line_number":172,"context_line":"        self._secure_data(listener)"},{"line_number":173,"context_line":"        context \u003d pecan.request.context.get(\u0027octavia_context\u0027)"},{"line_number":174,"context_line":"        listener_dict \u003d db_prepare.create_listener("},{"line_number":175,"context_line":"            listener.to_dict(render_unsets\u003dTrue), None)"},{"line_number":176,"context_line":"        load_balancer_id \u003d listener_dict[\u0027load_balancer_id\u0027]"}],"source_content_type":"text/x-python","patch_set":22,"id":"1a1ced50_64e1319a","line":173,"updated":"2017-03-21 16:01:16.000000000","message":"Looks like we are missing quota code here.","commit_id":"f913262c24a410e24ac09bbde7799776926f53d9"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"e332e1615b232fe5cedfca5031576cbcf345bed7","unresolved":false,"context_lines":[{"line_number":170,"context_line":"        \"\"\"Creates a listener on a load balancer.\"\"\""},{"line_number":171,"context_line":"        listener \u003d listener_.listener"},{"line_number":172,"context_line":"        self._secure_data(listener)"},{"line_number":173,"context_line":"        context \u003d pecan.request.context.get(\u0027octavia_context\u0027)"},{"line_number":174,"context_line":"        listener_dict \u003d db_prepare.create_listener("},{"line_number":175,"context_line":"            listener.to_dict(render_unsets\u003dTrue), None)"},{"line_number":176,"context_line":"        load_balancer_id \u003d listener_dict[\u0027loadbalancer_id\u0027]"}],"source_content_type":"text/x-python","patch_set":23,"id":"1a1ced50_c089e827","line":173,"updated":"2017-03-21 19:21:43.000000000","message":"Also, please add this right below context (to match loadbalancer controller):\n\n        project_id \u003d context.project_id\n        if context.is_admin or CONF.auth_strategy \u003d\u003d constants.NOAUTH:\n            if listener.project_id:\n                project_id \u003d listener.project_id\n\n        if not project_id:\n            raise exceptions.ValidationException(detail\u003d_(\n                \"Missing project ID in request where one is required.\"))\n\n        listener.project_id \u003d project_id","commit_id":"913b5120cbeeb7297cc21a1b3d2649132b8ba2d7"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"86c62ced7d8cf7ce98cc4d07799be2253f6f17d7","unresolved":false,"context_lines":[{"line_number":170,"context_line":"        \"\"\"Creates a listener on a load balancer.\"\"\""},{"line_number":171,"context_line":"        listener \u003d listener_.listener"},{"line_number":172,"context_line":"        self._secure_data(listener)"},{"line_number":173,"context_line":"        context \u003d pecan.request.context.get(\u0027octavia_context\u0027)"},{"line_number":174,"context_line":"        listener_dict \u003d db_prepare.create_listener("},{"line_number":175,"context_line":"            listener.to_dict(render_unsets\u003dTrue), None)"},{"line_number":176,"context_line":"        load_balancer_id \u003d listener_dict[\u0027loadbalancer_id\u0027]"}],"source_content_type":"text/x-python","patch_set":23,"id":"1a1ced50_919100f4","line":173,"in_reply_to":"1a1ced50_c089e827","updated":"2017-03-21 20:50:50.000000000","message":"Done","commit_id":"913b5120cbeeb7297cc21a1b3d2649132b8ba2d7"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"e332e1615b232fe5cedfca5031576cbcf345bed7","unresolved":false,"context_lines":[{"line_number":174,"context_line":"        listener_dict \u003d db_prepare.create_listener("},{"line_number":175,"context_line":"            listener.to_dict(render_unsets\u003dTrue), None)"},{"line_number":176,"context_line":"        load_balancer_id \u003d listener_dict[\u0027loadbalancer_id\u0027]"},{"line_number":177,"context_line":"        listener_dict[\u0027load_balancer_id\u0027] \u003d load_balancer_id"},{"line_number":178,"context_line":"        del listener_dict[\u0027loadbalancer_id\u0027]"},{"line_number":179,"context_line":"        if listener_dict[\u0027default_pool_id\u0027]:"},{"line_number":180,"context_line":"            self._validate_pool(context.session, load_balancer_id,"}],"source_content_type":"text/x-python","patch_set":23,"id":"1a1ced50_80c61066","line":177,"updated":"2017-03-21 19:21:43.000000000","message":"Ah, I think instead of messing with the listener_dict, I was going to recommend fixing the dict during db_prepare.create_listener()\n\nI threw the following on line 73 of prepare.py and it seems to work:\n\nif \u0027loadbalancer_id\u0027 in listener_dict.keys():\n    listener_dict[\u0027load_balancer_id\u0027] \u003d listener_dict.pop(\u0027loadbalancer_id\u0027)","commit_id":"913b5120cbeeb7297cc21a1b3d2649132b8ba2d7"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"86c62ced7d8cf7ce98cc4d07799be2253f6f17d7","unresolved":false,"context_lines":[{"line_number":174,"context_line":"        listener_dict \u003d db_prepare.create_listener("},{"line_number":175,"context_line":"            listener.to_dict(render_unsets\u003dTrue), None)"},{"line_number":176,"context_line":"        load_balancer_id \u003d listener_dict[\u0027loadbalancer_id\u0027]"},{"line_number":177,"context_line":"        listener_dict[\u0027load_balancer_id\u0027] \u003d load_balancer_id"},{"line_number":178,"context_line":"        del listener_dict[\u0027loadbalancer_id\u0027]"},{"line_number":179,"context_line":"        if listener_dict[\u0027default_pool_id\u0027]:"},{"line_number":180,"context_line":"            self._validate_pool(context.session, load_balancer_id,"}],"source_content_type":"text/x-python","patch_set":23,"id":"1a1ced50_b18efccd","line":177,"in_reply_to":"1a1ced50_80c61066","updated":"2017-03-21 20:50:50.000000000","message":"Done","commit_id":"913b5120cbeeb7297cc21a1b3d2649132b8ba2d7"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"34ef60bdf52466b5b068c18aa4084aa90541e054","unresolved":false,"context_lines":[{"line_number":92,"context_line":"                         lb_id)"},{"line_number":93,"context_line":"                db_lb \u003d lb_repo.get(session, id\u003dlb_id)"},{"line_number":94,"context_line":"                raise exceptions.ImmutableObject(resource\u003ddb_lb._name(),"},{"line_number":95,"context_line":"                                                 id\u003dself.lb_id)"},{"line_number":96,"context_line":"        else:"},{"line_number":97,"context_line":"            if not lb_repo.test_and_set_provisioning_status("},{"line_number":98,"context_line":"                    session, lb_id, constants.PENDING_UPDATE):"}],"source_content_type":"text/x-python","patch_set":25,"id":"1a1ced50_de4289ad","line":95,"updated":"2017-03-22 13:06:08.000000000","message":"id\u003dlb_id","commit_id":"a1ad197d8d75b7ff21cf876b4eb7275ee2db9f91"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"d3552c978c3687173de401fcbee9d4d6c8fa3fc8","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    def _secure_data(listener):"},{"line_number":46,"context_line":"        # TODO(blogan): Handle this data when certificate management code is"},{"line_number":47,"context_line":"        # available"},{"line_number":48,"context_line":"        listener.tls_termination \u003d wtypes.Unset"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def _get_db_listener(self, session, id):"},{"line_number":51,"context_line":"        \"\"\"Gets a listener object from the database.\"\"\""}],"source_content_type":"text/x-python","patch_set":30,"id":"1a1ced50_89241db3","line":48,"updated":"2017-03-23 16:02:52.000000000","message":"This can go away right?  We aren\u0027t doing tls_termination in the API anymore.","commit_id":"5d7504efbbefd84a23f90123ea2b408229174d83"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"b04c09cd81273ef0f96f52990f50fa8759ede061","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    def _secure_data(listener):"},{"line_number":46,"context_line":"        # TODO(blogan): Handle this data when certificate management code is"},{"line_number":47,"context_line":"        # available"},{"line_number":48,"context_line":"        listener.tls_termination \u003d wtypes.Unset"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def _get_db_listener(self, session, id):"},{"line_number":51,"context_line":"        \"\"\"Gets a listener object from the database.\"\"\""}],"source_content_type":"text/x-python","patch_set":30,"id":"1a1ced50_fd5aa729","line":48,"in_reply_to":"1a1ced50_89241db3","updated":"2017-03-23 17:12:47.000000000","message":"Done","commit_id":"5d7504efbbefd84a23f90123ea2b408229174d83"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"d3552c978c3687173de401fcbee9d4d6c8fa3fc8","unresolved":false,"context_lines":[{"line_number":124,"context_line":"                option\u003d\u0027insert_headers\u0027)"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        try:"},{"line_number":127,"context_line":"            sni_containers \u003d listener_dict.pop(\u0027sni_containers\u0027, [])"},{"line_number":128,"context_line":"            db_listener \u003d self.repositories.listener.create("},{"line_number":129,"context_line":"                session, **listener_dict)"},{"line_number":130,"context_line":"            if sni_containers:"}],"source_content_type":"text/x-python","patch_set":30,"id":"1a1ced50_694521b2","line":127,"range":{"start_line":127,"start_character":47,"end_line":127,"end_character":63},"updated":"2017-03-23 16:02:52.000000000","message":"Does this need updating?\nsni_container_refs","commit_id":"5d7504efbbefd84a23f90123ea2b408229174d83"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"b04c09cd81273ef0f96f52990f50fa8759ede061","unresolved":false,"context_lines":[{"line_number":124,"context_line":"                option\u003d\u0027insert_headers\u0027)"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        try:"},{"line_number":127,"context_line":"            sni_containers \u003d listener_dict.pop(\u0027sni_containers\u0027, [])"},{"line_number":128,"context_line":"            db_listener \u003d self.repositories.listener.create("},{"line_number":129,"context_line":"                session, **listener_dict)"},{"line_number":130,"context_line":"            if sni_containers:"}],"source_content_type":"text/x-python","patch_set":30,"id":"1a1ced50_7d5eb713","line":127,"range":{"start_line":127,"start_character":47,"end_line":127,"end_character":63},"in_reply_to":"1a1ced50_2c3df7bb","updated":"2017-03-23 17:12:47.000000000","message":"Done","commit_id":"5d7504efbbefd84a23f90123ea2b408229174d83"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"b04c09cd81273ef0f96f52990f50fa8759ede061","unresolved":false,"context_lines":[{"line_number":124,"context_line":"                option\u003d\u0027insert_headers\u0027)"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        try:"},{"line_number":127,"context_line":"            sni_containers \u003d listener_dict.pop(\u0027sni_containers\u0027, [])"},{"line_number":128,"context_line":"            db_listener \u003d self.repositories.listener.create("},{"line_number":129,"context_line":"                session, **listener_dict)"},{"line_number":130,"context_line":"            if sni_containers:"}],"source_content_type":"text/x-python","patch_set":30,"id":"1a1ced50_9d99b3d3","line":127,"range":{"start_line":127,"start_character":47,"end_line":127,"end_character":63},"in_reply_to":"1a1ced50_694521b2","updated":"2017-03-23 17:12:47.000000000","message":"Done","commit_id":"5d7504efbbefd84a23f90123ea2b408229174d83"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"be151c904d9ee5f25086de932c966ac6f0bcf86d","unresolved":false,"context_lines":[{"line_number":124,"context_line":"                option\u003d\u0027insert_headers\u0027)"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        try:"},{"line_number":127,"context_line":"            sni_containers \u003d listener_dict.pop(\u0027sni_containers\u0027, [])"},{"line_number":128,"context_line":"            db_listener \u003d self.repositories.listener.create("},{"line_number":129,"context_line":"                session, **listener_dict)"},{"line_number":130,"context_line":"            if sni_containers:"}],"source_content_type":"text/x-python","patch_set":30,"id":"1a1ced50_2c3df7bb","line":127,"range":{"start_line":127,"start_character":47,"end_line":127,"end_character":63},"in_reply_to":"1a1ced50_694521b2","updated":"2017-03-23 16:08:22.000000000","message":"No, this remains the same, because here it has already been renamed sni_containers.","commit_id":"5d7504efbbefd84a23f90123ea2b408229174d83"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"d3552c978c3687173de401fcbee9d4d6c8fa3fc8","unresolved":false,"context_lines":[{"line_number":130,"context_line":"            if sni_containers:"},{"line_number":131,"context_line":"                for container in sni_containers:"},{"line_number":132,"context_line":"                    sni_dict \u003d {\u0027listener_id\u0027: db_listener.id,"},{"line_number":133,"context_line":"                                \u0027tls_container_id\u0027: container.get("},{"line_number":134,"context_line":"                                    \u0027tls_container_id\u0027)}"},{"line_number":135,"context_line":"                    self.repositories.sni.create(session, **sni_dict)"},{"line_number":136,"context_line":"                db_listener \u003d self.repositories.listener.get(session,"}],"source_content_type":"text/x-python","patch_set":30,"id":"1a1ced50_09daede9","line":133,"range":{"start_line":133,"start_character":33,"end_line":133,"end_character":49},"updated":"2017-03-23 16:02:52.000000000","message":"Does this need to be updated?\ndefault_tls_container_ref","commit_id":"5d7504efbbefd84a23f90123ea2b408229174d83"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"b04c09cd81273ef0f96f52990f50fa8759ede061","unresolved":false,"context_lines":[{"line_number":130,"context_line":"            if sni_containers:"},{"line_number":131,"context_line":"                for container in sni_containers:"},{"line_number":132,"context_line":"                    sni_dict \u003d {\u0027listener_id\u0027: db_listener.id,"},{"line_number":133,"context_line":"                                \u0027tls_container_id\u0027: container.get("},{"line_number":134,"context_line":"                                    \u0027tls_container_id\u0027)}"},{"line_number":135,"context_line":"                    self.repositories.sni.create(session, **sni_dict)"},{"line_number":136,"context_line":"                db_listener \u003d self.repositories.listener.get(session,"}],"source_content_type":"text/x-python","patch_set":30,"id":"1a1ced50_5d61fbd2","line":133,"range":{"start_line":133,"start_character":33,"end_line":133,"end_character":49},"in_reply_to":"1a1ced50_09daede9","updated":"2017-03-23 17:12:47.000000000","message":"Done","commit_id":"5d7504efbbefd84a23f90123ea2b408229174d83"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"be151c904d9ee5f25086de932c966ac6f0bcf86d","unresolved":false,"context_lines":[{"line_number":130,"context_line":"            if sni_containers:"},{"line_number":131,"context_line":"                for container in sni_containers:"},{"line_number":132,"context_line":"                    sni_dict \u003d {\u0027listener_id\u0027: db_listener.id,"},{"line_number":133,"context_line":"                                \u0027tls_container_id\u0027: container.get("},{"line_number":134,"context_line":"                                    \u0027tls_container_id\u0027)}"},{"line_number":135,"context_line":"                    self.repositories.sni.create(session, **sni_dict)"},{"line_number":136,"context_line":"                db_listener \u003d self.repositories.listener.get(session,"}],"source_content_type":"text/x-python","patch_set":30,"id":"1a1ced50_8c998bd3","line":133,"range":{"start_line":133,"start_character":33,"end_line":133,"end_character":49},"in_reply_to":"1a1ced50_09daede9","updated":"2017-03-23 16:08:22.000000000","message":"No, we\u0027re inside the internal stuff by this point, so this should be correct, I believe. We\u0027ve already converted away from API type into db type.","commit_id":"5d7504efbbefd84a23f90123ea2b408229174d83"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"b04c09cd81273ef0f96f52990f50fa8759ede061","unresolved":false,"context_lines":[{"line_number":130,"context_line":"            if sni_containers:"},{"line_number":131,"context_line":"                for container in sni_containers:"},{"line_number":132,"context_line":"                    sni_dict \u003d {\u0027listener_id\u0027: db_listener.id,"},{"line_number":133,"context_line":"                                \u0027tls_container_id\u0027: container.get("},{"line_number":134,"context_line":"                                    \u0027tls_container_id\u0027)}"},{"line_number":135,"context_line":"                    self.repositories.sni.create(session, **sni_dict)"},{"line_number":136,"context_line":"                db_listener \u003d self.repositories.listener.get(session,"}],"source_content_type":"text/x-python","patch_set":30,"id":"1a1ced50_fd71c7a9","line":133,"range":{"start_line":133,"start_character":33,"end_line":133,"end_character":49},"in_reply_to":"1a1ced50_8c998bd3","updated":"2017-03-23 17:12:47.000000000","message":"Done","commit_id":"5d7504efbbefd84a23f90123ea2b408229174d83"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"d3552c978c3687173de401fcbee9d4d6c8fa3fc8","unresolved":false,"context_lines":[{"line_number":190,"context_line":"        # NOTE(blogan): Throwing away because we should not store secure data"},{"line_number":191,"context_line":"        # in the database nor should we send it to a handler."},{"line_number":192,"context_line":"        if \u0027tls_termination\u0027 in listener_dict:"},{"line_number":193,"context_line":"            del listener_dict[\u0027tls_termination\u0027]"},{"line_number":194,"context_line":"        # This is the extra validation layer for wrong protocol or duplicate"},{"line_number":195,"context_line":"        # listeners on the same load balancer."},{"line_number":196,"context_line":"        db_listener \u003d self._validate_listener("}],"source_content_type":"text/x-python","patch_set":30,"id":"1a1ced50_09010d3a","line":193,"range":{"start_line":193,"start_character":31,"end_line":193,"end_character":47},"updated":"2017-03-23 16:02:52.000000000","message":"Can\u0027t this go away?","commit_id":"5d7504efbbefd84a23f90123ea2b408229174d83"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"b04c09cd81273ef0f96f52990f50fa8759ede061","unresolved":false,"context_lines":[{"line_number":190,"context_line":"        # NOTE(blogan): Throwing away because we should not store secure data"},{"line_number":191,"context_line":"        # in the database nor should we send it to a handler."},{"line_number":192,"context_line":"        if \u0027tls_termination\u0027 in listener_dict:"},{"line_number":193,"context_line":"            del listener_dict[\u0027tls_termination\u0027]"},{"line_number":194,"context_line":"        # This is the extra validation layer for wrong protocol or duplicate"},{"line_number":195,"context_line":"        # listeners on the same load balancer."},{"line_number":196,"context_line":"        db_listener \u003d self._validate_listener("}],"source_content_type":"text/x-python","patch_set":30,"id":"1a1ced50_5db81b2b","line":193,"range":{"start_line":193,"start_character":31,"end_line":193,"end_character":47},"in_reply_to":"1a1ced50_09010d3a","updated":"2017-03-23 17:12:47.000000000","message":"Done","commit_id":"5d7504efbbefd84a23f90123ea2b408229174d83"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"be151c904d9ee5f25086de932c966ac6f0bcf86d","unresolved":false,"context_lines":[{"line_number":190,"context_line":"        # NOTE(blogan): Throwing away because we should not store secure data"},{"line_number":191,"context_line":"        # in the database nor should we send it to a handler."},{"line_number":192,"context_line":"        if \u0027tls_termination\u0027 in listener_dict:"},{"line_number":193,"context_line":"            del listener_dict[\u0027tls_termination\u0027]"},{"line_number":194,"context_line":"        # This is the extra validation layer for wrong protocol or duplicate"},{"line_number":195,"context_line":"        # listeners on the same load balancer."},{"line_number":196,"context_line":"        db_listener \u003d self._validate_listener("}],"source_content_type":"text/x-python","patch_set":30,"id":"1a1ced50_0cae7be7","line":193,"range":{"start_line":193,"start_character":31,"end_line":193,"end_character":47},"in_reply_to":"1a1ced50_09010d3a","updated":"2017-03-23 16:08:22.000000000","message":"Yeah I believe so.","commit_id":"5d7504efbbefd84a23f90123ea2b408229174d83"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"b04c09cd81273ef0f96f52990f50fa8759ede061","unresolved":false,"context_lines":[{"line_number":190,"context_line":"        # NOTE(blogan): Throwing away because we should not store secure data"},{"line_number":191,"context_line":"        # in the database nor should we send it to a handler."},{"line_number":192,"context_line":"        if \u0027tls_termination\u0027 in listener_dict:"},{"line_number":193,"context_line":"            del listener_dict[\u0027tls_termination\u0027]"},{"line_number":194,"context_line":"        # This is the extra validation layer for wrong protocol or duplicate"},{"line_number":195,"context_line":"        # listeners on the same load balancer."},{"line_number":196,"context_line":"        db_listener \u003d self._validate_listener("}],"source_content_type":"text/x-python","patch_set":30,"id":"1a1ced50_7db5d72f","line":193,"range":{"start_line":193,"start_character":31,"end_line":193,"end_character":47},"in_reply_to":"1a1ced50_0cae7be7","updated":"2017-03-23 17:12:47.000000000","message":"Done","commit_id":"5d7504efbbefd84a23f90123ea2b408229174d83"}],"octavia/api/v2/types/listener.py":[{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"481888b26d73bca950296af7220e3fec97b6a8c8","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"class ListenerResponse(BaseListenerType):"},{"line_number":35,"context_line":"    \"\"\"Defines which attributes are to be shown on any response.\"\"\""},{"line_number":36,"context_line":"    id \u003d wtypes.wsattr(wtypes.UuidType())"},{"line_number":37,"context_line":"    name \u003d wtypes.wsattr(wtypes.StringType())"},{"line_number":38,"context_line":"    description \u003d wtypes.wsattr(wtypes.StringType())"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a461143_410b047d","line":35,"updated":"2017-01-31 19:06:50.000000000","message":"listeners\nsni_containers -\u003e sni_container_refs\n\nalso default_tls_container_ref which in this case I\u0027m assuming points so some barbican endpoint\n\nhttp://developer.openstack.org/api-ref/networking/v2/?expanded\u003dlist-pools-detail","commit_id":"7b384a12c8181ec56bed438a69965d6594c327ce"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"fca75d348eedd7967dca223dcb6749f91bdf1d88","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    id \u003d wtypes.wsattr(wtypes.UuidType())"},{"line_number":37,"context_line":"    name \u003d wtypes.wsattr(wtypes.StringType())"},{"line_number":38,"context_line":"    description \u003d wtypes.wsattr(wtypes.StringType())"},{"line_number":39,"context_line":"    provisioning_status \u003d wtypes.wsattr(wtypes.StringType())"},{"line_number":40,"context_line":"    operating_status \u003d wtypes.wsattr(wtypes.StringType())"},{"line_number":41,"context_line":"    admin_state_up \u003d wtypes.wsattr(bool)"},{"line_number":42,"context_line":"    protocol \u003d wtypes.wsattr(wtypes.text)"},{"line_number":43,"context_line":"    protocol_port \u003d wtypes.wsattr(wtypes.IntegerType())"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa31d9ce_6456715d","line":40,"range":{"start_line":39,"start_character":4,"end_line":40,"end_character":57},"updated":"2017-02-14 22:43:08.000000000","message":"nlbaas did not have these on the listener, only on the load balancer.","commit_id":"d5332aa461e50722666d8476b2438158276b45fc"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"fca75d348eedd7967dca223dcb6749f91bdf1d88","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    default_pool \u003d wtypes.wsattr(pool.PoolResponse)"},{"line_number":50,"context_line":"    l7policies \u003d wtypes.wsattr([l7policy.L7PolicyResponse])"},{"line_number":51,"context_line":"    insert_headers \u003d wtypes.wsattr(wtypes.DictType(str, str))"},{"line_number":52,"context_line":"    created_at \u003d wtypes.wsattr(wtypes.datetime.datetime)"},{"line_number":53,"context_line":"    updated_at \u003d wtypes.wsattr(wtypes.datetime.datetime)"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa31d9ce_19f0c5fd","line":52,"updated":"2017-02-14 22:43:08.000000000","message":"add tenant_id","commit_id":"d5332aa461e50722666d8476b2438158276b45fc"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"b27473943efd12811766b76831e0ce3b93189f02","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    default_pool \u003d wtypes.wsattr(pool.PoolResponse)"},{"line_number":50,"context_line":"    l7policies \u003d wtypes.wsattr([l7policy.L7PolicyResponse])"},{"line_number":51,"context_line":"    insert_headers \u003d wtypes.wsattr(wtypes.DictType(str, str))"},{"line_number":52,"context_line":"    created_at \u003d wtypes.wsattr(wtypes.datetime.datetime)"},{"line_number":53,"context_line":"    updated_at \u003d wtypes.wsattr(wtypes.datetime.datetime)"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa31d9ce_d29ed861","line":52,"in_reply_to":"fa31d9ce_19f0c5fd","updated":"2017-02-15 17:16:45.000000000","message":"Done","commit_id":"d5332aa461e50722666d8476b2438158276b45fc"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"fca75d348eedd7967dca223dcb6749f91bdf1d88","unresolved":false,"context_lines":[{"line_number":106,"context_line":"    default_pool \u003d wtypes.wsattr(pool.PoolPOST)"},{"line_number":107,"context_line":"    l7policies \u003d wtypes.wsattr([l7policy.L7PolicyPOST], default\u003d[])"},{"line_number":108,"context_line":"    insert_headers \u003d wtypes.wsattr(wtypes.DictType(str, str))"},{"line_number":109,"context_line":"    load_balancer_id \u003d wtypes.wsattr(wtypes.UuidType())"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"class ListenerRootPOST(types.BaseType):"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa31d9ce_99dcb574","line":109,"updated":"2017-02-14 22:43:08.000000000","message":"add tenant_id","commit_id":"d5332aa461e50722666d8476b2438158276b45fc"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"b27473943efd12811766b76831e0ce3b93189f02","unresolved":false,"context_lines":[{"line_number":106,"context_line":"    default_pool \u003d wtypes.wsattr(pool.PoolPOST)"},{"line_number":107,"context_line":"    l7policies \u003d wtypes.wsattr([l7policy.L7PolicyPOST], default\u003d[])"},{"line_number":108,"context_line":"    insert_headers \u003d wtypes.wsattr(wtypes.DictType(str, str))"},{"line_number":109,"context_line":"    load_balancer_id \u003d wtypes.wsattr(wtypes.UuidType())"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"class ListenerRootPOST(types.BaseType):"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa31d9ce_128b1020","line":109,"in_reply_to":"fa31d9ce_99dcb574","updated":"2017-02-15 17:16:45.000000000","message":"Done","commit_id":"d5332aa461e50722666d8476b2438158276b45fc"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"ac5ab02a442f0b8cb6a6f7305030873b613646f9","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from octavia.common import constants"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class TLSTermination(types.BaseType):"},{"line_number":24,"context_line":"    certificate \u003d wtypes.wsattr(wtypes.StringType())"},{"line_number":25,"context_line":"    intermediate_certificate \u003d wtypes.wsattr(wtypes.StringType())"},{"line_number":26,"context_line":"    private_key \u003d wtypes.wsattr(wtypes.StringType())"}],"source_content_type":"text/x-python","patch_set":18,"id":"fa31d9ce_b475c932","line":23,"updated":"2017-02-15 21:04:25.000000000","message":"nlbaas does not have this.","commit_id":"55f326d7eee4adb49b70d9c46617dcb51ac151ba"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"ac5ab02a442f0b8cb6a6f7305030873b613646f9","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    l7policies \u003d wtypes.wsattr([l7policy.L7PolicyResponse])"},{"line_number":52,"context_line":"    insert_headers \u003d wtypes.wsattr(wtypes.DictType(str, str))"},{"line_number":53,"context_line":"    created_at \u003d wtypes.wsattr(wtypes.datetime.datetime)"},{"line_number":54,"context_line":"    updated_at \u003d wtypes.wsattr(wtypes.datetime.datetime)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    @classmethod"},{"line_number":57,"context_line":"    def from_data_model(cls, data_model, children\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":18,"id":"fa31d9ce_94cc458a","line":54,"updated":"2017-02-15 21:04:25.000000000","message":"you need to add loadbalancer_id and loadbalancers","commit_id":"55f326d7eee4adb49b70d9c46617dcb51ac151ba"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"ac5ab02a442f0b8cb6a6f7305030873b613646f9","unresolved":false,"context_lines":[{"line_number":99,"context_line":"                             mandatory\u003dTrue)"},{"line_number":100,"context_line":"    protocol_port \u003d wtypes.wsattr(wtypes.IntegerType(), mandatory\u003dTrue)"},{"line_number":101,"context_line":"    connection_limit \u003d wtypes.wsattr(wtypes.IntegerType())"},{"line_number":102,"context_line":"    tls_certificate_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d255))"},{"line_number":103,"context_line":"    tls_termination \u003d wtypes.wsattr(TLSTermination)"},{"line_number":104,"context_line":"    sni_containers \u003d [wtypes.StringType(max_length\u003d255)]"},{"line_number":105,"context_line":"    project_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d36))"}],"source_content_type":"text/x-python","patch_set":18,"id":"fa31d9ce_54e9edb5","line":102,"range":{"start_line":102,"start_character":4,"end_line":102,"end_character":22},"updated":"2017-02-15 21:04:25.000000000","message":"default_tls_container_ref","commit_id":"55f326d7eee4adb49b70d9c46617dcb51ac151ba"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"ac5ab02a442f0b8cb6a6f7305030873b613646f9","unresolved":false,"context_lines":[{"line_number":100,"context_line":"    protocol_port \u003d wtypes.wsattr(wtypes.IntegerType(), mandatory\u003dTrue)"},{"line_number":101,"context_line":"    connection_limit \u003d wtypes.wsattr(wtypes.IntegerType())"},{"line_number":102,"context_line":"    tls_certificate_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d255))"},{"line_number":103,"context_line":"    tls_termination \u003d wtypes.wsattr(TLSTermination)"},{"line_number":104,"context_line":"    sni_containers \u003d [wtypes.StringType(max_length\u003d255)]"},{"line_number":105,"context_line":"    project_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d36))"},{"line_number":106,"context_line":"    tenant_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d36))"}],"source_content_type":"text/x-python","patch_set":18,"id":"fa31d9ce_f42d81fe","line":103,"range":{"start_line":103,"start_character":4,"end_line":103,"end_character":19},"updated":"2017-02-15 21:04:25.000000000","message":"nlbaas does not have this.","commit_id":"55f326d7eee4adb49b70d9c46617dcb51ac151ba"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"ac5ab02a442f0b8cb6a6f7305030873b613646f9","unresolved":false,"context_lines":[{"line_number":101,"context_line":"    connection_limit \u003d wtypes.wsattr(wtypes.IntegerType())"},{"line_number":102,"context_line":"    tls_certificate_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d255))"},{"line_number":103,"context_line":"    tls_termination \u003d wtypes.wsattr(TLSTermination)"},{"line_number":104,"context_line":"    sni_containers \u003d [wtypes.StringType(max_length\u003d255)]"},{"line_number":105,"context_line":"    project_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d36))"},{"line_number":106,"context_line":"    tenant_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d36))"},{"line_number":107,"context_line":"    default_pool_id \u003d wtypes.wsattr(wtypes.UuidType())"}],"source_content_type":"text/x-python","patch_set":18,"id":"fa31d9ce_54b2cde5","line":104,"range":{"start_line":104,"start_character":4,"end_line":104,"end_character":18},"updated":"2017-02-15 21:04:25.000000000","message":"sni_container_refs","commit_id":"55f326d7eee4adb49b70d9c46617dcb51ac151ba"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"ac5ab02a442f0b8cb6a6f7305030873b613646f9","unresolved":false,"context_lines":[{"line_number":105,"context_line":"    project_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d36))"},{"line_number":106,"context_line":"    tenant_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d36))"},{"line_number":107,"context_line":"    default_pool_id \u003d wtypes.wsattr(wtypes.UuidType())"},{"line_number":108,"context_line":"    default_pool \u003d wtypes.wsattr(pool.PoolPOST)"},{"line_number":109,"context_line":"    l7policies \u003d wtypes.wsattr([l7policy.L7PolicyPOST], default\u003d[])"},{"line_number":110,"context_line":"    insert_headers \u003d wtypes.wsattr(wtypes.DictType(str, str))"},{"line_number":111,"context_line":"    load_balancer_id \u003d wtypes.wsattr(wtypes.UuidType())"}],"source_content_type":"text/x-python","patch_set":18,"id":"fa31d9ce_742991e5","line":108,"range":{"start_line":108,"start_character":4,"end_line":108,"end_character":16},"updated":"2017-02-15 21:04:25.000000000","message":"i\u0027m not sure if nlbaas supported creating a Listener and pool in the same call.","commit_id":"55f326d7eee4adb49b70d9c46617dcb51ac151ba"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"ac5ab02a442f0b8cb6a6f7305030873b613646f9","unresolved":false,"context_lines":[{"line_number":106,"context_line":"    tenant_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d36))"},{"line_number":107,"context_line":"    default_pool_id \u003d wtypes.wsattr(wtypes.UuidType())"},{"line_number":108,"context_line":"    default_pool \u003d wtypes.wsattr(pool.PoolPOST)"},{"line_number":109,"context_line":"    l7policies \u003d wtypes.wsattr([l7policy.L7PolicyPOST], default\u003d[])"},{"line_number":110,"context_line":"    insert_headers \u003d wtypes.wsattr(wtypes.DictType(str, str))"},{"line_number":111,"context_line":"    load_balancer_id \u003d wtypes.wsattr(wtypes.UuidType())"},{"line_number":112,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"fa31d9ce_b4e4e9ab","line":109,"range":{"start_line":109,"start_character":4,"end_line":109,"end_character":14},"updated":"2017-02-15 21:04:25.000000000","message":"i don\u0027t think nlbaas supported creating a listener and l7policies in the same call.","commit_id":"55f326d7eee4adb49b70d9c46617dcb51ac151ba"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"ac5ab02a442f0b8cb6a6f7305030873b613646f9","unresolved":false,"context_lines":[{"line_number":107,"context_line":"    default_pool_id \u003d wtypes.wsattr(wtypes.UuidType())"},{"line_number":108,"context_line":"    default_pool \u003d wtypes.wsattr(pool.PoolPOST)"},{"line_number":109,"context_line":"    l7policies \u003d wtypes.wsattr([l7policy.L7PolicyPOST], default\u003d[])"},{"line_number":110,"context_line":"    insert_headers \u003d wtypes.wsattr(wtypes.DictType(str, str))"},{"line_number":111,"context_line":"    load_balancer_id \u003d wtypes.wsattr(wtypes.UuidType())"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"fa31d9ce_d4f6bd5b","line":110,"range":{"start_line":110,"start_character":4,"end_line":110,"end_character":18},"updated":"2017-02-15 21:04:25.000000000","message":"i don\u0027t think nlbaas supported this either.","commit_id":"55f326d7eee4adb49b70d9c46617dcb51ac151ba"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"ac5ab02a442f0b8cb6a6f7305030873b613646f9","unresolved":false,"context_lines":[{"line_number":108,"context_line":"    default_pool \u003d wtypes.wsattr(pool.PoolPOST)"},{"line_number":109,"context_line":"    l7policies \u003d wtypes.wsattr([l7policy.L7PolicyPOST], default\u003d[])"},{"line_number":110,"context_line":"    insert_headers \u003d wtypes.wsattr(wtypes.DictType(str, str))"},{"line_number":111,"context_line":"    load_balancer_id \u003d wtypes.wsattr(wtypes.UuidType())"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"class ListenerRootPOST(types.BaseType):"}],"source_content_type":"text/x-python","patch_set":18,"id":"fa31d9ce_9493655a","line":111,"range":{"start_line":111,"start_character":4,"end_line":111,"end_character":20},"updated":"2017-02-15 21:04:25.000000000","message":"loadbalancer_id You\u0027ll probably have to make this a rename like with admin_state_up to enabled in the BaseListenerType","commit_id":"55f326d7eee4adb49b70d9c46617dcb51ac151ba"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"ce0ffac52f831751210ed14cc80254df15cb1b5b","unresolved":false,"context_lines":[{"line_number":108,"context_line":"    default_pool \u003d wtypes.wsattr(pool.PoolPOST)"},{"line_number":109,"context_line":"    l7policies \u003d wtypes.wsattr([l7policy.L7PolicyPOST], default\u003d[])"},{"line_number":110,"context_line":"    insert_headers \u003d wtypes.wsattr(wtypes.DictType(str, str))"},{"line_number":111,"context_line":"    load_balancer_id \u003d wtypes.wsattr(wtypes.UuidType())"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"class ListenerRootPOST(types.BaseType):"}],"source_content_type":"text/x-python","patch_set":22,"id":"1a1ced50_ff404d36","line":111,"updated":"2017-03-21 14:47:12.000000000","message":"In neutron-lbaas API, this is \"loadbalancer_id\". One less underscore. Anywhere we expose this in the API needs to be like that.\n\nhttps://developer.openstack.org/api-ref/networking/v2/?expanded\u003dcreate-listener-detail#id658","commit_id":"f913262c24a410e24ac09bbde7799776926f53d9"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"795ebf35035cc1ccdf85a5504c85f8d6e1de9009","unresolved":false,"context_lines":[{"line_number":108,"context_line":"    default_pool \u003d wtypes.wsattr(pool.PoolPOST)"},{"line_number":109,"context_line":"    l7policies \u003d wtypes.wsattr([l7policy.L7PolicyPOST], default\u003d[])"},{"line_number":110,"context_line":"    insert_headers \u003d wtypes.wsattr(wtypes.DictType(str, str))"},{"line_number":111,"context_line":"    load_balancer_id \u003d wtypes.wsattr(wtypes.UuidType())"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"class ListenerRootPOST(types.BaseType):"}],"source_content_type":"text/x-python","patch_set":22,"id":"1a1ced50_5aa2459a","line":111,"in_reply_to":"1a1ced50_dad9d558","updated":"2017-03-21 18:31:49.000000000","message":"This is just on the API side. It can be translated in the controller. Internally, you can have it be whatever you want.","commit_id":"f913262c24a410e24ac09bbde7799776926f53d9"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"799e5c732d3e569458b431add53cd855f3ba17cd","unresolved":false,"context_lines":[{"line_number":108,"context_line":"    default_pool \u003d wtypes.wsattr(pool.PoolPOST)"},{"line_number":109,"context_line":"    l7policies \u003d wtypes.wsattr([l7policy.L7PolicyPOST], default\u003d[])"},{"line_number":110,"context_line":"    insert_headers \u003d wtypes.wsattr(wtypes.DictType(str, str))"},{"line_number":111,"context_line":"    load_balancer_id \u003d wtypes.wsattr(wtypes.UuidType())"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"class ListenerRootPOST(types.BaseType):"}],"source_content_type":"text/x-python","patch_set":22,"id":"1a1ced50_dad9d558","line":111,"in_reply_to":"1a1ced50_ff404d36","updated":"2017-03-21 18:28:16.000000000","message":"hi Adam, listeners table in lbaasv2 has \u0027loadbalancer_id\u0027 column. However, in Octavia the listeners table has \u0027load_balancer_id\u0027 column. so if I make the changes as suggested it is resulting in error.","commit_id":"f913262c24a410e24ac09bbde7799776926f53d9"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"608499c67355a7fb2f5948e719f184c50bd7271e","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class TLSTermination(types.BaseType):"},{"line_number":24,"context_line":"    certificate \u003d wtypes.wsattr(wtypes.StringType())"},{"line_number":25,"context_line":"    intermediate_certificate \u003d wtypes.wsattr(wtypes.StringType())"},{"line_number":26,"context_line":"    private_key \u003d wtypes.wsattr(wtypes.StringType())"},{"line_number":27,"context_line":"    passphrase \u003d wtypes.wsattr(wtypes.StringType())"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class BaseListenerType(types.BaseType):"}],"source_content_type":"text/x-python","patch_set":28,"id":"1a1ced50_104960b7","line":27,"range":{"start_line":24,"start_character":4,"end_line":27,"end_character":51},"updated":"2017-03-22 17:24:53.000000000","message":"These should have max_length as they are used in the POST","commit_id":"5a7758e00218a19d66fef3b3a54f2102c1280981"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"5d98127598af36f539603df047285fe74d62db90","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class TLSTermination(types.BaseType):"},{"line_number":24,"context_line":"    certificate \u003d wtypes.wsattr(wtypes.StringType())"},{"line_number":25,"context_line":"    intermediate_certificate \u003d wtypes.wsattr(wtypes.StringType())"},{"line_number":26,"context_line":"    private_key \u003d wtypes.wsattr(wtypes.StringType())"},{"line_number":27,"context_line":"    passphrase \u003d wtypes.wsattr(wtypes.StringType())"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class BaseListenerType(types.BaseType):"}],"source_content_type":"text/x-python","patch_set":28,"id":"1a1ced50_815c247e","line":27,"range":{"start_line":24,"start_character":4,"end_line":27,"end_character":51},"in_reply_to":"1a1ced50_104960b7","updated":"2017-03-22 18:27:28.000000000","message":"I\u0027m removing this... We can\u0027t take this data directly, not sure what this was for.","commit_id":"5a7758e00218a19d66fef3b3a54f2102c1280981"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"84824173a361ee7cfbac91bf1adddd99f348c8a8","unresolved":false,"context_lines":[{"line_number":104,"context_line":"    admin_state_up \u003d wtypes.wsattr(bool, default\u003dTrue)"},{"line_number":105,"context_line":"    protocol \u003d wtypes.wsattr(wtypes.Enum(str, *constants.SUPPORTED_PROTOCOLS),"},{"line_number":106,"context_line":"                             mandatory\u003dTrue)"},{"line_number":107,"context_line":"    protocol_port \u003d wtypes.wsattr(wtypes.IntegerType(), mandatory\u003dTrue)"},{"line_number":108,"context_line":"    connection_limit \u003d wtypes.wsattr(wtypes.IntegerType())"},{"line_number":109,"context_line":"    tls_certificate_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d255))"},{"line_number":110,"context_line":"    tls_termination \u003d wtypes.wsattr(TLSTermination)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1a1ced50_016754b7","line":107,"range":{"start_line":107,"start_character":4,"end_line":107,"end_character":71},"updated":"2017-03-22 18:16:43.000000000","message":"Should set minimum and maximum here.\nminimum is 1, maximum is 65535\nThese should also be constants.","commit_id":"5a7758e00218a19d66fef3b3a54f2102c1280981"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"5d98127598af36f539603df047285fe74d62db90","unresolved":false,"context_lines":[{"line_number":104,"context_line":"    admin_state_up \u003d wtypes.wsattr(bool, default\u003dTrue)"},{"line_number":105,"context_line":"    protocol \u003d wtypes.wsattr(wtypes.Enum(str, *constants.SUPPORTED_PROTOCOLS),"},{"line_number":106,"context_line":"                             mandatory\u003dTrue)"},{"line_number":107,"context_line":"    protocol_port \u003d wtypes.wsattr(wtypes.IntegerType(), mandatory\u003dTrue)"},{"line_number":108,"context_line":"    connection_limit \u003d wtypes.wsattr(wtypes.IntegerType())"},{"line_number":109,"context_line":"    tls_certificate_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d255))"},{"line_number":110,"context_line":"    tls_termination \u003d wtypes.wsattr(TLSTermination)"}],"source_content_type":"text/x-python","patch_set":28,"id":"1a1ced50_8137c44b","line":107,"range":{"start_line":107,"start_character":4,"end_line":107,"end_character":71},"in_reply_to":"1a1ced50_016754b7","updated":"2017-03-22 18:27:28.000000000","message":"Done","commit_id":"5a7758e00218a19d66fef3b3a54f2102c1280981"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"6431f2bad92c4fd3806435bbe42f7c70f9efb55a","unresolved":false,"context_lines":[{"line_number":105,"context_line":"    protocol \u003d wtypes.wsattr(wtypes.Enum(str, *constants.SUPPORTED_PROTOCOLS),"},{"line_number":106,"context_line":"                             mandatory\u003dTrue)"},{"line_number":107,"context_line":"    protocol_port \u003d wtypes.wsattr(wtypes.IntegerType(), mandatory\u003dTrue)"},{"line_number":108,"context_line":"    connection_limit \u003d wtypes.wsattr(wtypes.IntegerType())"},{"line_number":109,"context_line":"    tls_certificate_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d255))"},{"line_number":110,"context_line":"    tls_termination \u003d wtypes.wsattr(TLSTermination)"},{"line_number":111,"context_line":"    sni_containers \u003d [wtypes.StringType(max_length\u003d255)]"}],"source_content_type":"text/x-python","patch_set":28,"id":"1a1ced50_a1e0402a","line":108,"range":{"start_line":108,"start_character":4,"end_line":108,"end_character":58},"updated":"2017-03-22 18:14:56.000000000","message":"For the integer type, we can set a minimum restriction (like neutron-lbaas) of -1 which should be a constant.","commit_id":"5a7758e00218a19d66fef3b3a54f2102c1280981"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"5d98127598af36f539603df047285fe74d62db90","unresolved":false,"context_lines":[{"line_number":105,"context_line":"    protocol \u003d wtypes.wsattr(wtypes.Enum(str, *constants.SUPPORTED_PROTOCOLS),"},{"line_number":106,"context_line":"                             mandatory\u003dTrue)"},{"line_number":107,"context_line":"    protocol_port \u003d wtypes.wsattr(wtypes.IntegerType(), mandatory\u003dTrue)"},{"line_number":108,"context_line":"    connection_limit \u003d wtypes.wsattr(wtypes.IntegerType())"},{"line_number":109,"context_line":"    tls_certificate_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d255))"},{"line_number":110,"context_line":"    tls_termination \u003d wtypes.wsattr(TLSTermination)"},{"line_number":111,"context_line":"    sni_containers \u003d [wtypes.StringType(max_length\u003d255)]"}],"source_content_type":"text/x-python","patch_set":28,"id":"1a1ced50_61348849","line":108,"range":{"start_line":108,"start_character":4,"end_line":108,"end_character":58},"in_reply_to":"1a1ced50_a1e0402a","updated":"2017-03-22 18:27:28.000000000","message":"Done","commit_id":"5a7758e00218a19d66fef3b3a54f2102c1280981"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"98923131612df00e7739305286c08ce6475ed790","unresolved":false,"context_lines":[{"line_number":106,"context_line":"                             mandatory\u003dTrue)"},{"line_number":107,"context_line":"    protocol_port \u003d wtypes.wsattr(wtypes.IntegerType(), mandatory\u003dTrue)"},{"line_number":108,"context_line":"    connection_limit \u003d wtypes.wsattr(wtypes.IntegerType())"},{"line_number":109,"context_line":"    tls_certificate_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d255))"},{"line_number":110,"context_line":"    tls_termination \u003d wtypes.wsattr(TLSTermination)"},{"line_number":111,"context_line":"    sni_containers \u003d [wtypes.StringType(max_length\u003d255)]"},{"line_number":112,"context_line":"    project_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d36))"}],"source_content_type":"text/x-python","patch_set":28,"id":"1a1ced50_b6dec4da","line":109,"range":{"start_line":109,"start_character":4,"end_line":109,"end_character":22},"updated":"2017-03-22 18:05:56.000000000","message":"This is default_tls_container_ref in neutron-lbaas","commit_id":"5a7758e00218a19d66fef3b3a54f2102c1280981"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"5d98127598af36f539603df047285fe74d62db90","unresolved":false,"context_lines":[{"line_number":106,"context_line":"                             mandatory\u003dTrue)"},{"line_number":107,"context_line":"    protocol_port \u003d wtypes.wsattr(wtypes.IntegerType(), mandatory\u003dTrue)"},{"line_number":108,"context_line":"    connection_limit \u003d wtypes.wsattr(wtypes.IntegerType())"},{"line_number":109,"context_line":"    tls_certificate_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d255))"},{"line_number":110,"context_line":"    tls_termination \u003d wtypes.wsattr(TLSTermination)"},{"line_number":111,"context_line":"    sni_containers \u003d [wtypes.StringType(max_length\u003d255)]"},{"line_number":112,"context_line":"    project_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d36))"}],"source_content_type":"text/x-python","patch_set":28,"id":"1a1ced50_41314c59","line":109,"range":{"start_line":109,"start_character":4,"end_line":109,"end_character":22},"in_reply_to":"1a1ced50_b6dec4da","updated":"2017-03-22 18:27:28.000000000","message":"Done","commit_id":"5a7758e00218a19d66fef3b3a54f2102c1280981"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"98923131612df00e7739305286c08ce6475ed790","unresolved":false,"context_lines":[{"line_number":107,"context_line":"    protocol_port \u003d wtypes.wsattr(wtypes.IntegerType(), mandatory\u003dTrue)"},{"line_number":108,"context_line":"    connection_limit \u003d wtypes.wsattr(wtypes.IntegerType())"},{"line_number":109,"context_line":"    tls_certificate_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d255))"},{"line_number":110,"context_line":"    tls_termination \u003d wtypes.wsattr(TLSTermination)"},{"line_number":111,"context_line":"    sni_containers \u003d [wtypes.StringType(max_length\u003d255)]"},{"line_number":112,"context_line":"    project_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d36))"},{"line_number":113,"context_line":"    tenant_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d36))"}],"source_content_type":"text/x-python","patch_set":28,"id":"1a1ced50_f6fbdc44","line":110,"range":{"start_line":110,"start_character":4,"end_line":110,"end_character":19},"updated":"2017-03-22 18:05:56.000000000","message":"I\u0027m not seeing this in neutron-lbaas, does this work ok with the default_tls_container_ref settings?","commit_id":"5a7758e00218a19d66fef3b3a54f2102c1280981"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"5d98127598af36f539603df047285fe74d62db90","unresolved":false,"context_lines":[{"line_number":107,"context_line":"    protocol_port \u003d wtypes.wsattr(wtypes.IntegerType(), mandatory\u003dTrue)"},{"line_number":108,"context_line":"    connection_limit \u003d wtypes.wsattr(wtypes.IntegerType())"},{"line_number":109,"context_line":"    tls_certificate_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d255))"},{"line_number":110,"context_line":"    tls_termination \u003d wtypes.wsattr(TLSTermination)"},{"line_number":111,"context_line":"    sni_containers \u003d [wtypes.StringType(max_length\u003d255)]"},{"line_number":112,"context_line":"    project_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d36))"},{"line_number":113,"context_line":"    tenant_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d36))"}],"source_content_type":"text/x-python","patch_set":28,"id":"1a1ced50_e14dd8c4","line":110,"range":{"start_line":110,"start_character":4,"end_line":110,"end_character":19},"in_reply_to":"1a1ced50_f6fbdc44","updated":"2017-03-22 18:27:28.000000000","message":"Removed.","commit_id":"5a7758e00218a19d66fef3b3a54f2102c1280981"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"98923131612df00e7739305286c08ce6475ed790","unresolved":false,"context_lines":[{"line_number":108,"context_line":"    connection_limit \u003d wtypes.wsattr(wtypes.IntegerType())"},{"line_number":109,"context_line":"    tls_certificate_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d255))"},{"line_number":110,"context_line":"    tls_termination \u003d wtypes.wsattr(TLSTermination)"},{"line_number":111,"context_line":"    sni_containers \u003d [wtypes.StringType(max_length\u003d255)]"},{"line_number":112,"context_line":"    project_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d36))"},{"line_number":113,"context_line":"    tenant_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d36))"},{"line_number":114,"context_line":"    default_pool_id \u003d wtypes.wsattr(wtypes.UuidType())"}],"source_content_type":"text/x-python","patch_set":28,"id":"1a1ced50_d6526066","line":111,"range":{"start_line":111,"start_character":4,"end_line":111,"end_character":18},"updated":"2017-03-22 18:05:56.000000000","message":"This should be sni_container_refs per neutron-lbaas, I think it is a list.","commit_id":"5a7758e00218a19d66fef3b3a54f2102c1280981"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"5d98127598af36f539603df047285fe74d62db90","unresolved":false,"context_lines":[{"line_number":108,"context_line":"    connection_limit \u003d wtypes.wsattr(wtypes.IntegerType())"},{"line_number":109,"context_line":"    tls_certificate_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d255))"},{"line_number":110,"context_line":"    tls_termination \u003d wtypes.wsattr(TLSTermination)"},{"line_number":111,"context_line":"    sni_containers \u003d [wtypes.StringType(max_length\u003d255)]"},{"line_number":112,"context_line":"    project_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d36))"},{"line_number":113,"context_line":"    tenant_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d36))"},{"line_number":114,"context_line":"    default_pool_id \u003d wtypes.wsattr(wtypes.UuidType())"}],"source_content_type":"text/x-python","patch_set":28,"id":"1a1ced50_21ca901b","line":111,"range":{"start_line":111,"start_character":4,"end_line":111,"end_character":18},"in_reply_to":"1a1ced50_d6526066","updated":"2017-03-22 18:27:28.000000000","message":"Done","commit_id":"5a7758e00218a19d66fef3b3a54f2102c1280981"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"59cbe64d324da0ead619aa29f7ba8deaf30e4261","unresolved":false,"context_lines":[{"line_number":109,"context_line":"    tls_certificate_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d255))"},{"line_number":110,"context_line":"    tls_termination \u003d wtypes.wsattr(TLSTermination)"},{"line_number":111,"context_line":"    sni_containers \u003d [wtypes.StringType(max_length\u003d255)]"},{"line_number":112,"context_line":"    project_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d36))"},{"line_number":113,"context_line":"    tenant_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d36))"},{"line_number":114,"context_line":"    default_pool_id \u003d wtypes.wsattr(wtypes.UuidType())"},{"line_number":115,"context_line":"    default_pool \u003d wtypes.wsattr(pool.PoolPOST)"},{"line_number":116,"context_line":"    l7policies \u003d wtypes.wsattr([l7policy.L7PolicyPOST], default\u003d[])"}],"source_content_type":"text/x-python","patch_set":28,"id":"1a1ced50_b0fc0cb9","line":113,"range":{"start_line":112,"start_character":4,"end_line":113,"end_character":63},"updated":"2017-03-22 17:16:02.000000000","message":"# TODO(johnsom) Remove after deprecation (R series)","commit_id":"5a7758e00218a19d66fef3b3a54f2102c1280981"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"5d98127598af36f539603df047285fe74d62db90","unresolved":false,"context_lines":[{"line_number":109,"context_line":"    tls_certificate_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d255))"},{"line_number":110,"context_line":"    tls_termination \u003d wtypes.wsattr(TLSTermination)"},{"line_number":111,"context_line":"    sni_containers \u003d [wtypes.StringType(max_length\u003d255)]"},{"line_number":112,"context_line":"    project_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d36))"},{"line_number":113,"context_line":"    tenant_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d36))"},{"line_number":114,"context_line":"    default_pool_id \u003d wtypes.wsattr(wtypes.UuidType())"},{"line_number":115,"context_line":"    default_pool \u003d wtypes.wsattr(pool.PoolPOST)"},{"line_number":116,"context_line":"    l7policies \u003d wtypes.wsattr([l7policy.L7PolicyPOST], default\u003d[])"}],"source_content_type":"text/x-python","patch_set":28,"id":"1a1ced50_c1e53c09","line":113,"range":{"start_line":112,"start_character":4,"end_line":113,"end_character":63},"in_reply_to":"1a1ced50_b0fc0cb9","updated":"2017-03-22 18:27:28.000000000","message":"Done","commit_id":"5a7758e00218a19d66fef3b3a54f2102c1280981"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"608499c67355a7fb2f5948e719f184c50bd7271e","unresolved":false,"context_lines":[{"line_number":114,"context_line":"    default_pool_id \u003d wtypes.wsattr(wtypes.UuidType())"},{"line_number":115,"context_line":"    default_pool \u003d wtypes.wsattr(pool.PoolPOST)"},{"line_number":116,"context_line":"    l7policies \u003d wtypes.wsattr([l7policy.L7PolicyPOST], default\u003d[])"},{"line_number":117,"context_line":"    insert_headers \u003d wtypes.wsattr(wtypes.DictType(str, str))"},{"line_number":118,"context_line":"    loadbalancer_id \u003d wtypes.wsattr(wtypes.UuidType(), mandatory\u003dTrue)"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"1a1ced50_f0e4c4ac","line":117,"range":{"start_line":117,"start_character":35,"end_line":117,"end_character":60},"updated":"2017-03-22 17:24:53.000000000","message":"Can we set max_length for these?","commit_id":"5a7758e00218a19d66fef3b3a54f2102c1280981"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"5d98127598af36f539603df047285fe74d62db90","unresolved":false,"context_lines":[{"line_number":114,"context_line":"    default_pool_id \u003d wtypes.wsattr(wtypes.UuidType())"},{"line_number":115,"context_line":"    default_pool \u003d wtypes.wsattr(pool.PoolPOST)"},{"line_number":116,"context_line":"    l7policies \u003d wtypes.wsattr([l7policy.L7PolicyPOST], default\u003d[])"},{"line_number":117,"context_line":"    insert_headers \u003d wtypes.wsattr(wtypes.DictType(str, str))"},{"line_number":118,"context_line":"    loadbalancer_id \u003d wtypes.wsattr(wtypes.UuidType(), mandatory\u003dTrue)"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"1a1ced50_21bd30d8","line":117,"range":{"start_line":117,"start_character":35,"end_line":117,"end_character":60},"in_reply_to":"1a1ced50_73fd3e6d","updated":"2017-03-22 18:27:28.000000000","message":"Done","commit_id":"5a7758e00218a19d66fef3b3a54f2102c1280981"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c1b1e66fa0649832a4898b529660e1c064080fc8","unresolved":false,"context_lines":[{"line_number":114,"context_line":"    default_pool_id \u003d wtypes.wsattr(wtypes.UuidType())"},{"line_number":115,"context_line":"    default_pool \u003d wtypes.wsattr(pool.PoolPOST)"},{"line_number":116,"context_line":"    l7policies \u003d wtypes.wsattr([l7policy.L7PolicyPOST], default\u003d[])"},{"line_number":117,"context_line":"    insert_headers \u003d wtypes.wsattr(wtypes.DictType(str, str))"},{"line_number":118,"context_line":"    loadbalancer_id \u003d wtypes.wsattr(wtypes.UuidType(), mandatory\u003dTrue)"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"1a1ced50_73fd3e6d","line":117,"range":{"start_line":117,"start_character":35,"end_line":117,"end_character":60},"in_reply_to":"1a1ced50_f0e4c4ac","updated":"2017-03-22 17:41:31.000000000","message":"I think we can make these wtypes.StringType(max_length\u003d) types","commit_id":"5a7758e00218a19d66fef3b3a54f2102c1280981"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"608499c67355a7fb2f5948e719f184c50bd7271e","unresolved":false,"context_lines":[{"line_number":134,"context_line":"    tls_termination \u003d wtypes.wsattr(TLSTermination)"},{"line_number":135,"context_line":"    sni_containers \u003d [wtypes.StringType(max_length\u003d255)]"},{"line_number":136,"context_line":"    default_pool_id \u003d wtypes.wsattr(wtypes.UuidType())"},{"line_number":137,"context_line":"    insert_headers \u003d wtypes.wsattr(wtypes.DictType(str, str))"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"class ListenerRootPUT(types.BaseType):"}],"source_content_type":"text/x-python","patch_set":28,"id":"1a1ced50_709e1408","line":137,"range":{"start_line":137,"start_character":35,"end_line":137,"end_character":60},"updated":"2017-03-22 17:24:53.000000000","message":"Can we set max_length for these?","commit_id":"5a7758e00218a19d66fef3b3a54f2102c1280981"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"5d98127598af36f539603df047285fe74d62db90","unresolved":false,"context_lines":[{"line_number":134,"context_line":"    tls_termination \u003d wtypes.wsattr(TLSTermination)"},{"line_number":135,"context_line":"    sni_containers \u003d [wtypes.StringType(max_length\u003d255)]"},{"line_number":136,"context_line":"    default_pool_id \u003d wtypes.wsattr(wtypes.UuidType())"},{"line_number":137,"context_line":"    insert_headers \u003d wtypes.wsattr(wtypes.DictType(str, str))"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"class ListenerRootPUT(types.BaseType):"}],"source_content_type":"text/x-python","patch_set":28,"id":"1a1ced50_a1d12025","line":137,"range":{"start_line":137,"start_character":35,"end_line":137,"end_character":60},"in_reply_to":"1a1ced50_709e1408","updated":"2017-03-22 18:27:28.000000000","message":"Done","commit_id":"5a7758e00218a19d66fef3b3a54f2102c1280981"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"709da0372afb3872a29818d8dc2bb3772b04ed53","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        wtypes.IntegerType(minimum\u003dconstants.MIN_PORT_NUMBER,"},{"line_number":104,"context_line":"                           maximum\u003dconstants.MAX_PORT_NUMBER), mandatory\u003dTrue)"},{"line_number":105,"context_line":"    connection_limit \u003d wtypes.wsattr("},{"line_number":106,"context_line":"        wtypes.IntegerType(minimum\u003dconstants.MIN_CONNECTION_LIMIT))"},{"line_number":107,"context_line":"    default_tls_container_ref \u003d wtypes.wsattr("},{"line_number":108,"context_line":"        wtypes.StringType(max_length\u003d255))"},{"line_number":109,"context_line":"    sni_container_refs \u003d [wtypes.StringType(max_length\u003d255)]"}],"source_content_type":"text/x-python","patch_set":30,"id":"1a1ced50_8c934b00","line":106,"range":{"start_line":106,"start_character":8,"end_line":106,"end_character":66},"updated":"2017-03-23 16:21:56.000000000","message":"Should we set -1 as the default here?  We do in nlbaas","commit_id":"5d7504efbbefd84a23f90123ea2b408229174d83"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"b04c09cd81273ef0f96f52990f50fa8759ede061","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        wtypes.IntegerType(minimum\u003dconstants.MIN_PORT_NUMBER,"},{"line_number":104,"context_line":"                           maximum\u003dconstants.MAX_PORT_NUMBER), mandatory\u003dTrue)"},{"line_number":105,"context_line":"    connection_limit \u003d wtypes.wsattr("},{"line_number":106,"context_line":"        wtypes.IntegerType(minimum\u003dconstants.MIN_CONNECTION_LIMIT))"},{"line_number":107,"context_line":"    default_tls_container_ref \u003d wtypes.wsattr("},{"line_number":108,"context_line":"        wtypes.StringType(max_length\u003d255))"},{"line_number":109,"context_line":"    sni_container_refs \u003d [wtypes.StringType(max_length\u003d255)]"}],"source_content_type":"text/x-python","patch_set":30,"id":"1a1ced50_5d02dbb5","line":106,"range":{"start_line":106,"start_character":8,"end_line":106,"end_character":66},"in_reply_to":"1a1ced50_8c934b00","updated":"2017-03-23 17:12:47.000000000","message":"Done","commit_id":"5d7504efbbefd84a23f90123ea2b408229174d83"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c06870afe6db8bc9b7f909c41f0427eb6f3819db","unresolved":false,"context_lines":[{"line_number":107,"context_line":"    default_tls_container_ref \u003d wtypes.wsattr("},{"line_number":108,"context_line":"        wtypes.StringType(max_length\u003d255))"},{"line_number":109,"context_line":"    sni_container_refs \u003d [wtypes.StringType(max_length\u003d255)]"},{"line_number":110,"context_line":"    project_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d36))"},{"line_number":111,"context_line":"    tenant_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d36))"},{"line_number":112,"context_line":"    default_pool_id \u003d wtypes.wsattr(wtypes.UuidType())"},{"line_number":113,"context_line":"    default_pool \u003d wtypes.wsattr(pool.PoolPOST)"},{"line_number":114,"context_line":"    l7policies \u003d wtypes.wsattr([l7policy.L7PolicyPOST], default\u003d[])"}],"source_content_type":"text/x-python","patch_set":30,"id":"1a1ced50_4cf15395","line":111,"range":{"start_line":110,"start_character":4,"end_line":111,"end_character":63},"updated":"2017-03-23 16:16:48.000000000","message":"These two lines should have the same comment as above:\n# TODO(johnsom) Remove after deprecation (R series)","commit_id":"5d7504efbbefd84a23f90123ea2b408229174d83"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"b04c09cd81273ef0f96f52990f50fa8759ede061","unresolved":false,"context_lines":[{"line_number":107,"context_line":"    default_tls_container_ref \u003d wtypes.wsattr("},{"line_number":108,"context_line":"        wtypes.StringType(max_length\u003d255))"},{"line_number":109,"context_line":"    sni_container_refs \u003d [wtypes.StringType(max_length\u003d255)]"},{"line_number":110,"context_line":"    project_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d36))"},{"line_number":111,"context_line":"    tenant_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d36))"},{"line_number":112,"context_line":"    default_pool_id \u003d wtypes.wsattr(wtypes.UuidType())"},{"line_number":113,"context_line":"    default_pool \u003d wtypes.wsattr(pool.PoolPOST)"},{"line_number":114,"context_line":"    l7policies \u003d wtypes.wsattr([l7policy.L7PolicyPOST], default\u003d[])"}],"source_content_type":"text/x-python","patch_set":30,"id":"1a1ced50_1d1f830a","line":111,"range":{"start_line":110,"start_character":4,"end_line":111,"end_character":63},"in_reply_to":"1a1ced50_4cf15395","updated":"2017-03-23 17:12:47.000000000","message":"Done","commit_id":"5d7504efbbefd84a23f90123ea2b408229174d83"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"61d4e902b2a38001227506fae59b501187a9fd2a","unresolved":false,"context_lines":[{"line_number":109,"context_line":"    sni_container_refs \u003d [wtypes.StringType(max_length\u003d255)]"},{"line_number":110,"context_line":"    project_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d36))"},{"line_number":111,"context_line":"    tenant_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d36))"},{"line_number":112,"context_line":"    default_pool_id \u003d wtypes.wsattr(wtypes.UuidType())"},{"line_number":113,"context_line":"    default_pool \u003d wtypes.wsattr(pool.PoolPOST)"},{"line_number":114,"context_line":"    l7policies \u003d wtypes.wsattr([l7policy.L7PolicyPOST], default\u003d[])"},{"line_number":115,"context_line":"    insert_headers \u003d wtypes.wsattr("}],"source_content_type":"text/x-python","patch_set":30,"id":"1a1ced50_b777709e","line":112,"range":{"start_line":112,"start_character":4,"end_line":112,"end_character":54},"updated":"2017-03-23 16:28:49.000000000","message":"This is not allowed for POST or PUT in neutron-lbaas.\nhttps://github.com/openstack/neutron-lbaas/blob/master/neutron_lbaas/extensions/loadbalancerv2.py#L218","commit_id":"5d7504efbbefd84a23f90123ea2b408229174d83"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"b04c09cd81273ef0f96f52990f50fa8759ede061","unresolved":false,"context_lines":[{"line_number":109,"context_line":"    sni_container_refs \u003d [wtypes.StringType(max_length\u003d255)]"},{"line_number":110,"context_line":"    project_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d36))"},{"line_number":111,"context_line":"    tenant_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d36))"},{"line_number":112,"context_line":"    default_pool_id \u003d wtypes.wsattr(wtypes.UuidType())"},{"line_number":113,"context_line":"    default_pool \u003d wtypes.wsattr(pool.PoolPOST)"},{"line_number":114,"context_line":"    l7policies \u003d wtypes.wsattr([l7policy.L7PolicyPOST], default\u003d[])"},{"line_number":115,"context_line":"    insert_headers \u003d wtypes.wsattr("}],"source_content_type":"text/x-python","patch_set":30,"id":"1a1ced50_3d919f53","line":112,"range":{"start_line":112,"start_character":4,"end_line":112,"end_character":54},"in_reply_to":"1a1ced50_b777709e","updated":"2017-03-23 17:12:47.000000000","message":"Done","commit_id":"5d7504efbbefd84a23f90123ea2b408229174d83"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"504d0a382a14be25b135f973ecce9abd0de42be2","unresolved":false,"context_lines":[{"line_number":109,"context_line":"    sni_container_refs \u003d [wtypes.StringType(max_length\u003d255)]"},{"line_number":110,"context_line":"    project_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d36))"},{"line_number":111,"context_line":"    tenant_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d36))"},{"line_number":112,"context_line":"    default_pool_id \u003d wtypes.wsattr(wtypes.UuidType())"},{"line_number":113,"context_line":"    default_pool \u003d wtypes.wsattr(pool.PoolPOST)"},{"line_number":114,"context_line":"    l7policies \u003d wtypes.wsattr([l7policy.L7PolicyPOST], default\u003d[])"},{"line_number":115,"context_line":"    insert_headers \u003d wtypes.wsattr("}],"source_content_type":"text/x-python","patch_set":30,"id":"1a1ced50_f7ae4897","line":112,"range":{"start_line":112,"start_character":4,"end_line":112,"end_character":54},"in_reply_to":"1a1ced50_b777709e","updated":"2017-03-23 16:29:38.000000000","message":"Oh, nevermind, shared pools added this.","commit_id":"5d7504efbbefd84a23f90123ea2b408229174d83"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"b04c09cd81273ef0f96f52990f50fa8759ede061","unresolved":false,"context_lines":[{"line_number":109,"context_line":"    sni_container_refs \u003d [wtypes.StringType(max_length\u003d255)]"},{"line_number":110,"context_line":"    project_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d36))"},{"line_number":111,"context_line":"    tenant_id \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d36))"},{"line_number":112,"context_line":"    default_pool_id \u003d wtypes.wsattr(wtypes.UuidType())"},{"line_number":113,"context_line":"    default_pool \u003d wtypes.wsattr(pool.PoolPOST)"},{"line_number":114,"context_line":"    l7policies \u003d wtypes.wsattr([l7policy.L7PolicyPOST], default\u003d[])"},{"line_number":115,"context_line":"    insert_headers \u003d wtypes.wsattr("}],"source_content_type":"text/x-python","patch_set":30,"id":"1a1ced50_fd29c738","line":112,"range":{"start_line":112,"start_character":4,"end_line":112,"end_character":54},"in_reply_to":"1a1ced50_f7ae4897","updated":"2017-03-23 17:12:47.000000000","message":"Done","commit_id":"5d7504efbbefd84a23f90123ea2b408229174d83"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"06aa93913062ee3e190b333a636ece53de668571","unresolved":false,"context_lines":[{"line_number":126,"context_line":"    name \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d255))"},{"line_number":127,"context_line":"    description \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d255))"},{"line_number":128,"context_line":"    admin_state_up \u003d wtypes.wsattr(bool)"},{"line_number":129,"context_line":"    protocol \u003d wtypes.wsattr(wtypes.Enum(str, *constants.SUPPORTED_PROTOCOLS))"},{"line_number":130,"context_line":"    protocol_port \u003d wtypes.wsattr("},{"line_number":131,"context_line":"        wtypes.IntegerType(minimum\u003dconstants.MIN_PORT_NUMBER,"},{"line_number":132,"context_line":"                           maximum\u003dconstants.MAX_PORT_NUMBER))"},{"line_number":133,"context_line":"    connection_limit \u003d wtypes.wsattr("},{"line_number":134,"context_line":"        wtypes.IntegerType(minimum\u003dconstants.MIN_CONNECTION_LIMIT))"},{"line_number":135,"context_line":"    default_tls_container_ref \u003d wtypes.wsattr("}],"source_content_type":"text/x-python","patch_set":30,"id":"1a1ced50_52a9ea23","line":132,"range":{"start_line":129,"start_character":0,"end_line":132,"end_character":62},"updated":"2017-03-23 16:54:41.000000000","message":"I don\u0027t think we allow this in neutron-lbaas.  Not sure if this is a bad thing or not...","commit_id":"5d7504efbbefd84a23f90123ea2b408229174d83"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"b04c09cd81273ef0f96f52990f50fa8759ede061","unresolved":false,"context_lines":[{"line_number":126,"context_line":"    name \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d255))"},{"line_number":127,"context_line":"    description \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d255))"},{"line_number":128,"context_line":"    admin_state_up \u003d wtypes.wsattr(bool)"},{"line_number":129,"context_line":"    protocol \u003d wtypes.wsattr(wtypes.Enum(str, *constants.SUPPORTED_PROTOCOLS))"},{"line_number":130,"context_line":"    protocol_port \u003d wtypes.wsattr("},{"line_number":131,"context_line":"        wtypes.IntegerType(minimum\u003dconstants.MIN_PORT_NUMBER,"},{"line_number":132,"context_line":"                           maximum\u003dconstants.MAX_PORT_NUMBER))"},{"line_number":133,"context_line":"    connection_limit \u003d wtypes.wsattr("},{"line_number":134,"context_line":"        wtypes.IntegerType(minimum\u003dconstants.MIN_CONNECTION_LIMIT))"},{"line_number":135,"context_line":"    default_tls_container_ref \u003d wtypes.wsattr("}],"source_content_type":"text/x-python","patch_set":30,"id":"1a1ced50_9d9ff364","line":132,"range":{"start_line":129,"start_character":0,"end_line":132,"end_character":62},"in_reply_to":"1a1ced50_52a9ea23","updated":"2017-03-23 17:12:47.000000000","message":"Not sure if this will affect backwards compat.","commit_id":"5d7504efbbefd84a23f90123ea2b408229174d83"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"b5ca9414f071a3848fab43a071dee898982c3d56","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    # TODO(johnsom) Remove after deprecation (R series)"},{"line_number":45,"context_line":"    project_id \u003d wtypes.wsattr(wtypes.StringType())"},{"line_number":46,"context_line":"    # TODO(johnsom) Remove after deprecation (R series)"},{"line_number":47,"context_line":"    tenant_id \u003d wtypes.wsattr(wtypes.StringType())"},{"line_number":48,"context_line":"    default_pool_id \u003d wtypes.wsattr(wtypes.UuidType())"},{"line_number":49,"context_line":"    default_pool \u003d wtypes.wsattr(pool.PoolResponse)"},{"line_number":50,"context_line":"    l7policies \u003d wtypes.wsattr([l7policy.L7PolicyResponse])"}],"source_content_type":"text/x-python","patch_set":32,"id":"ffe62b97_cfe33b05","line":47,"range":{"start_line":47,"start_character":3,"end_line":47,"end_character":50},"updated":"2017-03-24 18:31:48.000000000","message":"This is not returning during a create call.  The line is missing.","commit_id":"36bc31b6380557259e2afeda4402efdb4de4c393"}],"octavia/tests/functional/api/v2/test_listener.py":[{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"481888b26d73bca950296af7220e3fec97b6a8c8","unresolved":false,"context_lines":[{"line_number":16,"context_line":"from oslo_utils import uuidutils"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from octavia.common import constants"},{"line_number":19,"context_line":"from octavia.tests.functional.api.v1 import base"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"class TestListener(base.BaseAPITest):"}],"source_content_type":"text/x-python","patch_set":9,"id":"3a461143_b5717478","line":19,"updated":"2017-01-31 19:06:50.000000000","message":"v2?","commit_id":"7b384a12c8181ec56bed438a69965d6594c327ce"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"f953e61e36a61fd7183ea9b583a20fef0126518d","unresolved":false,"context_lines":[{"line_number":16,"context_line":"from oslo_utils import uuidutils"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from octavia.common import constants"},{"line_number":19,"context_line":"from octavia.tests.functional.api.v1 import base"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"class TestListener(base.BaseAPITest):"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a461143_792053b1","line":19,"range":{"start_line":19,"start_character":34,"end_line":19,"end_character":36},"updated":"2017-02-02 23:05:57.000000000","message":"change this to v2.\n\nthis will cause many failures for the below tests but they should be obvious.","commit_id":"9cd60dfa0f12e378ee689a168cb8f2916d569e4b"}]}
