)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"7c8058f17b1349f285329ae6771b65e72feeeed9","unresolved":false,"context_lines":[{"line_number":10,"context_line":"we start an instance, we can now fetch it from the API DB and pass it thru the"},{"line_number":11,"context_line":"ComputeTask API to the conductor so it can directly call the scheduler with it."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"NOTE(sbauza): Yeah, it\u0027s ugly to see the ReqsSpec object being dehydrated to"},{"line_number":14,"context_line":"legacy dicts and then rehydrated by the next call, but I\u0027ll modify that in my"},{"line_number":15,"context_line":"next change."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5a5ae5dd_5d451f15","line":13,"updated":"2016-02-09 12:34:38.000000000","message":"s/ReqsSpec/RequestSpec/","commit_id":"c46dde6d295fa55c06b22a2c09a52b375fb23ee3"}],"nova/compute/api.py":[{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"0456a1a858d1f56409fa792ffd880332f3fea7a2","unresolved":false,"context_lines":[{"line_number":3347,"context_line":"                       recreate\u003dTrue,"},{"line_number":3348,"context_line":"                       on_shared_storage\u003don_shared_storage,"},{"line_number":3349,"context_line":"                       host\u003dhost,"},{"line_number":3350,"context_line":"                       spec_obj\u003dspec_obj,"},{"line_number":3351,"context_line":"                       )"},{"line_number":3352,"context_line":""},{"line_number":3353,"context_line":"    def get_migrations(self, context, filters):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a5ae5dd_fb7a4e87","line":3350,"updated":"2016-02-05 20:04:44.000000000","message":"The method parameter should be called request_spec.  spec_obj is ambiguous IMO and request_spec_obj seems unnecessary.  We kept using instance as a parameter even as we switched that over to objects and there were few issues that I recall.","commit_id":"9e7406d9470ec9db970c7420a700d46ee4dfcfcf"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"4d67473eeaae19bd48d0e565946738e471502617","unresolved":false,"context_lines":[{"line_number":3347,"context_line":"                       recreate\u003dTrue,"},{"line_number":3348,"context_line":"                       on_shared_storage\u003don_shared_storage,"},{"line_number":3349,"context_line":"                       host\u003dhost,"},{"line_number":3350,"context_line":"                       spec_obj\u003dspec_obj,"},{"line_number":3351,"context_line":"                       )"},{"line_number":3352,"context_line":""},{"line_number":3353,"context_line":"    def get_migrations(self, context, filters):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a5ae5dd_d185f3ce","line":3350,"in_reply_to":"5a5ae5dd_b10cf7ec","updated":"2016-02-05 21:12:36.000000000","message":"Just an additional comment : I named spec_obj the RequestSpec argument for the Scheduler RPC API... Sorry about that, I\u0027m really bad for naming :-(","commit_id":"9e7406d9470ec9db970c7420a700d46ee4dfcfcf"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"9d6b08777ef9c8c047e3a5668656f525ed39a2d0","unresolved":false,"context_lines":[{"line_number":3347,"context_line":"                       recreate\u003dTrue,"},{"line_number":3348,"context_line":"                       on_shared_storage\u003don_shared_storage,"},{"line_number":3349,"context_line":"                       host\u003dhost,"},{"line_number":3350,"context_line":"                       spec_obj\u003dspec_obj,"},{"line_number":3351,"context_line":"                       )"},{"line_number":3352,"context_line":""},{"line_number":3353,"context_line":"    def get_migrations(self, context, filters):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a5ae5dd_b10cf7ec","line":3350,"in_reply_to":"5a5ae5dd_fb7a4e87","updated":"2016-02-05 21:01:41.000000000","message":"Okay, just note that the RequestSpec object also provides the separate legacy filter_properties dict, but that\u0027s fine by me.","commit_id":"9e7406d9470ec9db970c7420a700d46ee4dfcfcf"}],"nova/conductor/manager.py":[{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"964ac8366336704d7824c2a4ab72c0af4a1076b3","unresolved":false,"context_lines":[{"line_number":502,"context_line":"                            context, image_ref, [instance])"},{"line_number":503,"context_line":"                else:"},{"line_number":504,"context_line":"                    request_spec \u003d spec_obj"},{"line_number":505,"context_line":"                    filter_properties \u003d {}"},{"line_number":506,"context_line":"                try:"},{"line_number":507,"context_line":"                    hosts \u003d self._schedule_instances("},{"line_number":508,"context_line":"                            context, request_spec, filter_properties)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a5de9d1_1f7d4a1c","line":505,"updated":"2016-01-28 09:21:08.000000000","message":"Should filter_properties be different in this case?","commit_id":"8cfe288f88ec7ea799949c8d51a0c9b226ca3231"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"6487e4e85ff11e24f0815083aabe42c077a4a9d7","unresolved":false,"context_lines":[{"line_number":502,"context_line":"                            context, image_ref, [instance])"},{"line_number":503,"context_line":"                else:"},{"line_number":504,"context_line":"                    request_spec \u003d spec_obj"},{"line_number":505,"context_line":"                    filter_properties \u003d {}"},{"line_number":506,"context_line":"                try:"},{"line_number":507,"context_line":"                    hosts \u003d self._schedule_instances("},{"line_number":508,"context_line":"                            context, request_spec, filter_properties)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a5de9d1_1aaf8295","line":505,"in_reply_to":"7a5de9d1_1f7d4a1c","updated":"2016-01-28 15:30:45.000000000","message":"It\u0027s rather a quick hack for keeping the same helper method that is shared between all callers, but I can modify its signature to have filter_properties optional. That\u0027s even cleaner, thanks.","commit_id":"8cfe288f88ec7ea799949c8d51a0c9b226ca3231"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"8930d779bdf196dac370623cfdcdf5157d5943d5","unresolved":false,"context_lines":[{"line_number":511,"context_line":"                                          host_dict[\u0027nodename\u0027],"},{"line_number":512,"context_line":"                                          host_dict[\u0027limits\u0027])"},{"line_number":513,"context_line":"                else:"},{"line_number":514,"context_line":"                    filter_properties \u003d spec_obj"},{"line_number":515,"context_line":"                except exception.NoValidHost as ex:"},{"line_number":516,"context_line":"                    with excutils.save_and_reraise_exception():"},{"line_number":517,"context_line":"                        self._set_vm_state_and_notify(context, instance.uuid,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a5de9d1_710371b9","line":514,"updated":"2016-01-27 16:57:14.000000000","message":"meh...","commit_id":"8cfe288f88ec7ea799949c8d51a0c9b226ca3231"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"6487e4e85ff11e24f0815083aabe42c077a4a9d7","unresolved":false,"context_lines":[{"line_number":511,"context_line":"                                          host_dict[\u0027nodename\u0027],"},{"line_number":512,"context_line":"                                          host_dict[\u0027limits\u0027])"},{"line_number":513,"context_line":"                else:"},{"line_number":514,"context_line":"                    filter_properties \u003d spec_obj"},{"line_number":515,"context_line":"                except exception.NoValidHost as ex:"},{"line_number":516,"context_line":"                    with excutils.save_and_reraise_exception():"},{"line_number":517,"context_line":"                        self._set_vm_state_and_notify(context, instance.uuid,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a5de9d1_5ad73a23","line":514,"in_reply_to":"7a5de9d1_1f730a82","updated":"2016-01-28 15:30:45.000000000","message":"Yup, a bad writing when I quickly wrote that patch","commit_id":"8cfe288f88ec7ea799949c8d51a0c9b226ca3231"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"964ac8366336704d7824c2a4ab72c0af4a1076b3","unresolved":false,"context_lines":[{"line_number":511,"context_line":"                                          host_dict[\u0027nodename\u0027],"},{"line_number":512,"context_line":"                                          host_dict[\u0027limits\u0027])"},{"line_number":513,"context_line":"                else:"},{"line_number":514,"context_line":"                    filter_properties \u003d spec_obj"},{"line_number":515,"context_line":"                except exception.NoValidHost as ex:"},{"line_number":516,"context_line":"                    with excutils.save_and_reraise_exception():"},{"line_number":517,"context_line":"                        self._set_vm_state_and_notify(context, instance.uuid,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a5de9d1_1f730a82","line":514,"in_reply_to":"7a5de9d1_710371b9","updated":"2016-01-28 09:21:08.000000000","message":"Was this unintentional?","commit_id":"8cfe288f88ec7ea799949c8d51a0c9b226ca3231"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"7c8058f17b1349f285329ae6771b65e72feeeed9","unresolved":false,"context_lines":[{"line_number":521,"context_line":"                            context, image_ref, [instance])"},{"line_number":522,"context_line":"                else:"},{"line_number":523,"context_line":"                    # NOTE(sbauza): Augment the RequestSpec object by excluding"},{"line_number":524,"context_line":"                    # the source host for avoiding the scheduler to pick it"},{"line_number":525,"context_line":"                    request_spec.ignore_hosts \u003d request_spec.ignore_hosts or []"},{"line_number":526,"context_line":"                    request_spec.ignore_hosts.append(instance.host)"},{"line_number":527,"context_line":"                    # TODO(sbauza): Provide directly the RequestSpec object"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a5ae5dd_fd4acb26","line":524,"updated":"2016-02-09 12:34:38.000000000","message":"s/for avoiding the scheduler to pick it/from the scheduler\u0027s evaluated hosts/","commit_id":"c46dde6d295fa55c06b22a2c09a52b375fb23ee3"}],"nova/conductor/rpcapi.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"7c8058f17b1349f285329ae6771b65e72feeeed9","unresolved":false,"context_lines":[{"line_number":356,"context_line":"              }"},{"line_number":357,"context_line":"        if not self.client.can_send_version(version):"},{"line_number":358,"context_line":"            version \u003d \u00271.8\u0027"},{"line_number":359,"context_line":"            del kw[\u0027request_spec\u0027]"},{"line_number":360,"context_line":"        cctxt \u003d self.client.prepare(version\u003dversion)"},{"line_number":361,"context_line":"        cctxt.cast(ctxt, \u0027rebuild_instance\u0027, **kw)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a5ae5dd_1d48072d","line":359,"updated":"2016-02-09 12:34:38.000000000","message":"++ good.","commit_id":"c46dde6d295fa55c06b22a2c09a52b375fb23ee3"}]}
