)]}'
{"nova/api/metadata/password.py":[{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"7cbe979c70f9ed0eca9529eb42db7d055b63460b","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    result \u003d \u0027\u0027"},{"line_number":31,"context_line":"    for datum in sorted(instance.get(\u0027system_metadata\u0027, []),"},{"line_number":32,"context_line":"                        key\u003dlambda x: x[\u0027key\u0027]):"},{"line_number":33,"context_line":"        if datum[\u0027key\u0027].startswith(\u0027password_\u0027):"},{"line_number":34,"context_line":"            result +\u003d datum[\u0027value\u0027]"},{"line_number":35,"context_line":"    return result or None"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2Fz2U%3D","line":33,"updated":"2013-01-04 09:07:29.000000000","message":"What about existing system metadata entries with just \u0027password\u0027 after an upgrade?","commit_id":"ab9f5a7a11a3df3518368059d357a17f6f4502be"},{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"d977a1d80f2a52396c54b58a83e65b63778d872d","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    result \u003d \u0027\u0027"},{"line_number":31,"context_line":"    for datum in sorted(instance.get(\u0027system_metadata\u0027, []),"},{"line_number":32,"context_line":"                        key\u003dlambda x: x[\u0027key\u0027]):"},{"line_number":33,"context_line":"        if datum[\u0027key\u0027].startswith(\u0027password_\u0027):"},{"line_number":34,"context_line":"            result +\u003d datum[\u0027value\u0027]"},{"line_number":35,"context_line":"    return result or None"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FzTU%3D","line":33,"in_reply_to":"AAAAM3%2F%2Fz2U%3D","updated":"2013-01-04 17:13:45.000000000","message":"This code only went in a few weeks ago and there is currently no mechanism for setting the password unless someone explicitly uses the metadata server manually. (It isn\u0027t in cloud init yet). Therefore I think we can be sure that it isn\u0027t being used so I\u0027m not worried about upgrading the old values.","commit_id":"ab9f5a7a11a3df3518368059d357a17f6f4502be"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"6a1e092679cf45d6d5b80372862108161aae238e","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    result \u003d \u0027\u0027"},{"line_number":31,"context_line":"    for datum in sorted(instance.get(\u0027system_metadata\u0027, []),"},{"line_number":32,"context_line":"                        key\u003dlambda x: x[\u0027key\u0027]):"},{"line_number":33,"context_line":"        if datum[\u0027key\u0027].startswith(\u0027password_\u0027):"},{"line_number":34,"context_line":"            result +\u003d datum[\u0027value\u0027]"},{"line_number":35,"context_line":"    return result or None"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FzRw%3D","line":33,"in_reply_to":"AAAAM3%2F%2FzTU%3D","updated":"2013-01-04 17:24:55.000000000","message":"Fair enough","commit_id":"ab9f5a7a11a3df3518368059d357a17f6f4502be"},{"author":{"_account_id":1711,"name":"Yun Mao","email":"yunmao@gmail.com","username":"yunmao"},"change_message_id":"28754ff15538ebf88d61ba1ce414835838a1ebe3","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    return result or None"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def set_password(context, instance, password):"},{"line_number":39,"context_line":"    # NOTE(vish): stores password as system_metadata items with"},{"line_number":40,"context_line":"    #             the keys \u0027password_0\u0027 -\u003e \u0027password_3\u0027."},{"line_number":41,"context_line":"    password \u003d password or \u0027\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2F060%3D","line":38,"updated":"2013-01-03 15:28:28.000000000","message":"context overshadowed the import module. perhaps ctxt is a better name?","commit_id":"ab9f5a7a11a3df3518368059d357a17f6f4502be"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"7cbe979c70f9ed0eca9529eb42db7d055b63460b","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    return result or None"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def set_password(context, instance, password):"},{"line_number":39,"context_line":"    # NOTE(vish): stores password as system_metadata items with"},{"line_number":40,"context_line":"    #             the keys \u0027password_0\u0027 -\u003e \u0027password_3\u0027."},{"line_number":41,"context_line":"    password \u003d password or \u0027\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2Fz2A%3D","line":38,"in_reply_to":"AAAAM3%2F%2F060%3D","updated":"2013-01-04 09:07:29.000000000","message":"Also, passing a full instance dict when we only need the uuid and the caller only has the uuid is a bit clunky\n\nI know you\u0027re trying to make set_password()/get_password() match nicely, but how maybe changing \u0027get\u0027 to \u0027extract\u0027 clarifies what it does and does away with the need for the symmetry\n\n  def set_password(context, instance_uuid, password):\n      ...\n\n  def extract_password(instance):\n      ...","commit_id":"ab9f5a7a11a3df3518368059d357a17f6f4502be"},{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"d977a1d80f2a52396c54b58a83e65b63778d872d","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    return result or None"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def set_password(context, instance, password):"},{"line_number":39,"context_line":"    # NOTE(vish): stores password as system_metadata items with"},{"line_number":40,"context_line":"    #             the keys \u0027password_0\u0027 -\u003e \u0027password_3\u0027."},{"line_number":41,"context_line":"    password \u003d password or \u0027\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FzTQ%3D","line":38,"in_reply_to":"AAAAM3%2F%2Fz2A%3D","updated":"2013-01-04 17:13:45.000000000","message":"sure I can do that.","commit_id":"ab9f5a7a11a3df3518368059d357a17f6f4502be"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"7cbe979c70f9ed0eca9529eb42db7d055b63460b","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def set_password(context, instance, password):"},{"line_number":39,"context_line":"    # NOTE(vish): stores password as system_metadata items with"},{"line_number":40,"context_line":"    #             the keys \u0027password_0\u0027 -\u003e \u0027password_3\u0027."},{"line_number":41,"context_line":"    password \u003d password or \u0027\u0027"},{"line_number":42,"context_line":"    meta \u003d {}"},{"line_number":43,"context_line":"    for i in xrange(CHUNKS):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2Fz18%3D","line":40,"updated":"2013-01-04 09:07:29.000000000","message":"Should be a docstring","commit_id":"ab9f5a7a11a3df3518368059d357a17f6f4502be"},{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"d977a1d80f2a52396c54b58a83e65b63778d872d","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def set_password(context, instance, password):"},{"line_number":39,"context_line":"    # NOTE(vish): stores password as system_metadata items with"},{"line_number":40,"context_line":"    #             the keys \u0027password_0\u0027 -\u003e \u0027password_3\u0027."},{"line_number":41,"context_line":"    password \u003d password or \u0027\u0027"},{"line_number":42,"context_line":"    meta \u003d {}"},{"line_number":43,"context_line":"    for i in xrange(CHUNKS):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FzTM%3D","line":40,"in_reply_to":"AAAAM3%2F%2Fz18%3D","updated":"2013-01-04 17:13:45.000000000","message":"will change","commit_id":"ab9f5a7a11a3df3518368059d357a17f6f4502be"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"7cbe979c70f9ed0eca9529eb42db7d055b63460b","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    db.instance_system_metadata_update(context,"},{"line_number":47,"context_line":"                                       instance[\u0027uuid\u0027],"},{"line_number":48,"context_line":"                                       meta,"},{"line_number":49,"context_line":"                                       False)"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"def handle_password(req, meta_data):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2Fz1w%3D","line":49,"updated":"2013-01-04 09:07:29.000000000","message":"Consider doing delete\u003dFalse here so it\u0027s more obvious what the boolean param is","commit_id":"ab9f5a7a11a3df3518368059d357a17f6f4502be"},{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"d977a1d80f2a52396c54b58a83e65b63778d872d","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    db.instance_system_metadata_update(context,"},{"line_number":47,"context_line":"                                       instance[\u0027uuid\u0027],"},{"line_number":48,"context_line":"                                       meta,"},{"line_number":49,"context_line":"                                       False)"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"def handle_password(req, meta_data):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FzTI%3D","line":49,"in_reply_to":"AAAAM3%2F%2Fz1w%3D","updated":"2013-01-04 17:13:45.000000000","message":"ok","commit_id":"ab9f5a7a11a3df3518368059d357a17f6f4502be"}]}
