)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"29ba2b4a709ce74f930b7c9ce2b47fd86e6e75e8","unresolved":false,"context_lines":[{"line_number":15,"context_line":"inspect hardware action."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: Ic2bb16a2deb02054b4fca795d431c965e30a246f"},{"line_number":18,"context_line":"Close-Bug: #1560264"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"fa0719c6_c4fae274","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":9},"updated":"2016-03-23 08:53:48.000000000","message":"s/Close-Bug/Closes-Bug","commit_id":"e275a45f7ce3cf00ca9321b7744505d92a1c3def"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"d24917786d5d1eb7bc489c69a0127f5bc5bdbcf0","unresolved":false,"context_lines":[{"line_number":15,"context_line":"inspect hardware action."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: Ic2bb16a2deb02054b4fca795d431c965e30a246f"},{"line_number":18,"context_line":"Close-Bug: #1560264"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"fa0719c6_e7f72557","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":9},"in_reply_to":"fa0719c6_c4fae274","updated":"2016-03-23 09:46:23.000000000","message":"Done","commit_id":"e275a45f7ce3cf00ca9321b7744505d92a1c3def"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"153a016aa973c448b86ea22a0768a908f2245147","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Adopt Ironic\u0027s own context in Ironic and add tests."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Refactor ensure_thread_contain_context to Ironic\u0027s own context class,"},{"line_number":12,"context_line":"this will be more generical and not bind to TaskManager anymore."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Explicitly call ensure_thread_contain_context() in Inspector driver for"},{"line_number":15,"context_line":"inspect hardware action."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"5a18252c_59c5488c","line":12,"range":{"start_line":12,"start_character":18,"end_line":12,"end_character":27},"updated":"2016-04-13 13:45:05.000000000","message":"nit s/generical/generic/","commit_id":"0607226fc4b4bc3c9e1738dc3f78ed99e5d4f13d"}],"ironic/common/context.py":[{"author":{"_account_id":6610,"name":"Zhenguo Niu","email":"Niu.ZGlinux@gmail.com","username":"niu-zglinux"},"change_message_id":"9394b9f50bbe3978cec5b76a82abfdad5205256e","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        :param is_public_api: Specifies whether the request should be processed"},{"line_number":31,"context_line":"                              without authentication."},{"line_number":32,"context_line":"        :param roles: List of user\u0027s roles if any."},{"line_number":33,"context_line":"        :param show_password: Specifies whether passwords should be masked"},{"line_number":34,"context_line":"                              before sending back to API call."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"fa0719c6_21101701","line":33,"range":{"start_line":33,"start_character":9,"end_line":33,"end_character":28},"updated":"2016-03-22 16:06:33.000000000","message":"nit: add param overwrite","commit_id":"17e558b7941ec5ab4ac7f2906d6c2bc5976ad93c"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"8a676155bfa40645b30c655c1a9336fd96c8d0ba","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        :param is_public_api: Specifies whether the request should be processed"},{"line_number":31,"context_line":"                              without authentication."},{"line_number":32,"context_line":"        :param roles: List of user\u0027s roles if any."},{"line_number":33,"context_line":"        :param show_password: Specifies whether passwords should be masked"},{"line_number":34,"context_line":"                              before sending back to API call."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"fa0719c6_07f4e783","line":33,"range":{"start_line":33,"start_character":9,"end_line":33,"end_character":28},"in_reply_to":"fa0719c6_21101701","updated":"2016-03-23 02:08:13.000000000","message":"overwrite and resouce_uuid are not additional request parameters, so I don\u0027t think we need to add them here. See L26","commit_id":"17e558b7941ec5ab4ac7f2906d6c2bc5976ad93c"},{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"29ba2b4a709ce74f930b7c9ce2b47fd86e6e75e8","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        # value here once the minimum version of oslo.context is updated."},{"line_number":52,"context_line":"        self.roles \u003d roles or []"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def to_dict(self):"},{"line_number":55,"context_line":"        return {\u0027auth_token\u0027: self.auth_token,"},{"line_number":56,"context_line":"                \u0027user\u0027: self.user,"},{"line_number":57,"context_line":"                \u0027tenant\u0027: self.tenant,"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa0719c6_9f1f9707","line":54,"range":{"start_line":54,"start_character":8,"end_line":54,"end_character":15},"updated":"2016-03-23 08:53:48.000000000","message":"Why does dict filled manually here? Should we call base to_dict instead?","commit_id":"e275a45f7ce3cf00ca9321b7744505d92a1c3def"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"9f2c3ad86bae5d6a45877df6ac0dce96c3a8f46f","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        # value here once the minimum version of oslo.context is updated."},{"line_number":52,"context_line":"        self.roles \u003d roles or []"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def to_dict(self):"},{"line_number":55,"context_line":"        return {\u0027auth_token\u0027: self.auth_token,"},{"line_number":56,"context_line":"                \u0027user\u0027: self.user,"},{"line_number":57,"context_line":"                \u0027tenant\u0027: self.tenant,"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa0719c6_1ed7ffed","line":54,"range":{"start_line":54,"start_character":8,"end_line":54,"end_character":15},"in_reply_to":"fa0719c6_1868b786","updated":"2016-03-23 11:52:45.000000000","message":"I\u0027ve posted a change regarding this - https://review.openstack.org/#/c/295371/1, there are some inconsistencies between ironic context and oslo context as it seems that domains were added to oslo after this class was added to ironic. It needs to be further investigates as there might be some issues with backwards compatibility.","commit_id":"e275a45f7ce3cf00ca9321b7744505d92a1c3def"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"1c5fbc5ac8ba20dfd4305a1d26520ec7aa777c37","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        # value here once the minimum version of oslo.context is updated."},{"line_number":52,"context_line":"        self.roles \u003d roles or []"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def to_dict(self):"},{"line_number":55,"context_line":"        return {\u0027auth_token\u0027: self.auth_token,"},{"line_number":56,"context_line":"                \u0027user\u0027: self.user,"},{"line_number":57,"context_line":"                \u0027tenant\u0027: self.tenant,"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa0719c6_4c1d1b65","line":54,"range":{"start_line":54,"start_character":8,"end_line":54,"end_character":15},"in_reply_to":"fa0719c6_1ed7ffed","updated":"2016-03-24 06:04:26.000000000","message":"Yes, you are right about this Vdrok. We should be careful for the backward capability. But I think this is out of the scope of the patch and let\u0027s discuss within your patch. At least, adopt ironic\u0027s context for conductor won\u0027t hurt anyway.","commit_id":"e275a45f7ce3cf00ca9321b7744505d92a1c3def"},{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"4f0b4860b2fbe915cbcae103e50e1975eede7851","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        # value here once the minimum version of oslo.context is updated."},{"line_number":52,"context_line":"        self.roles \u003d roles or []"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def to_dict(self):"},{"line_number":55,"context_line":"        return {\u0027auth_token\u0027: self.auth_token,"},{"line_number":56,"context_line":"                \u0027user\u0027: self.user,"},{"line_number":57,"context_line":"                \u0027tenant\u0027: self.tenant,"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa0719c6_ad02ee07","line":54,"range":{"start_line":54,"start_character":8,"end_line":54,"end_character":15},"in_reply_to":"fa0719c6_4c1d1b65","updated":"2016-03-24 09:03:40.000000000","message":"Vladyslav, thanks for clarification","commit_id":"e275a45f7ce3cf00ca9321b7744505d92a1c3def"},{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"2ced4685a091f2373b4ab95f073759606b2f8286","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        # value here once the minimum version of oslo.context is updated."},{"line_number":52,"context_line":"        self.roles \u003d roles or []"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def to_dict(self):"},{"line_number":55,"context_line":"        return {\u0027auth_token\u0027: self.auth_token,"},{"line_number":56,"context_line":"                \u0027user\u0027: self.user,"},{"line_number":57,"context_line":"                \u0027tenant\u0027: self.tenant,"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa0719c6_1868b786","line":54,"range":{"start_line":54,"start_character":8,"end_line":54,"end_character":15},"in_reply_to":"fa0719c6_65df8d0d","updated":"2016-03-23 11:13:45.000000000","message":"I mean except ironic specific, it doesn\u0027t clear why not using them.\n\nAnd why \u0027user_identity\u0027 is more complex than adding ironic specific args(also looks like they are not so specific)?","commit_id":"e275a45f7ce3cf00ca9321b7744505d92a1c3def"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"d24917786d5d1eb7bc489c69a0127f5bc5bdbcf0","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        # value here once the minimum version of oslo.context is updated."},{"line_number":52,"context_line":"        self.roles \u003d roles or []"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def to_dict(self):"},{"line_number":55,"context_line":"        return {\u0027auth_token\u0027: self.auth_token,"},{"line_number":56,"context_line":"                \u0027user\u0027: self.user,"},{"line_number":57,"context_line":"                \u0027tenant\u0027: self.tenant,"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa0719c6_a7252d0a","line":54,"range":{"start_line":54,"start_character":8,"end_line":54,"end_character":15},"in_reply_to":"fa0719c6_9f1f9707","updated":"2016-03-23 09:46:23.000000000","message":"It is possible, but we need to delete some values from the base and add other values. It doesn\u0027t looks well from my personal opinion. But anyway, we can discuss this later. In this patch, I prefer to leave it untouched. WDYT","commit_id":"e275a45f7ce3cf00ca9321b7744505d92a1c3def"},{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"41dd5775c3d122a4a9a8998397d47ea0699ecbd9","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        # value here once the minimum version of oslo.context is updated."},{"line_number":52,"context_line":"        self.roles \u003d roles or []"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def to_dict(self):"},{"line_number":55,"context_line":"        return {\u0027auth_token\u0027: self.auth_token,"},{"line_number":56,"context_line":"                \u0027user\u0027: self.user,"},{"line_number":57,"context_line":"                \u0027tenant\u0027: self.tenant,"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa0719c6_ca9828c3","line":54,"range":{"start_line":54,"start_character":8,"end_line":54,"end_character":15},"in_reply_to":"fa0719c6_a7252d0a","updated":"2016-03-23 09:48:04.000000000","message":"np, could you elaborate what values and why?","commit_id":"e275a45f7ce3cf00ca9321b7744505d92a1c3def"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"3cdd9f30975d992d4fa76669de2ccef6177a8381","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        # value here once the minimum version of oslo.context is updated."},{"line_number":52,"context_line":"        self.roles \u003d roles or []"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def to_dict(self):"},{"line_number":55,"context_line":"        return {\u0027auth_token\u0027: self.auth_token,"},{"line_number":56,"context_line":"                \u0027user\u0027: self.user,"},{"line_number":57,"context_line":"                \u0027tenant\u0027: self.tenant,"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa0719c6_65df8d0d","line":54,"range":{"start_line":54,"start_character":8,"end_line":54,"end_character":15},"in_reply_to":"fa0719c6_ca9828c3","updated":"2016-03-23 10:11:26.000000000","message":"\u0027is_public_api\u0027/\u0027domain_id\u0027/\u0027domain_name\u0027/\u0027show_password\u0027 are Ironic unique values and the base has an extra complex \u0027user_identity\u0027 value.","commit_id":"e275a45f7ce3cf00ca9321b7744505d92a1c3def"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"527e723f9e20ba132a208bf4cb165d27b53e04fa","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        :param roles: List of user\u0027s roles if any."},{"line_number":33,"context_line":"        :param show_password: Specifies whether passwords should be masked"},{"line_number":34,"context_line":"                              before sending back to API call."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        \"\"\""},{"line_number":37,"context_line":"        super(RequestContext, self).__init__(auth_token\u003dauth_token,"},{"line_number":38,"context_line":"                                             user\u003duser, tenant\u003dtenant,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba0121b8_bac5508f","line":35,"updated":"2016-03-30 14:53:18.000000000","message":"Please add new parameters descriptions to docstring.","commit_id":"23c0eb10ddf244990743860d158df8360465793e"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"34b3d58dd6f5c060bff6c56977f28a05e272cb29","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        :param roles: List of user\u0027s roles if any."},{"line_number":33,"context_line":"        :param show_password: Specifies whether passwords should be masked"},{"line_number":34,"context_line":"                              before sending back to API call."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        \"\"\""},{"line_number":37,"context_line":"        super(RequestContext, self).__init__(auth_token\u003dauth_token,"},{"line_number":38,"context_line":"                                             user\u003duser, tenant\u003dtenant,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba0121b8_2d128957","line":35,"in_reply_to":"ba0121b8_1757d958","updated":"2016-03-31 07:39:04.000000000","message":"Yes, IMO better change \":\" to \".\" in l 26 and to list all, explain in new parameter descriptions that they are not request params.","commit_id":"23c0eb10ddf244990743860d158df8360465793e"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"a1b1d7c996d26f1164938d0c21e84ac1e4544071","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        :param roles: List of user\u0027s roles if any."},{"line_number":33,"context_line":"        :param show_password: Specifies whether passwords should be masked"},{"line_number":34,"context_line":"                              before sending back to API call."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        \"\"\""},{"line_number":37,"context_line":"        super(RequestContext, self).__init__(auth_token\u003dauth_token,"},{"line_number":38,"context_line":"                                             user\u003duser, tenant\u003dtenant,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba0121b8_847a8786","line":35,"in_reply_to":"ba0121b8_2d128957","updated":"2016-03-31 10:50:14.000000000","message":"+1 to Yuriy comment.","commit_id":"23c0eb10ddf244990743860d158df8360465793e"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"4eb535225943971b1dcf2f9e156d12b9a9b2aeff","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        :param roles: List of user\u0027s roles if any."},{"line_number":33,"context_line":"        :param show_password: Specifies whether passwords should be masked"},{"line_number":34,"context_line":"                              before sending back to API call."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        \"\"\""},{"line_number":37,"context_line":"        super(RequestContext, self).__init__(auth_token\u003dauth_token,"},{"line_number":38,"context_line":"                                             user\u003duser, tenant\u003dtenant,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba0121b8_1757d958","line":35,"in_reply_to":"ba0121b8_bac5508f","updated":"2016-03-31 01:36:48.000000000","message":"Hi Yuriy, overwrite and resouce_uuid are not additional request parameters, see L26. Or do you think it\u0027s necessary to list all parameters?","commit_id":"23c0eb10ddf244990743860d158df8360465793e"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"a1b1d7c996d26f1164938d0c21e84ac1e4544071","unresolved":false,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"def get_admin_context(show_deleted\u003dFalse):"},{"line_number":89,"context_line":"    \"\"\"Create an administrator context.\"\"\""},{"line_number":90,"context_line":"    context \u003d RequestContext(None,"},{"line_number":91,"context_line":"                             tenant\u003dNone,"},{"line_number":92,"context_line":"                             is_admin\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":3,"id":"da0c15f0_7cb74cd8","line":89,"updated":"2016-03-31 10:50:14.000000000","message":"param is missed at docstring","commit_id":"23c0eb10ddf244990743860d158df8360465793e"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"164df006edd37e6c664e752ea7ff7dc1077f1905","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        :param domain_name: The name of the domain."},{"line_number":30,"context_line":"        :param user: The name of the user."},{"line_number":31,"context_line":"        :param tenant: The name of the tenant."},{"line_number":32,"context_line":"        :param is_admin: Indicates if the request context is an administrator."},{"line_number":33,"context_line":"        :param is_public_api: Specifies whether the request should be processed"},{"line_number":34,"context_line":"                              without authentication."},{"line_number":35,"context_line":"        :param read_only: unused flag for Ironic."}],"source_content_type":"text/x-python","patch_set":4,"id":"9a061dce_df12d4b3","line":32,"updated":"2016-04-05 17:09:37.000000000","message":"Maybe \u0027request initiator is an administrator\u0027? Or \u0027request context is an administrator context\u0027","commit_id":"0607226fc4b4bc3c9e1738dc3f78ed99e5d4f13d"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"939232816658dd0568a0fe507055c2df8fa5c4a6","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        :param domain_name: The name of the domain."},{"line_number":30,"context_line":"        :param user: The name of the user."},{"line_number":31,"context_line":"        :param tenant: The name of the tenant."},{"line_number":32,"context_line":"        :param is_admin: Indicates if the request context is an administrator."},{"line_number":33,"context_line":"        :param is_public_api: Specifies whether the request should be processed"},{"line_number":34,"context_line":"                              without authentication."},{"line_number":35,"context_line":"        :param read_only: unused flag for Ironic."}],"source_content_type":"text/x-python","patch_set":4,"id":"5a18252c_85dab2e6","line":32,"in_reply_to":"5a18252c_7ea62a54","updated":"2016-04-14 01:28:00.000000000","message":"OK, I will correct it in a follow-up patch","commit_id":"0607226fc4b4bc3c9e1738dc3f78ed99e5d4f13d"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"153a016aa973c448b86ea22a0768a908f2245147","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        :param domain_name: The name of the domain."},{"line_number":30,"context_line":"        :param user: The name of the user."},{"line_number":31,"context_line":"        :param tenant: The name of the tenant."},{"line_number":32,"context_line":"        :param is_admin: Indicates if the request context is an administrator."},{"line_number":33,"context_line":"        :param is_public_api: Specifies whether the request should be processed"},{"line_number":34,"context_line":"                              without authentication."},{"line_number":35,"context_line":"        :param read_only: unused flag for Ironic."}],"source_content_type":"text/x-python","patch_set":4,"id":"5a18252c_7ea62a54","line":32,"in_reply_to":"9a061dce_df12d4b3","updated":"2016-04-13 13:45:05.000000000","message":"+1 to \u0027administrator context\u0027","commit_id":"0607226fc4b4bc3c9e1738dc3f78ed99e5d4f13d"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4f8e1388872e23e11ed145681334e677f752867b","unresolved":false,"context_lines":[{"line_number":90,"context_line":"        self.update_store()"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"def get_admin_context():"},{"line_number":94,"context_line":"    \"\"\"Create an administrator context."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"9a061dce_4715ec99","line":93,"updated":"2016-04-07 13:33:22.000000000","message":"After some second thought, I think we don\u0027t need to use ironic\u0027s context here. The values that are specific to ironic context are not set here, and should not be set. Why not use oslo_context directly?","commit_id":"0607226fc4b4bc3c9e1738dc3f78ed99e5d4f13d"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"c1137018c25fff8ec5a82587a8ef50810f8538e1","unresolved":false,"context_lines":[{"line_number":90,"context_line":"        self.update_store()"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"def get_admin_context():"},{"line_number":94,"context_line":"    \"\"\"Create an administrator context."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"5a18252c_ec781d92","line":93,"in_reply_to":"7a1b2928_e5ecc091","updated":"2016-04-12 09:40:31.000000000","message":"Yeah, I agree with both comments here. But I tend to think that it would look a tad more elegant to use the same module we\u0027ve already imported (even if it\u0027s just a pass trough) instead of importing two modules.","commit_id":"0607226fc4b4bc3c9e1738dc3f78ed99e5d4f13d"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"54b700a1b2988fcfa414fb1ece3da0000b33e6a1","unresolved":false,"context_lines":[{"line_number":90,"context_line":"        self.update_store()"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"def get_admin_context():"},{"line_number":94,"context_line":"    \"\"\"Create an administrator context."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"7a1b2928_e5ecc091","line":93,"in_reply_to":"9a061dce_4715ec99","updated":"2016-04-11 02:29:10.000000000","message":"You concern is valid, but it\u0027s wired to me that use two different context in one service. Even if admin_context doesn\u0027t need any Ironic specific context here for now, but it should be great to use the same context class and you didn\u0027t have to import oslo_context everywhere. WDYT?","commit_id":"0607226fc4b4bc3c9e1738dc3f78ed99e5d4f13d"}],"ironic/tests/unit/common/test_context.py":[{"author":{"_account_id":6610,"name":"Zhenguo Niu","email":"Niu.ZGlinux@gmail.com","username":"niu-zglinux"},"change_message_id":"9394b9f50bbe3978cec5b76a82abfdad5205256e","unresolved":false,"context_lines":[{"line_number":74,"context_line":"            \"overwrite\": True"},{"line_number":75,"context_line":"        }"},{"line_number":76,"context_line":"        ctx \u003d context.RequestContext(**values)"},{"line_number":77,"context_line":"        dict \u003d ctx.to_dict()"},{"line_number":78,"context_line":"        self.assertIn(\u0027auth_token\u0027, dict)"},{"line_number":79,"context_line":"        self.assertIn(\u0027user\u0027, dict)"},{"line_number":80,"context_line":"        self.assertIn(\u0027tenant\u0027, dict)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa0719c6_bc3450fb","line":77,"range":{"start_line":77,"start_character":8,"end_line":77,"end_character":12},"updated":"2016-03-22 16:06:33.000000000","message":"nit: dict is a python built-in function name, it\u0027s better to user another variable name like ctx_dict.","commit_id":"17e558b7941ec5ab4ac7f2906d6c2bc5976ad93c"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"8a676155bfa40645b30c655c1a9336fd96c8d0ba","unresolved":false,"context_lines":[{"line_number":74,"context_line":"            \"overwrite\": True"},{"line_number":75,"context_line":"        }"},{"line_number":76,"context_line":"        ctx \u003d context.RequestContext(**values)"},{"line_number":77,"context_line":"        dict \u003d ctx.to_dict()"},{"line_number":78,"context_line":"        self.assertIn(\u0027auth_token\u0027, dict)"},{"line_number":79,"context_line":"        self.assertIn(\u0027user\u0027, dict)"},{"line_number":80,"context_line":"        self.assertIn(\u0027tenant\u0027, dict)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa0719c6_272f6bf7","line":77,"range":{"start_line":77,"start_character":8,"end_line":77,"end_character":12},"in_reply_to":"fa0719c6_bc3450fb","updated":"2016-03-23 02:08:13.000000000","message":"Done","commit_id":"17e558b7941ec5ab4ac7f2906d6c2bc5976ad93c"},{"author":{"_account_id":6610,"name":"Zhenguo Niu","email":"Niu.ZGlinux@gmail.com","username":"niu-zglinux"},"change_message_id":"9394b9f50bbe3978cec5b76a82abfdad5205256e","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        self.context.update_store \u003d mock.Mock()"},{"line_number":114,"context_line":"        context_get_mock.return_value \u003d None"},{"line_number":115,"context_line":"        self.context.ensure_thread_contain_context()"},{"line_number":116,"context_line":"        self.assertTrue(self.context.update_store.called)"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    @mock.patch.object(oslo_context, \u0027get_current\u0027)"},{"line_number":119,"context_line":"    def test_thread_with_context(self, context_get_mock):"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa0719c6_2156545c","line":116,"range":{"start_line":116,"start_character":7,"end_line":116,"end_character":57},"updated":"2016-03-22 16:06:33.000000000","message":"nit: it\u0027s better to use assert_called_once_with() here, which indicates the context_update_store has only been called once.","commit_id":"17e558b7941ec5ab4ac7f2906d6c2bc5976ad93c"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"8a676155bfa40645b30c655c1a9336fd96c8d0ba","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        self.context.update_store \u003d mock.Mock()"},{"line_number":114,"context_line":"        context_get_mock.return_value \u003d None"},{"line_number":115,"context_line":"        self.context.ensure_thread_contain_context()"},{"line_number":116,"context_line":"        self.assertTrue(self.context.update_store.called)"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    @mock.patch.object(oslo_context, \u0027get_current\u0027)"},{"line_number":119,"context_line":"    def test_thread_with_context(self, context_get_mock):"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa0719c6_875bd786","line":116,"range":{"start_line":116,"start_character":7,"end_line":116,"end_character":57},"in_reply_to":"fa0719c6_2156545c","updated":"2016-03-23 02:08:13.000000000","message":"Done","commit_id":"17e558b7941ec5ab4ac7f2906d6c2bc5976ad93c"},{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"29ba2b4a709ce74f930b7c9ce2b47fd86e6e75e8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#"},{"line_number":2,"context_line":"# All Rights Reserved"},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":5,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa0719c6_dfbf4fa8","line":2,"range":{"start_line":2,"start_character":2,"end_line":2,"end_character":21},"updated":"2016-03-23 08:53:48.000000000","message":"Please add copyright or remove it","commit_id":"e275a45f7ce3cf00ca9321b7744505d92a1c3def"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"d24917786d5d1eb7bc489c69a0127f5bc5bdbcf0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#"},{"line_number":2,"context_line":"# All Rights Reserved"},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":5,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa0719c6_a701ad3a","line":2,"range":{"start_line":2,"start_character":2,"end_line":2,"end_character":21},"in_reply_to":"fa0719c6_dfbf4fa8","updated":"2016-03-23 09:46:23.000000000","message":"Done","commit_id":"e275a45f7ce3cf00ca9321b7744505d92a1c3def"}],"releasenotes/notes/adopt-ironic-context-5e75540dc2b2f009.yaml":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"c1137018c25fff8ec5a82587a8ef50810f8538e1","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - Fixes a bug where Ironic won\u0027t log the request-id during"},{"line_number":4,"context_line":"    hardware inspecting."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"5a18252c_2c87b510","line":4,"range":{"start_line":4,"start_character":13,"end_line":4,"end_character":23},"updated":"2016-04-12 09:40:31.000000000","message":"inspection","commit_id":"0607226fc4b4bc3c9e1738dc3f78ed99e5d4f13d"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"939232816658dd0568a0fe507055c2df8fa5c4a6","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - Fixes a bug where Ironic won\u0027t log the request-id during"},{"line_number":4,"context_line":"    hardware inspecting."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"5a18252c_e5e3a6a2","line":4,"range":{"start_line":4,"start_character":13,"end_line":4,"end_character":23},"in_reply_to":"5a18252c_2c87b510","updated":"2016-04-14 01:28:00.000000000","message":"ditto","commit_id":"0607226fc4b4bc3c9e1738dc3f78ed99e5d4f13d"}]}
