)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"3d50e7c031834e8435bb6e29d59a4e9077d246c1","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"VM in rescue state must have a restricted set of actions"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Right now is possible to pause, suspend and stop a VM in state RESCUED,"},{"line_number":10,"context_line":"so after the state is changed, it\u0027s not possible to trigger unrescue anymore"},{"line_number":11,"context_line":"since the original state is lost."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7adec928_a8ed6db9","line":9,"updated":"2014-05-23 19:23:40.000000000","message":"s/is/it is/","commit_id":"09e8afdf592341d7b4e2aeed337accb3f145adbd"}],"nova/compute/api.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"3d50e7c031834e8435bb6e29d59a4e9077d246c1","unresolved":false,"context_lines":[{"line_number":1751,"context_line":"    @check_instance_lock"},{"line_number":1752,"context_line":"    @check_instance_host"},{"line_number":1753,"context_line":"    @check_instance_cell"},{"line_number":1754,"context_line":"    @check_instance_state(vm_state\u003d[vm_states.ACTIVE, vm_states.ERROR])"},{"line_number":1755,"context_line":"    def stop(self, context, instance, do_cast\u003dTrue):"},{"line_number":1756,"context_line":"        \"\"\"Stop an instance.\"\"\""},{"line_number":1757,"context_line":"        self.force_stop(context, instance, do_cast)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7adec928_08d2e1d1","line":1754,"updated":"2014-05-23 19:23:40.000000000","message":"Hmm, /me wonders what the use case of stopping an ERROR\u0027d instance is... but that\u0027s for a different day :)","commit_id":"09e8afdf592341d7b4e2aeed337accb3f145adbd"},{"author":{"_account_id":9275,"name":"Leandro Ignacio Costantino","email":"leandro.i.costantino@intel.com","username":"lcostantino"},"change_message_id":"e2bbad42228253f32e3534210c2a2877b6ca3dc7","unresolved":false,"context_lines":[{"line_number":1751,"context_line":"    @check_instance_lock"},{"line_number":1752,"context_line":"    @check_instance_host"},{"line_number":1753,"context_line":"    @check_instance_cell"},{"line_number":1754,"context_line":"    @check_instance_state(vm_state\u003d[vm_states.ACTIVE, vm_states.ERROR])"},{"line_number":1755,"context_line":"    def stop(self, context, instance, do_cast\u003dTrue):"},{"line_number":1756,"context_line":"        \"\"\"Stop an instance.\"\"\""},{"line_number":1757,"context_line":"        self.force_stop(context, instance, do_cast)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7adec928_51af34e3","line":1754,"in_reply_to":"7adec928_08d2e1d1","updated":"2014-05-23 20:44:27.000000000","message":"yes, don\u0027t know really why :)","commit_id":"09e8afdf592341d7b4e2aeed337accb3f145adbd"}],"nova/tests/compute/test_compute_api.py":[{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"bc467f15499aa1287b94b2c8ee75f76d5095fea7","unresolved":false,"context_lines":[{"line_number":77,"context_line":"            for x in exclude_states:"},{"line_number":78,"context_line":"                vm_state.remove(x)"},{"line_number":79,"context_line":"        return vm_state"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    def _create_flavor(self, params\u003dNone):"},{"line_number":82,"context_line":"        flavor \u003d {\u0027id\u0027: 1,"},{"line_number":83,"context_line":"                  \u0027flavorid\u0027: 1,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7adec928_dbdda8e1","line":80,"updated":"2014-05-20 00:57:18.000000000","message":"I think it would be clearer to use a set() here, and just return \"vm_states - excluded_states\".\n\nWDYT ?","commit_id":"70844c342d872fdc51c033a5e5bd676e7398d51d"},{"author":{"_account_id":9275,"name":"Leandro Ignacio Costantino","email":"leandro.i.costantino@intel.com","username":"lcostantino"},"change_message_id":"b48611007aa9c566dac6f88d7cf1f288fee83749","unresolved":false,"context_lines":[{"line_number":77,"context_line":"            for x in exclude_states:"},{"line_number":78,"context_line":"                vm_state.remove(x)"},{"line_number":79,"context_line":"        return vm_state"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    def _create_flavor(self, params\u003dNone):"},{"line_number":82,"context_line":"        flavor \u003d {\u0027id\u0027: 1,"},{"line_number":83,"context_line":"                  \u0027flavorid\u0027: 1,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7adec928_188ab363","line":80,"in_reply_to":"7adec928_dbdda8e1","updated":"2014-05-20 02:43:48.000000000","message":"yep, that\u0027s much better. thanks","commit_id":"70844c342d872fdc51c033a5e5bd676e7398d51d"}]}
