)]}'
{"nova/cells/scheduler.py":[{"author":{"_account_id":1528,"name":"Stanislaw Pitucha","email":"viraptor@gmail.com","username":"stanislaw-pitucha"},"change_message_id":"38acde41bb43e1da94a16718572d1d81463618fe","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    def _create_instances_here(self, ctxt, request_spec):"},{"line_number":57,"context_line":"        instance_values \u003d request_spec[\u0027instance_properties\u0027]"},{"line_number":58,"context_line":"        num_instances \u003d len(request_spec[\u0027instance_uuids\u0027])"},{"line_number":59,"context_line":"        for i, instance_uuid in enumerate(request_spec[\u0027instance_uuids\u0027]):"},{"line_number":60,"context_line":"            instance_values[\u0027uuid\u0027] \u003d instance_uuid"},{"line_number":61,"context_line":"            instance \u003d self.compute_api.create_db_entry_for_new_instance("}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2B3ms%3D","line":58,"updated":"2013-02-15 23:35:01.000000000","message":"group_request \u003d len(...) \u003e 1","commit_id":"d527eda20b030c99239477af51a73537c3c781d4"},{"author":{"_account_id":1528,"name":"Stanislaw Pitucha","email":"viraptor@gmail.com","username":"stanislaw-pitucha"},"change_message_id":"38acde41bb43e1da94a16718572d1d81463618fe","unresolved":false,"context_lines":[{"line_number":65,"context_line":"                    instance_values,"},{"line_number":66,"context_line":"                    request_spec[\u0027security_group\u0027],"},{"line_number":67,"context_line":"                    request_spec[\u0027block_device_mapping\u0027],"},{"line_number":68,"context_line":"                    num_instances, i)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"            self.msg_runner.instance_update_at_top(ctxt, instance)"},{"line_number":71,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2B3mk%3D","line":68,"updated":"2013-02-15 23:35:01.000000000","message":"..., i if group_request else None)","commit_id":"d527eda20b030c99239477af51a73537c3c781d4"}],"nova/compute/api.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"bf3044b7f48d29d56752d961ca27421f1e206a18","unresolved":false,"context_lines":[{"line_number":91,"context_line":"               help\u003d\u0027When creating multiple instances with a single request \u0027"},{"line_number":92,"context_line":"                    \u0027using the os-multiple-create API extension, this \u0027"},{"line_number":93,"context_line":"                    \u0027template will be used to build the display name for \u0027"},{"line_number":94,"context_line":"                    \u0027each instance. The benefit is so that the instances \u0027"},{"line_number":95,"context_line":"                    \u0027end up with different hostnames. To restore legacy \u0027"},{"line_number":96,"context_line":"                    \u0027behavior of every instance having the same name, set \u0027"},{"line_number":97,"context_line":"                    \u0027this option to \"%(name)s)\".  Valid keys for the \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FG2Y%3D","line":94,"updated":"2013-02-06 23:15:43.000000000","message":"femtonit: \"The benefit is that the…\"","commit_id":"1dc92c2dffb535f7f3b23d1068f1eb20d5339f44"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"d406341d15716a3249a2e6b7f2198f66d75863cb","unresolved":false,"context_lines":[{"line_number":91,"context_line":"               help\u003d\u0027When creating multiple instances with a single request \u0027"},{"line_number":92,"context_line":"                    \u0027using the os-multiple-create API extension, this \u0027"},{"line_number":93,"context_line":"                    \u0027template will be used to build the display name for \u0027"},{"line_number":94,"context_line":"                    \u0027each instance. The benefit is so that the instances \u0027"},{"line_number":95,"context_line":"                    \u0027end up with different hostnames. To restore legacy \u0027"},{"line_number":96,"context_line":"                    \u0027behavior of every instance having the same name, set \u0027"},{"line_number":97,"context_line":"                    \u0027this option to \"%(name)s)\".  Valid keys for the \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2B6k0%3D","line":94,"in_reply_to":"AAAAM3%2F%2FG2Y%3D","updated":"2013-02-14 18:54:33.000000000","message":"Done","commit_id":"1dc92c2dffb535f7f3b23d1068f1eb20d5339f44"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"bf3044b7f48d29d56752d961ca27421f1e206a18","unresolved":false,"context_lines":[{"line_number":94,"context_line":"                    \u0027each instance. The benefit is so that the instances \u0027"},{"line_number":95,"context_line":"                    \u0027end up with different hostnames. To restore legacy \u0027"},{"line_number":96,"context_line":"                    \u0027behavior of every instance having the same name, set \u0027"},{"line_number":97,"context_line":"                    \u0027this option to \"%(name)s)\".  Valid keys for the \u0027"},{"line_number":98,"context_line":"                    \u0027template are: name, uuid, count.\u0027),"},{"line_number":99,"context_line":"]"},{"line_number":100,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FG2Q%3D","line":97,"updated":"2013-02-06 23:15:43.000000000","message":"You have an extra close parenthesis…","commit_id":"1dc92c2dffb535f7f3b23d1068f1eb20d5339f44"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"d406341d15716a3249a2e6b7f2198f66d75863cb","unresolved":false,"context_lines":[{"line_number":94,"context_line":"                    \u0027each instance. The benefit is so that the instances \u0027"},{"line_number":95,"context_line":"                    \u0027end up with different hostnames. To restore legacy \u0027"},{"line_number":96,"context_line":"                    \u0027behavior of every instance having the same name, set \u0027"},{"line_number":97,"context_line":"                    \u0027this option to \"%(name)s)\".  Valid keys for the \u0027"},{"line_number":98,"context_line":"                    \u0027template are: name, uuid, count.\u0027),"},{"line_number":99,"context_line":"]"},{"line_number":100,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2B6kw%3D","line":97,"in_reply_to":"AAAAM3%2F%2FG2Q%3D","updated":"2013-02-14 18:54:33.000000000","message":"Done","commit_id":"1dc92c2dffb535f7f3b23d1068f1eb20d5339f44"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"bf3044b7f48d29d56752d961ca27421f1e206a18","unresolved":false,"context_lines":[{"line_number":586,"context_line":"                        \u0027count\u0027: i + 1,"},{"line_number":587,"context_line":"                    }"},{"line_number":588,"context_line":"                    new_name \u003d (CONF.multi_instance_display_name_template %"},{"line_number":589,"context_line":"                                params)"},{"line_number":590,"context_line":"                    updates \u003d {\u0027display_name\u0027: new_name}"},{"line_number":591,"context_line":"                    if not instance.get(\u0027hostname\u0027):"},{"line_number":592,"context_line":"                        updates[\u0027hostname\u0027] \u003d utils.sanitize_hostname(new_name)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FG2A%3D","line":589,"updated":"2013-02-06 23:15:43.000000000","message":"What happens if multi_instance_display_name_template contains a key outside of uuid, name, and count?  I think you should catch the KeyError and do something reasonably intelligent, probably including a LOG.exception()","commit_id":"1dc92c2dffb535f7f3b23d1068f1eb20d5339f44"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"d406341d15716a3249a2e6b7f2198f66d75863cb","unresolved":false,"context_lines":[{"line_number":586,"context_line":"                        \u0027count\u0027: i + 1,"},{"line_number":587,"context_line":"                    }"},{"line_number":588,"context_line":"                    new_name \u003d (CONF.multi_instance_display_name_template %"},{"line_number":589,"context_line":"                                params)"},{"line_number":590,"context_line":"                    updates \u003d {\u0027display_name\u0027: new_name}"},{"line_number":591,"context_line":"                    if not instance.get(\u0027hostname\u0027):"},{"line_number":592,"context_line":"                        updates[\u0027hostname\u0027] \u003d utils.sanitize_hostname(new_name)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2B6kY%3D","line":589,"in_reply_to":"AAAAM3%2F%2FG2A%3D","updated":"2013-02-14 18:54:33.000000000","message":"Done","commit_id":"1dc92c2dffb535f7f3b23d1068f1eb20d5339f44"},{"author":{"_account_id":1528,"name":"Stanislaw Pitucha","email":"viraptor@gmail.com","username":"stanislaw-pitucha"},"change_message_id":"38acde41bb43e1da94a16718572d1d81463618fe","unresolved":false,"context_lines":[{"line_number":808,"context_line":"            image_properties.get(\u0027block_device_mapping\u0027)):"},{"line_number":809,"context_line":"            instance[\u0027shutdown_terminate\u0027] \u003d False"},{"line_number":810,"context_line":""},{"line_number":811,"context_line":"    def _populate_instance_names(self, instance, num_instances):"},{"line_number":812,"context_line":"        \"\"\"Populate instance display_name and hostname.\"\"\""},{"line_number":813,"context_line":"        display_name \u003d instance.get(\u0027display_name\u0027)"},{"line_number":814,"context_line":"        hostname \u003d instance.get(\u0027hostname\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2B3nI%3D","line":811,"updated":"2013-02-15 23:35:01.000000000","message":"proposed api: (self, instance, group_allocation {bool})","commit_id":"d527eda20b030c99239477af51a73537c3c781d4"},{"author":{"_account_id":1528,"name":"Stanislaw Pitucha","email":"viraptor@gmail.com","username":"stanislaw-pitucha"},"change_message_id":"38acde41bb43e1da94a16718572d1d81463618fe","unresolved":false,"context_lines":[{"line_number":877,"context_line":"    # the compute api. That should probably be cleaned up, though."},{"line_number":878,"context_line":"    def create_db_entry_for_new_instance(self, context, instance_type, image,"},{"line_number":879,"context_line":"            base_options, security_group, block_device_mapping, num_instances,"},{"line_number":880,"context_line":"            index):"},{"line_number":881,"context_line":"        \"\"\"Create an entry in the DB for this new instance,"},{"line_number":882,"context_line":"        including any related table updates (such as security group,"},{"line_number":883,"context_line":"        etc)."}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2B3no%3D","line":880,"updated":"2013-02-15 23:35:01.000000000","message":"proposed api: index\u003dNone\n\nsee change comment for details","commit_id":"d527eda20b030c99239477af51a73537c3c781d4"},{"author":{"_account_id":1528,"name":"Stanislaw Pitucha","email":"viraptor@gmail.com","username":"stanislaw-pitucha"},"change_message_id":"38acde41bb43e1da94a16718572d1d81463618fe","unresolved":false,"context_lines":[{"line_number":888,"context_line":"        instance \u003d self._populate_instance_for_create(base_options,"},{"line_number":889,"context_line":"                image, security_group)"},{"line_number":890,"context_line":""},{"line_number":891,"context_line":"        self._populate_instance_names(instance, num_instances)"},{"line_number":892,"context_line":""},{"line_number":893,"context_line":"        self._populate_instance_shutdown_terminate(instance, image,"},{"line_number":894,"context_line":"                                                   block_device_mapping)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2B3nQ%3D","line":891,"updated":"2013-02-15 23:35:01.000000000","message":", index !\u003d None)","commit_id":"d527eda20b030c99239477af51a73537c3c781d4"},{"author":{"_account_id":1528,"name":"Stanislaw Pitucha","email":"viraptor@gmail.com","username":"stanislaw-pitucha"},"change_message_id":"38acde41bb43e1da94a16718572d1d81463618fe","unresolved":false,"context_lines":[{"line_number":899,"context_line":"        self.security_group_api.ensure_default(context)"},{"line_number":900,"context_line":"        instance \u003d self.db.instance_create(context, instance)"},{"line_number":901,"context_line":""},{"line_number":902,"context_line":"        if num_instances \u003e 1:"},{"line_number":903,"context_line":"            # NOTE(russellb) We wait until this spot to handle"},{"line_number":904,"context_line":"            # multi_instance_display_name_template, because we need"},{"line_number":905,"context_line":"            # the UUID from the instance."}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2B3nY%3D","line":902,"updated":"2013-02-15 23:35:01.000000000","message":"if index !\u003d None:","commit_id":"d527eda20b030c99239477af51a73537c3c781d4"}]}
