)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"36c138c4d3d40d9e2489ab981d3d3264886d19ac","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"If instance is booted from volume then do not update \u0027local_gb_used\u0027"},{"line_number":13,"context_line":"resource. Also do not pass \u0027disk_gb\u0027 limit to \u0027Claim\u0027 if instance is"},{"line_number":14,"context_line":"booted from volume."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Closes-Bug: #1334974"},{"line_number":17,"context_line":"Change-Id: Id9564fa6b50a2dee927c4e5532a522d6d30fa70f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa32b979_abf284d0","line":14,"updated":"2015-06-16 18:02:45.000000000","message":"so this does not seem correct (the last sentence). Even with a volume backed instance, we could have a very large ephemeral drive that breaks the disk usage quota so we should probably drop this part of the change altogether.","commit_id":"c39859145598d275042d2879683e5d4af5166e5a"}],"nova/compute/resource_tracker.py":[{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"36c138c4d3d40d9e2489ab981d3d3264886d19ac","unresolved":false,"context_lines":[{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        if instance_ref.is_booted_from_vol():"},{"line_number":132,"context_line":"            if limits and limits.get(\u0027disk_gb\u0027):"},{"line_number":133,"context_line":"                limits.pop(\u0027disk_gb\u0027)"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"        claim \u003d claims.Claim(context, instance_ref, self, self.compute_node,"},{"line_number":136,"context_line":"                             overhead\u003doverhead, limits\u003dlimits)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_eb964c4b","line":133,"updated":"2015-06-16 18:02:45.000000000","message":"See comment on the commit message","commit_id":"c39859145598d275042d2879683e5d4af5166e5a"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"36c138c4d3d40d9e2489ab981d3d3264886d19ac","unresolved":false,"context_lines":[{"line_number":644,"context_line":"        mem_usage +\u003d overhead[\u0027memory_mb\u0027]"},{"line_number":645,"context_line":""},{"line_number":646,"context_line":"        self.compute_node[\u0027memory_mb_used\u0027] +\u003d sign * mem_usage"},{"line_number":647,"context_line":"        if isinstance(usage, dict) and not usage.get(\u0027is_booted_from_vol\u0027):"},{"line_number":648,"context_line":"            self.compute_node[\u0027local_gb_used\u0027] +\u003d sign * usage.get(\u0027root_gb\u0027,"},{"line_number":649,"context_line":"                                                                   0)"},{"line_number":650,"context_line":"        elif getattr(usage, \u0027is_booted_from_vol\u0027, None):"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_eb140c45","line":647,"updated":"2015-06-16 18:02:45.000000000","message":"the fact that we added a random key here (is_booted_from_volume) is super ugly. I know that a lot of surrounding code does it, but Nova has decided to try and eradicate unspecified dicts everywhere.","commit_id":"c39859145598d275042d2879683e5d4af5166e5a"}],"nova/objects/instance.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"d8eba696c73b400da9b8d8cf38531c3dbffc4d9b","unresolved":false,"context_lines":[{"line_number":129,"context_line":"        if attr in db_instance:"},{"line_number":130,"context_line":"            del db_instance[attr]"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"    db_instance[\u0027is_booted_from_vol\u0027] \u003d instance.is_booted_from_vol()"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"    return db_instance"},{"line_number":135,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_7d40fe56","line":132,"updated":"2015-06-15 17:27:07.000000000","message":"why do we not have this as db flag?","commit_id":"c39859145598d275042d2879683e5d4af5166e5a"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"36c138c4d3d40d9e2489ab981d3d3264886d19ac","unresolved":false,"context_lines":[{"line_number":129,"context_line":"        if attr in db_instance:"},{"line_number":130,"context_line":"            del db_instance[attr]"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"    db_instance[\u0027is_booted_from_vol\u0027] \u003d instance.is_booted_from_vol()"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"    return db_instance"},{"line_number":135,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_4b5c18ed","line":132,"in_reply_to":"fa32b979_7d40fe56","updated":"2015-06-16 18:02:45.000000000","message":"I see that you\u0027ve added this here so you can use it in the resource tracker.\n\nThis is IMHO the wrong way to do it - we already use objects in the resource tracker, even though we sadly use the opaque usage dicts for updating. \n\nIdeally should fix the way we calculate usage and use only the Instance object everywhere (I think there is a patch series up for review that is meant to fix that). But in order to get your patch in without that, I\u0027d say it would be better to null out the root_gb field of the usage dict before passing it to update, rather than hack it here.\n\nThe reason we use this instance_compat method at all is because of some previous refactoring that took place that I don\u0027t think I could easily explain right now, so just trust me that we should not change anything about the return value of this method :)","commit_id":"c39859145598d275042d2879683e5d4af5166e5a"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"d8eba696c73b400da9b8d8cf38531c3dbffc4d9b","unresolved":false,"context_lines":[{"line_number":158,"context_line":"    # Version 1.17: Added tags"},{"line_number":159,"context_line":"    # Version 1.18: Added flavor, old_flavor, new_flavor"},{"line_number":160,"context_line":"    # Version 1.19: Added vcpu_model"},{"line_number":161,"context_line":"    # Version 1.20: Added ec2_ids"},{"line_number":162,"context_line":"    VERSION \u003d \u00271.20\u0027"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"    fields \u003d {"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_b82bf481","line":161,"updated":"2015-06-15 17:27:07.000000000","message":"You need to bump the instance object version for this","commit_id":"c39859145598d275042d2879683e5d4af5166e5a"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"36c138c4d3d40d9e2489ab981d3d3264886d19ac","unresolved":false,"context_lines":[{"line_number":158,"context_line":"    # Version 1.17: Added tags"},{"line_number":159,"context_line":"    # Version 1.18: Added flavor, old_flavor, new_flavor"},{"line_number":160,"context_line":"    # Version 1.19: Added vcpu_model"},{"line_number":161,"context_line":"    # Version 1.20: Added ec2_ids"},{"line_number":162,"context_line":"    VERSION \u003d \u00271.20\u0027"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"    fields \u003d {"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_591075a8","line":161,"in_reply_to":"fa32b979_b82bf481","updated":"2015-06-16 18:02:45.000000000","message":"no you don\u0027t - it\u0027s not a remotable method.","commit_id":"c39859145598d275042d2879683e5d4af5166e5a"}],"nova/scheduler/filters/disk_filter.py":[{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"36c138c4d3d40d9e2489ab981d3d3264886d19ac","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        try:"},{"line_number":43,"context_line":"            image_ref \u003d filter_properties.get(\u0027request_spec\u0027"},{"line_number":44,"context_line":"                                              ).get(\u0027instance_properties\u0027"},{"line_number":45,"context_line":"                                                    ).get(\u0027image_ref\u0027)"},{"line_number":46,"context_line":"            if image_ref:"},{"line_number":47,"context_line":"                has_image_ref \u003d True"},{"line_number":48,"context_line":"        except AttributeError:"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_d92b2593","line":45,"updated":"2015-06-16 18:02:45.000000000","message":"So this would be the perfect place to use the method added on the instance object but we still don\u0027t have the instance object here.","commit_id":"c39859145598d275042d2879683e5d4af5166e5a"}]}
