)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":17887,"name":"Doug Schveninger","email":"ds6901@att.com","username":"Doug.Schveninger"},"change_message_id":"b9a339ffa14d741f3a6965ecba8b238d59b4c54b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"3fa7e38b_a287a70f","updated":"2019-09-20 02:06:28.000000000","message":"since you are removing both skips to 1776678 should you note that this bug should be closed with this patchset? https://bugs.launchpad.net/horizon/+bug/1774697","commit_id":"4fd87cada0715cb4d917c924029a80c4d2b45e36"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"8eecd45fd2322f4a21c4ee40656d36cd092a3cb2","unresolved":false,"context_lines":[{"line_number":13,"context_line":" - test_managerules_create_delete_by_table"},{"line_number":14,"context_line":" - test_managerules_create_delete_by_row"},{"line_number":15,"context_line":" - test_password_change"},{"line_number":16,"context_line":" - test_show_message_after_logout"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: Ifcbab546e81059f90b500337df565c20ac50bbbb"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"3fa7e38b_5ba6a455","line":16,"updated":"2019-09-24 09:23:07.000000000","message":"As suggested in individual files, please refer the related bugs in the commit message using \"Partial-Bug\" or \"Related-Bug\".","commit_id":"4fd87cada0715cb4d917c924029a80c4d2b45e36"},{"author":{"_account_id":23467,"name":"Pallav Gupta","email":"pallavgupta84@gmail.com","username":"pallav"},"change_message_id":"8e0f7995b8936b2166c07b7a34a6c925d8724fa6","unresolved":false,"context_lines":[{"line_number":13,"context_line":" - test_managerules_create_delete_by_table"},{"line_number":14,"context_line":" - test_managerules_create_delete_by_row"},{"line_number":15,"context_line":" - test_password_change"},{"line_number":16,"context_line":" - test_show_message_after_logout"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: Ifcbab546e81059f90b500337df565c20ac50bbbb"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"3fa7e38b_7b8cb17e","line":16,"in_reply_to":"3fa7e38b_5ba6a455","updated":"2019-09-24 20:20:45.000000000","message":"Done","commit_id":"4fd87cada0715cb4d917c924029a80c4d2b45e36"}],"openstack_dashboard/test/integration_tests/config.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"8eecd45fd2322f4a21c4ee40656d36cd092a3cb2","unresolved":false,"context_lines":[{"line_number":58,"context_line":"               help\u003d\"Name of the role that grants admin rights to a user in \""},{"line_number":59,"context_line":"                    \"his project\"),"},{"line_number":60,"context_line":"    cfg.StrOpt(\u0027unique_last_password_count\u0027,"},{"line_number":61,"context_line":"               default\u003d2,"},{"line_number":62,"context_line":"               help\u003d\"No. of passwords for a user that must be unique before \""},{"line_number":63,"context_line":"                    \"an old password can be used\"),"},{"line_number":64,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_db02946f","line":61,"range":{"start_line":61,"start_character":22,"end_line":61,"end_character":24},"updated":"2019-09-24 09:23:07.000000000","message":"Why did you choose 2? Is it based on DevStack default?","commit_id":"4fd87cada0715cb4d917c924029a80c4d2b45e36"},{"author":{"_account_id":23467,"name":"Pallav Gupta","email":"pallavgupta84@gmail.com","username":"pallav"},"change_message_id":"8e0f7995b8936b2166c07b7a34a6c925d8724fa6","unresolved":false,"context_lines":[{"line_number":58,"context_line":"               help\u003d\"Name of the role that grants admin rights to a user in \""},{"line_number":59,"context_line":"                    \"his project\"),"},{"line_number":60,"context_line":"    cfg.StrOpt(\u0027unique_last_password_count\u0027,"},{"line_number":61,"context_line":"               default\u003d2,"},{"line_number":62,"context_line":"               help\u003d\"No. of passwords for a user that must be unique before \""},{"line_number":63,"context_line":"                    \"an old password can be used\"),"},{"line_number":64,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_3bf079fe","line":61,"range":{"start_line":61,"start_character":22,"end_line":61,"end_character":24},"in_reply_to":"3fa7e38b_db02946f","updated":"2019-09-24 20:20:45.000000000","message":"yes","commit_id":"4fd87cada0715cb4d917c924029a80c4d2b45e36"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"8eecd45fd2322f4a21c4ee40656d36cd092a3cb2","unresolved":false,"context_lines":[{"line_number":59,"context_line":"                    \"his project\"),"},{"line_number":60,"context_line":"    cfg.StrOpt(\u0027unique_last_password_count\u0027,"},{"line_number":61,"context_line":"               default\u003d2,"},{"line_number":62,"context_line":"               help\u003d\"No. of passwords for a user that must be unique before \""},{"line_number":63,"context_line":"                    \"an old password can be used\"),"},{"line_number":64,"context_line":"]"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_e9dead0f","line":62,"range":{"start_line":62,"start_character":21,"end_line":62,"end_character":24},"updated":"2019-09-24 09:23:07.000000000","message":"\"The number of\" is much better.","commit_id":"4fd87cada0715cb4d917c924029a80c4d2b45e36"},{"author":{"_account_id":23467,"name":"Pallav Gupta","email":"pallavgupta84@gmail.com","username":"pallav"},"change_message_id":"8e0f7995b8936b2166c07b7a34a6c925d8724fa6","unresolved":false,"context_lines":[{"line_number":59,"context_line":"                    \"his project\"),"},{"line_number":60,"context_line":"    cfg.StrOpt(\u0027unique_last_password_count\u0027,"},{"line_number":61,"context_line":"               default\u003d2,"},{"line_number":62,"context_line":"               help\u003d\"No. of passwords for a user that must be unique before \""},{"line_number":63,"context_line":"                    \"an old password can be used\"),"},{"line_number":64,"context_line":"]"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_dbf04500","line":62,"range":{"start_line":62,"start_character":21,"end_line":62,"end_character":24},"in_reply_to":"3fa7e38b_e9dead0f","updated":"2019-09-24 20:20:45.000000000","message":"Done","commit_id":"4fd87cada0715cb4d917c924029a80c4d2b45e36"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"8eecd45fd2322f4a21c4ee40656d36cd092a3cb2","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    cfg.StrOpt(\u0027unique_last_password_count\u0027,"},{"line_number":61,"context_line":"               default\u003d2,"},{"line_number":62,"context_line":"               help\u003d\"No. of passwords for a user that must be unique before \""},{"line_number":63,"context_line":"                    \"an old password can be used\"),"},{"line_number":64,"context_line":"]"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"ImageGroup \u003d ["}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_3bd8881c","line":63,"updated":"2019-09-24 09:23:07.000000000","message":"I think this parameter should match the keystone configuration \n\"unique_last_password_count\". If so, it is better to mention the keystone configuration option here.\n\n[1] https://docs.openstack.org/keystone/pike/configuration/config-options.html#security_compliance.unique_last_password_count","commit_id":"4fd87cada0715cb4d917c924029a80c4d2b45e36"},{"author":{"_account_id":23467,"name":"Pallav Gupta","email":"pallavgupta84@gmail.com","username":"pallav"},"change_message_id":"8e0f7995b8936b2166c07b7a34a6c925d8724fa6","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    cfg.StrOpt(\u0027unique_last_password_count\u0027,"},{"line_number":61,"context_line":"               default\u003d2,"},{"line_number":62,"context_line":"               help\u003d\"No. of passwords for a user that must be unique before \""},{"line_number":63,"context_line":"                    \"an old password can be used\"),"},{"line_number":64,"context_line":"]"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"ImageGroup \u003d ["}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_fbf501ee","line":63,"in_reply_to":"3fa7e38b_3bd8881c","updated":"2019-09-24 20:20:45.000000000","message":"Done","commit_id":"4fd87cada0715cb4d917c924029a80c4d2b45e36"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"672be61a382e935abf75fdbee342288dc44dd1f4","unresolved":false,"context_lines":[{"line_number":57,"context_line":"               default\u003d\u0027admin\u0027,"},{"line_number":58,"context_line":"               help\u003d\"Name of the role that grants admin rights to a user in \""},{"line_number":59,"context_line":"                    \"his project\"),"},{"line_number":60,"context_line":"    # This parameter matches the keystone configuration option"},{"line_number":61,"context_line":"    # \u0027unique_last_password_count\u0027 mentioned at [1]"},{"line_number":62,"context_line":"    # [1] https://docs.openstack.org/keystone/stein/configuration/"},{"line_number":63,"context_line":"    # config-options.html#security_compliance.unique_last_password_count"}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_e42ea490","line":60,"range":{"start_line":60,"start_character":21,"end_line":60,"end_character":28},"updated":"2019-09-26 05:38:23.000000000","message":"\"should match\"?","commit_id":"f6b101f07fc2aa5eb363641153966750cbfe72f6"},{"author":{"_account_id":23467,"name":"Pallav Gupta","email":"pallavgupta84@gmail.com","username":"pallav"},"change_message_id":"6ba4e3a39daafefb16dcd50d9c098b1885da36c2","unresolved":false,"context_lines":[{"line_number":57,"context_line":"               default\u003d\u0027admin\u0027,"},{"line_number":58,"context_line":"               help\u003d\"Name of the role that grants admin rights to a user in \""},{"line_number":59,"context_line":"                    \"his project\"),"},{"line_number":60,"context_line":"    # This parameter matches the keystone configuration option"},{"line_number":61,"context_line":"    # \u0027unique_last_password_count\u0027 mentioned at [1]"},{"line_number":62,"context_line":"    # [1] https://docs.openstack.org/keystone/stein/configuration/"},{"line_number":63,"context_line":"    # config-options.html#security_compliance.unique_last_password_count"}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_44c77897","line":60,"range":{"start_line":60,"start_character":21,"end_line":60,"end_character":28},"in_reply_to":"3fa7e38b_e42ea490","updated":"2019-09-26 06:03:48.000000000","message":"sure, Done","commit_id":"f6b101f07fc2aa5eb363641153966750cbfe72f6"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"672be61a382e935abf75fdbee342288dc44dd1f4","unresolved":false,"context_lines":[{"line_number":58,"context_line":"               help\u003d\"Name of the role that grants admin rights to a user in \""},{"line_number":59,"context_line":"                    \"his project\"),"},{"line_number":60,"context_line":"    # This parameter matches the keystone configuration option"},{"line_number":61,"context_line":"    # \u0027unique_last_password_count\u0027 mentioned at [1]"},{"line_number":62,"context_line":"    # [1] https://docs.openstack.org/keystone/stein/configuration/"},{"line_number":63,"context_line":"    # config-options.html#security_compliance.unique_last_password_count"},{"line_number":64,"context_line":"    cfg.StrOpt(\u0027unique_last_password_count\u0027,"},{"line_number":65,"context_line":"               default\u003d2,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_c429288a","line":62,"range":{"start_line":61,"start_character":48,"end_line":62,"end_character":9},"updated":"2019-09-26 05:38:23.000000000","message":"[1] looks unnecessary.","commit_id":"f6b101f07fc2aa5eb363641153966750cbfe72f6"},{"author":{"_account_id":23467,"name":"Pallav Gupta","email":"pallavgupta84@gmail.com","username":"pallav"},"change_message_id":"6ba4e3a39daafefb16dcd50d9c098b1885da36c2","unresolved":false,"context_lines":[{"line_number":58,"context_line":"               help\u003d\"Name of the role that grants admin rights to a user in \""},{"line_number":59,"context_line":"                    \"his project\"),"},{"line_number":60,"context_line":"    # This parameter matches the keystone configuration option"},{"line_number":61,"context_line":"    # \u0027unique_last_password_count\u0027 mentioned at [1]"},{"line_number":62,"context_line":"    # [1] https://docs.openstack.org/keystone/stein/configuration/"},{"line_number":63,"context_line":"    # config-options.html#security_compliance.unique_last_password_count"},{"line_number":64,"context_line":"    cfg.StrOpt(\u0027unique_last_password_count\u0027,"},{"line_number":65,"context_line":"               default\u003d2,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_64c4f491","line":62,"range":{"start_line":61,"start_character":48,"end_line":62,"end_character":9},"in_reply_to":"3fa7e38b_c429288a","updated":"2019-09-26 06:03:48.000000000","message":"Done","commit_id":"f6b101f07fc2aa5eb363641153966750cbfe72f6"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"7341e68d074270ca7699c93326bedf35e048e4dc","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    # This parameter should match the keystone configuration option"},{"line_number":61,"context_line":"    # \u0027unique_last_password_count\u0027 mentioned at https://docs.openstack.org/"},{"line_number":62,"context_line":"    # keystone/stein/configuration/config-options.html#security_compliance."},{"line_number":63,"context_line":"    # unique_last_password_count"},{"line_number":64,"context_line":"    cfg.StrOpt(\u0027unique_last_password_count\u0027,"},{"line_number":65,"context_line":"               default\u003d2,"},{"line_number":66,"context_line":"               help\u003d\"The number of passwords for a user that must be unique \""}],"source_content_type":"text/x-python","patch_set":13,"id":"3fa7e38b_0452e0de","line":63,"updated":"2019-09-26 06:08:49.000000000","message":"IMHO it is better to place it in the help text. (The URL might be unnecessary if so.)\n\nIt is not mentioned in horizon.conf, so most users would not be aware of the comment here.","commit_id":"cc36c7c2a85b50f5cb93277a4f5bfefb57b8c690"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"7341e68d074270ca7699c93326bedf35e048e4dc","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    # keystone/stein/configuration/config-options.html#security_compliance."},{"line_number":63,"context_line":"    # unique_last_password_count"},{"line_number":64,"context_line":"    cfg.StrOpt(\u0027unique_last_password_count\u0027,"},{"line_number":65,"context_line":"               default\u003d2,"},{"line_number":66,"context_line":"               help\u003d\"The number of passwords for a user that must be unique \""},{"line_number":67,"context_line":"                    \"before an old password can be used\"),"},{"line_number":68,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":13,"id":"3fa7e38b_e40b04d3","line":65,"range":{"start_line":65,"start_character":23,"end_line":65,"end_character":24},"updated":"2019-09-26 06:08:49.000000000","message":"While it matches the *DevStack* default, the value is different from the default value of the keystone option. It is worth mentioning the reason.","commit_id":"cc36c7c2a85b50f5cb93277a4f5bfefb57b8c690"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"7341e68d074270ca7699c93326bedf35e048e4dc","unresolved":false,"context_lines":[{"line_number":64,"context_line":"    cfg.StrOpt(\u0027unique_last_password_count\u0027,"},{"line_number":65,"context_line":"               default\u003d2,"},{"line_number":66,"context_line":"               help\u003d\"The number of passwords for a user that must be unique \""},{"line_number":67,"context_line":"                    \"before an old password can be used\"),"},{"line_number":68,"context_line":"]"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"ImageGroup \u003d ["}],"source_content_type":"text/x-python","patch_set":13,"id":"3fa7e38b_a45c2ced","line":67,"updated":"2019-09-26 06:08:49.000000000","message":"When wrapping lines, it is better to use parentheses.\n\n  help\u003d(\"The number of ....\"\n        \"before an ...\")","commit_id":"cc36c7c2a85b50f5cb93277a4f5bfefb57b8c690"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"4796285e62140d35cf0a0b236d86a20c0038adff","unresolved":false,"context_lines":[{"line_number":61,"context_line":"               # The default value is chosen to match the value of"},{"line_number":62,"context_line":"               # [security_compliance] unique_last_password_count in DevStack"},{"line_number":63,"context_line":"               # as the first target of the integration tests is the gate."},{"line_number":64,"context_line":"               # Note that the default value of unique_last_password_count"},{"line_number":65,"context_line":"               # in keystone is 1, so you might need to change this parameter."},{"line_number":66,"context_line":"               default\u003d2,"},{"line_number":67,"context_line":"               help\u003d(\"The number of passwords for a user that must be unique \""},{"line_number":68,"context_line":"                     \"before an old password can be used. \""}],"source_content_type":"text/x-python","patch_set":15,"id":"3fa7e38b_1f68e984","line":65,"range":{"start_line":64,"start_character":15,"end_line":65,"end_character":78},"updated":"2019-09-26 07:22:02.000000000","message":"During IRC discussion with Pallav, it turns out that the default value in keystone was changed from 1 to 0 in Stein. The default value can vary in different releases.  We need to rephrase this to something like \"the default value ... may differ\" or just to drop these two lines.","commit_id":"65386dad95b92c397173f8254e06c5591067cc8e"},{"author":{"_account_id":23467,"name":"Pallav Gupta","email":"pallavgupta84@gmail.com","username":"pallav"},"change_message_id":"414476937fb6af4e1afd34473e470791f633b79e","unresolved":false,"context_lines":[{"line_number":61,"context_line":"               # The default value is chosen to match the value of"},{"line_number":62,"context_line":"               # [security_compliance] unique_last_password_count in DevStack"},{"line_number":63,"context_line":"               # as the first target of the integration tests is the gate."},{"line_number":64,"context_line":"               # Note that the default value of unique_last_password_count"},{"line_number":65,"context_line":"               # in keystone is 1, so you might need to change this parameter."},{"line_number":66,"context_line":"               default\u003d2,"},{"line_number":67,"context_line":"               help\u003d(\"The number of passwords for a user that must be unique \""},{"line_number":68,"context_line":"                     \"before an old password can be used. \""}],"source_content_type":"text/x-python","patch_set":15,"id":"3fa7e38b_ffc2ad33","line":65,"range":{"start_line":64,"start_character":15,"end_line":65,"end_character":78},"in_reply_to":"3fa7e38b_1f68e984","updated":"2019-09-26 07:34:53.000000000","message":"Done. Ty Akihiro.","commit_id":"65386dad95b92c397173f8254e06c5591067cc8e"}],"openstack_dashboard/test/integration_tests/horizon.conf":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"8eecd45fd2322f4a21c4ee40656d36cd092a3cb2","unresolved":false,"context_lines":[{"line_number":72,"context_line":"# Name of the role that grants admin rights to a user in his project"},{"line_number":73,"context_line":"default_keystone_admin_role\u003dadmin"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"# No. of passwords for a user that must be unique before an old password can be used"},{"line_number":76,"context_line":"# Required when reset password to old password"},{"line_number":77,"context_line":"unique_last_password_count\u003d2"},{"line_number":78,"context_line":""}],"source_content_type":"text/plain","patch_set":10,"id":"3fa7e38b_5beea4b4","line":75,"updated":"2019-09-24 09:23:07.000000000","message":"Could you wrap lines within 80 chars?","commit_id":"4fd87cada0715cb4d917c924029a80c4d2b45e36"},{"author":{"_account_id":8648,"name":"Radomir Dopieralski","email":"openstack@dopieralski.pl","username":"thesheep"},"change_message_id":"6ae5fb8181b9d4a4c472c190ad24b8a135aa0867","unresolved":false,"context_lines":[{"line_number":72,"context_line":"# Name of the role that grants admin rights to a user in his project"},{"line_number":73,"context_line":"default_keystone_admin_role\u003dadmin"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"# No. of passwords for a user that must be unique before an old password can be used"},{"line_number":76,"context_line":"# Required when reset password to old password"},{"line_number":77,"context_line":"unique_last_password_count\u003d2"},{"line_number":78,"context_line":""}],"source_content_type":"text/plain","patch_set":10,"id":"3fa7e38b_f1ea0f0d","line":75,"in_reply_to":"3fa7e38b_5beea4b4","updated":"2019-09-24 10:22:46.000000000","message":"No. → Number\nNot all our users are native English speakers, better to spell it out.","commit_id":"4fd87cada0715cb4d917c924029a80c4d2b45e36"},{"author":{"_account_id":23467,"name":"Pallav Gupta","email":"pallavgupta84@gmail.com","username":"pallav"},"change_message_id":"8e0f7995b8936b2166c07b7a34a6c925d8724fa6","unresolved":false,"context_lines":[{"line_number":72,"context_line":"# Name of the role that grants admin rights to a user in his project"},{"line_number":73,"context_line":"default_keystone_admin_role\u003dadmin"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"# No. of passwords for a user that must be unique before an old password can be used"},{"line_number":76,"context_line":"# Required when reset password to old password"},{"line_number":77,"context_line":"unique_last_password_count\u003d2"},{"line_number":78,"context_line":""}],"source_content_type":"text/plain","patch_set":10,"id":"3fa7e38b_9b996dc5","line":75,"in_reply_to":"3fa7e38b_f1ea0f0d","updated":"2019-09-24 20:20:45.000000000","message":"Done","commit_id":"4fd87cada0715cb4d917c924029a80c4d2b45e36"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"672be61a382e935abf75fdbee342288dc44dd1f4","unresolved":false,"context_lines":[{"line_number":72,"context_line":"# Name of the role that grants admin rights to a user in his project"},{"line_number":73,"context_line":"default_keystone_admin_role\u003dadmin"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"# Number of passwords for a user that must be unique before an old password"},{"line_number":76,"context_line":"# can be used (integer value)"},{"line_number":77,"context_line":"unique_last_password_count\u003d2"},{"line_number":78,"context_line":""}],"source_content_type":"text/plain","patch_set":12,"id":"3fa7e38b_64115452","line":75,"range":{"start_line":75,"start_character":2,"end_line":75,"end_character":9},"updated":"2019-09-26 05:38:23.000000000","message":"-\u003e The number","commit_id":"f6b101f07fc2aa5eb363641153966750cbfe72f6"},{"author":{"_account_id":23467,"name":"Pallav Gupta","email":"pallavgupta84@gmail.com","username":"pallav"},"change_message_id":"6ba4e3a39daafefb16dcd50d9c098b1885da36c2","unresolved":false,"context_lines":[{"line_number":72,"context_line":"# Name of the role that grants admin rights to a user in his project"},{"line_number":73,"context_line":"default_keystone_admin_role\u003dadmin"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"# Number of passwords for a user that must be unique before an old password"},{"line_number":76,"context_line":"# can be used (integer value)"},{"line_number":77,"context_line":"unique_last_password_count\u003d2"},{"line_number":78,"context_line":""}],"source_content_type":"text/plain","patch_set":12,"id":"3fa7e38b_04bd0001","line":75,"range":{"start_line":75,"start_character":2,"end_line":75,"end_character":9},"in_reply_to":"3fa7e38b_64115452","updated":"2019-09-26 06:03:48.000000000","message":"Done","commit_id":"f6b101f07fc2aa5eb363641153966750cbfe72f6"}],"openstack_dashboard/test/integration_tests/regions/forms.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"8eecd45fd2322f4a21c4ee40656d36cd092a3cb2","unresolved":false,"context_lines":[{"line_number":217,"context_line":"    @value.setter"},{"line_number":218,"context_line":"    def value(self, value):"},{"line_number":219,"context_line":"        js_cmd \u003d \"$(\u0027[name\u003d\\\"\"\\"},{"line_number":220,"context_line":"            + self.name + \"\\\"]\u0027).val(\\\"\" + value + \"\\\").change();\""},{"line_number":221,"context_line":"        self.driver.execute_script(js_cmd)"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_fb15109d","line":220,"updated":"2019-09-24 09:23:07.000000000","message":"Could you wrap lines using parentheses instead of a backslash? It is the way adopted in all OpenStack projects.","commit_id":"4fd87cada0715cb4d917c924029a80c4d2b45e36"},{"author":{"_account_id":23467,"name":"Pallav Gupta","email":"pallavgupta84@gmail.com","username":"pallav"},"change_message_id":"8e0f7995b8936b2166c07b7a34a6c925d8724fa6","unresolved":false,"context_lines":[{"line_number":217,"context_line":"    @value.setter"},{"line_number":218,"context_line":"    def value(self, value):"},{"line_number":219,"context_line":"        js_cmd \u003d \"$(\u0027[name\u003d\\\"\"\\"},{"line_number":220,"context_line":"            + self.name + \"\\\"]\u0027).val(\\\"\" + value + \"\\\").change();\""},{"line_number":221,"context_line":"        self.driver.execute_script(js_cmd)"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_bb96a992","line":220,"in_reply_to":"3fa7e38b_51ba030a","updated":"2019-09-24 20:20:45.000000000","message":"Done","commit_id":"4fd87cada0715cb4d917c924029a80c4d2b45e36"},{"author":{"_account_id":8648,"name":"Radomir Dopieralski","email":"openstack@dopieralski.pl","username":"thesheep"},"change_message_id":"6ae5fb8181b9d4a4c472c190ad24b8a135aa0867","unresolved":false,"context_lines":[{"line_number":217,"context_line":"    @value.setter"},{"line_number":218,"context_line":"    def value(self, value):"},{"line_number":219,"context_line":"        js_cmd \u003d \"$(\u0027[name\u003d\\\"\"\\"},{"line_number":220,"context_line":"            + self.name + \"\\\"]\u0027).val(\\\"\" + value + \"\\\").change();\""},{"line_number":221,"context_line":"        self.driver.execute_script(js_cmd)"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_51ba030a","line":220,"in_reply_to":"3fa7e38b_fb15109d","updated":"2019-09-24 10:22:46.000000000","message":"Please use string formatting, instead of the + operator to format strings. Please don\u0027t forget to escape HTML on data.","commit_id":"4fd87cada0715cb4d917c924029a80c4d2b45e36"}],"openstack_dashboard/test/integration_tests/tests/test_metadata_definitions.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"8eecd45fd2322f4a21c4ee40656d36cd092a3cb2","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        self.assertFalse(page.find_message_and_dismiss(messages.ERROR))"},{"line_number":85,"context_line":"        self.assertFalse(page.is_namespace_present(namespace_name))"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    @decorators.skip_because(bugs\u003d[\u00271774697\u0027])"},{"line_number":88,"context_line":"    def test_namespace_create_delete(self):"},{"line_number":89,"context_line":"        \"\"\"Tests the NameSpace creation and deletion functionality:"},{"line_number":90,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_5bf8e447","side":"PARENT","line":87,"updated":"2019-09-24 09:23:07.000000000","message":"Could you add the following to the commit message as you fixed some of them?\n\n  Partial-Bug: #1774697","commit_id":"bcdff692215139d8309b81e63b1cfdfafdb48c2b"},{"author":{"_account_id":23467,"name":"Pallav Gupta","email":"pallavgupta84@gmail.com","username":"pallav"},"change_message_id":"8e0f7995b8936b2166c07b7a34a6c925d8724fa6","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        self.assertFalse(page.find_message_and_dismiss(messages.ERROR))"},{"line_number":85,"context_line":"        self.assertFalse(page.is_namespace_present(namespace_name))"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    @decorators.skip_because(bugs\u003d[\u00271774697\u0027])"},{"line_number":88,"context_line":"    def test_namespace_create_delete(self):"},{"line_number":89,"context_line":"        \"\"\"Tests the NameSpace creation and deletion functionality:"},{"line_number":90,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_5be4553c","side":"PARENT","line":87,"in_reply_to":"3fa7e38b_5bf8e447","updated":"2019-09-24 20:20:45.000000000","message":"Done","commit_id":"bcdff692215139d8309b81e63b1cfdfafdb48c2b"}],"openstack_dashboard/test/integration_tests/tests/test_security_groups.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"8eecd45fd2322f4a21c4ee40656d36cd092a3cb2","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        self.assertFalse(page.find_message_and_dismiss(messages.ERROR))"},{"line_number":64,"context_line":"        self.assertFalse(page.is_port_present(self.RULE_PORT))"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    @decorators.skip_because(bugs\u003d[\u00271792028\u0027])"},{"line_number":67,"context_line":"    def test_securitygroup_create_delete(self):"},{"line_number":68,"context_line":"        \"\"\"tests the security group creation and deletion functionalities:"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_bbe798ac","side":"PARENT","line":66,"updated":"2019-09-24 09:23:07.000000000","message":"Could you add the following to the commit message as you fixed some of them?\n\n  Partial-Bug: #1792028","commit_id":"bcdff692215139d8309b81e63b1cfdfafdb48c2b"},{"author":{"_account_id":23467,"name":"Pallav Gupta","email":"pallavgupta84@gmail.com","username":"pallav"},"change_message_id":"8e0f7995b8936b2166c07b7a34a6c925d8724fa6","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        self.assertFalse(page.find_message_and_dismiss(messages.ERROR))"},{"line_number":64,"context_line":"        self.assertFalse(page.is_port_present(self.RULE_PORT))"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    @decorators.skip_because(bugs\u003d[\u00271792028\u0027])"},{"line_number":67,"context_line":"    def test_securitygroup_create_delete(self):"},{"line_number":68,"context_line":"        \"\"\"tests the security group creation and deletion functionalities:"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_bbdb097a","side":"PARENT","line":66,"in_reply_to":"3fa7e38b_bbe798ac","updated":"2019-09-24 20:20:45.000000000","message":"Done","commit_id":"bcdff692215139d8309b81e63b1cfdfafdb48c2b"}],"openstack_dashboard/test/integration_tests/tests/test_user_settings.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"8eecd45fd2322f4a21c4ee40656d36cd092a3cb2","unresolved":false,"context_lines":[{"line_number":75,"context_line":"            self._reset_password()"},{"line_number":76,"context_line":"            self._login()"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    @decorators.skip_because(bugs\u003d[\u00271776678\u0027])"},{"line_number":79,"context_line":"    def test_show_message_after_logout(self):"},{"line_number":80,"context_line":"        # Ensure an informational message is shown on the login page"},{"line_number":81,"context_line":"        # after the user is logged out."}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_5b4a24ac","side":"PARENT","line":78,"updated":"2019-09-24 09:23:07.000000000","message":"Please add the following to the commit message.\n\n  Related-Bug: #1776678","commit_id":"bcdff692215139d8309b81e63b1cfdfafdb48c2b"},{"author":{"_account_id":23467,"name":"Pallav Gupta","email":"pallavgupta84@gmail.com","username":"pallav"},"change_message_id":"8e0f7995b8936b2166c07b7a34a6c925d8724fa6","unresolved":false,"context_lines":[{"line_number":75,"context_line":"            self._reset_password()"},{"line_number":76,"context_line":"            self._login()"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    @decorators.skip_because(bugs\u003d[\u00271776678\u0027])"},{"line_number":79,"context_line":"    def test_show_message_after_logout(self):"},{"line_number":80,"context_line":"        # Ensure an informational message is shown on the login page"},{"line_number":81,"context_line":"        # after the user is logged out."}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_9bde4d6b","side":"PARENT","line":78,"in_reply_to":"3fa7e38b_5b4a24ac","updated":"2019-09-24 20:20:45.000000000","message":"Done","commit_id":"bcdff692215139d8309b81e63b1cfdfafdb48c2b"}]}
