)]}'
{"releasenotes/notes/move-attr-decorator-to-lib-a1e80c42ba9c5392.yaml":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"4537732ea54027799a895cca7782e8e28f7dcd65","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"upgrade:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The ``attr`` decorator from ``tempest.test`` has been moved to"},{"line_number":5,"context_line":"    ``tempest.lib.decorators``. Though backward compatibility has been"},{"line_number":6,"context_line":"    preserved, you should use ``tempest.lib.decorators.attr`` instead of"},{"line_number":7,"context_line":"    ``tempest.test.attr``."},{"line_number":8,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":3,"id":"7ffa3b31_c5a7c94f","line":7,"range":{"start_line":2,"start_character":0,"end_line":7,"end_character":26},"updated":"2017-04-14 03:25:11.000000000","message":"new feature reno like you did for related_bug","commit_id":"a63c0c5e0bf51c23b4868dad227767a700d6c87b"}],"tempest/lib/common/cred_client.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d2126ad2b3eeb826c4ad3b541507aad6e9c81336","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        :param password: the password as a string"},{"line_number":92,"context_line":"        :return: a Credentials object with all the available credential details"},{"line_number":93,"context_line":"        \"\"\""},{"line_number":94,"context_line":"        pass"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    def _list_roles(self):"},{"line_number":97,"context_line":"        roles \u003d self.roles_client.list_roles()[\u0027roles\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"9ff52f3f_2ed537ba","side":"PARENT","line":94,"range":{"start_line":94,"start_character":0,"end_line":94,"end_character":12},"updated":"2017-04-13 02:33:06.000000000","message":"why changing this in this patch","commit_id":"ed072da51e811ac4e4ceef870ffd519277c218f9"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"cf3b908330052bcd24733b8b5294f58146ac34ec","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        :param password: the password as a string"},{"line_number":92,"context_line":"        :return: a Credentials object with all the available credential details"},{"line_number":93,"context_line":"        \"\"\""},{"line_number":94,"context_line":"        pass"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    def _list_roles(self):"},{"line_number":97,"context_line":"        roles \u003d self.roles_client.list_roles()[\u0027roles\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"9ff52f3f_2e71b7e1","side":"PARENT","line":94,"updated":"2017-04-13 02:36:29.000000000","message":"yeah, +1 for Ghanshyam","commit_id":"ed072da51e811ac4e4ceef870ffd519277c218f9"}],"tempest/test.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d2126ad2b3eeb826c4ad3b541507aad6e9c81336","unresolved":false,"context_lines":[{"line_number":380,"context_line":"        # TODO(andreaf) There is a fair amount of code that could me moved from"},{"line_number":381,"context_line":"        # base / test classes in here. Ideally tests should be able to only"},{"line_number":382,"context_line":"        # specify which client is `client` and nothing else."},{"line_number":383,"context_line":"        pass"},{"line_number":384,"context_line":""},{"line_number":385,"context_line":"    @classmethod"},{"line_number":386,"context_line":"    def resource_setup(cls):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9ff52f3f_8e61e33c","side":"PARENT","line":383,"range":{"start_line":383,"start_character":0,"end_line":383,"end_character":12},"updated":"2017-04-13 02:33:06.000000000","message":"why are you changing this :) in this patch","commit_id":"ed072da51e811ac4e4ceef870ffd519277c218f9"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"8ae11295eb6306446a0eac5f858cd360e1889969","unresolved":false,"context_lines":[{"line_number":380,"context_line":"        # TODO(andreaf) There is a fair amount of code that could me moved from"},{"line_number":381,"context_line":"        # base / test classes in here. Ideally tests should be able to only"},{"line_number":382,"context_line":"        # specify which client is `client` and nothing else."},{"line_number":383,"context_line":"        pass"},{"line_number":384,"context_line":""},{"line_number":385,"context_line":"    @classmethod"},{"line_number":386,"context_line":"    def resource_setup(cls):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9ff52f3f_a136f5b3","side":"PARENT","line":383,"range":{"start_line":383,"start_character":0,"end_line":383,"end_character":12},"in_reply_to":"9ff52f3f_8e61e33c","updated":"2017-04-13 08:23:32.000000000","message":"My stupid editor... sorry about that.","commit_id":"ed072da51e811ac4e4ceef870ffd519277c218f9"}],"tempest/tests/test_decorators.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d2126ad2b3eeb826c4ad3b541507aad6e9c81336","unresolved":false,"context_lines":[{"line_number":36,"context_line":"class TestIdempotentIdDecorator(BaseDecoratorsTest):"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def _test_helper(self, _id, **decorator_args):"},{"line_number":39,"context_line":"        @decorators.idempotent_id(_id)"},{"line_number":40,"context_line":"        def foo():"},{"line_number":41,"context_line":"            \"\"\"Docstring\"\"\""},{"line_number":42,"context_line":"            pass"}],"source_content_type":"text/x-python","patch_set":2,"id":"9ff52f3f_4ee99b7e","line":39,"range":{"start_line":39,"start_character":9,"end_line":39,"end_character":19},"updated":"2017-04-13 02:33:06.000000000","message":"ditto","commit_id":"7778ecd1a6529ec2b33b98b98acae5709a296ade"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"8ae11295eb6306446a0eac5f858cd360e1889969","unresolved":false,"context_lines":[{"line_number":36,"context_line":"class TestIdempotentIdDecorator(BaseDecoratorsTest):"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def _test_helper(self, _id, **decorator_args):"},{"line_number":39,"context_line":"        @decorators.idempotent_id(_id)"},{"line_number":40,"context_line":"        def foo():"},{"line_number":41,"context_line":"            \"\"\"Docstring\"\"\""},{"line_number":42,"context_line":"            pass"}],"source_content_type":"text/x-python","patch_set":2,"id":"9ff52f3f_e153dde1","line":39,"range":{"start_line":39,"start_character":9,"end_line":39,"end_character":19},"in_reply_to":"9ff52f3f_4ee99b7e","updated":"2017-04-13 08:23:32.000000000","message":"That\u0027s needed somehow to avoid a deprecation warning. I think it was forgotten in the patch that moved the idempotent_id to tempest/lib.","commit_id":"7778ecd1a6529ec2b33b98b98acae5709a296ade"}]}
