)]}'
{"heat/engine/resources/user.py":[{"author":{"_account_id":7135,"name":"Liang Chen","email":"liangchen.linux@gmail.com","username":"Liang"},"change_message_id":"6886d8a87040a3e4660535fe2bb1ced4f66b5536","unresolved":false,"context_lines":[{"line_number":195,"context_line":"        # Store the secret key, encrypted, in the DB so we don\u0027t have lookup"},{"line_number":196,"context_line":"        # the user every time someone requests the SecretAccessKey attribute"},{"line_number":197,"context_line":"        db_api.resource_data_set(self, \u0027secret_key\u0027, kp.secret, redact\u003dTrue)"},{"line_number":198,"context_line":"        db_api.resource_data_set(self, \u0027credential_id\u0027, kp.id, redact\u003dTrue)"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"    def handle_delete(self):"},{"line_number":201,"context_line":"        self._secret \u003d None"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAVn%2F%2FYGQ%3D","line":198,"updated":"2014-03-06 14:36:37.000000000","message":"_create_keypair saves secret_key and credential_id as resource data. Do we need to override them here again?","commit_id":"36c8136fe85f115c8161e635bf7c17501c5d84df"},{"author":{"_account_id":7135,"name":"Liang Chen","email":"liangchen.linux@gmail.com","username":"Liang"},"change_message_id":"d8c09c1e7283f58ceb5ee7232f9bb0f48fea39ea","unresolved":false,"context_lines":[{"line_number":195,"context_line":"        # Store the secret key, encrypted, in the DB so we don\u0027t have lookup"},{"line_number":196,"context_line":"        # the user every time someone requests the SecretAccessKey attribute"},{"line_number":197,"context_line":"        db_api.resource_data_set(self, \u0027secret_key\u0027, kp.secret, redact\u003dTrue)"},{"line_number":198,"context_line":"        db_api.resource_data_set(self, \u0027credential_id\u0027, kp.id, redact\u003dTrue)"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"    def handle_delete(self):"},{"line_number":201,"context_line":"        self._secret \u003d None"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAVn%2F%2FN%2Fs%3D","line":198,"in_reply_to":"AAAAVn%2F%2FP1k%3D","updated":"2014-03-07 15:01:12.000000000","message":"Agree, it doesn\u0027t worth the effort just to reuse that little piece of data. Thanks for the explanation, as always ;)","commit_id":"36c8136fe85f115c8161e635bf7c17501c5d84df"},{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"7a6de2ca46ae1c2c298ac27a2d5c0dd8d45484f3","unresolved":false,"context_lines":[{"line_number":195,"context_line":"        # Store the secret key, encrypted, in the DB so we don\u0027t have lookup"},{"line_number":196,"context_line":"        # the user every time someone requests the SecretAccessKey attribute"},{"line_number":197,"context_line":"        db_api.resource_data_set(self, \u0027secret_key\u0027, kp.secret, redact\u003dTrue)"},{"line_number":198,"context_line":"        db_api.resource_data_set(self, \u0027credential_id\u0027, kp.id, redact\u003dTrue)"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"    def handle_delete(self):"},{"line_number":201,"context_line":"        self._secret \u003d None"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAVn%2F%2FP1k%3D","line":198,"in_reply_to":"AAAAVn%2F%2FYGQ%3D","updated":"2014-03-07 09:38:59.000000000","message":"As mentioned in the comment, the reason for this is to cache the data (which _create_keypair stores in the resource_data associated with the user, which we looked up via self._get_user() (create_keypair doesn\u0027t store anything in this, AccessKey, resource\u0027s data)\n\nMaybe it\u0027s not a worthwhile optimisation, but it saves us having to lookup the user resource by RefId in the stack every time someone requests the SecretAccessKey attribute, I guess in some situations this could provide performance advantages but I have no data to back that up ;)\n\nTo some extent this is just inherited from the previous implementation (where it definitely was worthwhile due to the expense of making a network request to keystone).  I don\u0027t think it\u0027s any problem to leave it like this, but happy to hear arguments to the contrary :)","commit_id":"36c8136fe85f115c8161e635bf7c17501c5d84df"}],"heat/tests/test_ceilometer_alarm.py":[{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"fc783db39a4be276dd1e826b38c01eb0a0069c43","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        stack_user.StackUser.keystone().MultipleTimes().AndReturn("},{"line_number":165,"context_line":"            self.fc)"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"#        self.m.StubOutWithMock(resource.Resource, \u0027keystone\u0027)"},{"line_number":168,"context_line":"#        resource.Resource.keystone().MultipleTimes().AndReturn("},{"line_number":169,"context_line":"#            self.fc)"},{"line_number":170,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAVn%2F%2F1BE%3D","line":167,"updated":"2014-03-03 22:20:15.000000000","message":"should probably remove this ;)","commit_id":"be3b14cf2e3b7876e5fbb90793b0d81e1ee20060"}]}
