)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"4b46ceaf21fc7148687f97fa37dfb605b44c65ea","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Nikola Dipanov \u003cndipanov@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-08-31 20:51:04 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Claims: Make sure move claims crate a migration context records"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This way we will be able to keep track of the resources that were"},{"line_number":10,"context_line":"actually claimed for those resources (such as NUMA topology) which are"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"da20952f_b47b70bd","line":7,"range":{"start_line":7,"start_character":30,"end_line":7,"end_character":35},"updated":"2015-08-31 19:57:52.000000000","message":"s/crate/create/","commit_id":"20efa017dd66ba16f116671f01613eb1c6ed49ce"}],"nova/compute/claims.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"b5df091528433694e0968d471654b36267434d43","unresolved":false,"context_lines":[{"line_number":315,"context_line":""},{"line_number":316,"context_line":"    def create_migration_context(self, migration\u003dNone):"},{"line_number":317,"context_line":"        migration \u003d self.migration or migration"},{"line_number":318,"context_line":"        self.migration \u003d migration"},{"line_number":319,"context_line":"        if not migration:"},{"line_number":320,"context_line":"            LOG.warn(_LW(\"Can\u0027t create a migration_context record without a \""},{"line_number":321,"context_line":"                         \"migration object specified.\"))"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_2db8452a","line":318,"updated":"2015-09-01 15:03:38.000000000","message":"nit: a one-liner was enough like :\n\n  self.migration \u003d self.migration if self.migration else migration\n\nbut that\u0027s okay","commit_id":"bf964a1c4d8dc8ba76d11d4c4a9823b34ba0f405"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"d7f96a47dc2273cf19f508b904cfd85d0ab19267","unresolved":false,"context_lines":[{"line_number":317,"context_line":"        migration \u003d self.migration or migration"},{"line_number":318,"context_line":"        self.migration \u003d migration"},{"line_number":319,"context_line":"        if not migration:"},{"line_number":320,"context_line":"            LOG.warn(_LW(\"Can\u0027t create a migration_context record without a \""},{"line_number":321,"context_line":"                         \"migration object specified.\"))"},{"line_number":322,"context_line":"            return"},{"line_number":323,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_37948a41","line":320,"updated":"2015-09-04 02:38:12.000000000","message":"We\u0027re in string freeze now, so we can\u0027t add new untranslated strings, as I understand it.","commit_id":"d70a8855b5e063b50aa36b27b5809a73bf3233f0"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"03b8b01b67ea9de30ca3bc2206617c1a54ec479e","unresolved":false,"context_lines":[{"line_number":317,"context_line":"        migration \u003d self.migration or migration"},{"line_number":318,"context_line":"        self.migration \u003d migration"},{"line_number":319,"context_line":"        if not migration:"},{"line_number":320,"context_line":"            LOG.warn(_LW(\"Can\u0027t create a migration_context record without a \""},{"line_number":321,"context_line":"                         \"migration object specified.\"))"},{"line_number":322,"context_line":"            return"},{"line_number":323,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_909157f4","line":320,"in_reply_to":"da20952f_148b7769","updated":"2015-09-08 17:49:42.000000000","message":"The translating logs ship has sailed, unfortunately.","commit_id":"d70a8855b5e063b50aa36b27b5809a73bf3233f0"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"3ca7a0a05178a1e48633779faf79f8dd12ad6914","unresolved":false,"context_lines":[{"line_number":317,"context_line":"        migration \u003d self.migration or migration"},{"line_number":318,"context_line":"        self.migration \u003d migration"},{"line_number":319,"context_line":"        if not migration:"},{"line_number":320,"context_line":"            LOG.warn(_LW(\"Can\u0027t create a migration_context record without a \""},{"line_number":321,"context_line":"                         \"migration object specified.\"))"},{"line_number":322,"context_line":"            return"},{"line_number":323,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_148b7769","line":320,"in_reply_to":"da20952f_37948a41","updated":"2015-09-04 10:51:26.000000000","message":"yeah I guess so... tbh I find it a bit weird that we translate stuff that will end up in logs. Will move this to a debug for now, and add a fixme I guess. No point in holding up useful bugfixes over a triviality like this","commit_id":"d70a8855b5e063b50aa36b27b5809a73bf3233f0"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"2a6a7b7338c41401bb4c283ad65638ca16e29255","unresolved":false,"context_lines":[{"line_number":314,"context_line":"            image_meta\u003dself.image_meta)"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"    def create_migration_context(self, migration\u003dNone):"},{"line_number":317,"context_line":"        migration \u003d self.migration or migration"},{"line_number":318,"context_line":"        self.migration \u003d migration"},{"line_number":319,"context_line":"        if not migration:"},{"line_number":320,"context_line":"            # FIXME(ndipanov): Move this to a LOG.warn once Mitaka opens up"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba15a1d1_0ad2c4d2","line":317,"updated":"2015-09-15 09:46:12.000000000","message":"should it not be the reverse really, use what is passed in, or default to the internal migration?\n\nmaybe we could just drop the default argument here?","commit_id":"11dace44893261d8e0909f0c6ae25f5bcb3632b3"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"301f573a473b61372974585e0ef4bb2c5ebe8fe2","unresolved":false,"context_lines":[{"line_number":314,"context_line":"            image_meta\u003dself.image_meta)"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"    def create_migration_context(self, migration\u003dNone):"},{"line_number":317,"context_line":"        migration \u003d self.migration or migration"},{"line_number":318,"context_line":"        self.migration \u003d migration"},{"line_number":319,"context_line":"        if not migration:"},{"line_number":320,"context_line":"            # FIXME(ndipanov): Move this to a LOG.warn once Mitaka opens up"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba15a1d1_11f433f0","line":317,"in_reply_to":"ba15a1d1_0ad2c4d2","updated":"2015-09-15 11:12:00.000000000","message":"yeah probably best to drop it.","commit_id":"11dace44893261d8e0909f0c6ae25f5bcb3632b3"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"2a6a7b7338c41401bb4c283ad65638ca16e29255","unresolved":false,"context_lines":[{"line_number":317,"context_line":"        migration \u003d self.migration or migration"},{"line_number":318,"context_line":"        self.migration \u003d migration"},{"line_number":319,"context_line":"        if not migration:"},{"line_number":320,"context_line":"            # FIXME(ndipanov): Move this to a LOG.warn once Mitaka opens up"},{"line_number":321,"context_line":"            LOG.debug(\"Can\u0027t create a migration_context record without a \""},{"line_number":322,"context_line":"                      \"migration object specified.\")"},{"line_number":323,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba15a1d1_0a9ac463","line":320,"updated":"2015-09-15 09:46:12.000000000","message":"I have renegotiated the string freeze, so we can do that now.","commit_id":"11dace44893261d8e0909f0c6ae25f5bcb3632b3"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"301f573a473b61372974585e0ef4bb2c5ebe8fe2","unresolved":false,"context_lines":[{"line_number":317,"context_line":"        migration \u003d self.migration or migration"},{"line_number":318,"context_line":"        self.migration \u003d migration"},{"line_number":319,"context_line":"        if not migration:"},{"line_number":320,"context_line":"            # FIXME(ndipanov): Move this to a LOG.warn once Mitaka opens up"},{"line_number":321,"context_line":"            LOG.debug(\"Can\u0027t create a migration_context record without a \""},{"line_number":322,"context_line":"                      \"migration object specified.\")"},{"line_number":323,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba15a1d1_d6147145","line":320,"in_reply_to":"ba15a1d1_0a9ac463","updated":"2015-09-15 11:12:00.000000000","message":"Cool! Will revert","commit_id":"11dace44893261d8e0909f0c6ae25f5bcb3632b3"}],"nova/compute/resource_tracker.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"2a6a7b7338c41401bb4c283ad65638ca16e29255","unresolved":false,"context_lines":[{"line_number":341,"context_line":"                ctxt \u003d context.elevated()"},{"line_number":342,"context_line":"                self._update(ctxt)"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"            instance.drop_migration_context()"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"    @utils.synchronized(COMPUTE_RESOURCE_SEMAPHORE)"},{"line_number":347,"context_line":"    def update_usage(self, context, instance):"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba15a1d1_ea3bd036","line":344,"updated":"2015-09-15 09:46:12.000000000","message":"It seems odd not to see instance.save() here, but after digging I see thats not required here. So I guess this is correct.","commit_id":"11dace44893261d8e0909f0c6ae25f5bcb3632b3"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"ac69ee61524a502d7a725ab88a0fb1b50aa5a645","unresolved":false,"context_lines":[{"line_number":341,"context_line":"                ctxt \u003d context.elevated()"},{"line_number":342,"context_line":"                self._update(ctxt)"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"            instance.drop_migration_context()"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"    @utils.synchronized(COMPUTE_RESOURCE_SEMAPHORE)"},{"line_number":347,"context_line":"    def update_usage(self, context, instance):"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba15a1d1_159f3cb5","line":344,"in_reply_to":"ba15a1d1_369dad59","updated":"2015-09-15 12:14:34.000000000","message":"unsure.\n\nI wonder if drop should just change the object, and save() would do the actual drop.\n\nSo honestly, its OK, lets revisit it later.","commit_id":"11dace44893261d8e0909f0c6ae25f5bcb3632b3"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"301f573a473b61372974585e0ef4bb2c5ebe8fe2","unresolved":false,"context_lines":[{"line_number":341,"context_line":"                ctxt \u003d context.elevated()"},{"line_number":342,"context_line":"                self._update(ctxt)"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"            instance.drop_migration_context()"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"    @utils.synchronized(COMPUTE_RESOURCE_SEMAPHORE)"},{"line_number":347,"context_line":"    def update_usage(self, context, instance):"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba15a1d1_369dad59","line":344,"in_reply_to":"ba15a1d1_ea3bd036","updated":"2015-09-15 11:12:00.000000000","message":"right so I thought about the fact that create_context() is on the claim object and drop_context() is on the instance object, and even though it seems random, it makes sense seeing how long each objects (not their respective DB updates) live.\n\nOne option I considered was to have the create_migration_context(claim) method on the instance, but that seemed to cause a bit more coupling for not much gain. Would you prefer that?","commit_id":"11dace44893261d8e0909f0c6ae25f5bcb3632b3"}]}
