)]}'
{"cinder/volume/drivers/netapp.py":[{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"0506a0eff0b9935166eaa2edffd9d12e319a07cd","unresolved":false,"context_lines":[{"line_number":880,"context_line":"        server.DfmObjectRefresh(ObjectNameOrId\u003dhost_id,"},{"line_number":881,"context_line":"                                MonitorNames\u003dmonitor_names)"},{"line_number":882,"context_line":"        while True:"},{"line_number":883,"context_line":"            time.sleep(15)"},{"line_number":884,"context_line":"            res \u003d server.DfmMonitorTimestampList(HostNameOrId\u003dhost_id)"},{"line_number":885,"context_line":"            timestamps \u003d dict((t.MonitorName, t.LastMonitoringTimestamp)"},{"line_number":886,"context_line":"                              for t in res.DfmMonitoringTimestamp)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FXC0%3D","line":883,"updated":"2013-01-25 17:01:47.000000000","message":"15 seconds?  Might want to add a log statement else folks think the service is out to lunch here.","commit_id":"47f29b480cd06f9bbde6d5de4def8210b9687183"},{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"6cfbc02a99422f2e248dc7bfdf1a77ae9a79b479","unresolved":false,"context_lines":[{"line_number":880,"context_line":"        server.DfmObjectRefresh(ObjectNameOrId\u003dhost_id,"},{"line_number":881,"context_line":"                                MonitorNames\u003dmonitor_names)"},{"line_number":882,"context_line":"        while True:"},{"line_number":883,"context_line":"            time.sleep(15)"},{"line_number":884,"context_line":"            res \u003d server.DfmMonitorTimestampList(HostNameOrId\u003dhost_id)"},{"line_number":885,"context_line":"            timestamps \u003d dict((t.MonitorName, t.LastMonitoringTimestamp)"},{"line_number":886,"context_line":"                              for t in res.DfmMonitoringTimestamp)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FVsc%3D","line":883,"in_reply_to":"AAAAM3%2F%2FXC0%3D","updated":"2013-01-28 12:19:56.000000000","message":"Done","commit_id":"47f29b480cd06f9bbde6d5de4def8210b9687183"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"a49567d67e89e4347e8868df4f8255929389f270","unresolved":false,"context_lines":[{"line_number":880,"context_line":"        server.DfmObjectRefresh(ObjectNameOrId\u003dhost_id,"},{"line_number":881,"context_line":"                                MonitorNames\u003dmonitor_names)"},{"line_number":882,"context_line":"        while True:"},{"line_number":883,"context_line":"            LOG.debug(\u0027Refreshing LUN list on DFM...\u0027)"},{"line_number":884,"context_line":"            time.sleep(15)"},{"line_number":885,"context_line":"            res \u003d server.DfmMonitorTimestampList(HostNameOrId\u003dhost_id)"},{"line_number":886,"context_line":"            timestamps \u003d dict((t.MonitorName, t.LastMonitoringTimestamp)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FMas%3D","line":883,"updated":"2013-02-04 05:24:04.000000000","message":"So this is OK, depending on what kind of feed-back we get it might be worth promoting this to info.  I\u0027m just concerned about operations taking 15 seconds with no feed-back.","commit_id":"1d6cdeedd04981bc1284ec4b4bdb3dc4fda46f9a"},{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"deaeb65a4c62147586a05ce4325bca72b0505ad8","unresolved":false,"context_lines":[{"line_number":880,"context_line":"        server.DfmObjectRefresh(ObjectNameOrId\u003dhost_id,"},{"line_number":881,"context_line":"                                MonitorNames\u003dmonitor_names)"},{"line_number":882,"context_line":"        while True:"},{"line_number":883,"context_line":"            LOG.debug(\u0027Refreshing LUN list on DFM...\u0027)"},{"line_number":884,"context_line":"            time.sleep(15)"},{"line_number":885,"context_line":"            res \u003d server.DfmMonitorTimestampList(HostNameOrId\u003dhost_id)"},{"line_number":886,"context_line":"            timestamps \u003d dict((t.MonitorName, t.LastMonitoringTimestamp)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FID0%3D","line":883,"in_reply_to":"AAAAM3%2F%2FMas%3D","updated":"2013-02-06 11:12:22.000000000","message":"Done. Even I was thinking the same. Thanks!","commit_id":"1d6cdeedd04981bc1284ec4b4bdb3dc4fda46f9a"},{"author":{"_account_id":1773,"name":"oliver-leahy-l","email":"oliver.leahy@hpe.com","username":"oliver-leahy-l"},"change_message_id":"d411cf06e4652a8e8f53be5f7790753b7f5012a9","unresolved":false,"context_lines":[{"line_number":881,"context_line":"                                MonitorNames\u003dmonitor_names)"},{"line_number":882,"context_line":"        while True:"},{"line_number":883,"context_line":"            LOG.debug(\u0027Refreshing LUN list on DFM...\u0027)"},{"line_number":884,"context_line":"            time.sleep(15)"},{"line_number":885,"context_line":"            res \u003d server.DfmMonitorTimestampList(HostNameOrId\u003dhost_id)"},{"line_number":886,"context_line":"            timestamps \u003d dict((t.MonitorName, t.LastMonitoringTimestamp)"},{"line_number":887,"context_line":"                              for t in res.DfmMonitoringTimestamp)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FVa4%3D","line":884,"updated":"2013-01-28 16:24:50.000000000","message":"I don\u0027t know what the methods DfmMonitorTimestampList() or DfmObjectRefresh() do, but unless they are very expensive it might better to use a smaller sleep time and let the loop iterate a few times.","commit_id":"1d6cdeedd04981bc1284ec4b4bdb3dc4fda46f9a"},{"author":{"_account_id":1773,"name":"oliver-leahy-l","email":"oliver.leahy@hpe.com","username":"oliver-leahy-l"},"change_message_id":"7672de486ea28744e243b25b66239c104de8a9aa","unresolved":false,"context_lines":[{"line_number":881,"context_line":"                                MonitorNames\u003dmonitor_names)"},{"line_number":882,"context_line":"        while True:"},{"line_number":883,"context_line":"            LOG.debug(\u0027Refreshing LUN list on DFM...\u0027)"},{"line_number":884,"context_line":"            time.sleep(15)"},{"line_number":885,"context_line":"            res \u003d server.DfmMonitorTimestampList(HostNameOrId\u003dhost_id)"},{"line_number":886,"context_line":"            timestamps \u003d dict((t.MonitorName, t.LastMonitoringTimestamp)"},{"line_number":887,"context_line":"                              for t in res.DfmMonitoringTimestamp)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FRS8%3D","line":884,"in_reply_to":"AAAAM3%2F%2FUTs%3D","updated":"2013-01-30 20:14:00.000000000","message":"So you want to leave a minimum of 15 seconds so that in a high proportion of cases the data will be updated, even in the case where the two machines are not time synchronised. That\u0027s ok with me.","commit_id":"1d6cdeedd04981bc1284ec4b4bdb3dc4fda46f9a"},{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"29e6c1b97d61e28d09d1d1b1bf7fe9798b1a2bd1","unresolved":false,"context_lines":[{"line_number":881,"context_line":"                                MonitorNames\u003dmonitor_names)"},{"line_number":882,"context_line":"        while True:"},{"line_number":883,"context_line":"            LOG.debug(\u0027Refreshing LUN list on DFM...\u0027)"},{"line_number":884,"context_line":"            time.sleep(15)"},{"line_number":885,"context_line":"            res \u003d server.DfmMonitorTimestampList(HostNameOrId\u003dhost_id)"},{"line_number":886,"context_line":"            timestamps \u003d dict((t.MonitorName, t.LastMonitoringTimestamp)"},{"line_number":887,"context_line":"                              for t in res.DfmMonitoringTimestamp)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FUTs%3D","line":884,"in_reply_to":"AAAAM3%2F%2FVa4%3D","updated":"2013-01-29 06:03:11.000000000","message":"More info on working of DFM and how it works along with NetApp controller can be found in the bug description on launchpad.","commit_id":"1d6cdeedd04981bc1284ec4b4bdb3dc4fda46f9a"},{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"5eaf2267b1259adc6064c2359403ba5b685f5906","unresolved":false,"context_lines":[{"line_number":882,"context_line":"        while True:"},{"line_number":883,"context_line":"            LOG.debug(\u0027Refreshing LUN list on DFM...\u0027)"},{"line_number":884,"context_line":"            time.sleep(15)"},{"line_number":885,"context_line":"            res \u003d server.DfmMonitorTimestampList(HostNameOrId\u003dhost_id)"},{"line_number":886,"context_line":"            timestamps \u003d dict((t.MonitorName, t.LastMonitoringTimestamp)"},{"line_number":887,"context_line":"                              for t in res.DfmMonitoringTimestamp)"},{"line_number":888,"context_line":"            ts_fs \u003d timestamps[\u0027file_system\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FMD4%3D","line":885,"updated":"2013-02-04 12:59:07.000000000","message":"I\u0027m wondering if a badly behaving backend can cause this to loop forever? Would it be worth adding an abort after some (reasonably large) number of attempts?","commit_id":"1d6cdeedd04981bc1284ec4b4bdb3dc4fda46f9a"},{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"deaeb65a4c62147586a05ce4325bca72b0505ad8","unresolved":false,"context_lines":[{"line_number":882,"context_line":"        while True:"},{"line_number":883,"context_line":"            LOG.debug(\u0027Refreshing LUN list on DFM...\u0027)"},{"line_number":884,"context_line":"            time.sleep(15)"},{"line_number":885,"context_line":"            res \u003d server.DfmMonitorTimestampList(HostNameOrId\u003dhost_id)"},{"line_number":886,"context_line":"            timestamps \u003d dict((t.MonitorName, t.LastMonitoringTimestamp)"},{"line_number":887,"context_line":"                              for t in res.DfmMonitoringTimestamp)"},{"line_number":888,"context_line":"            ts_fs \u003d timestamps[\u0027file_system\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FIDw%3D","line":885,"in_reply_to":"AAAAM3%2F%2FMD4%3D","updated":"2013-02-06 11:12:22.000000000","message":"Good point. Thanks.","commit_id":"1d6cdeedd04981bc1284ec4b4bdb3dc4fda46f9a"}]}
