)]}'
{"heat/engine/resources/volume.py":[{"author":{"_account_id":4257,"name":"Zane Bitter","email":"zbitter@redhat.com","username":"zaneb"},"change_message_id":"042bbb29cda56f43a6e540b272da38191191cacb","unresolved":false,"context_lines":[{"line_number":709,"context_line":"        props \u003d dict("},{"line_number":710,"context_line":"            (key, value) for (key, value) in"},{"line_number":711,"context_line":"            defn.properties(self.properties_schema).iteritems()"},{"line_number":712,"context_line":"            if value is not None)"},{"line_number":713,"context_line":"        props[self.BACKUP_ID] \u003d backup_id"},{"line_number":714,"context_line":"        for ignore in (self.IMAGE_REF, self.IMAGE, self.SOURCE_VOLID,"},{"line_number":715,"context_line":"                       self.SIZE):"}],"source_content_type":"text/x-python","patch_set":16,"id":"fa98f980_a4d26cce","line":712,"updated":"2014-09-15 20:05:08.000000000","message":"It seems like something along the lines of\n\n  if key not in ignore_props and value is not None)\n\nwould eliminate lines 714-716.","commit_id":"ee7711d21202481737a5ea7214276153cc4bbda1"},{"author":{"_account_id":7385,"name":"Thomas Herve","email":"therve@redhat.com","username":"therve"},"change_message_id":"87f18edf063550bb57be79dd85f5b36321e6420e","unresolved":false,"context_lines":[{"line_number":709,"context_line":"        props \u003d dict("},{"line_number":710,"context_line":"            (key, value) for (key, value) in"},{"line_number":711,"context_line":"            defn.properties(self.properties_schema).iteritems()"},{"line_number":712,"context_line":"            if value is not None)"},{"line_number":713,"context_line":"        props[self.BACKUP_ID] \u003d backup_id"},{"line_number":714,"context_line":"        for ignore in (self.IMAGE_REF, self.IMAGE, self.SOURCE_VOLID,"},{"line_number":715,"context_line":"                       self.SIZE):"}],"source_content_type":"text/x-python","patch_set":16,"id":"fa98f980_7a101400","line":712,"in_reply_to":"fa98f980_a4d26cce","updated":"2014-09-16 07:49:04.000000000","message":"Done","commit_id":"ee7711d21202481737a5ea7214276153cc4bbda1"}],"heat/engine/rsrc_defn.py":[{"author":{"_account_id":4257,"name":"Zane Bitter","email":"zbitter@redhat.com","username":"zaneb"},"change_message_id":"6312abc99d428007e4dadcd2f01c68ef552a057a","unresolved":false,"context_lines":[{"line_number":143,"context_line":"        return properties.Properties(schema, self._properties or {},"},{"line_number":144,"context_line":"                                     function.resolve, self.name, context)"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    def set_properties(self, props):"},{"line_number":147,"context_line":"        \"\"\""},{"line_number":148,"context_line":"        Update the properties of this resource definition."},{"line_number":149,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":14,"id":"fa98f980_d5b3dc97","line":146,"updated":"2014-09-12 12:17:25.000000000","message":"ResourceDefinition is immutable by design - it has a hash value based on the original properties. You might or might not be able to use the freeze() method here instead (I notice it\u0027s not actually present, which means this is way out of date and needs a rebase).","commit_id":"4bd0dc7825ad0708f65785dd1af3e95ca4958df3"},{"author":{"_account_id":7385,"name":"Thomas Herve","email":"therve@redhat.com","username":"therve"},"change_message_id":"b14c06a1b67c76ec3f80f1dc5e479c2b995edd0a","unresolved":false,"context_lines":[{"line_number":143,"context_line":"        return properties.Properties(schema, self._properties or {},"},{"line_number":144,"context_line":"                                     function.resolve, self.name, context)"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    def set_properties(self, props):"},{"line_number":147,"context_line":"        \"\"\""},{"line_number":148,"context_line":"        Update the properties of this resource definition."},{"line_number":149,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":14,"id":"fa98f980_a6a1ccf9","line":146,"in_reply_to":"fa98f980_d5b3dc97","updated":"2014-09-12 13:29:30.000000000","message":"Thanks for the suggestion, it does look much nicer.","commit_id":"4bd0dc7825ad0708f65785dd1af3e95ca4958df3"},{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"00e7e6b550c29f54210b6867d282beff9412af0d","unresolved":false,"context_lines":[{"line_number":147,"context_line":"        \"\"\""},{"line_number":148,"context_line":"        Update the properties of this resource definition."},{"line_number":149,"context_line":"        \"\"\""},{"line_number":150,"context_line":"        self._properties \u003d props"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"    def deletion_policy(self):"},{"line_number":153,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":14,"id":"1abeadc6_ebf1ba01","line":150,"updated":"2014-08-29 14:49:29.000000000","message":"Is this enough, now that the properties are stored in the DB?\n\nhttps://review.openstack.org/#/c/112930/4/heat/engine/resource.py","commit_id":"4bd0dc7825ad0708f65785dd1af3e95ca4958df3"},{"author":{"_account_id":7385,"name":"Thomas Herve","email":"therve@redhat.com","username":"therve"},"change_message_id":"db3e67e1dcfea3e761f7f20294e538c00748573c","unresolved":false,"context_lines":[{"line_number":147,"context_line":"        \"\"\""},{"line_number":148,"context_line":"        Update the properties of this resource definition."},{"line_number":149,"context_line":"        \"\"\""},{"line_number":150,"context_line":"        self._properties \u003d props"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"    def deletion_policy(self):"},{"line_number":153,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":14,"id":"fa98f980_3f0fc589","line":150,"in_reply_to":"1abeadc6_ebf1ba01","updated":"2014-09-11 15:50:05.000000000","message":"I don\u0027t think it\u0027s relevant here, as the resource definition exists outside of the lifecycle of a particular resource. Maybe I miss something though.","commit_id":"4bd0dc7825ad0708f65785dd1af3e95ca4958df3"},{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"41ae8bca3d8b0ff4ed208a2ff83c75f077e5fb09","unresolved":false,"context_lines":[{"line_number":147,"context_line":"        \"\"\""},{"line_number":148,"context_line":"        Update the properties of this resource definition."},{"line_number":149,"context_line":"        \"\"\""},{"line_number":150,"context_line":"        self._properties \u003d props"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"    def deletion_policy(self):"},{"line_number":153,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":14,"id":"fa98f980_945cfd7e","line":150,"in_reply_to":"fa98f980_3f0fc589","updated":"2014-09-12 08:08:34.000000000","message":"Ah, yes that makes sense, thanks.","commit_id":"4bd0dc7825ad0708f65785dd1af3e95ca4958df3"}],"heat/engine/stack.py":[{"author":{"_account_id":4257,"name":"Zane Bitter","email":"zbitter@redhat.com","username":"zaneb"},"change_message_id":"042bbb29cda56f43a6e540b272da38191191cacb","unresolved":false,"context_lines":[{"line_number":1016,"context_line":"            handle_restore \u003d getattr(rsrc, \u0027handle_restore\u0027, None)"},{"line_number":1017,"context_line":"            if callable(handle_restore):"},{"line_number":1018,"context_line":"                defn \u003d handle_restore(defn, data)"},{"line_number":1019,"context_line":"            tmpl.add_resource(defn, name)"},{"line_number":1020,"context_line":""},{"line_number":1021,"context_line":"        newstack \u003d self.__class__(self.context, self.name, tmpl, self.env,"},{"line_number":1022,"context_line":"                                  timeout_mins\u003dself.timeout_mins,"}],"source_content_type":"text/x-python","patch_set":16,"id":"fa98f980_049178f0","line":1019,"updated":"2014-09-15 20:05:08.000000000","message":"Because you used freeze(), these definitions will contain only values, _no_ intrinsic functions, so relationships between resources can be lost and parameter values are frozen in time.\n\nI don\u0027t yet understand enough to know whether that\u0027s a problem in this case or not. (It\u0027s a \u0027snapshot\u0027 restore, so maybe that\u0027s what you want??)","commit_id":"ee7711d21202481737a5ea7214276153cc4bbda1"},{"author":{"_account_id":7385,"name":"Thomas Herve","email":"therve@redhat.com","username":"therve"},"change_message_id":"87f18edf063550bb57be79dd85f5b36321e6420e","unresolved":false,"context_lines":[{"line_number":1016,"context_line":"            handle_restore \u003d getattr(rsrc, \u0027handle_restore\u0027, None)"},{"line_number":1017,"context_line":"            if callable(handle_restore):"},{"line_number":1018,"context_line":"                defn \u003d handle_restore(defn, data)"},{"line_number":1019,"context_line":"            tmpl.add_resource(defn, name)"},{"line_number":1020,"context_line":""},{"line_number":1021,"context_line":"        newstack \u003d self.__class__(self.context, self.name, tmpl, self.env,"},{"line_number":1022,"context_line":"                                  timeout_mins\u003dself.timeout_mins,"}],"source_content_type":"text/x-python","patch_set":16,"id":"fa98f980_1aa388b2","line":1019,"in_reply_to":"fa98f980_049178f0","updated":"2014-09-16 07:49:04.000000000","message":"I see. It\u0027s unclear what would the effect would be, but it was certainly not my intent. Do you think it\u0027s worth adding a new method to override resource definition properties?","commit_id":"ee7711d21202481737a5ea7214276153cc4bbda1"},{"author":{"_account_id":4257,"name":"Zane Bitter","email":"zbitter@redhat.com","username":"zaneb"},"change_message_id":"042bbb29cda56f43a6e540b272da38191191cacb","unresolved":false,"context_lines":[{"line_number":1018,"context_line":"                defn \u003d handle_restore(defn, data)"},{"line_number":1019,"context_line":"            tmpl.add_resource(defn, name)"},{"line_number":1020,"context_line":""},{"line_number":1021,"context_line":"        newstack \u003d self.__class__(self.context, self.name, tmpl, self.env,"},{"line_number":1022,"context_line":"                                  timeout_mins\u003dself.timeout_mins,"},{"line_number":1023,"context_line":"                                  disable_rollback\u003dself.disable_rollback)"},{"line_number":1024,"context_line":"        newstack.parameters.set_stack_id(self.identifier())"}],"source_content_type":"text/x-python","patch_set":16,"id":"fa98f980_04a8981e","line":1021,"updated":"2014-09-15 20:05:08.000000000","message":"Always prefer type(self) to self.__class__","commit_id":"ee7711d21202481737a5ea7214276153cc4bbda1"},{"author":{"_account_id":7385,"name":"Thomas Herve","email":"therve@redhat.com","username":"therve"},"change_message_id":"87f18edf063550bb57be79dd85f5b36321e6420e","unresolved":false,"context_lines":[{"line_number":1018,"context_line":"                defn \u003d handle_restore(defn, data)"},{"line_number":1019,"context_line":"            tmpl.add_resource(defn, name)"},{"line_number":1020,"context_line":""},{"line_number":1021,"context_line":"        newstack \u003d self.__class__(self.context, self.name, tmpl, self.env,"},{"line_number":1022,"context_line":"                                  timeout_mins\u003dself.timeout_mins,"},{"line_number":1023,"context_line":"                                  disable_rollback\u003dself.disable_rollback)"},{"line_number":1024,"context_line":"        newstack.parameters.set_stack_id(self.identifier())"}],"source_content_type":"text/x-python","patch_set":16,"id":"fa98f980_fae964e3","line":1021,"in_reply_to":"fa98f980_04a8981e","updated":"2014-09-16 07:49:04.000000000","message":"Why\u0027s that? self.__class__ has the benefit of working with old style class, is it just a styling issue?","commit_id":"ee7711d21202481737a5ea7214276153cc4bbda1"},{"author":{"_account_id":4257,"name":"Zane Bitter","email":"zbitter@redhat.com","username":"zaneb"},"change_message_id":"042bbb29cda56f43a6e540b272da38191191cacb","unresolved":false,"context_lines":[{"line_number":1092,"context_line":"            \u0027id\u0027: self.id,"},{"line_number":1093,"context_line":"            \u0027action\u0027: self.action,"},{"line_number":1094,"context_line":"            \u0027status\u0027: self.status,"},{"line_number":1095,"context_line":"            \u0027template\u0027: copy.deepcopy(self.t.t),"},{"line_number":1096,"context_line":"            \u0027resources\u0027: dict((res.name, res.prepare_abandon())"},{"line_number":1097,"context_line":"                              for res in self.resources.values()),"},{"line_number":1098,"context_line":"            \u0027project_id\u0027: self.tenant_id,"}],"source_content_type":"text/x-python","patch_set":16,"id":"fa98f980_247afcb9","line":1095,"updated":"2014-09-15 20:05:08.000000000","message":"If this is causing a problem in the unit tests, it seems like that\u0027s a problem with the unit tests.","commit_id":"ee7711d21202481737a5ea7214276153cc4bbda1"},{"author":{"_account_id":7385,"name":"Thomas Herve","email":"therve@redhat.com","username":"therve"},"change_message_id":"87f18edf063550bb57be79dd85f5b36321e6420e","unresolved":false,"context_lines":[{"line_number":1092,"context_line":"            \u0027id\u0027: self.id,"},{"line_number":1093,"context_line":"            \u0027action\u0027: self.action,"},{"line_number":1094,"context_line":"            \u0027status\u0027: self.status,"},{"line_number":1095,"context_line":"            \u0027template\u0027: copy.deepcopy(self.t.t),"},{"line_number":1096,"context_line":"            \u0027resources\u0027: dict((res.name, res.prepare_abandon())"},{"line_number":1097,"context_line":"                              for res in self.resources.values()),"},{"line_number":1098,"context_line":"            \u0027project_id\u0027: self.tenant_id,"}],"source_content_type":"text/x-python","patch_set":16,"id":"fa98f980_fa4164a6","line":1095,"in_reply_to":"fa98f980_247afcb9","updated":"2014-09-16 07:49:04.000000000","message":"You\u0027re right, I\u0027ve fixed the issue in the test.","commit_id":"ee7711d21202481737a5ea7214276153cc4bbda1"}]}
