)]}'
{"nova/compute/manager.py":[{"author":{"_account_id":1904,"name":"Boris Filippov","email":"bfilippov@griddynamics.com","username":"bfilippov"},"change_message_id":"a1d2e01bf4198a7adee5b51e53678c74673ef4ac","unresolved":false,"context_lines":[{"line_number":1106,"context_line":"        current_power_state \u003d self._get_power_state(context, instance)"},{"line_number":1107,"context_line":"        self._instance_update(context, instance[\u0027uuid\u0027],"},{"line_number":1108,"context_line":"                              power_state\u003dcurrent_power_state,"},{"line_number":1109,"context_line":"                              vm_state\u003dvm_states.ACTIVE,"},{"line_number":1110,"context_line":"                              task_state\u003dNone)"},{"line_number":1111,"context_line":""},{"line_number":1112,"context_line":"        self._notify_about_instance_usage(context, instance, \"reboot.end\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALH%2F%2FX50%3D","line":1109,"updated":"2012-09-17 22:58:20.000000000","message":"I don\u0027t understand it - instance can\u0027t be rebooted - we add fault for that and log error. We can\u0027t reboot. Why it\u0027s updated to ACTIVE here? To make it possible to reboot it again?","commit_id":"672b28f00d63894dac03e6f707d0c1055f5378df"},{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"cdde73ee8e9e32b484b42eab4060ed1bbd9527ef","unresolved":false,"context_lines":[{"line_number":1106,"context_line":"        current_power_state \u003d self._get_power_state(context, instance)"},{"line_number":1107,"context_line":"        self._instance_update(context, instance[\u0027uuid\u0027],"},{"line_number":1108,"context_line":"                              power_state\u003dcurrent_power_state,"},{"line_number":1109,"context_line":"                              vm_state\u003dvm_states.ACTIVE,"},{"line_number":1110,"context_line":"                              task_state\u003dNone)"},{"line_number":1111,"context_line":""},{"line_number":1112,"context_line":"        self._notify_about_instance_usage(context, instance, \"reboot.end\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALH%2F%2FX3I%3D","line":1109,"in_reply_to":"AAAALH%2F%2FX50%3D","updated":"2012-09-17 23:15:49.000000000","message":"hmm perhaps this should be in error, but unrelated to this patch.","commit_id":"672b28f00d63894dac03e6f707d0c1055f5378df"}],"nova/compute/utils.py":[{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"a942ca1969f2f4995c102912befb64e076ff81b6","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        \u0027message\u0027: fault.__class__.__name__,"},{"line_number":53,"context_line":"        \u0027details\u0027: unicode(details),"},{"line_number":54,"context_line":"    }"},{"line_number":55,"context_line":"    db.instance_fault_create(context, values)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"def get_device_name_for_instance(context, instance, device):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2FX%2FA%3D","line":55,"updated":"2012-09-17 21:37:30.000000000","message":"You should replace compute.Manager._add_instance_fault_from_exc() with this","commit_id":"599435f9ad11c830c0200f384ed8b2bb37a3bb1e"},{"author":{"_account_id":1904,"name":"Boris Filippov","email":"bfilippov@griddynamics.com","username":"bfilippov"},"change_message_id":"a1d2e01bf4198a7adee5b51e53678c74673ef4ac","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    code \u003d 500"},{"line_number":41,"context_line":"    if hasattr(fault, \"kwargs\"):"},{"line_number":42,"context_line":"        code \u003d fault.kwargs.get(\u0027code\u0027, 500)"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    details \u003d unicode(fault)"},{"line_number":45,"context_line":"    if exc_info and code \u003d\u003d 500:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALH%2F%2FX5g%3D","line":42,"updated":"2012-09-17 22:58:20.000000000","message":"getattr(fault, \"kwargs\", {}).get(\u0027code\u0027, 500) ? :)","commit_id":"672b28f00d63894dac03e6f707d0c1055f5378df"},{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"cdde73ee8e9e32b484b42eab4060ed1bbd9527ef","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    code \u003d 500"},{"line_number":41,"context_line":"    if hasattr(fault, \"kwargs\"):"},{"line_number":42,"context_line":"        code \u003d fault.kwargs.get(\u0027code\u0027, 500)"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    details \u003d unicode(fault)"},{"line_number":45,"context_line":"    if exc_info and code \u003d\u003d 500:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALH%2F%2FX3A%3D","line":42,"in_reply_to":"AAAALH%2F%2FX5g%3D","updated":"2012-09-17 23:15:49.000000000","message":"i just copied the code over from now, so I will let someone refactor it later. :)","commit_id":"672b28f00d63894dac03e6f707d0c1055f5378df"}],"nova/scheduler/chance.py":[{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"8334a221d6e928a5bdbfbb0341d2cfa27b8691d2","unresolved":false,"context_lines":[{"line_number":86,"context_line":"                driver.handle_schedule_error(context, ex, instance_uuid,"},{"line_number":87,"context_line":"                                             request_spec)"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        return instances"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    def schedule_prep_resize(self, context, image, request_spec,"},{"line_number":92,"context_line":"                             filter_properties, instance, instance_type,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALH%2F%2FX6k%3D","line":89,"updated":"2012-09-17 22:41:55.000000000","message":"It took a while to convince myself that never returning an exception here is ok\n\ne.g. why not track that an error occurred with one of the instances and throw an exception rather than returning a partial list of instances\n\nThe assumption appears to be that run_instances is only ever casted so the return value is ignored and exceptions are only relevant to the set_vm_state_and_notify() error handling code in the manager\n\nSo ... why not just remove the return value?","commit_id":"672b28f00d63894dac03e6f707d0c1055f5378df"},{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"fc356908630c776facdbe509ed4b373473853b75","unresolved":false,"context_lines":[{"line_number":86,"context_line":"                driver.handle_schedule_error(context, ex, instance_uuid,"},{"line_number":87,"context_line":"                                             request_spec)"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        return instances"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    def schedule_prep_resize(self, context, image, request_spec,"},{"line_number":92,"context_line":"                             filter_properties, instance, instance_type,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALH%2F%2FX6E%3D","line":89,"in_reply_to":"AAAALH%2F%2FX6k%3D","updated":"2012-09-17 22:48:19.000000000","message":"I think the return value is left over from old code, so I will remove it.","commit_id":"672b28f00d63894dac03e6f707d0c1055f5378df"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"434617143bdb4cbeca2023f4d9c3f9bac63407e2","unresolved":false,"context_lines":[{"line_number":77,"context_line":"                    request_spec\u003drequest_spec,"},{"line_number":78,"context_line":"                    filter_properties\u003dfilter_properties)"},{"line_number":79,"context_line":"            instances.append(driver.encode_instance(updated_instance))"},{"line_number":80,"context_line":"        return instances"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    def schedule_prep_resize(self, context, image, request_spec,"},{"line_number":83,"context_line":"                             filter_properties, instance, instance_type,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAALH%2F%2FX20%3D","side":"PARENT","line":80,"updated":"2012-09-17 23:16:40.000000000","message":"Would prefer if you updated scheduler.Manager.run_instance() to not returning anything too, but that\u0027s just a nitpick","commit_id":"88ba5f2887d599b8b015c018e40616420d34f885"}],"nova/scheduler/manager.py":[{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"8334a221d6e928a5bdbfbb0341d2cfa27b8691d2","unresolved":false,"context_lines":[{"line_number":107,"context_line":"            # don\u0027t re-raise"},{"line_number":108,"context_line":"            self._set_vm_state_and_notify(\u0027run_instance\u0027,"},{"line_number":109,"context_line":"                                         {\u0027vm_state\u0027: vm_states.ERROR,"},{"line_number":110,"context_line":"                                          \u0027task_state\u0027: None},"},{"line_number":111,"context_line":"                                          context, ex, request_spec)"},{"line_number":112,"context_line":"        except Exception as ex:"},{"line_number":113,"context_line":"            with excutils.save_and_reraise_exception():"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALH%2F%2FX7U%3D","line":110,"updated":"2012-09-17 22:41:55.000000000","message":"This could have been separate","commit_id":"672b28f00d63894dac03e6f707d0c1055f5378df"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"8334a221d6e928a5bdbfbb0341d2cfa27b8691d2","unresolved":false,"context_lines":[{"line_number":170,"context_line":"        # NOTE(vish): We shouldn\u0027t get here unless we have a catastrophic"},{"line_number":171,"context_line":"        #             failure, so just set all instances to error"},{"line_number":172,"context_line":"        uuids \u003d [properties.get(\u0027uuid\u0027)]"},{"line_number":173,"context_line":"        for instance_uuid in request_spec.get(\u0027instance_uuids\u0027) or uuids:"},{"line_number":174,"context_line":"            if instance_uuid:"},{"line_number":175,"context_line":"                compute_utils.add_instance_fault_from_exc(context,"},{"line_number":176,"context_line":"                        instance_uuid, ex, sys.exc_info())"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALH%2F%2FX7c%3D","line":173,"updated":"2012-09-17 22:41:55.000000000","message":"This is pretty confusing vs\n\n  try:\n      instance_uuids \u003d request_spec[\u0027instance_uuids\u0027]\n  except KeyError:\n      instance_uuids \u003d [properties[\u0027uuid\u0027]]\n\nAlso, doing properties.get(\u0027uuid\u0027) means we can end up with uuids \u003d [None] which again is pretty confusing","commit_id":"672b28f00d63894dac03e6f707d0c1055f5378df"},{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"fc356908630c776facdbe509ed4b373473853b75","unresolved":false,"context_lines":[{"line_number":170,"context_line":"        # NOTE(vish): We shouldn\u0027t get here unless we have a catastrophic"},{"line_number":171,"context_line":"        #             failure, so just set all instances to error"},{"line_number":172,"context_line":"        uuids \u003d [properties.get(\u0027uuid\u0027)]"},{"line_number":173,"context_line":"        for instance_uuid in request_spec.get(\u0027instance_uuids\u0027) or uuids:"},{"line_number":174,"context_line":"            if instance_uuid:"},{"line_number":175,"context_line":"                compute_utils.add_instance_fault_from_exc(context,"},{"line_number":176,"context_line":"                        instance_uuid, ex, sys.exc_info())"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALH%2F%2FX5o%3D","line":173,"in_reply_to":"AAAALH%2F%2FX7c%3D","updated":"2012-09-17 22:48:19.000000000","message":"Yes it is confusing but it keeps the existing behavior. See below...","commit_id":"672b28f00d63894dac03e6f707d0c1055f5378df"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"8334a221d6e928a5bdbfbb0341d2cfa27b8691d2","unresolved":false,"context_lines":[{"line_number":176,"context_line":"                        instance_uuid, ex, sys.exc_info())"},{"line_number":177,"context_line":"                state \u003d vm_state.upper()"},{"line_number":178,"context_line":"                LOG.warning(_(\u0027Setting instance to %(state)s state.\u0027),"},{"line_number":179,"context_line":"                            locals(), instance_uuid\u003dinstance_uuid)"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"                # update instance state and notify on the transition"},{"line_number":182,"context_line":"                (old_ref, new_ref) \u003d db.instance_update_and_get_original(context,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALH%2F%2FX7Q%3D","line":179,"updated":"2012-09-17 22:41:55.000000000","message":"The changes to this method could have been separate","commit_id":"672b28f00d63894dac03e6f707d0c1055f5378df"},{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"fc356908630c776facdbe509ed4b373473853b75","unresolved":false,"context_lines":[{"line_number":176,"context_line":"                        instance_uuid, ex, sys.exc_info())"},{"line_number":177,"context_line":"                state \u003d vm_state.upper()"},{"line_number":178,"context_line":"                LOG.warning(_(\u0027Setting instance to %(state)s state.\u0027),"},{"line_number":179,"context_line":"                            locals(), instance_uuid\u003dinstance_uuid)"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"                # update instance state and notify on the transition"},{"line_number":182,"context_line":"                (old_ref, new_ref) \u003d db.instance_update_and_get_original(context,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALH%2F%2FX5w%3D","line":179,"in_reply_to":"AAAALH%2F%2FX7Q%3D","updated":"2012-09-17 22:48:19.000000000","message":"I can split into two changes if you want.","commit_id":"672b28f00d63894dac03e6f707d0c1055f5378df"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"8334a221d6e928a5bdbfbb0341d2cfa27b8691d2","unresolved":false,"context_lines":[{"line_number":186,"context_line":""},{"line_number":187,"context_line":"            payload \u003d dict(request_spec\u003drequest_spec,"},{"line_number":188,"context_line":"                           instance_properties\u003dproperties,"},{"line_number":189,"context_line":"                           instance_id\u003dinstance_uuid,"},{"line_number":190,"context_line":"                           state\u003dvm_state,"},{"line_number":191,"context_line":"                           method\u003dmethod,"},{"line_number":192,"context_line":"                           reason\u003dex)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALH%2F%2FX7Y%3D","line":189,"updated":"2012-09-17 22:41:55.000000000","message":"valid to send with instance_id\u003dNone ?","commit_id":"672b28f00d63894dac03e6f707d0c1055f5378df"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"99880b7b24ead8ac4c7546b629d9e041c7b2e988","unresolved":false,"context_lines":[{"line_number":186,"context_line":""},{"line_number":187,"context_line":"            payload \u003d dict(request_spec\u003drequest_spec,"},{"line_number":188,"context_line":"                           instance_properties\u003dproperties,"},{"line_number":189,"context_line":"                           instance_id\u003dinstance_uuid,"},{"line_number":190,"context_line":"                           state\u003dvm_state,"},{"line_number":191,"context_line":"                           method\u003dmethod,"},{"line_number":192,"context_line":"                           reason\u003dex)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALH%2F%2FX5c%3D","line":189,"in_reply_to":"AAAALH%2F%2FX5s%3D","updated":"2012-09-17 22:51:42.000000000","message":"Yeah, you\u0027re probably best to leave as much of this as untouched as possible\n\nI\u0027d probably err on the side of leaving the set_vm_state_and_notify() changes out of rc1 altogether ... unless I\u0027m missing how this helps fix the bug?","commit_id":"672b28f00d63894dac03e6f707d0c1055f5378df"},{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"fc356908630c776facdbe509ed4b373473853b75","unresolved":false,"context_lines":[{"line_number":186,"context_line":""},{"line_number":187,"context_line":"            payload \u003d dict(request_spec\u003drequest_spec,"},{"line_number":188,"context_line":"                           instance_properties\u003dproperties,"},{"line_number":189,"context_line":"                           instance_id\u003dinstance_uuid,"},{"line_number":190,"context_line":"                           state\u003dvm_state,"},{"line_number":191,"context_line":"                           method\u003dmethod,"},{"line_number":192,"context_line":"                           reason\u003dex)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALH%2F%2FX5s%3D","line":189,"in_reply_to":"AAAALH%2F%2FX7Y%3D","updated":"2012-09-17 22:48:19.000000000","message":"Honestly I don\u0027t know if this is the best method, but I was trying not to change existing functionality. Notice that the code to the left sends a notification with instance_uuid \u003d None. If it is acceptable to change this behavior than i can clean up the None handling above.","commit_id":"672b28f00d63894dac03e6f707d0c1055f5378df"}]}
