)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"4708ad340791769d1a717a5ee10d50584c644d5f","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Sylvain Bauza \u003csbauza@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-09-02 15:46:34 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix RequestSpec.instance_group hydratation"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"A mistake was done by hydrating the members field for the InstanceGroup object when"},{"line_number":10,"context_line":"creating the RequestSpec object because that field is for getting the instances,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"da20952f_313e29b9","line":7,"range":{"start_line":7,"start_character":31,"end_line":7,"end_character":42},"updated":"2015-09-02 14:46:40.000000000","message":"Ooh, also this should be \"hydration\"","commit_id":"9321f4301379aab61a7e6723fe9d223c2d133073"}],"nova/objects/instance_group.py":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"81504da3a861e364953c27f9116f7a9a45343e6b","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        self.obj_reset_changes([\u0027hosts\u0027])"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    @base.remotable_classmethod"},{"line_number":96,"context_line":"    def get_by_uuid(cls, context, uuid):"},{"line_number":97,"context_line":"        db_inst \u003d db.instance_group_get(context, uuid)"},{"line_number":98,"context_line":"        return cls._from_db_object(context, cls(), db_inst)"},{"line_number":99,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da20952f_02b6393d","line":96,"updated":"2015-09-02 13:15:58.000000000","message":"should we support expected_attrs?","commit_id":"34ebe981f18e0c86f963f4a6615af995f4f68ffd"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"d5c7fbaba410df3e2bbebb83c38ef08b1f3f519b","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        self.obj_reset_changes([\u0027hosts\u0027])"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    @base.remotable_classmethod"},{"line_number":96,"context_line":"    def get_by_uuid(cls, context, uuid):"},{"line_number":97,"context_line":"        db_inst \u003d db.instance_group_get(context, uuid)"},{"line_number":98,"context_line":"        return cls._from_db_object(context, cls(), db_inst)"},{"line_number":99,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da20952f_6225b55a","line":96,"in_reply_to":"da20952f_02b6393d","updated":"2015-09-02 13:44:28.000000000","message":"No, it\u0027s not necessary if we leave the lazy-load since it\u0027s a not a DB SQLA FK that we wonder if we should pull or not","commit_id":"34ebe981f18e0c86f963f4a6615af995f4f68ffd"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"89e6210133a26bd74bf2c109ea8bdfdda424740e","unresolved":false,"context_lines":[{"line_number":131,"context_line":"        if not updates:"},{"line_number":132,"context_line":"            return"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        payload \u003d dict(updates)"},{"line_number":135,"context_line":"        payload[\u0027server_group_id\u0027] \u003d self.uuid"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"        db.instance_group_update(self._context, self.uuid, updates)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da20952f_2f0c8641","line":134,"updated":"2015-09-02 13:13:17.000000000","message":"I think I\u0027d prefer to be explicit and add this to here:\n\n # NOTE(bauzas): We do NOT save the set of compute nodes that an instance\n # group is connected to in this method. Instance groups are implicitly connected\n # to compute nodes when the InstanceGroup.add_members() method is called,\n # which adds the mapping table entries. Here, we are just being safe and ensuring\n # that we don\u0027t pass the hosts attribute to db.instance_group_update() below.\n updates.pop(\u0027hosts\u0027)","commit_id":"34ebe981f18e0c86f963f4a6615af995f4f68ffd"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"81504da3a861e364953c27f9116f7a9a45343e6b","unresolved":false,"context_lines":[{"line_number":131,"context_line":"        if not updates:"},{"line_number":132,"context_line":"            return"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        payload \u003d dict(updates)"},{"line_number":135,"context_line":"        payload[\u0027server_group_id\u0027] \u003d self.uuid"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"        db.instance_group_update(self._context, self.uuid, updates)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da20952f_02e4f938","line":134,"in_reply_to":"da20952f_2f0c8641","updated":"2015-09-02 13:15:58.000000000","message":"+1","commit_id":"34ebe981f18e0c86f963f4a6615af995f4f68ffd"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"fdc644cff285f42f508b3b677ea5f6198bbc98e5","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        \"\"\""},{"line_number":73,"context_line":"        # Most of the field names match right now, so be quick"},{"line_number":74,"context_line":"        for field in instance_group.fields:"},{"line_number":75,"context_line":"            if field in OPTIONAL_FIELDS:"},{"line_number":76,"context_line":"                continue"},{"line_number":77,"context_line":"            if field \u003d\u003d \u0027deleted\u0027:"},{"line_number":78,"context_line":"                instance_group.deleted \u003d db_inst[\u0027deleted\u0027] \u003d\u003d db_inst[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_004631bf","line":75,"updated":"2015-09-02 14:05:56.000000000","message":"Optional means (and is used in other objects to mean) that it may or may not be loaded, but isn\u0027t required. It be clearer to me here, if you either (a) actually made it optional or (b) called this LAZY_ONLY_FIELDS or something. I went looking for how I could opt-in to getting hosts back for some queries and didn\u0027t find any.","commit_id":"9321f4301379aab61a7e6723fe9d223c2d133073"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"fdc644cff285f42f508b3b677ea5f6198bbc98e5","unresolved":false,"context_lines":[{"line_number":135,"context_line":"        # InstanceGroup.add_members() method is called, which adds the mapping"},{"line_number":136,"context_line":"        # table entries. Here, we are just being safe and ensuring that we"},{"line_number":137,"context_line":"        # don\u0027t pass the hosts attribute to db.instance_group_update() below."},{"line_number":138,"context_line":"        updates.pop(\u0027hosts\u0027, None)"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"        if not updates:"},{"line_number":141,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_8002416e","line":138,"updated":"2015-09-02 14:05:56.000000000","message":"I actually think that it would be good to fail if they try. Just ignoring this will undoubtedly lead to someone mocking things out for a unit test and thinking that this works. Any reason *not* to do it?","commit_id":"9321f4301379aab61a7e6723fe9d223c2d133073"}],"nova/objects/request_spec.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"fdc644cff285f42f508b3b677ea5f6198bbc98e5","unresolved":false,"context_lines":[{"line_number":143,"context_line":"            policies \u003d list(filter_properties.get(\u0027group_policies\u0027))"},{"line_number":144,"context_line":"            hosts \u003d list(filter_properties.get(\u0027group_hosts\u0027))"},{"line_number":145,"context_line":"            self.instance_group \u003d objects.InstanceGroup(policies\u003dpolicies,"},{"line_number":146,"context_line":"                                                        hosts\u003dhosts)"},{"line_number":147,"context_line":"        else:"},{"line_number":148,"context_line":"            # Set the value anyway to avoid any call to obj_attr_is_set for it"},{"line_number":149,"context_line":"            self.instance_group \u003d None"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_e04d3dc5","line":146,"updated":"2015-09-02 14:05:56.000000000","message":"You should probably obj_reset_changes() on this object so that we don\u0027t try save these things, and because it\u0027s less RPC traffic to not send a list of changed fields that don\u0027t need to be tracked anyway.","commit_id":"9321f4301379aab61a7e6723fe9d223c2d133073"}],"nova/tests/unit/objects/test_instance_group.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"fdc644cff285f42f508b3b677ea5f6198bbc98e5","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        obj.hosts \u003d [\u0027fake-host1\u0027]"},{"line_number":111,"context_line":"        obj.save()"},{"line_number":112,"context_line":"        self.assertEqual([\u0027fake-host1\u0027], obj.hosts)"},{"line_number":113,"context_line":"        # since hosts is the only update, there is no actuall call"},{"line_number":114,"context_line":"        self.assertFalse(mock_db_update.called)"},{"line_number":115,"context_line":"        self.assertFalse(mock_notify.called)"},{"line_number":116,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_a0ed0590","line":113,"range":{"start_line":113,"start_character":60,"end_line":113,"end_character":61},"updated":"2015-09-02 14:05:56.000000000","message":"s/actuall/actual/ :)","commit_id":"9321f4301379aab61a7e6723fe9d223c2d133073"}]}
