)]}'
{"heat/engine/resources/nova_floatingip.py":[{"author":{"_account_id":8641,"name":"DennyZhang","email":"filebat.mark@gmail.com","username":"dennyzhang"},"change_message_id":"b5d599ab83a080d133f83baba822136feec615ba","unresolved":false,"context_lines":[{"line_number":54,"context_line":"            floating_ip \u003d self.nova().floating_ips.create(pool\u003dpool)"},{"line_number":55,"context_line":"        except clients.novaclient.exceptions.NotFound:"},{"line_number":56,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":57,"context_line":"                logger.error(_(\u0027No default floating IP pool is configured.\u0027))"},{"line_number":58,"context_line":"                return"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        self.resource_id_set(floating_ip.id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F8tYE%3D","line":57,"updated":"2013-12-22 04:45:53.000000000","message":"Should we also re-raise an exception for this critical failure?","commit_id":"b9dfb2b8bbc0243fd922ef4a7e088f477d60c4bc"},{"author":{"_account_id":8641,"name":"DennyZhang","email":"filebat.mark@gmail.com","username":"dennyzhang"},"change_message_id":"58d1af4e66afda9cef0fd6225efb46d1e3b228ab","unresolved":false,"context_lines":[{"line_number":54,"context_line":"            floating_ip \u003d self.nova().floating_ips.create(pool\u003dpool)"},{"line_number":55,"context_line":"        except clients.novaclient.exceptions.NotFound:"},{"line_number":56,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":57,"context_line":"                logger.error(_(\u0027No default floating IP pool is configured.\u0027))"},{"line_number":58,"context_line":"                return"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        self.resource_id_set(floating_ip.id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F8qu4%3D","line":57,"in_reply_to":"AAAATn%2F8sDg%3D","updated":"2013-12-23 13:43:41.000000000","message":"My fault. I just noticed: excutils.save_and_reraise_exception(), that will do the trick.","commit_id":"b9dfb2b8bbc0243fd922ef4a7e088f477d60c4bc"},{"author":{"_account_id":7225,"name":"Serg Melikyan","email":"smelikyan@mirantis.com","username":"smelikyan"},"change_message_id":"c2c25ecc87d4af0c001919ea2d3a1041ef14b6a9","unresolved":false,"context_lines":[{"line_number":54,"context_line":"            floating_ip \u003d self.nova().floating_ips.create(pool\u003dpool)"},{"line_number":55,"context_line":"        except clients.novaclient.exceptions.NotFound:"},{"line_number":56,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":57,"context_line":"                logger.error(_(\u0027No default floating IP pool is configured.\u0027))"},{"line_number":58,"context_line":"                return"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        self.resource_id_set(floating_ip.id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F8sDg%3D","line":57,"in_reply_to":"AAAATn%2F8tYE%3D","updated":"2013-12-23 12:42:44.000000000","message":"I believe exception going to be re-raised right before returning execution to the caller (right after exit from \u0027with\u0027 block). So explicit raise may be incorrect and even return is incorrect.","commit_id":"b9dfb2b8bbc0243fd922ef4a7e088f477d60c4bc"},{"author":{"_account_id":8641,"name":"DennyZhang","email":"filebat.mark@gmail.com","username":"dennyzhang"},"change_message_id":"b5d599ab83a080d133f83baba822136feec615ba","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        self.floating_ip \u003d floating_ip"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    def handle_delete(self):"},{"line_number":64,"context_line":"        if self.resource_id is not None:"},{"line_number":65,"context_line":"            try:"},{"line_number":66,"context_line":"                self.nova().floating_ips.delete(self.resource_id)"},{"line_number":67,"context_line":"            except clients.novaclient.exceptions.NotFound:"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F8tYM%3D","line":64,"updated":"2013-12-22 04:45:53.000000000","message":"Just \"if self.resource_id\" would be enough and concise?","commit_id":"b9dfb2b8bbc0243fd922ef4a7e088f477d60c4bc"},{"author":{"_account_id":8641,"name":"DennyZhang","email":"filebat.mark@gmail.com","username":"dennyzhang"},"change_message_id":"58d1af4e66afda9cef0fd6225efb46d1e3b228ab","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        self.floating_ip \u003d floating_ip"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    def handle_delete(self):"},{"line_number":64,"context_line":"        if self.resource_id is not None:"},{"line_number":65,"context_line":"            try:"},{"line_number":66,"context_line":"                self.nova().floating_ips.delete(self.resource_id)"},{"line_number":67,"context_line":"            except clients.novaclient.exceptions.NotFound:"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F8qu0%3D","line":64,"in_reply_to":"AAAATn%2F8sDw%3D","updated":"2013-12-23 13:43:41.000000000","message":"agree","commit_id":"b9dfb2b8bbc0243fd922ef4a7e088f477d60c4bc"},{"author":{"_account_id":7225,"name":"Serg Melikyan","email":"smelikyan@mirantis.com","username":"smelikyan"},"change_message_id":"c2c25ecc87d4af0c001919ea2d3a1041ef14b6a9","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        self.floating_ip \u003d floating_ip"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    def handle_delete(self):"},{"line_number":64,"context_line":"        if self.resource_id is not None:"},{"line_number":65,"context_line":"            try:"},{"line_number":66,"context_line":"                self.nova().floating_ips.delete(self.resource_id)"},{"line_number":67,"context_line":"            except clients.novaclient.exceptions.NotFound:"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F8sDw%3D","line":64,"in_reply_to":"AAAATn%2F8tYM%3D","updated":"2013-12-23 12:42:44.000000000","message":"Nope, using check for False in case when variable need to be checked for None (e.g. check for not yet assigned) is seems wrong. Explicit check does not hurt anyone.","commit_id":"b9dfb2b8bbc0243fd922ef4a7e088f477d60c4bc"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"ba02cf313af0025f6a899244c59434d56920ea96","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        ),"},{"line_number":92,"context_line":"        FLOATING_IP: properties.Schema("},{"line_number":93,"context_line":"            properties.Schema.STRING,"},{"line_number":94,"context_line":"            _(\u0027Floating IP that going to be assigned to the server.\u0027),"},{"line_number":95,"context_line":"            required\u003dTrue"},{"line_number":96,"context_line":"        ),"},{"line_number":97,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F8swg%3D","line":94,"updated":"2013-12-22 19:50:07.000000000","message":"Missing word : that *is* going to","commit_id":"b9dfb2b8bbc0243fd922ef4a7e088f477d60c4bc"},{"author":{"_account_id":7225,"name":"Serg Melikyan","email":"smelikyan@mirantis.com","username":"smelikyan"},"change_message_id":"c2c25ecc87d4af0c001919ea2d3a1041ef14b6a9","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        ),"},{"line_number":92,"context_line":"        FLOATING_IP: properties.Schema("},{"line_number":93,"context_line":"            properties.Schema.STRING,"},{"line_number":94,"context_line":"            _(\u0027Floating IP that going to be assigned to the server.\u0027),"},{"line_number":95,"context_line":"            required\u003dTrue"},{"line_number":96,"context_line":"        ),"},{"line_number":97,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F8sDo%3D","line":94,"in_reply_to":"AAAATn%2F8swg%3D","updated":"2013-12-23 12:42:44.000000000","message":"Thx! Done","commit_id":"b9dfb2b8bbc0243fd922ef4a7e088f477d60c4bc"},{"author":{"_account_id":4257,"name":"Zane Bitter","email":"zbitter@redhat.com","username":"zaneb"},"change_message_id":"3d1147c5e44f929f27d5cdbe59d0c3104ac7de67","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def __init__(self, name, json_snippet, stack):"},{"line_number":41,"context_line":"        super(NovaFloatingIp, self).__init__(name, json_snippet, stack)"},{"line_number":42,"context_line":"        self.floating_ip \u003d None"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def _get_resource(self):"},{"line_number":45,"context_line":"        if self.floating_ip is None and self.resource_id is not None:"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAT3%2F%2FqEo%3D","line":42,"updated":"2014-01-04 00:55:39.000000000","message":"Can we call this self._floating_ip?","commit_id":"aaedba08d5e1fd74723eb02a549803bce5c8b33e"},{"author":{"_account_id":7225,"name":"Serg Melikyan","email":"smelikyan@mirantis.com","username":"smelikyan"},"change_message_id":"1f96e9f8b8ea03ce994773196d6bcbcf577b0963","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def __init__(self, name, json_snippet, stack):"},{"line_number":41,"context_line":"        super(NovaFloatingIp, self).__init__(name, json_snippet, stack)"},{"line_number":42,"context_line":"        self.floating_ip \u003d None"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def _get_resource(self):"},{"line_number":45,"context_line":"        if self.floating_ip is None and self.resource_id is not None:"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUH%2F%2FuRk%3D","line":42,"in_reply_to":"AAAAT3%2F%2FqEo%3D","updated":"2014-01-09 07:20:36.000000000","message":"Done","commit_id":"aaedba08d5e1fd74723eb02a549803bce5c8b33e"},{"author":{"_account_id":4257,"name":"Zane Bitter","email":"zbitter@redhat.com","username":"zaneb"},"change_message_id":"3d1147c5e44f929f27d5cdbe59d0c3104ac7de67","unresolved":false,"context_lines":[{"line_number":53,"context_line":"            floating_ip \u003d self.nova().floating_ips.create(pool\u003dpool)"},{"line_number":54,"context_line":"        except clients.novaclient.exceptions.NotFound:"},{"line_number":55,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":56,"context_line":"                logger.error(_(\u0027No default floating IP pool is configured.\u0027))"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        self.resource_id_set(floating_ip.id)"},{"line_number":59,"context_line":"        self.floating_ip \u003d floating_ip"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAT3%2F%2FqE8%3D","line":56,"updated":"2014-01-04 00:55:39.000000000","message":"We should log this message only if pool \u003d\u003d None.","commit_id":"aaedba08d5e1fd74723eb02a549803bce5c8b33e"},{"author":{"_account_id":7225,"name":"Serg Melikyan","email":"smelikyan@mirantis.com","username":"smelikyan"},"change_message_id":"1f96e9f8b8ea03ce994773196d6bcbcf577b0963","unresolved":false,"context_lines":[{"line_number":53,"context_line":"            floating_ip \u003d self.nova().floating_ips.create(pool\u003dpool)"},{"line_number":54,"context_line":"        except clients.novaclient.exceptions.NotFound:"},{"line_number":55,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":56,"context_line":"                logger.error(_(\u0027No default floating IP pool is configured.\u0027))"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        self.resource_id_set(floating_ip.id)"},{"line_number":59,"context_line":"        self.floating_ip \u003d floating_ip"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUH%2F%2FuQo%3D","line":56,"in_reply_to":"AAAAT3%2F%2FqE8%3D","updated":"2014-01-09 07:20:36.000000000","message":"Done","commit_id":"aaedba08d5e1fd74723eb02a549803bce5c8b33e"},{"author":{"_account_id":4257,"name":"Zane Bitter","email":"zbitter@redhat.com","username":"zaneb"},"change_message_id":"3d1147c5e44f929f27d5cdbe59d0c3104ac7de67","unresolved":false,"context_lines":[{"line_number":89,"context_line":"        ),"},{"line_number":90,"context_line":"        FLOATING_IP: properties.Schema("},{"line_number":91,"context_line":"            properties.Schema.STRING,"},{"line_number":92,"context_line":"            _(\u0027Floating IP that is going to be assigned to the server.\u0027),"},{"line_number":93,"context_line":"            required\u003dTrue"},{"line_number":94,"context_line":"        ),"},{"line_number":95,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAT3%2F%2FqEc%3D","line":92,"updated":"2014-01-04 00:55:39.000000000","message":"How about:\n\n    _(\u0027ID of the floating IP to assign to the server.\u0027)","commit_id":"aaedba08d5e1fd74723eb02a549803bce5c8b33e"},{"author":{"_account_id":7225,"name":"Serg Melikyan","email":"smelikyan@mirantis.com","username":"smelikyan"},"change_message_id":"1f96e9f8b8ea03ce994773196d6bcbcf577b0963","unresolved":false,"context_lines":[{"line_number":89,"context_line":"        ),"},{"line_number":90,"context_line":"        FLOATING_IP: properties.Schema("},{"line_number":91,"context_line":"            properties.Schema.STRING,"},{"line_number":92,"context_line":"            _(\u0027Floating IP that is going to be assigned to the server.\u0027),"},{"line_number":93,"context_line":"            required\u003dTrue"},{"line_number":94,"context_line":"        ),"},{"line_number":95,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUH%2F%2FuQg%3D","line":92,"in_reply_to":"AAAAT3%2F%2FqEc%3D","updated":"2014-01-09 07:20:36.000000000","message":"Done","commit_id":"aaedba08d5e1fd74723eb02a549803bce5c8b33e"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"91f943aabfae8a5b2bed515bff5b319b7d32a8d3","unresolved":false,"context_lines":[{"line_number":55,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":56,"context_line":"                if pool is None:"},{"line_number":57,"context_line":"                    msg \u003d _(\u0027Could not allocate floating IP. Probably there \u0027"},{"line_number":58,"context_line":"                            \u0027is no default floating IP pool is configured.\u0027)"},{"line_number":59,"context_line":"                    logger.error(msg)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        self.resource_id_set(floating_ip.id)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F%2Fhgs%3D","line":58,"updated":"2014-01-12 19:48:40.000000000","message":"Grammar: drop \"there is\" or the second \"is\".","commit_id":"46125db7fc551096aefa7921947655abda49af71"}]}
