)]}'
{"releasenotes/notes/bug-1592984-34d9417422c37e37.yaml":[{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"1b1e78a6d4b7ee888c60af468534e35cbedd5944","unresolved":false,"context_lines":[{"line_number":6,"context_line":"    pagination."},{"line_number":7,"context_line":"issues:"},{"line_number":8,"context_line":"  - Deployment should use Designate v2 api. if v1 api"},{"line_number":9,"context_line":"    is in use, designate plugin won\u0027t function correctly."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"dada55a8_b55ab981","line":9,"updated":"2016-07-18 23:29:26.000000000","message":"Sadly, the horizon plugin still depends on v1.","commit_id":"056be20a97895f034c27993334067b40137bc3ba"}],"searchlight/elasticsearch/plugins/designate/__init__.py":[{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"6ba6dd28855dc8b1d51da2c988b18be73238977f","unresolved":false,"context_lines":[{"line_number":16,"context_line":"import six"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"def _walk_pages(list_func, *args, **kwargs):"},{"line_number":20,"context_line":"    while True:"},{"line_number":21,"context_line":"        items \u003d list_func(*args, **kwargs)"},{"line_number":22,"context_line":"        for item in items:"}],"source_content_type":"text/x-python","patch_set":3,"id":"1aa78d24_baa1a896","line":19,"range":{"start_line":19,"start_character":4,"end_line":19,"end_character":15},"updated":"2016-07-11 22:13:19.000000000","message":"I think we could get rid of this entirely - see https://github.com/openstack/python-designateclient/blob/master/designateclient/v2/utils.py#L57\n\nOne disadvantage that has is that it gets everything into a giant list rather than as a generator so that might be an argument for leaving it in.","commit_id":"817fedb476d48ff75de002a37fe285d465fafebf"},{"author":{"_account_id":16150,"name":"Lei Zhang","email":"lei.a.zhang@intel.com","username":"leizhang"},"change_message_id":"1320ece5e0b10f562aebde46ffe7c0b42b1b774d","unresolved":false,"context_lines":[{"line_number":16,"context_line":"import six"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"def _walk_pages(list_func, *args, **kwargs):"},{"line_number":20,"context_line":"    while True:"},{"line_number":21,"context_line":"        items \u003d list_func(*args, **kwargs)"},{"line_number":22,"context_line":"        for item in items:"}],"source_content_type":"text/x-python","patch_set":3,"id":"1aa78d24_a77ea867","line":19,"range":{"start_line":19,"start_character":4,"end_line":19,"end_character":15},"in_reply_to":"1aa78d24_baa1a896","updated":"2016-07-12 03:35:48.000000000","message":"I\u0027ll use get_all instead, that makes code more clean, I think building a list won\u0027t be a problem now.","commit_id":"817fedb476d48ff75de002a37fe285d465fafebf"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"3988dc7b63ff647c68599102064657138c2b3e22","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    return get_all(client.recordsets.list,"},{"line_number":32,"context_line":"                   criterion\u003d{\u0027all_tenants\u0027: str(True)},"},{"line_number":33,"context_line":"                   args\u003d[zone_id])"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"def _serialize_recordset(rs):"}],"source_content_type":"text/x-python","patch_set":5,"id":"1aa78d24_403d77dc","line":33,"updated":"2016-07-15 00:39:31.000000000","message":"If we have zones with the same name (but different IDs), we will get a NoUniqueMatch exception here. Since this is a possibility (admittedly low), we should be catching this exception.\n\nSee\nhttps://github.com/openstack/python-designateclient/blob/master/designateclient/v2/recordsets.py#L69\n\nWhich calls:\n\nhttps://github.com/openstack/python-designateclient/blob/master/designateclient/v2/utils.py#L43","commit_id":"056be20a97895f034c27993334067b40137bc3ba"},{"author":{"_account_id":16150,"name":"Lei Zhang","email":"lei.a.zhang@intel.com","username":"leizhang"},"change_message_id":"57d21016d9c532d4a1038e3f9952c19bbf35e021","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    return get_all(client.recordsets.list,"},{"line_number":32,"context_line":"                   criterion\u003d{\u0027all_tenants\u0027: str(True)},"},{"line_number":33,"context_line":"                   args\u003d[zone_id])"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"def _serialize_recordset(rs):"}],"source_content_type":"text/x-python","patch_set":5,"id":"dada55a8_49e4c13a","line":33,"in_reply_to":"1aa78d24_403d77dc","updated":"2016-07-17 09:06:03.000000000","message":"Yeah, but that happens when a zone name is passed to the function. In our use case, only zone id is used I think. Is catching this exception needed?","commit_id":"056be20a97895f034c27993334067b40137bc3ba"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"adac52b7c3cdbd3aa58fbc4ebf875ab04e3f29e6","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    return get_all(client.recordsets.list,"},{"line_number":32,"context_line":"                   criterion\u003d{\u0027all_tenants\u0027: str(True)},"},{"line_number":33,"context_line":"                   args\u003d[zone_id])"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"def _serialize_recordset(rs):"}],"source_content_type":"text/x-python","patch_set":5,"id":"dada55a8_cb5ffc73","line":33,"in_reply_to":"dada55a8_49e4c13a","updated":"2016-07-18 05:47:47.000000000","message":"I didn\u0027t realize we are using Zone IDs instead of Zone names. If we are using Zone IDs only, then catching this exception is not needed.","commit_id":"056be20a97895f034c27993334067b40137bc3ba"}],"searchlight/elasticsearch/plugins/designate/notification_handlers.py":[{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"9dc1c115cd9d536185ba611be11a5b592c8ede83","unresolved":false,"context_lines":[{"line_number":155,"context_line":""},{"line_number":156,"context_line":"    def _serialize(self, obj):"},{"line_number":157,"context_line":"        obj[\u0027project_id\u0027] \u003d obj.pop(\u0027tenant_id\u0027)"},{"line_number":158,"context_line":"        obj[\u0027zone_id\u0027] \u003d obj.pop(\u0027zone_id\u0027)"},{"line_number":159,"context_line":"        obj[\u0027records\u0027] \u003d [{\"data\": i[\"data\"]} for i in obj[\"records\"]]"},{"line_number":160,"context_line":"        if not obj[\u0027updated_at\u0027] and obj[\u0027created_at\u0027]:"},{"line_number":161,"context_line":"            obj[\u0027updated_at\u0027] \u003d obj[\u0027created_at\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"1aa78d24_dc51d963","line":158,"range":{"start_line":158,"start_character":25,"end_line":158,"end_character":28},"updated":"2016-07-12 19:13:55.000000000","message":"I know it\u0027s not part of this patch but this is a bit odd. Maybe if there\u0027s another patch set required remove this line.","commit_id":"2f5772e785d8b9cab4aaa2b49c9acfb8fb6030a5"},{"author":{"_account_id":16150,"name":"Lei Zhang","email":"lei.a.zhang@intel.com","username":"leizhang"},"change_message_id":"26f4a82a5e87bcafdce2923ce5833be34aacb79e","unresolved":false,"context_lines":[{"line_number":155,"context_line":""},{"line_number":156,"context_line":"    def _serialize(self, obj):"},{"line_number":157,"context_line":"        obj[\u0027project_id\u0027] \u003d obj.pop(\u0027tenant_id\u0027)"},{"line_number":158,"context_line":"        obj[\u0027zone_id\u0027] \u003d obj.pop(\u0027zone_id\u0027)"},{"line_number":159,"context_line":"        obj[\u0027records\u0027] \u003d [{\"data\": i[\"data\"]} for i in obj[\"records\"]]"},{"line_number":160,"context_line":"        if not obj[\u0027updated_at\u0027] and obj[\u0027created_at\u0027]:"},{"line_number":161,"context_line":"            obj[\u0027updated_at\u0027] \u003d obj[\u0027created_at\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"1aa78d24_131fb5b7","line":158,"range":{"start_line":158,"start_character":25,"end_line":158,"end_character":28},"in_reply_to":"1aa78d24_dc51d963","updated":"2016-07-13 08:32:57.000000000","message":"Yeah, I\u0027ll fix it in another patch.","commit_id":"2f5772e785d8b9cab4aaa2b49c9acfb8fb6030a5"}]}
