)]}'
{"nova/api/openstack/compute/servers.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"f1cd89ff214862b395311b9083425be80914e0dc","unresolved":false,"context_lines":[{"line_number":333,"context_line":"        if is_detail:"},{"line_number":334,"context_line":"            expected_attrs.append(\u0027services\u0027)"},{"line_number":335,"context_line":"            if api_version_request.is_supported(req, \u00272.26\u0027):"},{"line_number":336,"context_line":"                expected_attrs.append(\"tags\")"},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"            # merge our expected attrs with what the view builder needs for"},{"line_number":339,"context_line":"            # showing details"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_9045a571","line":336,"updated":"2017-01-04 11:58:40.000000000","message":"Do we need tags here more of the time for the notifications? I guess probably not actually, because we don\u0027t read lists of instances for actions that trigger notifications.","commit_id":"db9a646f182942abcbb55558836c7f996c0bad36"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"f1cd89ff214862b395311b9083425be80914e0dc","unresolved":false,"context_lines":[{"line_number":379,"context_line":"                                                            expected_attrs)"},{"line_number":380,"context_line":"        instance \u003d common.get_instance(self.compute_api, context,"},{"line_number":381,"context_line":"                                       instance_uuid,"},{"line_number":382,"context_line":"                                       expected_attrs\u003dexpected_attrs)"},{"line_number":383,"context_line":"        req.cache_db_instance(instance)"},{"line_number":384,"context_line":"        return instance"},{"line_number":385,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_304b19b2","line":382,"updated":"2017-01-04 11:58:40.000000000","message":"Do we get tags added into this one somewhere? ah yes, it just calls compute_api.get()","commit_id":"db9a646f182942abcbb55558836c7f996c0bad36"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"61faabb43b3db47478b5074ff35b84be6adc5278","unresolved":false,"context_lines":[{"line_number":1124,"context_line":""},{"line_number":1125,"context_line":"    def _get_instance(self, context, instance_uuid):"},{"line_number":1126,"context_line":"        try:"},{"line_number":1127,"context_line":"            attrs \u003d [\u0027system_metadata\u0027, \u0027metadata\u0027, \u0027tags\u0027]"},{"line_number":1128,"context_line":"            return objects.Instance.get_by_uuid(context, instance_uuid,"},{"line_number":1129,"context_line":"                                                expected_attrs\u003dattrs)"},{"line_number":1130,"context_line":"        except exception.InstanceNotFound as e:"}],"source_content_type":"text/x-python","patch_set":3,"id":"da4df55a_b11fce06","line":1127,"range":{"start_line":1127,"start_character":0,"end_line":1127,"end_character":59},"updated":"2016-12-28 08:49:36.000000000","message":"I think this should not be necessary if the tags are really loaded by default","commit_id":"db9a646f182942abcbb55558836c7f996c0bad36"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"f1cd89ff214862b395311b9083425be80914e0dc","unresolved":false,"context_lines":[{"line_number":1124,"context_line":""},{"line_number":1125,"context_line":"    def _get_instance(self, context, instance_uuid):"},{"line_number":1126,"context_line":"        try:"},{"line_number":1127,"context_line":"            attrs \u003d [\u0027system_metadata\u0027, \u0027metadata\u0027, \u0027tags\u0027]"},{"line_number":1128,"context_line":"            return objects.Instance.get_by_uuid(context, instance_uuid,"},{"line_number":1129,"context_line":"                                                expected_attrs\u003dattrs)"},{"line_number":1130,"context_line":"        except exception.InstanceNotFound as e:"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_f078b12d","line":1127,"range":{"start_line":1127,"start_character":0,"end_line":1127,"end_character":59},"in_reply_to":"da4df55a_39cd78b7","updated":"2017-01-04 11:58:40.000000000","message":"Yeah, this is needed because the value of expected_attrs is over-written.\n\nIts only used be a few actions, but they are going to want to send notifications that include the tags.\n\nLooking at this, its odd we don\u0027t include flavor, info_cache and security_groups here. Do we not also need those in the notifications? If you look at the other path, we add loads more fields by default.\n\nWhen you don\u0027t worry about notifications, you don\u0027t need all this info of course, as they action below don\u0027t return an instance representation, so don\u0027t usually need all that info.","commit_id":"db9a646f182942abcbb55558836c7f996c0bad36"},{"author":{"_account_id":18337,"name":"Sujitha","email":"sujitha.neti@intel.com","username":"Sujitha"},"change_message_id":"0b7533b0f89154ae2910d68d5f6eda3b492aef75","unresolved":false,"context_lines":[{"line_number":1124,"context_line":""},{"line_number":1125,"context_line":"    def _get_instance(self, context, instance_uuid):"},{"line_number":1126,"context_line":"        try:"},{"line_number":1127,"context_line":"            attrs \u003d [\u0027system_metadata\u0027, \u0027metadata\u0027, \u0027tags\u0027]"},{"line_number":1128,"context_line":"            return objects.Instance.get_by_uuid(context, instance_uuid,"},{"line_number":1129,"context_line":"                                                expected_attrs\u003dattrs)"},{"line_number":1130,"context_line":"        except exception.InstanceNotFound as e:"}],"source_content_type":"text/x-python","patch_set":3,"id":"da4df55a_39cd78b7","line":1127,"range":{"start_line":1127,"start_character":0,"end_line":1127,"end_character":59},"in_reply_to":"da4df55a_b11fce06","updated":"2016-12-28 17:40:35.000000000","message":"gibi, This is needed. This attribute list is used by get_by_uuid to fetch instance from db [1] and convert the db instance to formal object[3].\n\n[1]https://github.com/openstack/nova/blob/master/nova/objects/instance.py#L458\n[2]https://github.com/openstack/nova/blob/master/nova/objects/instance.py#L73\n[3]:https://github.com/openstack/nova/blob/master/nova/objects/instance.py#L334","commit_id":"db9a646f182942abcbb55558836c7f996c0bad36"}],"nova/compute/api.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"61faabb43b3db47478b5074ff35b84be6adc5278","unresolved":false,"context_lines":[{"line_number":2282,"context_line":"        if not expected_attrs:"},{"line_number":2283,"context_line":"            expected_attrs \u003d []"},{"line_number":2284,"context_line":"        expected_attrs.extend([\u0027metadata\u0027, \u0027system_metadata\u0027,"},{"line_number":2285,"context_line":"                               \u0027security_groups\u0027, \u0027info_cache\u0027, \u0027tags\u0027])"},{"line_number":2286,"context_line":"        # NOTE(ameade): we still need to support integer ids for ec2"},{"line_number":2287,"context_line":"        try:"},{"line_number":2288,"context_line":"            if uuidutils.is_uuid_like(instance_id):"}],"source_content_type":"text/x-python","patch_set":3,"id":"da4df55a_51db024f","line":2285,"range":{"start_line":2285,"start_character":65,"end_line":2285,"end_character":69},"updated":"2016-12-28 08:49:36.000000000","message":"I think this should not be necessary if tags are really loaded by default","commit_id":"db9a646f182942abcbb55558836c7f996c0bad36"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"ae01bd6e9e6dad64b1e2f51b54c487e0b0c23696","unresolved":false,"context_lines":[{"line_number":2282,"context_line":"        if not expected_attrs:"},{"line_number":2283,"context_line":"            expected_attrs \u003d []"},{"line_number":2284,"context_line":"        expected_attrs.extend([\u0027metadata\u0027, \u0027system_metadata\u0027,"},{"line_number":2285,"context_line":"                               \u0027security_groups\u0027, \u0027info_cache\u0027, \u0027tags\u0027])"},{"line_number":2286,"context_line":"        # NOTE(ameade): we still need to support integer ids for ec2"},{"line_number":2287,"context_line":"        try:"},{"line_number":2288,"context_line":"            if uuidutils.is_uuid_like(instance_id):"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_70543021","line":2285,"range":{"start_line":2285,"start_character":65,"end_line":2285,"end_character":69},"in_reply_to":"ba5201f7_50641d21","updated":"2017-01-09 09:32:36.000000000","message":"It still makes me sad how this works against the meaning of INSTANCE_DEFAULT_FIELDS and how it makes a simple change (i.e. adding the tags to the INSTANCE_DEFAULT_FIELDS) to a complex wide spread change (i.e adding the tags to every query or query call).","commit_id":"db9a646f182942abcbb55558836c7f996c0bad36"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"f1cd89ff214862b395311b9083425be80914e0dc","unresolved":false,"context_lines":[{"line_number":2282,"context_line":"        if not expected_attrs:"},{"line_number":2283,"context_line":"            expected_attrs \u003d []"},{"line_number":2284,"context_line":"        expected_attrs.extend([\u0027metadata\u0027, \u0027system_metadata\u0027,"},{"line_number":2285,"context_line":"                               \u0027security_groups\u0027, \u0027info_cache\u0027, \u0027tags\u0027])"},{"line_number":2286,"context_line":"        # NOTE(ameade): we still need to support integer ids for ec2"},{"line_number":2287,"context_line":"        try:"},{"line_number":2288,"context_line":"            if uuidutils.is_uuid_like(instance_id):"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_50641d21","line":2285,"range":{"start_line":2285,"start_character":65,"end_line":2285,"end_character":69},"in_reply_to":"da4df55a_1924345e","updated":"2017-01-04 11:58:40.000000000","message":"+1 to Sujitha here.","commit_id":"db9a646f182942abcbb55558836c7f996c0bad36"},{"author":{"_account_id":18337,"name":"Sujitha","email":"sujitha.neti@intel.com","username":"Sujitha"},"change_message_id":"0b7533b0f89154ae2910d68d5f6eda3b492aef75","unresolved":false,"context_lines":[{"line_number":2282,"context_line":"        if not expected_attrs:"},{"line_number":2283,"context_line":"            expected_attrs \u003d []"},{"line_number":2284,"context_line":"        expected_attrs.extend([\u0027metadata\u0027, \u0027system_metadata\u0027,"},{"line_number":2285,"context_line":"                               \u0027security_groups\u0027, \u0027info_cache\u0027, \u0027tags\u0027])"},{"line_number":2286,"context_line":"        # NOTE(ameade): we still need to support integer ids for ec2"},{"line_number":2287,"context_line":"        try:"},{"line_number":2288,"context_line":"            if uuidutils.is_uuid_like(instance_id):"}],"source_content_type":"text/x-python","patch_set":3,"id":"da4df55a_1924345e","line":2285,"range":{"start_line":2285,"start_character":65,"end_line":2285,"end_character":69},"in_reply_to":"da4df55a_51db024f","updated":"2016-12-28 17:40:35.000000000","message":"Ditto. expected_attr explicitly tells which attributes to load from db.","commit_id":"db9a646f182942abcbb55558836c7f996c0bad36"}],"nova/objects/instance.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"61faabb43b3db47478b5074ff35b84be6adc5278","unresolved":false,"context_lines":[{"line_number":62,"context_line":"INSTANCE_OPTIONAL_ATTRS \u003d (_INSTANCE_OPTIONAL_JOINED_FIELDS +"},{"line_number":63,"context_line":"                           _INSTANCE_OPTIONAL_NON_COLUMN_FIELDS +"},{"line_number":64,"context_line":"                           _INSTANCE_EXTRA_FIELDS)"},{"line_number":65,"context_line":"# These are fields that most query calls load by default"},{"line_number":66,"context_line":"INSTANCE_DEFAULT_FIELDS \u003d [\u0027metadata\u0027, \u0027system_metadata\u0027,"},{"line_number":67,"context_line":"                           \u0027info_cache\u0027, \u0027security_groups\u0027, \u0027tags\u0027]"},{"line_number":68,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"da4df55a_d1eff2e6","line":65,"updated":"2016-12-28 08:49:36.000000000","message":"I think this comment is not really telling the truth. The fields in INSTANCE_DEFAULT_FIELDS are only loaded during instance create. I think the intention of this constant is still to list the fields of the object that loaded by every query by default. So I suggest to fix this problem before extending the list.","commit_id":"db9a646f182942abcbb55558836c7f996c0bad36"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"ae01bd6e9e6dad64b1e2f51b54c487e0b0c23696","unresolved":false,"context_lines":[{"line_number":62,"context_line":"INSTANCE_OPTIONAL_ATTRS \u003d (_INSTANCE_OPTIONAL_JOINED_FIELDS +"},{"line_number":63,"context_line":"                           _INSTANCE_OPTIONAL_NON_COLUMN_FIELDS +"},{"line_number":64,"context_line":"                           _INSTANCE_EXTRA_FIELDS)"},{"line_number":65,"context_line":"# These are fields that most query calls load by default"},{"line_number":66,"context_line":"INSTANCE_DEFAULT_FIELDS \u003d [\u0027metadata\u0027, \u0027system_metadata\u0027,"},{"line_number":67,"context_line":"                           \u0027info_cache\u0027, \u0027security_groups\u0027, \u0027tags\u0027]"},{"line_number":68,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_92befb62","line":65,"in_reply_to":"ba5201f7_f0f511cb","updated":"2017-01-09 09:32:36.000000000","message":"When we create the instance we need the tags, I agree.\nWhat I am trying to suggest here is to remove the misunderstanding / confusion this comment generates. So if the INSTANCE_DEFAULT_FIELDS really want to contain those fields that are loaded by default then we have to change the queries below to use the INSTANCE_DEFAULT_FIELDS when they handle the expected_attr query parameter.","commit_id":"db9a646f182942abcbb55558836c7f996c0bad36"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"f1cd89ff214862b395311b9083425be80914e0dc","unresolved":false,"context_lines":[{"line_number":62,"context_line":"INSTANCE_OPTIONAL_ATTRS \u003d (_INSTANCE_OPTIONAL_JOINED_FIELDS +"},{"line_number":63,"context_line":"                           _INSTANCE_OPTIONAL_NON_COLUMN_FIELDS +"},{"line_number":64,"context_line":"                           _INSTANCE_EXTRA_FIELDS)"},{"line_number":65,"context_line":"# These are fields that most query calls load by default"},{"line_number":66,"context_line":"INSTANCE_DEFAULT_FIELDS \u003d [\u0027metadata\u0027, \u0027system_metadata\u0027,"},{"line_number":67,"context_line":"                           \u0027info_cache\u0027, \u0027security_groups\u0027, \u0027tags\u0027]"},{"line_number":68,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_f0f511cb","line":65,"in_reply_to":"da4df55a_d1eff2e6","updated":"2017-01-04 11:58:40.000000000","message":"Yeah, on deeper reading, this doesn\u0027t do what it says.\n\nBut... when we create an instance, we will want to send a notification that includes tags, so maybe we should include it?","commit_id":"db9a646f182942abcbb55558836c7f996c0bad36"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"61faabb43b3db47478b5074ff35b84be6adc5278","unresolved":false,"context_lines":[{"line_number":456,"context_line":""},{"line_number":457,"context_line":"    @base.remotable_classmethod"},{"line_number":458,"context_line":"    def get_by_uuid(cls, context, uuid, expected_attrs\u003dNone, use_slave\u003dFalse):"},{"line_number":459,"context_line":"        if expected_attrs is None:"},{"line_number":460,"context_line":"            expected_attrs \u003d [\u0027info_cache\u0027, \u0027security_groups\u0027]"},{"line_number":461,"context_line":"        columns_to_join \u003d _expected_cols(expected_attrs)"},{"line_number":462,"context_line":"        db_inst \u003d cls._db_instance_get_by_uuid(context, uuid, columns_to_join,"},{"line_number":463,"context_line":"                                               use_slave\u003duse_slave)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da4df55a_11bc1adb","line":460,"range":{"start_line":459,"start_character":0,"end_line":460,"end_character":62},"updated":"2016-12-28 08:49:36.000000000","message":"So based on my understanding of the intention of INSTANCE_DEFAULT_FIELDS get_by_uuid shall load the fields based on INSTANCE_DEFAULT_FIELDS by default.","commit_id":"db9a646f182942abcbb55558836c7f996c0bad36"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"ae01bd6e9e6dad64b1e2f51b54c487e0b0c23696","unresolved":false,"context_lines":[{"line_number":456,"context_line":""},{"line_number":457,"context_line":"    @base.remotable_classmethod"},{"line_number":458,"context_line":"    def get_by_uuid(cls, context, uuid, expected_attrs\u003dNone, use_slave\u003dFalse):"},{"line_number":459,"context_line":"        if expected_attrs is None:"},{"line_number":460,"context_line":"            expected_attrs \u003d [\u0027info_cache\u0027, \u0027security_groups\u0027]"},{"line_number":461,"context_line":"        columns_to_join \u003d _expected_cols(expected_attrs)"},{"line_number":462,"context_line":"        db_inst \u003d cls._db_instance_get_by_uuid(context, uuid, columns_to_join,"},{"line_number":463,"context_line":"                                               use_slave\u003duse_slave)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_303b883a","line":460,"range":{"start_line":459,"start_character":0,"end_line":460,"end_character":62},"in_reply_to":"ba5201f7_101c5511","updated":"2017-01-09 09:32:36.000000000","message":"The expected_attr versus the INSTANCE_DEFAULT_FIELDS handling is really confusing to me. If I were the author of the patch I would try to remove that confusion by either remove the INSTANCE_DEFAULT_FIELDS all together (as it is barely used) or fix the expected_attr handling to always consider what is in the INSTANCE_DEFAULT_FIELDS. \n\nIf we don\u0027t want to block this patch with that refactor then I suggest to keep the tags lazy-loaded and do the refactoring in a subsequent patch. But please note that current notification payload population does not trigger lazy load. You need the patch [1] to make that happen.\n\n[1]https://review.openstack.org/#/c/415857/","commit_id":"db9a646f182942abcbb55558836c7f996c0bad36"},{"author":{"_account_id":18337,"name":"Sujitha","email":"sujitha.neti@intel.com","username":"Sujitha"},"change_message_id":"0b7533b0f89154ae2910d68d5f6eda3b492aef75","unresolved":false,"context_lines":[{"line_number":456,"context_line":""},{"line_number":457,"context_line":"    @base.remotable_classmethod"},{"line_number":458,"context_line":"    def get_by_uuid(cls, context, uuid, expected_attrs\u003dNone, use_slave\u003dFalse):"},{"line_number":459,"context_line":"        if expected_attrs is None:"},{"line_number":460,"context_line":"            expected_attrs \u003d [\u0027info_cache\u0027, \u0027security_groups\u0027]"},{"line_number":461,"context_line":"        columns_to_join \u003d _expected_cols(expected_attrs)"},{"line_number":462,"context_line":"        db_inst \u003d cls._db_instance_get_by_uuid(context, uuid, columns_to_join,"},{"line_number":463,"context_line":"                                               use_slave\u003duse_slave)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da4df55a_d9a2acad","line":460,"range":{"start_line":459,"start_character":0,"end_line":460,"end_character":62},"in_reply_to":"da4df55a_11bc1adb","updated":"2016-12-28 17:40:35.000000000","message":"Yes. To justify the above comment, it should (but this not happening now). We can extend the expected_attrs list with INSTANCE_DEFAULT_FIELDS.  This should work right?","commit_id":"db9a646f182942abcbb55558836c7f996c0bad36"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"f1cd89ff214862b395311b9083425be80914e0dc","unresolved":false,"context_lines":[{"line_number":456,"context_line":""},{"line_number":457,"context_line":"    @base.remotable_classmethod"},{"line_number":458,"context_line":"    def get_by_uuid(cls, context, uuid, expected_attrs\u003dNone, use_slave\u003dFalse):"},{"line_number":459,"context_line":"        if expected_attrs is None:"},{"line_number":460,"context_line":"            expected_attrs \u003d [\u0027info_cache\u0027, \u0027security_groups\u0027]"},{"line_number":461,"context_line":"        columns_to_join \u003d _expected_cols(expected_attrs)"},{"line_number":462,"context_line":"        db_inst \u003d cls._db_instance_get_by_uuid(context, uuid, columns_to_join,"},{"line_number":463,"context_line":"                                               use_slave\u003duse_slave)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_101c5511","line":460,"range":{"start_line":459,"start_character":0,"end_line":460,"end_character":62},"in_reply_to":"da4df55a_d9a2acad","updated":"2017-01-04 11:58:40.000000000","message":"Yeah, lets make this change as small as possible, adding tags here and on ln470 makes sense to me.\n\nThe other alternative is to simply not change the instance object at all, and see how far that gets us. That option is very tempting.\n\nNow this only works when expected_attrs \u003d None, which may not be that often when we need to send a notification, looking at the API flows.","commit_id":"db9a646f182942abcbb55558836c7f996c0bad36"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"61faabb43b3db47478b5074ff35b84be6adc5278","unresolved":false,"context_lines":[{"line_number":466,"context_line":""},{"line_number":467,"context_line":"    @base.remotable_classmethod"},{"line_number":468,"context_line":"    def get_by_id(cls, context, inst_id, expected_attrs\u003dNone):"},{"line_number":469,"context_line":"        if expected_attrs is None:"},{"line_number":470,"context_line":"            expected_attrs \u003d [\u0027info_cache\u0027, \u0027security_groups\u0027]"},{"line_number":471,"context_line":"        columns_to_join \u003d _expected_cols(expected_attrs)"},{"line_number":472,"context_line":"        db_inst \u003d db.instance_get(context, inst_id,"},{"line_number":473,"context_line":"                                  columns_to_join\u003dcolumns_to_join)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da4df55a_31c11e55","line":470,"range":{"start_line":469,"start_character":0,"end_line":470,"end_character":62},"updated":"2016-12-28 08:49:36.000000000","message":"ditto","commit_id":"db9a646f182942abcbb55558836c7f996c0bad36"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"6af0634e94c84cbe6fd22e6e3986b62492625936","unresolved":false,"context_lines":[{"line_number":64,"context_line":"                           _INSTANCE_EXTRA_FIELDS)"},{"line_number":65,"context_line":"# These are fields that most query calls load by default"},{"line_number":66,"context_line":"INSTANCE_DEFAULT_FIELDS \u003d [\u0027metadata\u0027, \u0027system_metadata\u0027,"},{"line_number":67,"context_line":"                           \u0027info_cache\u0027, \u0027security_groups\u0027, \u0027tags\u0027]"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"# Maximum count of tags to one instance"},{"line_number":70,"context_line":"MAX_TAG_COUNT \u003d 50"}],"source_content_type":"text/x-python","patch_set":14,"id":"ffe62b97_639db108","line":67,"updated":"2017-03-29 18:48:19.000000000","message":"This means we\u0027ll load tags quite often everywhere in nova. In nova-compute, for example, where we only ever need them for the notification.\n\nSeems like this is a little too heavy-handed. Is it really too onerous to just do this when we need it? Like, if we\u0027re pulling it in the api and about to send it down, then sure, we\u0027re likely to create a notification. But do we really need to do this when we\u0027re doing things like updating info cache, checking power state, etc? Remember, lazy loads are supposed to help for the infrequently-needed case to avoid us requesting everything every time.","commit_id":"c8c7feeefe38bc11c268e57e172553d7f89261ae"},{"author":{"_account_id":18337,"name":"Sujitha","email":"sujitha.neti@intel.com","username":"Sujitha"},"change_message_id":"ff858a76cde6eaec96ac8de3ef13ddb7bc4b3fbc","unresolved":false,"context_lines":[{"line_number":64,"context_line":"                           _INSTANCE_EXTRA_FIELDS)"},{"line_number":65,"context_line":"# These are fields that most query calls load by default"},{"line_number":66,"context_line":"INSTANCE_DEFAULT_FIELDS \u003d [\u0027metadata\u0027, \u0027system_metadata\u0027,"},{"line_number":67,"context_line":"                           \u0027info_cache\u0027, \u0027security_groups\u0027, \u0027tags\u0027]"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"# Maximum count of tags to one instance"},{"line_number":70,"context_line":"MAX_TAG_COUNT \u003d 50"}],"source_content_type":"text/x-python","patch_set":14,"id":"ffe62b97_d22e858a","line":67,"in_reply_to":"ffe62b97_639db108","updated":"2017-03-29 20:19:42.000000000","message":"Dan Smith, Agree that lazy loads help the one\u0027s that are infrequently needed. But with tags in InstancePayload, it is needed for many notifications. As I mentioned in the commit message, load_tags is called 200 times due to the notifications.","commit_id":"c8c7feeefe38bc11c268e57e172553d7f89261ae"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"b93a572117355f89d0b2e426eb8f6e39f8af6274","unresolved":false,"context_lines":[{"line_number":64,"context_line":"                           _INSTANCE_EXTRA_FIELDS)"},{"line_number":65,"context_line":"# These are fields that most query calls load by default"},{"line_number":66,"context_line":"INSTANCE_DEFAULT_FIELDS \u003d [\u0027metadata\u0027, \u0027system_metadata\u0027,"},{"line_number":67,"context_line":"                           \u0027info_cache\u0027, \u0027security_groups\u0027, \u0027tags\u0027]"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"# Maximum count of tags to one instance"},{"line_number":70,"context_line":"MAX_TAG_COUNT \u003d 50"}],"source_content_type":"text/x-python","patch_set":14,"id":"ffe62b97_12862dba","line":67,"in_reply_to":"ffe62b97_d22e858a","updated":"2017-03-29 20:52:25.000000000","message":"Sure, but making it always load isn\u0027t necessarily the answer. If you remove this default, how many are triggered that aren\u0027t a result of an instance_get, which you explicitly asked for a load of tags?\n\nCan we chase those down instead of making this default?","commit_id":"c8c7feeefe38bc11c268e57e172553d7f89261ae"}]}
