)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"6376ad67e1ec6bd67aba5a95716d00807a12f059","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Reasons:"},{"line_number":10,"context_line":"- If one taskmanager is managing multiple datastores it becomes"},{"line_number":11,"context_line":"  mandatory to setup the usage_timeout/cluster_usage_timeout"},{"line_number":12,"context_line":"  to be the highest value to accommodate highest time-taking datastore."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Changes:"},{"line_number":15,"context_line":"- Updates taskamanager to use datastore-specific usage_timeout,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"1af86dd1_7b65a343","line":12,"updated":"2015-06-12 17:20:31.000000000","message":"new word ;)","commit_id":"31475965ae15e1bddd7251436483890ecabacee3"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"2617150865cf70903fc486582b323ed983fe3b2c","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Reasons:"},{"line_number":10,"context_line":"- If one taskmanager is managing multiple datastores it becomes"},{"line_number":11,"context_line":"  mandatory to setup the usage_timeout/cluster_usage_timeout"},{"line_number":12,"context_line":"  to be the highest value to accommodate highest time-taking datastore."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Changes:"},{"line_number":15,"context_line":"- Updates taskamanager to use datastore-specific usage_timeout,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"fa32b979_839c31c1","line":12,"in_reply_to":"1af86dd1_7b65a343","updated":"2015-06-23 17:15:33.000000000","message":"I did not get this, need suggestion","commit_id":"31475965ae15e1bddd7251436483890ecabacee3"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"6376ad67e1ec6bd67aba5a95716d00807a12f059","unresolved":false,"context_lines":[{"line_number":19,"context_line":"  otherwise use the default one."},{"line_number":20,"context_line":"- Removed usage_timeout from mysql and percona confs as part of bug: 1361603"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Closes-Bug: #1361603"},{"line_number":23,"context_line":"Closes-Bug: #1432558"},{"line_number":24,"context_line":"Change-Id: If78dead1ea013ed7a807b4a9327056092ff7012a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"1af86dd1_fb8633b8","line":22,"updated":"2015-06-12 17:20:31.000000000","message":"I don\u0027t get this. Bug 1361603 is marked as fix released.","commit_id":"31475965ae15e1bddd7251436483890ecabacee3"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"2617150865cf70903fc486582b323ed983fe3b2c","unresolved":false,"context_lines":[{"line_number":19,"context_line":"  otherwise use the default one."},{"line_number":20,"context_line":"- Removed usage_timeout from mysql and percona confs as part of bug: 1361603"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Closes-Bug: #1361603"},{"line_number":23,"context_line":"Closes-Bug: #1432558"},{"line_number":24,"context_line":"Change-Id: If78dead1ea013ed7a807b4a9327056092ff7012a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"fa32b979_c35f990d","line":22,"in_reply_to":"1af86dd1_fb8633b8","updated":"2015-06-23 17:15:33.000000000","message":"Yep this bug marked as released but as you can see in the code-base mysql and percona still got those timeouts.","commit_id":"31475965ae15e1bddd7251436483890ecabacee3"}],"trove/common/cfg.py":[{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"2f7a0ae30abbb9a8eb42503b4b581ceaa2e3672b","unresolved":false,"context_lines":[{"line_number":380,"context_line":"    cfg.StrOpt(\u0027network_driver\u0027, default\u003d\u0027trove.network.nova.NovaNetwork\u0027,"},{"line_number":381,"context_line":"               help\u003d\"Describes the actual network manager used for \""},{"line_number":382,"context_line":"                    \"the management of network attributes \""},{"line_number":383,"context_line":"                    \"(security groups, floating IPs, etc.).\"),"},{"line_number":384,"context_line":"    cfg.IntOpt(\u0027usage_timeout\u0027, default\u003d600,"},{"line_number":385,"context_line":"               help\u003d\u0027Maximum time (in seconds) to wait for a Guest to become \u0027"},{"line_number":386,"context_line":"                    \u0027active.\u0027),"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_42042518","line":383,"updated":"2015-03-17 03:55:45.000000000","message":"Now that we will be using an usage_timeout for each datastore, we could consider to deprecate this option from common opts.","commit_id":"0a09c16082fff75341dfd247071bb169232a7b3e"},{"author":{"_account_id":9782,"name":"Morgan Jones","email":"morgan@tesora.com","username":"vgnbkr"},"change_message_id":"22faf12265b776568394fd8f6b5125f53fe098f2","unresolved":false,"context_lines":[{"line_number":375,"context_line":"               help\u003d\"Describes the actual network manager used for \""},{"line_number":376,"context_line":"                    \"the management of network attributes \""},{"line_number":377,"context_line":"                    \"(security groups, floating IPs, etc.).\"),"},{"line_number":378,"context_line":"    cfg.IntOpt(\u0027usage_timeout\u0027, default\u003d600,"},{"line_number":379,"context_line":"               help\u003d\u0027Maximum time (in seconds) to wait for a Guest to become \u0027"},{"line_number":380,"context_line":"                    \u0027active.\u0027),"},{"line_number":381,"context_line":"    cfg.IntOpt(\u0027restore_usage_timeout\u0027, default\u003d36000,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9aa53dc9_13ee9c8b","line":378,"updated":"2015-04-06 14:11:53.000000000","message":"It\u0027s confusing to overload this name in two places.  Suggest you rename this or the others.","commit_id":"5289237588bb476ef88e4f95bd5792adf81da9b3"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"147026b219276bf688ba61279506fbf41fd11b5a","unresolved":false,"context_lines":[{"line_number":43,"context_line":"                help\u003d\u0027Roles to add to an admin user.\u0027),"},{"line_number":44,"context_line":"    cfg.BoolOpt(\u0027update_status_on_fail\u0027, default\u003dTrue,"},{"line_number":45,"context_line":"                help\u003d\u0027Set the service and instance task statuses to ERROR \u0027"},{"line_number":46,"context_line":"                     \u0027when an instance fails to become active within the \u0027"},{"line_number":47,"context_line":"                     \u0027configured usage_timeout.\u0027),"},{"line_number":48,"context_line":"    cfg.StrOpt(\u0027os_region_name\u0027, default\u003d\u0027RegionOne\u0027,"},{"line_number":49,"context_line":"               help\u003d\u0027Region name of this node. Used when searching catalog.\u0027),"}],"source_content_type":"text/x-python","patch_set":7,"id":"9aa53dc9_6c3902f2","side":"PARENT","line":46,"updated":"2015-04-09 10:02:08.000000000","message":"so should this be just usage_timeout or datastore_usage_timeout or both. My thought is that if we can use the same name for the default parameter as well as the the specific datastores, it makes it less confusing. Afterall, both of them mean the same and serves the same purpose. Just my  thought.","commit_id":"4262477557bf327ef5bb049ca590901a3a9137f8"},{"author":{"_account_id":14966,"name":"Denis Cavalcante","email":"dencaval@gmail.com","username":"denis.cavalcante"},"change_message_id":"92bdc470a7c4ddd5afafffeca79645bb4c906bca","unresolved":false,"context_lines":[{"line_number":374,"context_line":"    cfg.StrOpt(\u0027network_driver\u0027, default\u003d\u0027trove.network.nova.NovaNetwork\u0027,"},{"line_number":375,"context_line":"               help\u003d\"Describes the actual network manager used for \""},{"line_number":376,"context_line":"                    \"the management of network attributes \""},{"line_number":377,"context_line":"                    \"(security groups, floating IPs, etc.).\"),"},{"line_number":378,"context_line":"    cfg.IntOpt(\u0027usage_timeout\u0027, default\u003d600,"},{"line_number":379,"context_line":"               help\u003d\u0027Maximum time (in seconds) to wait for a Guest to become \u0027"},{"line_number":380,"context_line":"                    \u0027active.\u0027),"}],"source_content_type":"text/x-python","patch_set":7,"id":"9aa53dc9_50ea48ad","line":377,"updated":"2015-04-09 13:36:06.000000000","message":"Mariam is right about doing less confusing, here is another one.","commit_id":"70ea925737277020b9ff066858eca39f4637647c"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"147026b219276bf688ba61279506fbf41fd11b5a","unresolved":false,"context_lines":[{"line_number":449,"context_line":"                \u0027service during instance-create. The generated password for \u0027"},{"line_number":450,"context_line":"                \u0027the root user is immediately returned in the response of \u0027"},{"line_number":451,"context_line":"                \"instance-create as the \u0027password\u0027 field.\"),"},{"line_number":452,"context_line":"    cfg.IntOpt(\u0027datastore_usage_timeout\u0027, default\u003d600,"},{"line_number":453,"context_line":"               help\u003d\u0027Maximum time (in seconds) to wait for a Guest to become \u0027"},{"line_number":454,"context_line":"                    \u0027active.\u0027),"},{"line_number":455,"context_line":"    cfg.StrOpt(\u0027backup_namespace\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"9aa53dc9_4cebde78","line":452,"updated":"2015-04-09 10:02:08.000000000","message":"Do we really need to bump up the default timeout for Mysql from 400 to 600?","commit_id":"70ea925737277020b9ff066858eca39f4637647c"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"867616ee07e08523ec30ec19ea6f4d3b9389a524","unresolved":false,"context_lines":[{"line_number":377,"context_line":"                    \"(security groups, floating IPs, etc.).\"),"},{"line_number":378,"context_line":"    cfg.IntOpt(\u0027usage_timeout\u0027, default\u003d600,"},{"line_number":379,"context_line":"               help\u003d\u0027Maximum time (in seconds) to wait for a Guest to become \u0027"},{"line_number":380,"context_line":"                    \u0027active.\u0027),"},{"line_number":381,"context_line":"    cfg.IntOpt(\u0027restore_usage_timeout\u0027, default\u003d36000,"},{"line_number":382,"context_line":"               help\u003d\u0027Maximum time (in seconds) to wait for a Guest instance \u0027"},{"line_number":383,"context_line":"                    \u0027restored from a backup to become active.\u0027),"}],"source_content_type":"text/x-python","patch_set":9,"id":"7aaa499b_cbd04856","line":380,"updated":"2015-04-13 20:30:37.000000000","message":"I\u0027m not sure why this is still here.  It\u0027s been overridden in every case.  Either it\u0027s a default and every datastore that is ok with a value of 600 doesn\u0027t have the option defined, or we require that the option be present in each datastore section.  I don\u0027t think we need to do both.\n\nMaybe we could get a consensus of which way is \u0027better\u0027: Having a default (in which case each datastore entry which is the same as the default can be removed), or requiring each datastore to have the config option (in which case the \u0027default\u0027 can be deprecated from the main section).","commit_id":"e6e792c4d4cf9f6464617e5486613fc6bd82042c"},{"author":{"_account_id":10440,"name":"Alex Tomic","email":"atomic777@gmail.com","username":"atomic77"},"change_message_id":"fc8aac4a051b1583b6358ff9c4564134b0099576","unresolved":false,"context_lines":[{"line_number":377,"context_line":"                    \"(security groups, floating IPs, etc.).\"),"},{"line_number":378,"context_line":"    cfg.IntOpt(\u0027usage_timeout\u0027, default\u003d600,"},{"line_number":379,"context_line":"               help\u003d\u0027Maximum time (in seconds) to wait for a Guest to become \u0027"},{"line_number":380,"context_line":"                    \u0027active.\u0027),"},{"line_number":381,"context_line":"    cfg.IntOpt(\u0027restore_usage_timeout\u0027, default\u003d36000,"},{"line_number":382,"context_line":"               help\u003d\u0027Maximum time (in seconds) to wait for a Guest instance \u0027"},{"line_number":383,"context_line":"                    \u0027restored from a backup to become active.\u0027),"}],"source_content_type":"text/x-python","patch_set":9,"id":"7aaa499b_ab448eb6","line":380,"in_reply_to":"7aaa499b_05e854b3","updated":"2015-04-15 16:03:53.000000000","message":"I tend to agree with Peter here. The commit message states:\n\n\"Updates taskamanager to use datastore-specific usage_timeout, if one exists, otherwise use the default one.\". \n\nThis seems like a sensible approach, but there are datastore-specific timeouts specified that are not different from the default. \n\nThose datastores that have no need to stray from the default usage timeout should probably have the config entry removed, otherwise what is the point of even providing a common, default setting -- in that case we might as well just make it a requirement.","commit_id":"e6e792c4d4cf9f6464617e5486613fc6bd82042c"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"35874060aaa24ac572257068ce7a522e0c613e24","unresolved":false,"context_lines":[{"line_number":377,"context_line":"                    \"(security groups, floating IPs, etc.).\"),"},{"line_number":378,"context_line":"    cfg.IntOpt(\u0027usage_timeout\u0027, default\u003d600,"},{"line_number":379,"context_line":"               help\u003d\u0027Maximum time (in seconds) to wait for a Guest to become \u0027"},{"line_number":380,"context_line":"                    \u0027active.\u0027),"},{"line_number":381,"context_line":"    cfg.IntOpt(\u0027restore_usage_timeout\u0027, default\u003d36000,"},{"line_number":382,"context_line":"               help\u003d\u0027Maximum time (in seconds) to wait for a Guest instance \u0027"},{"line_number":383,"context_line":"                    \u0027restored from a backup to become active.\u0027),"}],"source_content_type":"text/x-python","patch_set":9,"id":"7aaa499b_05e854b3","line":380,"in_reply_to":"7aaa499b_cbd04856","updated":"2015-04-14 04:25:36.000000000","message":"1. So it was discussed in meeting to have both values one in datastore specific section keeping the one in default section as is so that if any datastore does not have one in thwir own section it could use the default.\n\n2. The reason why I have updated to all datastore specific sections is it may create confusion to reader that some have and some dont have the parameter.","commit_id":"e6e792c4d4cf9f6464617e5486613fc6bd82042c"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"d63d3a862aff40d3e9857c37cd7ff65de8fcd0f4","unresolved":false,"context_lines":[{"line_number":377,"context_line":"                    \"(security groups, floating IPs, etc.).\"),"},{"line_number":378,"context_line":"    cfg.IntOpt(\u0027usage_timeout\u0027, default\u003d600,"},{"line_number":379,"context_line":"               help\u003d\u0027Maximum time (in seconds) to wait for a Guest to become \u0027"},{"line_number":380,"context_line":"                    \u0027active.\u0027),"},{"line_number":381,"context_line":"    cfg.IntOpt(\u0027restore_usage_timeout\u0027, default\u003d36000,"},{"line_number":382,"context_line":"               help\u003d\u0027Maximum time (in seconds) to wait for a Guest instance \u0027"},{"line_number":383,"context_line":"                    \u0027restored from a backup to become active.\u0027),"}],"source_content_type":"text/x-python","patch_set":9,"id":"dac4157f_0dcbf854","line":380,"in_reply_to":"7aaa499b_cbd04856","updated":"2015-04-20 18:51:09.000000000","message":"I agree with Peter here. If we are refactoring the conf so the usage_timeout is configurable for every datastore, then we shouldn\u0027t rely in a \"default\" value and make sure that every datastore define it accordingly.","commit_id":"e6e792c4d4cf9f6464617e5486613fc6bd82042c"},{"author":{"_account_id":14576,"name":"Petr Malik","email":"pmalik@tesora.com","username":"pmalik"},"change_message_id":"10032411a1459e986857c04e594de1b1f6420c0d","unresolved":false,"context_lines":[{"line_number":377,"context_line":"                    \"(security groups, floating IPs, etc.).\"),"},{"line_number":378,"context_line":"    cfg.IntOpt(\u0027usage_timeout\u0027, default\u003d600,"},{"line_number":379,"context_line":"               help\u003d\u0027Maximum time (in seconds) to wait for a Guest to become \u0027"},{"line_number":380,"context_line":"                    \u0027active.\u0027),"},{"line_number":381,"context_line":"    cfg.IntOpt(\u0027restore_usage_timeout\u0027, default\u003d36000,"},{"line_number":382,"context_line":"               help\u003d\u0027Maximum time (in seconds) to wait for a Guest instance \u0027"},{"line_number":383,"context_line":"                    \u0027restored from a backup to become active.\u0027),"}],"source_content_type":"text/x-python","patch_set":9,"id":"bab921fb_46c8b055","line":380,"in_reply_to":"dac4157f_0dcbf854","updated":"2015-04-24 16:16:08.000000000","message":"I agree with the above comments. Since the necessary timeouts may vary significantly between datastores, I\u0027d be inclined to making them required for each datastore and deprecating the global default.","commit_id":"e6e792c4d4cf9f6464617e5486613fc6bd82042c"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"867616ee07e08523ec30ec19ea6f4d3b9389a524","unresolved":false,"context_lines":[{"line_number":449,"context_line":"                \u0027service during instance-create. The generated password for \u0027"},{"line_number":450,"context_line":"                \u0027the root user is immediately returned in the response of \u0027"},{"line_number":451,"context_line":"                \"instance-create as the \u0027password\u0027 field.\"),"},{"line_number":452,"context_line":"    cfg.IntOpt(\u0027usage_timeout\u0027, default\u003d600,"},{"line_number":453,"context_line":"               help\u003d\u0027Maximum time (in seconds) to wait for a Guest to become \u0027"},{"line_number":454,"context_line":"                    \u0027active.\u0027),"},{"line_number":455,"context_line":"    cfg.StrOpt(\u0027backup_namespace\u0027,"}],"source_content_type":"text/x-python","patch_set":9,"id":"7aaa499b_8b992071","line":452,"updated":"2015-04-13 20:30:37.000000000","message":"I didn\u0027t see the reason why this was changed.  If it needs to be higher, then maybe it should be addressed in the commit message as well (or potentially done separately, as out-of-scope here).","commit_id":"e6e792c4d4cf9f6464617e5486613fc6bd82042c"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"35874060aaa24ac572257068ce7a522e0c613e24","unresolved":false,"context_lines":[{"line_number":449,"context_line":"                \u0027service during instance-create. The generated password for \u0027"},{"line_number":450,"context_line":"                \u0027the root user is immediately returned in the response of \u0027"},{"line_number":451,"context_line":"                \"instance-create as the \u0027password\u0027 field.\"),"},{"line_number":452,"context_line":"    cfg.IntOpt(\u0027usage_timeout\u0027, default\u003d600,"},{"line_number":453,"context_line":"               help\u003d\u0027Maximum time (in seconds) to wait for a Guest to become \u0027"},{"line_number":454,"context_line":"                    \u0027active.\u0027),"},{"line_number":455,"context_line":"    cfg.StrOpt(\u0027backup_namespace\u0027,"}],"source_content_type":"text/x-python","patch_set":9,"id":"7aaa499b_2508f090","line":452,"in_reply_to":"7aaa499b_8b992071","updated":"2015-04-14 04:25:36.000000000","message":"You can visit the integration test reports now the instances do not get active in a time of 400 secs and i kept it to 600 just to take the usage_timeout value from default section which is actually used.","commit_id":"e6e792c4d4cf9f6464617e5486613fc6bd82042c"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"867616ee07e08523ec30ec19ea6f4d3b9389a524","unresolved":false,"context_lines":[{"line_number":510,"context_line":"                \u0027service during instance-create. The generated password for \u0027"},{"line_number":511,"context_line":"                \u0027the root user is immediately returned in the response of \u0027"},{"line_number":512,"context_line":"                \"instance-create as the \u0027password\u0027 field.\"),"},{"line_number":513,"context_line":"    cfg.IntOpt(\u0027usage_timeout\u0027, default\u003d600,"},{"line_number":514,"context_line":"               help\u003d\u0027Maximum time (in seconds) to wait for a Guest to become \u0027"},{"line_number":515,"context_line":"                    \u0027active.\u0027),"},{"line_number":516,"context_line":"    cfg.StrOpt(\u0027backup_namespace\u0027,"}],"source_content_type":"text/x-python","patch_set":9,"id":"7aaa499b_4bdc38e4","line":513,"updated":"2015-04-13 20:30:37.000000000","message":"Again, being set to the default value.  Seems to negate the need for per-datastore values.","commit_id":"e6e792c4d4cf9f6464617e5486613fc6bd82042c"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"35874060aaa24ac572257068ce7a522e0c613e24","unresolved":false,"context_lines":[{"line_number":510,"context_line":"                \u0027service during instance-create. The generated password for \u0027"},{"line_number":511,"context_line":"                \u0027the root user is immediately returned in the response of \u0027"},{"line_number":512,"context_line":"                \"instance-create as the \u0027password\u0027 field.\"),"},{"line_number":513,"context_line":"    cfg.IntOpt(\u0027usage_timeout\u0027, default\u003d600,"},{"line_number":514,"context_line":"               help\u003d\u0027Maximum time (in seconds) to wait for a Guest to become \u0027"},{"line_number":515,"context_line":"                    \u0027active.\u0027),"},{"line_number":516,"context_line":"    cfg.StrOpt(\u0027backup_namespace\u0027,"}],"source_content_type":"text/x-python","patch_set":9,"id":"7aaa499b_85f3449e","line":513,"in_reply_to":"7aaa499b_4bdc38e4","updated":"2015-04-14 04:25:36.000000000","message":"So i can leave that value as it is, the reason i have kept other values to be 600 is I am not aware about their exact timeouts and they were earlier using this default value of 600","commit_id":"e6e792c4d4cf9f6464617e5486613fc6bd82042c"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"6376ad67e1ec6bd67aba5a95716d00807a12f059","unresolved":false,"context_lines":[{"line_number":450,"context_line":"                \u0027service during instance-create. The generated password for \u0027"},{"line_number":451,"context_line":"                \u0027the root user is immediately returned in the response of \u0027"},{"line_number":452,"context_line":"                \"instance-create as the \u0027password\u0027 field.\"),"},{"line_number":453,"context_line":"    cfg.IntOpt(\u0027usage_timeout\u0027, default\u003d400,"},{"line_number":454,"context_line":"               help\u003d\u0027Maximum time (in seconds) to wait for a Guest to become \u0027"},{"line_number":455,"context_line":"                    \u0027active.\u0027),"},{"line_number":456,"context_line":"    cfg.StrOpt(\u0027backup_namespace\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"1af86dd1_b61a126d","side":"PARENT","line":453,"updated":"2015-06-12 17:20:31.000000000","message":"This doesn\u0027t seem to make sense. If different datastores require different timeouts why are we removing this? If you can\u0027t finish gate at 400, bump this to 450.","commit_id":"3c8112735d0e280efbc6e23ac5f018c02bdd48d2"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"2617150865cf70903fc486582b323ed983fe3b2c","unresolved":false,"context_lines":[{"line_number":450,"context_line":"                \u0027service during instance-create. The generated password for \u0027"},{"line_number":451,"context_line":"                \u0027the root user is immediately returned in the response of \u0027"},{"line_number":452,"context_line":"                \"instance-create as the \u0027password\u0027 field.\"),"},{"line_number":453,"context_line":"    cfg.IntOpt(\u0027usage_timeout\u0027, default\u003d400,"},{"line_number":454,"context_line":"               help\u003d\u0027Maximum time (in seconds) to wait for a Guest to become \u0027"},{"line_number":455,"context_line":"                    \u0027active.\u0027),"},{"line_number":456,"context_line":"    cfg.StrOpt(\u0027backup_namespace\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa32b979_83bd116a","side":"PARENT","line":453,"in_reply_to":"1af86dd1_b61a126d","updated":"2015-06-23 17:15:33.000000000","message":"These were removed as part of https://review.openstack.org/#/c/87040 and somehow they came back.\n\nI can go either way it works for all of us either have a value which works or just remove it.","commit_id":"3c8112735d0e280efbc6e23ac5f018c02bdd48d2"},{"author":{"_account_id":14576,"name":"Petr Malik","email":"pmalik@tesora.com","username":"pmalik"},"change_message_id":"119d299ca659e8b9e172790e9273e5a5212c4fda","unresolved":false,"context_lines":[{"line_number":450,"context_line":"                \u0027service during instance-create. The generated password for \u0027"},{"line_number":451,"context_line":"                \u0027the root user is immediately returned in the response of \u0027"},{"line_number":452,"context_line":"                \"instance-create as the \u0027password\u0027 field.\"),"},{"line_number":453,"context_line":"    cfg.IntOpt(\u0027usage_timeout\u0027, default\u003d400,"},{"line_number":454,"context_line":"               help\u003d\u0027Maximum time (in seconds) to wait for a Guest to become \u0027"},{"line_number":455,"context_line":"                    \u0027active.\u0027),"},{"line_number":456,"context_line":"    cfg.StrOpt(\u0027backup_namespace\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa32b979_e3ef3aaf","side":"PARENT","line":453,"in_reply_to":"fa32b979_83bd116a","updated":"2015-06-23 17:37:15.000000000","message":"As far as I understand the patch set you are referring to was based on an agreement to use a global timeout (see it\u0027s a year old).\nSince then the community has decided to move back towards datastore specific timeouts - i.e. this patch set.\n\nThe datastores that are not OK with the default should define their own values.","commit_id":"3c8112735d0e280efbc6e23ac5f018c02bdd48d2"},{"author":{"_account_id":9746,"name":"Doug Shelley","email":"dougshelley66@gmail.com","username":"dougshelley"},"change_message_id":"f89cb8113fca4cb9564437e40d275069f81b37cb","unresolved":false,"context_lines":[{"line_number":452,"context_line":"                \"instance-create as the \u0027password\u0027 field.\"),"},{"line_number":453,"context_line":"    cfg.IntOpt(\u0027usage_timeout\u0027, default\u003d400,"},{"line_number":454,"context_line":"               help\u003d\u0027Maximum time (in seconds) to wait for a Guest to become \u0027"},{"line_number":455,"context_line":"                    \u0027active.\u0027),"},{"line_number":456,"context_line":"    cfg.StrOpt(\u0027backup_namespace\u0027,"},{"line_number":457,"context_line":"               default\u003d\u0027trove.guestagent.strategies.backup.mysql_impl\u0027,"},{"line_number":458,"context_line":"               help\u003d\u0027Namespace to load backup strategies from.\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3afb71cf_9d99c57b","side":"PARENT","line":455,"updated":"2015-06-10 16:45:13.000000000","message":"I\u0027m not sure why you are taking this out. It seems like with your new structure of a global default with the ability to override (when necessary) at a per datastore level (which i like :) ) you would want to leave in this value as a relevant per datastore override.","commit_id":"3c8112735d0e280efbc6e23ac5f018c02bdd48d2"},{"author":{"_account_id":9746,"name":"Doug Shelley","email":"dougshelley66@gmail.com","username":"dougshelley"},"change_message_id":"1e5b3609efa7e34e09cd9bce30875a39a0c8ccb9","unresolved":false,"context_lines":[{"line_number":452,"context_line":"                \"instance-create as the \u0027password\u0027 field.\"),"},{"line_number":453,"context_line":"    cfg.IntOpt(\u0027usage_timeout\u0027, default\u003d400,"},{"line_number":454,"context_line":"               help\u003d\u0027Maximum time (in seconds) to wait for a Guest to become \u0027"},{"line_number":455,"context_line":"                    \u0027active.\u0027),"},{"line_number":456,"context_line":"    cfg.StrOpt(\u0027backup_namespace\u0027,"},{"line_number":457,"context_line":"               default\u003d\u0027trove.guestagent.strategies.backup.mysql_impl\u0027,"},{"line_number":458,"context_line":"               help\u003d\u0027Namespace to load backup strategies from.\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3afb71cf_30ee3db5","side":"PARENT","line":455,"in_reply_to":"3afb71cf_7d98491c","updated":"2015-06-11 18:55:31.000000000","message":"I\u0027m not clear what you are saying. The point of this patch is to allow for the behaviour that you are specifically removing above. Clearly, someone thought it made sense for the timeout on mysql to be 400. Given what you did with this patch, we now have the capability to support this override. I would expect over time there may be more.","commit_id":"3c8112735d0e280efbc6e23ac5f018c02bdd48d2"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"a038848cd3015815da276df6934f68bcd877407b","unresolved":false,"context_lines":[{"line_number":452,"context_line":"                \"instance-create as the \u0027password\u0027 field.\"),"},{"line_number":453,"context_line":"    cfg.IntOpt(\u0027usage_timeout\u0027, default\u003d400,"},{"line_number":454,"context_line":"               help\u003d\u0027Maximum time (in seconds) to wait for a Guest to become \u0027"},{"line_number":455,"context_line":"                    \u0027active.\u0027),"},{"line_number":456,"context_line":"    cfg.StrOpt(\u0027backup_namespace\u0027,"},{"line_number":457,"context_line":"               default\u003d\u0027trove.guestagent.strategies.backup.mysql_impl\u0027,"},{"line_number":458,"context_line":"               help\u003d\u0027Namespace to load backup strategies from.\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3afb71cf_7d98491c","side":"PARENT","line":455,"in_reply_to":"3afb71cf_9d99c57b","updated":"2015-06-10 16:49:24.000000000","message":"It is subjected to the bug: https://launchpad.net/bugs/1361603","commit_id":"3c8112735d0e280efbc6e23ac5f018c02bdd48d2"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"6376ad67e1ec6bd67aba5a95716d00807a12f059","unresolved":false,"context_lines":[{"line_number":511,"context_line":"                \u0027service during instance-create. The generated password for \u0027"},{"line_number":512,"context_line":"                \u0027the root user is immediately returned in the response of \u0027"},{"line_number":513,"context_line":"                \"instance-create as the \u0027password\u0027 field.\"),"},{"line_number":514,"context_line":"    cfg.IntOpt(\u0027usage_timeout\u0027, default\u003d450,"},{"line_number":515,"context_line":"               help\u003d\u0027Maximum time (in seconds) to wait for a Guest to become \u0027"},{"line_number":516,"context_line":"                    \u0027active.\u0027),"},{"line_number":517,"context_line":"    cfg.StrOpt(\u0027backup_namespace\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"1af86dd1_362502ab","side":"PARENT","line":514,"updated":"2015-06-12 17:20:31.000000000","message":"This shouldn\u0027t (IMHO) be deleted.","commit_id":"3c8112735d0e280efbc6e23ac5f018c02bdd48d2"},{"author":{"_account_id":9746,"name":"Doug Shelley","email":"dougshelley66@gmail.com","username":"dougshelley"},"change_message_id":"f89cb8113fca4cb9564437e40d275069f81b37cb","unresolved":false,"context_lines":[{"line_number":513,"context_line":"                \"instance-create as the \u0027password\u0027 field.\"),"},{"line_number":514,"context_line":"    cfg.IntOpt(\u0027usage_timeout\u0027, default\u003d450,"},{"line_number":515,"context_line":"               help\u003d\u0027Maximum time (in seconds) to wait for a Guest to become \u0027"},{"line_number":516,"context_line":"                    \u0027active.\u0027),"},{"line_number":517,"context_line":"    cfg.StrOpt(\u0027backup_namespace\u0027,"},{"line_number":518,"context_line":"               default\u003d\u0027trove.guestagent.strategies.backup.mysql_impl\u0027,"},{"line_number":519,"context_line":"               help\u003d\u0027Namespace to load backup strategies from.\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3afb71cf_3d81b1fb","side":"PARENT","line":516,"updated":"2015-06-10 16:45:13.000000000","message":"same comment as above","commit_id":"3c8112735d0e280efbc6e23ac5f018c02bdd48d2"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"388c02701f94da2a4f83c9af1a1508878fe2cf4d","unresolved":false,"context_lines":[{"line_number":450,"context_line":"                \u0027service during instance-create. The generated password for \u0027"},{"line_number":451,"context_line":"                \u0027the root user is immediately returned in the response of \u0027"},{"line_number":452,"context_line":"                \"instance-create as the \u0027password\u0027 field.\"),"},{"line_number":453,"context_line":"    cfg.IntOpt(\u0027usage_timeout\u0027, default\u003d600,"},{"line_number":454,"context_line":"               help\u003d\u0027Maximum time (in seconds) to wait for a Guest to become \u0027"},{"line_number":455,"context_line":"                    \u0027active.\u0027),"},{"line_number":456,"context_line":"    cfg.StrOpt(\u0027backup_namespace\u0027,"},{"line_number":457,"context_line":"               default\u003d\u0027trove.guestagent.strategies.backup.mysql_impl\u0027,"},{"line_number":458,"context_line":"               help\u003d\u0027Namespace to load backup strategies from.\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"ba3cc151_302126fc","line":455,"range":{"start_line":453,"start_character":0,"end_line":455,"end_character":31},"updated":"2015-06-30 15:26:17.000000000","message":"This value is the same as the default, so I don\u0027t understand why we need it.  Amrith, maybe you can explain why you wanted this back in the file?","commit_id":"651e23aa856d70a0355e893e1735fc70cbcca1a5"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"388c02701f94da2a4f83c9af1a1508878fe2cf4d","unresolved":false,"context_lines":[{"line_number":512,"context_line":"                \u0027the root user is immediately returned in the response of \u0027"},{"line_number":513,"context_line":"                \"instance-create as the \u0027password\u0027 field.\"),"},{"line_number":514,"context_line":"    cfg.IntOpt(\u0027usage_timeout\u0027, default\u003d600,"},{"line_number":515,"context_line":"               help\u003d\u0027Maximum time (in seconds) to wait for a Guest to become \u0027"},{"line_number":516,"context_line":"                    \u0027active.\u0027),"},{"line_number":517,"context_line":"    cfg.StrOpt(\u0027backup_namespace\u0027,"},{"line_number":518,"context_line":"               default\u003d\u0027trove.guestagent.strategies.backup.mysql_impl\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"ba3cc151_b083f6cb","line":515,"updated":"2015-06-30 15:26:17.000000000","message":"ditto","commit_id":"651e23aa856d70a0355e893e1735fc70cbcca1a5"}],"trove/common/strategies/cluster/experimental/mongodb/taskmanager.py":[{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"cd3e8aa1b386f818ba9c40cb99e81d3f2407c822","unresolved":false,"context_lines":[{"line_number":30,"context_line":"USAGE_SLEEP_TIME \u003d CONF.usage_sleep_time  # seconds."},{"line_number":31,"context_line":"try:"},{"line_number":32,"context_line":"    CLUSTER_USAGE_TIMEOUT \u003d CONF.mongodb.cluster_usage_timeout"},{"line_number":33,"context_line":"except Exception:"},{"line_number":34,"context_line":"    CLUSTER_USAGE_TIMEOUT \u003d CONF.cluster_usage_timeout"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"7a016987_5a5f970e","line":33,"updated":"2015-05-14 11:36:33.000000000","message":"I\u0027m sure you could specify a more explicit exception ;)\n\nAlso, we have other cases in code which attempt similar stuff and they get by using .get(\n\nFor example, with mount_point.","commit_id":"45f99268257c0ed9d06e2a9191e730a6d60194b9"}],"trove/common/strategies/cluster/experimental/vertica/taskmanager.py":[{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"60404a965bf4e18b5e26a02d15b72fea1cb81387","unresolved":false,"context_lines":[{"line_number":30,"context_line":"try:"},{"line_number":31,"context_line":"    CLUSTER_USAGE_TIMEOUT \u003d CONF.vertica.cluster_usage_timeout"},{"line_number":32,"context_line":"except NoSuchOptError:"},{"line_number":33,"context_line":"    CLUSTER_USAGE_TIMEOUT \u003d CONF.cluster_usage_timeout"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"class VerticaTaskManagerStrategy(base.BaseTaskManagerStrategy):"}],"source_content_type":"text/x-python","patch_set":11,"id":"7a016987_149872bf","line":33,"updated":"2015-05-18 12:54:04.000000000","message":"it does seem like code duplication, this can be done with one generic function.","commit_id":"bcbd2302ae5dc683c5e5e2ad0c9d34be20ec21f5"},{"author":{"_account_id":14576,"name":"Petr Malik","email":"pmalik@tesora.com","username":"pmalik"},"change_message_id":"6e405d2c8db1e5d787c4ca05d365a94c3279ebe2","unresolved":false,"context_lines":[{"line_number":30,"context_line":"try:"},{"line_number":31,"context_line":"    CLUSTER_USAGE_TIMEOUT \u003d CONF.vertica.cluster_usage_timeout"},{"line_number":32,"context_line":"except NoSuchOptError:"},{"line_number":33,"context_line":"    CLUSTER_USAGE_TIMEOUT \u003d CONF.cluster_usage_timeout"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"class VerticaTaskManagerStrategy(base.BaseTaskManagerStrategy):"}],"source_content_type":"text/x-python","patch_set":11,"id":"7a016987_590f2188","line":33,"in_reply_to":"7a016987_149872bf","updated":"2015-05-19 22:40:25.000000000","message":"+1","commit_id":"bcbd2302ae5dc683c5e5e2ad0c9d34be20ec21f5"}],"trove/common/utils.py":[{"author":{"_account_id":14576,"name":"Petr Malik","email":"pmalik@tesora.com","username":"pmalik"},"change_message_id":"3d18e07a3a506e96db2060204e509ab631de1c1c","unresolved":false,"context_lines":[{"line_number":296,"context_line":"    try:"},{"line_number":297,"context_line":"        parameter_value \u003d CONF.get(datastore_manager).get(config_parameter)"},{"line_number":298,"context_line":"    except NoSuchOptError:"},{"line_number":299,"context_line":"        LOG.debug(\"%(parameter)s not configured for %(manager)s, \""},{"line_number":300,"context_line":"                  \"hence getting the value from default list.\" %"},{"line_number":301,"context_line":"                  {\u0027parameter\u0027: config_parameter,"},{"line_number":302,"context_line":"                   \u0027manager\u0027: datastore_manager})"}],"source_content_type":"text/x-python","patch_set":12,"id":"3afb71cf_90e61115","line":299,"updated":"2015-06-11 18:56:19.000000000","message":"The parameter and manager could be possibly quoted.","commit_id":"31475965ae15e1bddd7251436483890ecabacee3"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"2617150865cf70903fc486582b323ed983fe3b2c","unresolved":false,"context_lines":[{"line_number":296,"context_line":"    try:"},{"line_number":297,"context_line":"        parameter_value \u003d CONF.get(datastore_manager).get(config_parameter)"},{"line_number":298,"context_line":"    except NoSuchOptError:"},{"line_number":299,"context_line":"        LOG.debug(\"%(parameter)s not configured for %(manager)s, \""},{"line_number":300,"context_line":"                  \"hence getting the value from default list.\" %"},{"line_number":301,"context_line":"                  {\u0027parameter\u0027: config_parameter,"},{"line_number":302,"context_line":"                   \u0027manager\u0027: datastore_manager})"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa32b979_7e38a6a0","line":299,"in_reply_to":"1af86dd1_f6488a2f","updated":"2015-06-23 17:15:33.000000000","message":"Done","commit_id":"31475965ae15e1bddd7251436483890ecabacee3"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"6376ad67e1ec6bd67aba5a95716d00807a12f059","unresolved":false,"context_lines":[{"line_number":296,"context_line":"    try:"},{"line_number":297,"context_line":"        parameter_value \u003d CONF.get(datastore_manager).get(config_parameter)"},{"line_number":298,"context_line":"    except NoSuchOptError:"},{"line_number":299,"context_line":"        LOG.debug(\"%(parameter)s not configured for %(manager)s, \""},{"line_number":300,"context_line":"                  \"hence getting the value from default list.\" %"},{"line_number":301,"context_line":"                  {\u0027parameter\u0027: config_parameter,"},{"line_number":302,"context_line":"                   \u0027manager\u0027: datastore_manager})"}],"source_content_type":"text/x-python","patch_set":12,"id":"1af86dd1_f6488a2f","line":299,"in_reply_to":"3afb71cf_90e61115","updated":"2015-06-12 17:20:31.000000000","message":"Being that this is a service routine, it would make more sense to only log errors and I\u0027m unclear as to the value of this message in debugging a system and suggest that it be eliminated.\n\nThis routine would be much simpler without this.","commit_id":"31475965ae15e1bddd7251436483890ecabacee3"},{"author":{"_account_id":14576,"name":"Petr Malik","email":"pmalik@tesora.com","username":"pmalik"},"change_message_id":"1c732d30226a898b7683d94ecbf1b76dd2384723","unresolved":false,"context_lines":[{"line_number":317,"context_line":"def get_datastore_config(datastore_manager, config_parameter):"},{"line_number":318,"context_line":"    try:"},{"line_number":319,"context_line":"        parameter_value \u003d CONF.get(datastore_manager).get(config_parameter)"},{"line_number":320,"context_line":"    except NoSuchOptError:"},{"line_number":321,"context_line":"        LOG.debug(\"%(parameter)s not configured for %(manager)s, \""},{"line_number":322,"context_line":"                  \"hence getting the value from default list.\" %"},{"line_number":323,"context_line":"                  {\u0027parameter\u0027: config_parameter,"}],"source_content_type":"text/x-python","patch_set":14,"id":"ba3cc151_f88f4073","line":320,"updated":"2015-07-06 17:48:14.000000000","message":"Yeah, I think you will need to account for the fact that get() returns None (default) rather than raising an exception.","commit_id":"6978a99c5b524c021370320fa52be23b112756e8"},{"author":{"_account_id":14576,"name":"Petr Malik","email":"pmalik@tesora.com","username":"pmalik"},"change_message_id":"a9d208539c359ea271a2216181095bb4ae68cdc4","unresolved":false,"context_lines":[{"line_number":317,"context_line":"def get_datastore_config(datastore_manager, config_parameter):"},{"line_number":318,"context_line":"    try:"},{"line_number":319,"context_line":"        parameter_value \u003d CONF.get(datastore_manager).get(config_parameter)"},{"line_number":320,"context_line":"    except NoSuchOptError:"},{"line_number":321,"context_line":"        LOG.debug(\"%(parameter)s not configured for %(manager)s, \""},{"line_number":322,"context_line":"                  \"hence getting the value from default list.\" %"},{"line_number":323,"context_line":"                  {\u0027parameter\u0027: config_parameter,"}],"source_content_type":"text/x-python","patch_set":14,"id":"ba3cc151_78b3300b","line":320,"in_reply_to":"ba3cc151_f88f4073","updated":"2015-07-06 17:54:36.000000000","message":"No, sorry, my bad I double-checked the API. get() does throw.","commit_id":"6978a99c5b524c021370320fa52be23b112756e8"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"b0af35e8f828c58f58845190cc7304d1917b7f3d","unresolved":false,"context_lines":[{"line_number":322,"context_line":"                  \"hence getting the value from default list.\" %"},{"line_number":323,"context_line":"                  {\u0027parameter\u0027: config_parameter,"},{"line_number":324,"context_line":"                   \u0027manager\u0027: datastore_manager})"},{"line_number":325,"context_line":"        parameter_value \u003d CONF.get(config_parameter)"},{"line_number":326,"context_line":""},{"line_number":327,"context_line":"    return parameter_value"}],"source_content_type":"text/x-python","patch_set":14,"id":"ba3cc151_3c7bff29","line":325,"updated":"2015-07-08 11:28:37.000000000","message":"What about this one?","commit_id":"6978a99c5b524c021370320fa52be23b112756e8"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"e5a7602f9935371ab6b12f59128ba2aaef91073d","unresolved":false,"context_lines":[{"line_number":322,"context_line":"                  \"hence getting the value from default list.\" %"},{"line_number":323,"context_line":"                  {\u0027parameter\u0027: config_parameter,"},{"line_number":324,"context_line":"                   \u0027manager\u0027: datastore_manager})"},{"line_number":325,"context_line":"        parameter_value \u003d CONF.get(config_parameter)"},{"line_number":326,"context_line":""},{"line_number":327,"context_line":"    return parameter_value"}],"source_content_type":"text/x-python","patch_set":14,"id":"ba3cc151_6f26a1cf","line":325,"in_reply_to":"ba3cc151_3c7bff29","updated":"2015-07-08 14:30:22.000000000","message":"so this one would raise an exception if it does not find the config_parameter in defaults.\n\nand this is the same behavior as was earlier","commit_id":"6978a99c5b524c021370320fa52be23b112756e8"}],"trove/taskmanager/manager.py":[{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"cd3e8aa1b386f818ba9c40cb99e81d3f2407c822","unresolved":false,"context_lines":[{"line_number":312,"context_line":"        try:"},{"line_number":313,"context_line":"            usage_timeout \u003d CONF.get(datastore_manager).usage_timeout"},{"line_number":314,"context_line":"        except Exception:"},{"line_number":315,"context_line":"            LOG.debug(\"usage_timeout not configured for %s,\""},{"line_number":316,"context_line":"                      \" hence using the value from global config.\","},{"line_number":317,"context_line":"                      datastore_manager)"},{"line_number":318,"context_line":"            usage_timeout \u003d CONF.usage_timeout"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a016987_fa408309","line":315,"updated":"2015-05-14 11:36:33.000000000","message":"is this message really required? also if you must have it, could you shorten it and make it conform with the other messages? like start with a capital letter, \"Using global usage_timeout for datastore %s\u0027 would suffice, I think?","commit_id":"45f99268257c0ed9d06e2a9191e730a6d60194b9"},{"author":{"_account_id":14576,"name":"Petr Malik","email":"pmalik@tesora.com","username":"pmalik"},"change_message_id":"6e405d2c8db1e5d787c4ca05d365a94c3279ebe2","unresolved":false,"context_lines":[{"line_number":310,"context_line":"                        root_password, nics, overrides, slave_of_id,"},{"line_number":311,"context_line":"                        cluster_config):"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"        try:"},{"line_number":314,"context_line":"            usage_timeout \u003d CONF.get(datastore_manager).usage_timeout"},{"line_number":315,"context_line":"        except NoSuchOptError:"},{"line_number":316,"context_line":"            usage_timeout \u003d CONF.usage_timeout"}],"source_content_type":"text/x-python","patch_set":11,"id":"7a016987_f956cd28","line":313,"updated":"2015-05-19 22:40:25.000000000","message":"Again, like with the cluster timeout, you should be able to abstract this out into a shareable function.","commit_id":"bcbd2302ae5dc683c5e5e2ad0c9d34be20ec21f5"},{"author":{"_account_id":10266,"name":"Simon Chang","email":"schang@tesora.com","username":"changsimon"},"change_message_id":"ac36197c46df5a2287f91e9040fac6e9aa6677e1","unresolved":false,"context_lines":[{"line_number":310,"context_line":"                        root_password, nics, overrides, slave_of_id,"},{"line_number":311,"context_line":"                        cluster_config):"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"        try:"},{"line_number":314,"context_line":"            usage_timeout \u003d CONF.get(datastore_manager).usage_timeout"},{"line_number":315,"context_line":"        except NoSuchOptError:"},{"line_number":316,"context_line":"            usage_timeout \u003d CONF.usage_timeout"}],"source_content_type":"text/x-python","patch_set":11,"id":"7a016987_29c3893a","line":313,"in_reply_to":"7a016987_f956cd28","updated":"2015-05-25 14:56:41.000000000","message":"I believe we can use a None value test instead of try catch. Also, if we condense this into a one liner (see line 336-337 below), wouldn\u0027t it eliminate the need for abstraction?","commit_id":"bcbd2302ae5dc683c5e5e2ad0c9d34be20ec21f5"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"c9a1b51b058bcf8125c3e2b362ee2cdaadcba881","unresolved":false,"context_lines":[{"line_number":309,"context_line":"                        root_password, nics, overrides, slave_of_id,"},{"line_number":310,"context_line":"                        cluster_config):"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"        usage_timeout \u003d utils.get_datastore_config(datastore_manager,"},{"line_number":313,"context_line":"                                                   \u0027usage_timeout\u0027)"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"        if slave_of_id:"}],"source_content_type":"text/x-python","patch_set":14,"id":"ba3cc151_963e3128","line":312,"updated":"2015-07-05 00:07:25.000000000","message":"so there\u0027s a subtle difference here. You are replacing usages of CONF.usage_timeout (which could throw NoSuchOptError) with this utils.get() which will return None.","commit_id":"6978a99c5b524c021370320fa52be23b112756e8"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"58a93557bcac0ec03f00c37fd7a1d8a4b6a006ea","unresolved":false,"context_lines":[{"line_number":309,"context_line":"                        root_password, nics, overrides, slave_of_id,"},{"line_number":310,"context_line":"                        cluster_config):"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"        usage_timeout \u003d utils.get_datastore_config(datastore_manager,"},{"line_number":313,"context_line":"                                                   \u0027usage_timeout\u0027)"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"        if slave_of_id:"}],"source_content_type":"text/x-python","patch_set":14,"id":"ba3cc151_3ca8e68b","line":312,"in_reply_to":"ba3cc151_963e3128","updated":"2015-07-08 08:53:14.000000000","message":"if there is an exception how would it return None if there are no default values in config.","commit_id":"6978a99c5b524c021370320fa52be23b112756e8"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"c9a1b51b058bcf8125c3e2b362ee2cdaadcba881","unresolved":false,"context_lines":[{"line_number":331,"context_line":"                                           availability_zone, root_password,"},{"line_number":332,"context_line":"                                           nics, overrides, cluster_config)"},{"line_number":333,"context_line":"            timeout \u003d (CONF.restore_usage_timeout if backup_id"},{"line_number":334,"context_line":"                       else usage_timeout)"},{"line_number":335,"context_line":"            instance_tasks.wait_for_instance(timeout, flavor)"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":"    def update_overrides(self, context, instance_id, overrides):"}],"source_content_type":"text/x-python","patch_set":14,"id":"ba3cc151_b63b3538","line":334,"updated":"2015-07-05 00:07:25.000000000","message":"which can be None","commit_id":"6978a99c5b524c021370320fa52be23b112756e8"}],"trove/taskmanager/models.py":[{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"cd3e8aa1b386f818ba9c40cb99e81d3f2407c822","unresolved":false,"context_lines":[{"line_number":215,"context_line":"                                          instance.db_info.id,"},{"line_number":216,"context_line":"                                          instance.datastore_version.manager)"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"    def _all_instances_ready(self, instance_ids, cluster_id, datastore_manager,"},{"line_number":219,"context_line":"                             shard_id\u003dNone):"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"        def _all_status_ready(ids):"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a016987_fa5763c8","line":218,"updated":"2015-05-14 11:36:33.000000000","message":"every caller of this (that you modified) already has the timeout to use. Why not pass the timeout instead of passing the datastore and having this code discover the timeout and log a message again?","commit_id":"45f99268257c0ed9d06e2a9191e730a6d60194b9"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"cd3e8aa1b386f818ba9c40cb99e81d3f2407c822","unresolved":false,"context_lines":[{"line_number":255,"context_line":"        try:"},{"line_number":256,"context_line":"            usage_timeout \u003d CONF.get(datastore_manager).usage_timeout"},{"line_number":257,"context_line":"        except Exception:"},{"line_number":258,"context_line":"            LOG.debug(\"usage_timeout not configured for %s,\""},{"line_number":259,"context_line":"                      \" hence using the value from global config.\","},{"line_number":260,"context_line":"                      datastore_manager)"},{"line_number":261,"context_line":"            usage_timeout \u003d CONF.usage_timeout"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a016987_da5ca7ef","line":258,"updated":"2015-05-14 11:36:33.000000000","message":"this message needs cleanup. But I contend that it shouldn\u0027t even be required if you pass in the timeout.","commit_id":"45f99268257c0ed9d06e2a9191e730a6d60194b9"}]}
