)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"a58181b528d3784977dc8b15b2e60de27444ace8","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fixes delayed instance lifecycle events issue"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The instance lifecylcle events can be delayed, thus not reflecting"},{"line_number":10,"context_line":"the current instance power state."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This patch fixes the manager lifecycle event handling by adding an"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3a50d1a3_8c34934a","line":9,"updated":"2015-07-31 18:12:17.000000000","message":"typo: lifecycle","commit_id":"25882ca3b3011c26d1d84cc220f11a7f0698b4e9"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"d87797006e016e8ce3ba017e924bdfe8195b9a1b","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fixes delayed instance lifecycle events issue"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The instance lifecylcle events can be delayed, thus not reflecting"},{"line_number":10,"context_line":"the current instance power state."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This patch fixes the manager lifecycle event handling by adding an"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3a50d1a3_c71114b1","line":9,"in_reply_to":"3a50d1a3_8c34934a","updated":"2015-07-31 18:42:05.000000000","message":"My bad, fixing it now. Thanks!","commit_id":"25882ca3b3011c26d1d84cc220f11a7f0698b4e9"}],"nova/compute/manager.py":[{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"b911719187bcb4243e365381fe1ec21d7f852dac","unresolved":false,"context_lines":[{"line_number":1223,"context_line":"        # Note(lpetrut): The event may be delayed, thus not reflecting"},{"line_number":1224,"context_line":"        # the current instance power state. In that case, ignore the event."},{"line_number":1225,"context_line":"        current_power_state \u003d self._get_power_state(context, instance)"},{"line_number":1226,"context_line":"        if current_power_state \u003d\u003d vm_power_state:"},{"line_number":1227,"context_line":"            LOG.debug(\u0027Synchronizing instance power state after lifecycle \u0027"},{"line_number":1228,"context_line":"                      \u0027event \"%(event)s\"; current vm_state: %(vm_state)s, \u0027"},{"line_number":1229,"context_line":"                      \u0027current task_state: %(task_state)s, current DB \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_12dbb81c","line":1226,"updated":"2015-07-31 19:06:39.000000000","message":"This keeps lifecycle events from doing what they should, as I understand them.  The events allow Nova to be updated about state changes that happens outside of it\u0027s control, like a user shutting down their instance from inside the guest.  If we only allow events to be processed that match Nova\u0027s view of things then they don\u0027t really do anything.","commit_id":"f28359a15d5f21ae4833e5f62161c32babee551e"},{"author":{"_account_id":3185,"name":"Alessandro Pilotti","email":"apilotti@cloudbasesolutions.com","username":"alexpilotti"},"change_message_id":"df9df4539dca5cbf105b3056ff2c0545a9977a10","unresolved":false,"context_lines":[{"line_number":1223,"context_line":"        # Note(lpetrut): The event may be delayed, thus not reflecting"},{"line_number":1224,"context_line":"        # the current instance power state. In that case, ignore the event."},{"line_number":1225,"context_line":"        current_power_state \u003d self._get_power_state(context, instance)"},{"line_number":1226,"context_line":"        if current_power_state \u003d\u003d vm_power_state:"},{"line_number":1227,"context_line":"            LOG.debug(\u0027Synchronizing instance power state after lifecycle \u0027"},{"line_number":1228,"context_line":"                      \u0027event \"%(event)s\"; current vm_state: %(vm_state)s, \u0027"},{"line_number":1229,"context_line":"                      \u0027current task_state: %(task_state)s, current DB \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_1fb0a08a","line":1226,"in_reply_to":"3a50d1a3_12dbb81c","updated":"2015-07-31 19:56:55.000000000","message":"This is just checking if the vm state matches what Nova expects and avoid reissuing the powerstate change if not needed. Without this patch, since the event can be delayed, we are incurring in a gazillion of race conditions, especially when running tempest.","commit_id":"f28359a15d5f21ae4833e5f62161c32babee551e"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"4c7a25037233e93d56dbf1f35aa14c4e38c156a5","unresolved":false,"context_lines":[{"line_number":1223,"context_line":"        # Note(lpetrut): The event may be delayed, thus not reflecting"},{"line_number":1224,"context_line":"        # the current instance power state. In that case, ignore the event."},{"line_number":1225,"context_line":"        current_power_state \u003d self._get_power_state(context, instance)"},{"line_number":1226,"context_line":"        if current_power_state \u003d\u003d vm_power_state:"},{"line_number":1227,"context_line":"            LOG.debug(\u0027Synchronizing instance power state after lifecycle \u0027"},{"line_number":1228,"context_line":"                      \u0027event \"%(event)s\"; current vm_state: %(vm_state)s, \u0027"},{"line_number":1229,"context_line":"                      \u0027current task_state: %(task_state)s, current DB \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_429e4f55","line":1226,"in_reply_to":"3a50d1a3_1fb0a08a","updated":"2015-07-31 20:23:05.000000000","message":"Sorry, I somehow missed that _get_power_state was querying the hypervisor for state info and not pulling it from the instance object.  It wouldn\u0027t make sense to compare against the db, but does make sense to double check with the hypervisor.","commit_id":"f28359a15d5f21ae4833e5f62161c32babee551e"}]}
