)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"e7f5422ac37c5f0bcf3b78b56da26a87608554b3","unresolved":false,"context_lines":[{"line_number":11,"context_line":"* Set a minimum appropriate key_size of keys used for certificates"},{"line_number":12,"context_line":"* public_port and admin_port min, max set according to the range"},{"line_number":13,"context_line":"  available for a TCP port."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Closes-Bug: #1487960"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I71112c569b965896a409c5f8559c38488c2249c9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"fa1b9901_4d975990","line":14,"updated":"2015-08-25 02:44:45.000000000","message":"pls include your change about pydev-debug-port in the commit message, thanks.","commit_id":"83dfb31677363a8e96cceedfad3892a1bd26e9fe"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"cb60cb79f2c2dc3e0ee74837a02fd193de2bd9e8","unresolved":false,"context_lines":[{"line_number":11,"context_line":"* Set a minimum appropriate key_size of keys used for certificates"},{"line_number":12,"context_line":"* public_port and admin_port min, max set according to the range"},{"line_number":13,"context_line":"  available for a TCP port."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Closes-Bug: #1487960"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I71112c569b965896a409c5f8559c38488c2249c9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"fa1b9901_7e23e2a7","line":14,"in_reply_to":"fa1b9901_4d975990","updated":"2015-08-25 06:21:21.000000000","message":"Sure I can do in next PS.  Just need some questions answered.","commit_id":"83dfb31677363a8e96cceedfad3892a1bd26e9fe"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"0d18756f3de686d08815cb924e04cae27cf2052e","unresolved":false,"context_lines":[{"line_number":11,"context_line":"* Set a minimum appropriate key_size of keys used for certificates"},{"line_number":12,"context_line":"* public_port and admin_port min, max set according to the range"},{"line_number":13,"context_line":"  available for a TCP port."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Closes-Bug: #1487960"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I71112c569b965896a409c5f8559c38488c2249c9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"fa1b9901_6011db03","line":14,"in_reply_to":"fa1b9901_7e23e2a7","updated":"2015-08-25 17:18:11.000000000","message":"Done","commit_id":"83dfb31677363a8e96cceedfad3892a1bd26e9fe"}],"keystone/common/config.py":[{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"906e9aacd5c1245d91ee1631e16a42f1de34b37a","unresolved":false,"context_lines":[{"line_number":381,"context_line":"        cfg.StrOpt(\u0027ca_key\u0027,"},{"line_number":382,"context_line":"                   default\u003d\u0027/etc/keystone/ssl/private/cakey.pem\u0027,"},{"line_number":383,"context_line":"                   help\u003d\u0027Path of the CA key file for SSL.\u0027),"},{"line_number":384,"context_line":"        cfg.IntOpt(\u0027key_size\u0027, default\u003d1024, min\u003d1024,"},{"line_number":385,"context_line":"                   help\u003d\u0027SSL key length (in bits) (auto generated \u0027"},{"line_number":386,"context_line":"                        \u0027certificate).\u0027),"},{"line_number":387,"context_line":"        cfg.IntOpt(\u0027valid_days\u0027, default\u003d3650,"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_348ff8cd","line":384,"updated":"2015-08-14 13:37:05.000000000","message":"1024 is not necessary to be the minimum value since 512 is also supported, and still used in some legacy app.\n\nsee, https://www.openssl.org/docs/apps/genrsa.html. \n\n\"the size of the private key to generate in bits. This must be the last option specified. The default is 512.\"","commit_id":"6644b125b9b1848533ed7b7643173c9a1daf9e23"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"366582cc3f1e0a15694f1a79b6746cdb13fa7dd9","unresolved":false,"context_lines":[{"line_number":381,"context_line":"        cfg.StrOpt(\u0027ca_key\u0027,"},{"line_number":382,"context_line":"                   default\u003d\u0027/etc/keystone/ssl/private/cakey.pem\u0027,"},{"line_number":383,"context_line":"                   help\u003d\u0027Path of the CA key file for SSL.\u0027),"},{"line_number":384,"context_line":"        cfg.IntOpt(\u0027key_size\u0027, default\u003d1024, min\u003d1024,"},{"line_number":385,"context_line":"                   help\u003d\u0027SSL key length (in bits) (auto generated \u0027"},{"line_number":386,"context_line":"                        \u0027certificate).\u0027),"},{"line_number":387,"context_line":"        cfg.IntOpt(\u0027valid_days\u0027, default\u003d3650,"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_c1aef9e6","line":384,"in_reply_to":"1a4dcd0f_348ff8cd","updated":"2015-08-15 05:57:00.000000000","message":"Technically openssl allows very small key sizes.  I tried 64 bits also.  But I wanted this value set to a sensible minimum for security reasons.  The recommend minimum for RSA in 2015 is 2048.  So 1024 feels like a good min.","commit_id":"6644b125b9b1848533ed7b7643173c9a1daf9e23"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"cd39bb667504e013e5fe2eb1933a8919c3b6f3b7","unresolved":false,"context_lines":[{"line_number":381,"context_line":"        cfg.StrOpt(\u0027ca_key\u0027,"},{"line_number":382,"context_line":"                   default\u003d\u0027/etc/keystone/ssl/private/cakey.pem\u0027,"},{"line_number":383,"context_line":"                   help\u003d\u0027Path of the CA key file for SSL.\u0027),"},{"line_number":384,"context_line":"        cfg.IntOpt(\u0027key_size\u0027, default\u003d1024, min\u003d1024,"},{"line_number":385,"context_line":"                   help\u003d\u0027SSL key length (in bits) (auto generated \u0027"},{"line_number":386,"context_line":"                        \u0027certificate).\u0027),"},{"line_number":387,"context_line":"        cfg.IntOpt(\u0027valid_days\u0027, default\u003d3650,"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_88cb314a","line":384,"in_reply_to":"1a4dcd0f_c1aef9e6","updated":"2015-08-15 11:45:00.000000000","message":"I don\u0027t think it matters all that much since I don\u0027t think this is intended to be used by production deployments.","commit_id":"6644b125b9b1848533ed7b7643173c9a1daf9e23"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"906e9aacd5c1245d91ee1631e16a42f1de34b37a","unresolved":false,"context_lines":[{"line_number":408,"context_line":"        cfg.StrOpt(\u0027ca_key\u0027,"},{"line_number":409,"context_line":"                   default\u003d\u0027/etc/keystone/ssl/private/cakey.pem\u0027,"},{"line_number":410,"context_line":"                   help\u003d\u0027Path of the CA key for token signing.\u0027),"},{"line_number":411,"context_line":"        cfg.IntOpt(\u0027key_size\u0027, default\u003d2048, min\u003d1024,"},{"line_number":412,"context_line":"                   help\u003d\u0027Key size (in bits) for token signing cert \u0027"},{"line_number":413,"context_line":"                        \u0027(auto generated certificate).\u0027),"},{"line_number":414,"context_line":"        cfg.IntOpt(\u0027valid_days\u0027, default\u003d3650,"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_542404c5","line":411,"updated":"2015-08-14 13:37:05.000000000","message":"Here too. I am not sure is there any specific requirement in keystone, if there is pls correct me, thanks.","commit_id":"6644b125b9b1848533ed7b7643173c9a1daf9e23"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"366582cc3f1e0a15694f1a79b6746cdb13fa7dd9","unresolved":false,"context_lines":[{"line_number":408,"context_line":"        cfg.StrOpt(\u0027ca_key\u0027,"},{"line_number":409,"context_line":"                   default\u003d\u0027/etc/keystone/ssl/private/cakey.pem\u0027,"},{"line_number":410,"context_line":"                   help\u003d\u0027Path of the CA key for token signing.\u0027),"},{"line_number":411,"context_line":"        cfg.IntOpt(\u0027key_size\u0027, default\u003d2048, min\u003d1024,"},{"line_number":412,"context_line":"                   help\u003d\u0027Key size (in bits) for token signing cert \u0027"},{"line_number":413,"context_line":"                        \u0027(auto generated certificate).\u0027),"},{"line_number":414,"context_line":"        cfg.IntOpt(\u0027valid_days\u0027, default\u003d3650,"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_e1a9b5de","line":411,"in_reply_to":"1a4dcd0f_542404c5","updated":"2015-08-15 05:57:00.000000000","message":"Same as above.","commit_id":"6644b125b9b1848533ed7b7643173c9a1daf9e23"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"906e9aacd5c1245d91ee1631e16a42f1de34b37a","unresolved":false,"context_lines":[{"line_number":1038,"context_line":"                   min\u003d2,"},{"line_number":1039,"context_line":"                   help\u003d\u0027The number of worker processes to serve the public \u0027"},{"line_number":1040,"context_line":"                        \u0027eventlet application. Defaults to number of CPUs \u0027"},{"line_number":1041,"context_line":"                        \u0027(minimum of 2).\u0027),"},{"line_number":1042,"context_line":"        cfg.IntOpt(\u0027admin_workers\u0027,"},{"line_number":1043,"context_line":"                   deprecated_name\u003d\u0027admin_workers\u0027,"},{"line_number":1044,"context_line":"                   deprecated_group\u003d\u0027DEFAULT\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_543964d7","line":1041,"updated":"2015-08-14 13:37:05.000000000","message":"Now that we have define the min explicitly, there is no need to duplicate this in the help.","commit_id":"6644b125b9b1848533ed7b7643173c9a1daf9e23"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"366582cc3f1e0a15694f1a79b6746cdb13fa7dd9","unresolved":false,"context_lines":[{"line_number":1038,"context_line":"                   min\u003d2,"},{"line_number":1039,"context_line":"                   help\u003d\u0027The number of worker processes to serve the public \u0027"},{"line_number":1040,"context_line":"                        \u0027eventlet application. Defaults to number of CPUs \u0027"},{"line_number":1041,"context_line":"                        \u0027(minimum of 2).\u0027),"},{"line_number":1042,"context_line":"        cfg.IntOpt(\u0027admin_workers\u0027,"},{"line_number":1043,"context_line":"                   deprecated_name\u003d\u0027admin_workers\u0027,"},{"line_number":1044,"context_line":"                   deprecated_group\u003d\u0027DEFAULT\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_81b8f12b","line":1041,"in_reply_to":"1a4dcd0f_543964d7","updated":"2015-08-15 05:57:00.000000000","message":"Done","commit_id":"6644b125b9b1848533ed7b7643173c9a1daf9e23"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"906e9aacd5c1245d91ee1631e16a42f1de34b37a","unresolved":false,"context_lines":[{"line_number":1046,"context_line":"                   min\u003d2,"},{"line_number":1047,"context_line":"                   help\u003d\u0027The number of worker processes to serve the admin \u0027"},{"line_number":1048,"context_line":"                        \u0027eventlet application. Defaults to number of CPUs \u0027"},{"line_number":1049,"context_line":"                        \u0027(minimum of 2).\u0027),"},{"line_number":1050,"context_line":"        cfg.StrOpt(\u0027public_bind_host\u0027,"},{"line_number":1051,"context_line":"                   default\u003d\u00270.0.0.0\u0027,"},{"line_number":1052,"context_line":"                   deprecated_opts\u003d[cfg.DeprecatedOpt(\u0027bind_host\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_d44b345e","line":1049,"updated":"2015-08-14 13:37:05.000000000","message":"the same.","commit_id":"6644b125b9b1848533ed7b7643173c9a1daf9e23"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"366582cc3f1e0a15694f1a79b6746cdb13fa7dd9","unresolved":false,"context_lines":[{"line_number":1046,"context_line":"                   min\u003d2,"},{"line_number":1047,"context_line":"                   help\u003d\u0027The number of worker processes to serve the admin \u0027"},{"line_number":1048,"context_line":"                        \u0027eventlet application. Defaults to number of CPUs \u0027"},{"line_number":1049,"context_line":"                        \u0027(minimum of 2).\u0027),"},{"line_number":1050,"context_line":"        cfg.StrOpt(\u0027public_bind_host\u0027,"},{"line_number":1051,"context_line":"                   default\u003d\u00270.0.0.0\u0027,"},{"line_number":1052,"context_line":"                   deprecated_opts\u003d[cfg.DeprecatedOpt(\u0027bind_host\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_a1b3ad4c","line":1049,"in_reply_to":"1a4dcd0f_d44b345e","updated":"2015-08-15 05:57:00.000000000","message":"Done","commit_id":"6644b125b9b1848533ed7b7643173c9a1daf9e23"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"240b37dba93dd45c6d59cd33c7643576208d7521","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        # static and grows over time to constantly approximate ~300ms"},{"line_number":80,"context_line":"        # of CPU time to hash; this was considered too high.  This"},{"line_number":81,"context_line":"        # value still exceeds the glibc default of 5k."},{"line_number":82,"context_line":"        cfg.IntOpt(\u0027crypt_strength\u0027, default\u003d10000, min\u003d1000, max\u003d999999999,"},{"line_number":83,"context_line":"                   help\u003d\u0027The value passed as the keyword \"rounds\" to \u0027"},{"line_number":84,"context_line":"                        \u0027passlib\\\u0027s encrypt method.\u0027),"},{"line_number":85,"context_line":"        cfg.IntOpt(\u0027list_limit\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_e810b5ad","line":82,"updated":"2015-08-15 11:51:59.000000000","message":"What\u0027s the point of setting such an unrealistic max?","commit_id":"b9d6d6f4577c60c5ffead9c4ce12877de329bbcb"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"f7bd744bd9bf5e90071956061a85df5acf28bf06","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        # static and grows over time to constantly approximate ~300ms"},{"line_number":80,"context_line":"        # of CPU time to hash; this was considered too high.  This"},{"line_number":81,"context_line":"        # value still exceeds the glibc default of 5k."},{"line_number":82,"context_line":"        cfg.IntOpt(\u0027crypt_strength\u0027, default\u003d10000, min\u003d1000, max\u003d999999999,"},{"line_number":83,"context_line":"                   help\u003d\u0027The value passed as the keyword \"rounds\" to \u0027"},{"line_number":84,"context_line":"                        \u0027passlib\\\u0027s encrypt method.\u0027),"},{"line_number":85,"context_line":"        cfg.IntOpt(\u0027list_limit\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_ceb5c1ed","line":82,"in_reply_to":"1a4dcd0f_e810b5ad","updated":"2015-08-15 16:41:34.000000000","message":"I took these numbers from the docs on passlib.  Is there a more appropriate max you would prefer?\n\nhttps://pythonhosted.org/passlib/lib/passlib.hash.sha512_crypt.html\n\n\"rounds (int) – Optional number of rounds to use. Defaults to 656000, must be between 1000 and 999999999, inclusive.\"","commit_id":"b9d6d6f4577c60c5ffead9c4ce12877de329bbcb"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"e7f5422ac37c5f0bcf3b78b56da26a87608554b3","unresolved":false,"context_lines":[{"line_number":75,"context_line":"                        \u0027detail.\u0027),"},{"line_number":76,"context_line":"        # NOTE(lbragstad/morganfainberg): This value of 10k was"},{"line_number":77,"context_line":"        # measured as having an approximate 30% clock-time savings"},{"line_number":78,"context_line":"        # over the old default of 40k.  The passlib default is not"},{"line_number":79,"context_line":"        # static and grows over time to constantly approximate ~300ms"},{"line_number":80,"context_line":"        # of CPU time to hash; this was considered too high.  This"},{"line_number":81,"context_line":"        # value still exceeds the glibc default of 5k."}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_6de33d06","line":78,"updated":"2015-08-25 02:44:45.000000000","message":"The comment here illustrate why we use 10k as the default value,  and maybe why David concerns about the max value.\n\nPer my understanding, you can just add more comments here to tell the end user that max value you defined there is not *recommended* and not *performance warranted* but just from passlib.\n\nIt is not possible that max value here is extactly marginal value that keystone could accepted except some benchmark around this.","commit_id":"83dfb31677363a8e96cceedfad3892a1bd26e9fe"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"cb60cb79f2c2dc3e0ee74837a02fd193de2bd9e8","unresolved":false,"context_lines":[{"line_number":75,"context_line":"                        \u0027detail.\u0027),"},{"line_number":76,"context_line":"        # NOTE(lbragstad/morganfainberg): This value of 10k was"},{"line_number":77,"context_line":"        # measured as having an approximate 30% clock-time savings"},{"line_number":78,"context_line":"        # over the old default of 40k.  The passlib default is not"},{"line_number":79,"context_line":"        # static and grows over time to constantly approximate ~300ms"},{"line_number":80,"context_line":"        # of CPU time to hash; this was considered too high.  This"},{"line_number":81,"context_line":"        # value still exceeds the glibc default of 5k."}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_1e142642","line":78,"in_reply_to":"fa1b9901_6de33d06","updated":"2015-08-25 06:21:21.000000000","message":"This comment isn\u0027t even seen by a normal deployer since its not in the option help (see below).  I could put something in the help if that\u0027ll help resolve the concerns.","commit_id":"83dfb31677363a8e96cceedfad3892a1bd26e9fe"},{"author":{"_account_id":16523,"name":"ZhangLei","display_name":"ZhangLei","email":"zhang.lei@99cloud.net","username":"zhang.lei"},"change_message_id":"50904155578a332828fbbceeb03291152a1ccb8b","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        # static and grows over time to constantly approximate ~300ms"},{"line_number":80,"context_line":"        # of CPU time to hash; this was considered too high.  This"},{"line_number":81,"context_line":"        # value still exceeds the glibc default of 5k."},{"line_number":82,"context_line":"        cfg.IntOpt(\u0027crypt_strength\u0027, default\u003d10000, min\u003d1000, max\u003d999999999,"},{"line_number":83,"context_line":"                   help\u003d\u0027The value passed as the keyword \"rounds\" to \u0027"},{"line_number":84,"context_line":"                        \u0027passlib\\\u0027s encrypt method.\u0027),"},{"line_number":85,"context_line":"        cfg.IntOpt(\u0027list_limit\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_b229b439","line":82,"updated":"2015-08-25 02:02:10.000000000","message":"I think you do not need to set the maximum","commit_id":"83dfb31677363a8e96cceedfad3892a1bd26e9fe"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"304a3bd04a4688ca3fcb7cfee0282e09e1795278","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        # static and grows over time to constantly approximate ~300ms"},{"line_number":80,"context_line":"        # of CPU time to hash; this was considered too high.  This"},{"line_number":81,"context_line":"        # value still exceeds the glibc default of 5k."},{"line_number":82,"context_line":"        cfg.IntOpt(\u0027crypt_strength\u0027, default\u003d10000, min\u003d1000, max\u003d999999999,"},{"line_number":83,"context_line":"                   help\u003d\u0027The value passed as the keyword \"rounds\" to \u0027"},{"line_number":84,"context_line":"                        \u0027passlib\\\u0027s encrypt method.\u0027),"},{"line_number":85,"context_line":"        cfg.IntOpt(\u0027list_limit\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_81e8e07d","line":82,"updated":"2015-08-25 00:39:08.000000000","message":"Is there any reason not to make this a little more appropriate for Keystone? I don\u0027t think a server would be functional anywhere near that max.","commit_id":"83dfb31677363a8e96cceedfad3892a1bd26e9fe"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"cb60cb79f2c2dc3e0ee74837a02fd193de2bd9e8","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        # static and grows over time to constantly approximate ~300ms"},{"line_number":80,"context_line":"        # of CPU time to hash; this was considered too high.  This"},{"line_number":81,"context_line":"        # value still exceeds the glibc default of 5k."},{"line_number":82,"context_line":"        cfg.IntOpt(\u0027crypt_strength\u0027, default\u003d10000, min\u003d1000, max\u003d999999999,"},{"line_number":83,"context_line":"                   help\u003d\u0027The value passed as the keyword \"rounds\" to \u0027"},{"line_number":84,"context_line":"                        \u0027passlib\\\u0027s encrypt method.\u0027),"},{"line_number":85,"context_line":"        cfg.IntOpt(\u0027list_limit\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_1b78b8c3","line":82,"in_reply_to":"fa1b9901_81e8e07d","updated":"2015-08-25 06:21:21.000000000","message":"Can you please recommend a maximum that would be appropriate for keystone?","commit_id":"83dfb31677363a8e96cceedfad3892a1bd26e9fe"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"8af8406cd81535395955acb331b00a7c570b3cb1","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        # static and grows over time to constantly approximate ~300ms"},{"line_number":80,"context_line":"        # of CPU time to hash; this was considered too high.  This"},{"line_number":81,"context_line":"        # value still exceeds the glibc default of 5k."},{"line_number":82,"context_line":"        cfg.IntOpt(\u0027crypt_strength\u0027, default\u003d10000, min\u003d1000, max\u003d999999999,"},{"line_number":83,"context_line":"                   help\u003d\u0027The value passed as the keyword \"rounds\" to \u0027"},{"line_number":84,"context_line":"                        \u0027passlib\\\u0027s encrypt method.\u0027),"},{"line_number":85,"context_line":"        cfg.IntOpt(\u0027list_limit\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_e05c0b1b","line":82,"in_reply_to":"fa1b9901_81e8e07d","updated":"2015-08-25 17:13:25.000000000","message":"Ok, here is some performance metrics using different rounds.\n\nhttp://paste.openstack.org/show/427243/\n\nGiven this, I think I\u0027ll modify the max to 1000000","commit_id":"83dfb31677363a8e96cceedfad3892a1bd26e9fe"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"cb60cb79f2c2dc3e0ee74837a02fd193de2bd9e8","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        # static and grows over time to constantly approximate ~300ms"},{"line_number":80,"context_line":"        # of CPU time to hash; this was considered too high.  This"},{"line_number":81,"context_line":"        # value still exceeds the glibc default of 5k."},{"line_number":82,"context_line":"        cfg.IntOpt(\u0027crypt_strength\u0027, default\u003d10000, min\u003d1000, max\u003d999999999,"},{"line_number":83,"context_line":"                   help\u003d\u0027The value passed as the keyword \"rounds\" to \u0027"},{"line_number":84,"context_line":"                        \u0027passlib\\\u0027s encrypt method.\u0027),"},{"line_number":85,"context_line":"        cfg.IntOpt(\u0027list_limit\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_bb342cfb","line":82,"in_reply_to":"fa1b9901_b229b439","updated":"2015-08-25 06:21:21.000000000","message":"If a max is not set, you still get a ValueError on creation of the user if crypt_strength is too large for passlib.","commit_id":"83dfb31677363a8e96cceedfad3892a1bd26e9fe"}]}
