)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"bf2ede805bf3db01a49ba4058185f826df8d62e7","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Bump major version of Scheduler RPC API to 4.0"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Since Juno, the below deprecated methods were removed from the RPC client:"},{"line_number":10,"context_line":" - schedule_run_instance"},{"line_number":11,"context_line":" - prep_resize"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5a890539_93010907","line":9,"updated":"2014-12-05 17:59:20.000000000","message":"If they were since juno, then we technically shouldn\u0027t remove them. Did you mean \"in Juno\" here, as in \"the final juno release didn\u0027t use these anymore\" ?","commit_id":"ddece77ee94b771460bd91948d8eb058dd24a867"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"8f48f8d6b65cefdf68191aa4813d3de8d375de21","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Bump major version of Scheduler RPC API to 4.0"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Since Juno, the below deprecated methods were removed from the RPC client:"},{"line_number":10,"context_line":" - schedule_run_instance"},{"line_number":11,"context_line":" - prep_resize"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5a890539_c5ebbe79","line":9,"in_reply_to":"5a890539_93010907","updated":"2014-12-05 21:22:34.000000000","message":"My bad, I\u0027m unclear (darn French...). So, these methods were removed in between the Icehouse tagging and the Juno tagging, so *during* the Juno timeframe.\n\nhttp://git.openstack.org/cgit/openstack/nova/tree/nova/scheduler/rpcapi.py?id\u003d2014.1\nhttp://git.openstack.org/cgit/openstack/nova/tree/nova/scheduler/rpcapi.py?id\u003d2014.2","commit_id":"ddece77ee94b771460bd91948d8eb058dd24a867"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"8dd93cbfb37f3282c47eceab9da5bf4d674fb49d","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Bump major version of Scheduler RPC API to 4.0"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Since Juno, the below deprecated methods were removed from the RPC client:"},{"line_number":10,"context_line":" - schedule_run_instance"},{"line_number":11,"context_line":" - prep_resize"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5a890539_eb1a497b","line":9,"in_reply_to":"5a890539_c5ebbe79","updated":"2014-12-05 23:05:37.000000000","message":"No problem, just wanted to make sure I understood properly, and that others would later as well :)","commit_id":"ddece77ee94b771460bd91948d8eb058dd24a867"}],"nova/scheduler/manager.py":[{"author":{"_account_id":6450,"name":"Hans Lindgren","email":"hanlind@kth.se","username":"hanlind"},"change_message_id":"3de097ea1711b7804e4efef5d24ae6de38457c6f","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        instance_uuids \u003d request_spec[\u0027instance_uuids\u0027]"},{"line_number":82,"context_line":"        with compute_utils.EventReporter(context, \u0027schedule\u0027, *instance_uuids):"},{"line_number":83,"context_line":"            try:"},{"line_number":84,"context_line":"                return self.driver.schedule_run_instance(context,"},{"line_number":85,"context_line":"                        request_spec, admin_password, injected_files,"},{"line_number":86,"context_line":"                        requested_networks, is_first_time, filter_properties,"},{"line_number":87,"context_line":"                        legacy_bdm_in_spec)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a961159_c414b4f7","side":"PARENT","line":84,"updated":"2014-12-08 07:55:10.000000000","message":"When we remove this, the driver method could be removed as well.","commit_id":"16d38947aee9cb1683db8a9a6d47e45751199fd5"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"bcb95f3bed86c1694ed050f600808365b7f0c004","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        instance_uuids \u003d request_spec[\u0027instance_uuids\u0027]"},{"line_number":82,"context_line":"        with compute_utils.EventReporter(context, \u0027schedule\u0027, *instance_uuids):"},{"line_number":83,"context_line":"            try:"},{"line_number":84,"context_line":"                return self.driver.schedule_run_instance(context,"},{"line_number":85,"context_line":"                        request_spec, admin_password, injected_files,"},{"line_number":86,"context_line":"                        requested_networks, is_first_time, filter_properties,"},{"line_number":87,"context_line":"                        legacy_bdm_in_spec)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a961159_d440d758","side":"PARENT","line":84,"in_reply_to":"3a961159_c414b4f7","updated":"2014-12-08 14:42:48.000000000","message":"Fair enough","commit_id":"16d38947aee9cb1683db8a9a6d47e45751199fd5"},{"author":{"_account_id":6450,"name":"Hans Lindgren","email":"hanlind@kth.se","username":"hanlind"},"change_message_id":"3de097ea1711b7804e4efef5d24ae6de38457c6f","unresolved":false,"context_lines":[{"line_number":153,"context_line":"                                 request_spec):"},{"line_number":154,"context_line":"        scheduler_utils.set_vm_state_and_notify("},{"line_number":155,"context_line":"            context, \u0027scheduler\u0027, method, updates, ex, request_spec, self.db)"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"    @periodic_task.periodic_task"},{"line_number":158,"context_line":"    def _expire_reservations(self, context):"},{"line_number":159,"context_line":"        QUOTAS.expire(context)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a961159_241ad817","side":"PARENT","line":156,"updated":"2014-12-08 07:55:10.000000000","message":"Is this periodic task really to be removed?","commit_id":"16d38947aee9cb1683db8a9a6d47e45751199fd5"},{"author":{"_account_id":6450,"name":"Hans Lindgren","email":"hanlind@kth.se","username":"hanlind"},"change_message_id":"094bc03b86d65a3585058c3d3f3dc5d71da3dfb8","unresolved":false,"context_lines":[{"line_number":153,"context_line":"                                 request_spec):"},{"line_number":154,"context_line":"        scheduler_utils.set_vm_state_and_notify("},{"line_number":155,"context_line":"            context, \u0027scheduler\u0027, method, updates, ex, request_spec, self.db)"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"    @periodic_task.periodic_task"},{"line_number":158,"context_line":"    def _expire_reservations(self, context):"},{"line_number":159,"context_line":"        QUOTAS.expire(context)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a961159_7362d6d9","side":"PARENT","line":156,"in_reply_to":"3a961159_14adff31","updated":"2014-12-08 16:06:57.000000000","message":"Not sure what you mean by \"only call is done from one removed method\"?\n\nIIUC, this is called periodically by the service. From https://github.com/openstack/nova/blob/master/nova/openstack/common/periodic_task.py#L54 can be read, \"Without arguments \u0027@periodic_task\u0027, this will be run on the default interval of 60 seconds\", which makes me believe this is very much in use today.","commit_id":"16d38947aee9cb1683db8a9a6d47e45751199fd5"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"bcb95f3bed86c1694ed050f600808365b7f0c004","unresolved":false,"context_lines":[{"line_number":153,"context_line":"                                 request_spec):"},{"line_number":154,"context_line":"        scheduler_utils.set_vm_state_and_notify("},{"line_number":155,"context_line":"            context, \u0027scheduler\u0027, method, updates, ex, request_spec, self.db)"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"    @periodic_task.periodic_task"},{"line_number":158,"context_line":"    def _expire_reservations(self, context):"},{"line_number":159,"context_line":"        QUOTAS.expire(context)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a961159_14adff31","side":"PARENT","line":156,"in_reply_to":"3a961159_241ad817","updated":"2014-12-08 14:42:48.000000000","message":"Well, there is no run_immediately option, so that means it has to be run once to be periodic, and the only call is done from one removed method, so I think it\u0027s valid","commit_id":"16d38947aee9cb1683db8a9a6d47e45751199fd5"},{"author":{"_account_id":6450,"name":"Hans Lindgren","email":"hanlind@kth.se","username":"hanlind"},"change_message_id":"3de097ea1711b7804e4efef5d24ae6de38457c6f","unresolved":false,"context_lines":[{"line_number":170,"context_line":""},{"line_number":171,"context_line":"        The result should be a list of dicts with \u0027host\u0027, \u0027nodename\u0027 and"},{"line_number":172,"context_line":"        \u0027limits\u0027 as keys."},{"line_number":173,"context_line":"        \"\"\""},{"line_number":174,"context_line":"        # TODO(melwitt): Remove this in version 4.0 of the RPC API"},{"line_number":175,"context_line":"        flavor \u003d filter_properties.get(\u0027instance_type\u0027)"},{"line_number":176,"context_line":"        if flavor and not isinstance(flavor, objects.Flavor):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a961159_a45888fb","side":"PARENT","line":173,"updated":"2014-12-08 07:55:10.000000000","message":"The section below was just added in kilo. See commit 8a27da34e7189499b48b8971755393d75447cc07\n\nI think the note mistakenly say it should go in v4.0.","commit_id":"16d38947aee9cb1683db8a9a6d47e45751199fd5"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"bcb95f3bed86c1694ed050f600808365b7f0c004","unresolved":false,"context_lines":[{"line_number":170,"context_line":""},{"line_number":171,"context_line":"        The result should be a list of dicts with \u0027host\u0027, \u0027nodename\u0027 and"},{"line_number":172,"context_line":"        \u0027limits\u0027 as keys."},{"line_number":173,"context_line":"        \"\"\""},{"line_number":174,"context_line":"        # TODO(melwitt): Remove this in version 4.0 of the RPC API"},{"line_number":175,"context_line":"        flavor \u003d filter_properties.get(\u0027instance_type\u0027)"},{"line_number":176,"context_line":"        if flavor and not isinstance(flavor, objects.Flavor):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a961159_94680ff7","side":"PARENT","line":173,"in_reply_to":"3a961159_a45888fb","updated":"2014-12-08 14:42:48.000000000","message":"Yeah that\u0027s something I need to provide in a Proxy mechanism.","commit_id":"16d38947aee9cb1683db8a9a6d47e45751199fd5"},{"author":{"_account_id":6450,"name":"Hans Lindgren","email":"hanlind@kth.se","username":"hanlind"},"change_message_id":"9f8051862583d389290a597eb014e8f730eb0eb5","unresolved":false,"context_lines":[{"line_number":113,"context_line":"            # is receiving an object, so lookup the flavor to ensure this."},{"line_number":114,"context_line":"            flavor \u003d objects.Flavor.get_by_id(context, flavor[\u0027id\u0027])"},{"line_number":115,"context_line":"            filter_properties \u003d dict(filter_properties, instance_type\u003dflavor)"},{"line_number":116,"context_line":"        dests \u003d self.manager.select_destinations(context, request_spec,"},{"line_number":117,"context_line":"            filter_properties)"},{"line_number":118,"context_line":"        return jsonutils.to_primitive(dests)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_98e81db6","line":116,"updated":"2014-12-09 12:56:49.000000000","message":"Why make this call through manager?\njsonutils.to_primitive() is now being called twice.","commit_id":"1ccfe8b9a0b2e6d241ec9bd75b8cfb9b0ef27b49"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"3e7bc6a0d439dab3a6e5e9ee2f151ff784e6c140","unresolved":false,"context_lines":[{"line_number":113,"context_line":"            # is receiving an object, so lookup the flavor to ensure this."},{"line_number":114,"context_line":"            flavor \u003d objects.Flavor.get_by_id(context, flavor[\u0027id\u0027])"},{"line_number":115,"context_line":"            filter_properties \u003d dict(filter_properties, instance_type\u003dflavor)"},{"line_number":116,"context_line":"        dests \u003d self.manager.select_destinations(context, request_spec,"},{"line_number":117,"context_line":"            filter_properties)"},{"line_number":118,"context_line":"        return jsonutils.to_primitive(dests)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_d73cfde4","line":116,"in_reply_to":"3a961159_98e81db6","updated":"2014-12-10 17:56:37.000000000","message":"I followed the design pattern which was previously defined for the bump to 3.0, ie. having a proxy for a version which was redirecting to another version\n\nThat said, you\u0027re totally right, I missed the unneccessary call for serializing, will fix it. Thanks !","commit_id":"1ccfe8b9a0b2e6d241ec9bd75b8cfb9b0ef27b49"}],"nova/scheduler/rpcapi.py":[{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"4f748ae28d83157670f23e91a97f1077116794c5","unresolved":false,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        * 3.1 - Made select_destinations() send flavor object"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        4.0 - Removed backwards compat for Icehouse"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_64f3999e","line":89,"updated":"2014-12-10 17:33:55.000000000","message":"Might be better to say 3.x rather than Icehouse here, though I guess we\u0027re still Juno compatible so this is fine.\n\nIt should be prefixed with \"* \".","commit_id":"1ccfe8b9a0b2e6d241ec9bd75b8cfb9b0ef27b49"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"3e7bc6a0d439dab3a6e5e9ee2f151ff784e6c140","unresolved":false,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        * 3.1 - Made select_destinations() send flavor object"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        4.0 - Removed backwards compat for Icehouse"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_d7131d64","line":89,"in_reply_to":"3a961159_64f3999e","updated":"2014-12-10 17:56:37.000000000","message":"I actually followed the same indentation than for the bump to 3.0 but I can fix that, for sure.\n\nAlso, I prefer to leave the mention to Icehouse, because we\u0027re still supporting Juno actually thru the V3 proxy.","commit_id":"1ccfe8b9a0b2e6d241ec9bd75b8cfb9b0ef27b49"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"4f748ae28d83157670f23e91a97f1077116794c5","unresolved":false,"context_lines":[{"line_number":109,"context_line":"                                     serializer\u003dserializer)"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    def select_destinations(self, ctxt, request_spec, filter_properties):"},{"line_number":112,"context_line":"        cctxt \u003d self.client.prepare()"},{"line_number":113,"context_line":"        return cctxt.call(ctxt, \u0027select_destinations\u0027,"},{"line_number":114,"context_line":"            request_spec\u003drequest_spec, filter_properties\u003dfilter_properties)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_d70a3d20","line":112,"updated":"2014-12-10 17:33:55.000000000","message":"In the past I think we\u0027ve continued to declare the version, it would just be 4.0 now.","commit_id":"1ccfe8b9a0b2e6d241ec9bd75b8cfb9b0ef27b49"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"3e7bc6a0d439dab3a6e5e9ee2f151ff784e6c140","unresolved":false,"context_lines":[{"line_number":109,"context_line":"                                     serializer\u003dserializer)"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    def select_destinations(self, ctxt, request_spec, filter_properties):"},{"line_number":112,"context_line":"        cctxt \u003d self.client.prepare()"},{"line_number":113,"context_line":"        return cctxt.call(ctxt, \u0027select_destinations\u0027,"},{"line_number":114,"context_line":"            request_spec\u003drequest_spec, filter_properties\u003dfilter_properties)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_170da53e","line":112,"in_reply_to":"3a961159_d70a3d20","updated":"2014-12-10 17:56:37.000000000","message":"Ack.","commit_id":"1ccfe8b9a0b2e6d241ec9bd75b8cfb9b0ef27b49"}]}
