)]}'
{"nova/api/metadata/password.py":[{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"a88ad598e420d88c09d78b88e741bbeaaacef6c3","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    sys_meta \u003d utils.instance_sys_meta(instance)"},{"line_number":31,"context_line":"    for key in sorted(sys_meta.keys()):"},{"line_number":32,"context_line":"        if key.startswith(\u0027password_\u0027):"},{"line_number":33,"context_line":"            result +\u003d sys_meta[key]"},{"line_number":34,"context_line":"    return result or None"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2F5NA%3D","line":33,"updated":"2013-06-06 15:54:13.000000000","message":"There\u0027s no early return here, so if we have two password_* keys, we\u0027ll end up with the passwords concatenated in random order.  That sounds wrong.","commit_id":"e28ca368d3f8ee4f4c447869b47cc796a64d9203"},{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"50df2572afd26d775dc0047e47a39cd41fc569b4","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    sys_meta \u003d utils.instance_sys_meta(instance)"},{"line_number":31,"context_line":"    for key in sorted(sys_meta.keys()):"},{"line_number":32,"context_line":"        if key.startswith(\u0027password_\u0027):"},{"line_number":33,"context_line":"            result +\u003d sys_meta[key]"},{"line_number":34,"context_line":"    return result or None"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2F3Pg%3D","line":33,"in_reply_to":"AAAAPX%2F%2F5NA%3D","updated":"2013-06-07 07:21:23.000000000","message":"The keys are sorted.  The idea is you concat them all in order.  That\u0027s what the old code here is doing.  I\u0027ve only changed it to work with a dict instead of a list of sqlalchemy models (dicts with key/value columns).","commit_id":"e28ca368d3f8ee4f4c447869b47cc796a64d9203"}],"nova/cells/messaging.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"dc1343d93db8c5f7a3d88f0bf0ec1ec0e22f9a6d","unresolved":false,"context_lines":[{"line_number":817,"context_line":"        if (\u0027system_metadata\u0027 in instance and"},{"line_number":818,"context_line":"                isinstance(instance[\u0027system_metadata\u0027], list)):"},{"line_number":819,"context_line":"            instance[\u0027system_metadata\u0027] \u003d utils.metadata_to_dict("},{"line_number":820,"context_line":"                    instance[\u0027system_metadata\u0027])"},{"line_number":821,"context_line":""},{"line_number":822,"context_line":"        LOG.debug(_(\"Got update for instance: %(instance)s\"),"},{"line_number":823,"context_line":"                  {\u0027instance\u0027: instance}, instance_uuid\u003dinstance_uuid)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPn%2F%2Fw94%3D","line":820,"updated":"2013-06-21 18:58:25.000000000","message":"instance_sys_meta()?","commit_id":"77f705f0846ab2b2b7b67fceeef767bd5af93bc4"}]}
