)]}'
{"ironic_python_agent/errors.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e01ce58044276c7a15abe455f863cb587a7e1740","unresolved":false,"context_lines":[{"line_number":309,"context_line":"        self.status_code \u003d 409"},{"line_number":310,"context_line":"        details \u003d (\u0027Agent deploy version: {}, node deploy version: {}\u0027"},{"line_number":311,"context_line":"                   .format(agent_version, node_version))"},{"line_number":312,"context_line":"        super(DeployVersionMismatch, self).__init__(details)"},{"line_number":313,"context_line":""},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"class DeploymentError(RESTError):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_dc90dc4e","line":312,"updated":"2020-02-16 00:37:21.000000000","message":"Makes sense... overall...","commit_id":"c8204314cf6b47f5e243cb4384fd050999ec8d14"}],"ironic_python_agent/extensions/base.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"a02433931fdeef95cb9f96ee24d7a80557bbc2b2","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    FAILED \u003d u\u0027FAILED\u0027"},{"line_number":36,"context_line":"    # TODO(dtantsur): keeping the same text for backward compatibility, change"},{"line_number":37,"context_line":"    # to just VERSION_MISMATCH one release after ironic is updated."},{"line_number":38,"context_line":"    VERSION_MISMATCH \u003d u\u0027CLEAN_VERSION_MISMATCH\u0027"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"class BaseCommandResult(encoding.SerializableComparable):"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_076ce899","line":38,"updated":"2020-04-02 23:19:17.000000000","message":"Hopefully we get this merged this cycle and can update with when. Hopefully.","commit_id":"61534d755d15cc039c499a63d9fe3d280f6d30df"}],"ironic_python_agent/extensions/clean.py":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"87854138b7e58a3fc8bfb52766b321d566a03047","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        :param node: A dict representation of a node"},{"line_number":58,"context_line":"        :param ports: A dict representation of ports attached to node"},{"line_number":59,"context_line":"        :param clean_version: The clean version as returned by"},{"line_number":60,"context_line":"                              _get_current_clean_version() at the beginning"},{"line_number":61,"context_line":"                              of cleaning/zapping"},{"line_number":62,"context_line":"        :returns: a CommandResult object with command_result set to whatever"},{"line_number":63,"context_line":"            the step returns."}],"source_content_type":"text/x-python","patch_set":9,"id":"df33271e_1649aa5f","line":60,"range":{"start_line":60,"start_character":30,"end_line":60,"end_character":56},"updated":"2020-04-03 17:02:31.000000000","message":"hardware.check_versions","commit_id":"d789db783bed30c3420b4e56c526b75482f0d830"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"110bbedb1e00dbffa649bb62be3d9bf94770a164","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        :param node: A dict representation of a node"},{"line_number":58,"context_line":"        :param ports: A dict representation of ports attached to node"},{"line_number":59,"context_line":"        :param clean_version: The clean version as returned by"},{"line_number":60,"context_line":"                              _get_current_clean_version() at the beginning"},{"line_number":61,"context_line":"                              of cleaning/zapping"},{"line_number":62,"context_line":"        :returns: a CommandResult object with command_result set to whatever"},{"line_number":63,"context_line":"            the step returns."}],"source_content_type":"text/x-python","patch_set":9,"id":"df33271e_12b6b6da","line":60,"range":{"start_line":60,"start_character":30,"end_line":60,"end_character":56},"in_reply_to":"df33271e_1649aa5f","updated":"2020-04-06 08:25:11.000000000","message":"Done","commit_id":"d789db783bed30c3420b4e56c526b75482f0d830"}],"ironic_python_agent/extensions/deploy.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e01ce58044276c7a15abe455f863cb587a7e1740","unresolved":false,"context_lines":[{"line_number":179,"context_line":"    if deploy_version is None:"},{"line_number":180,"context_line":"        return"},{"line_number":181,"context_line":"    agent_version \u003d _get_current_deploy_version()"},{"line_number":182,"context_line":"    if deploy_version !\u003d agent_version:"},{"line_number":183,"context_line":"        LOG.warning(\u0027Mismatched deploy versions. Agent version: %(agent)s, \u0027"},{"line_number":184,"context_line":"                    \u0027node version: %(node)s\u0027, {\u0027agent\u0027: agent_version,"},{"line_number":185,"context_line":"                                               \u0027node\u0027: deploy_version})"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_7c852809","line":182,"updated":"2020-02-16 00:37:21.000000000","message":"we likely ought to avoid strict string compares because minor builds may not make sense to error upon.","commit_id":"c8204314cf6b47f5e243cb4384fd050999ec8d14"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e01ce58044276c7a15abe455f863cb587a7e1740","unresolved":false,"context_lines":[{"line_number":195,"context_line":"    \"\"\""},{"line_number":196,"context_line":"    return {version.get(\u0027name\u0027): version.get(\u0027version\u0027)"},{"line_number":197,"context_line":"            for version in hardware.dispatch_to_all_managers("},{"line_number":198,"context_line":"                \u0027get_version\u0027).values()}"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_9c882421","line":198,"updated":"2020-02-16 00:37:21.000000000","message":"This feels like it is a bit complex :\\","commit_id":"c8204314cf6b47f5e243cb4384fd050999ec8d14"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"87854138b7e58a3fc8bfb52766b321d566a03047","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        :param node: A dict representation of a node"},{"line_number":56,"context_line":"        :param ports: A dict representation of ports attached to node"},{"line_number":57,"context_line":"        :param deploy_version: The deploy version as returned by"},{"line_number":58,"context_line":"                               _get_current_deploy_version() at the beginning"},{"line_number":59,"context_line":"                               of deploying."},{"line_number":60,"context_line":"        :param kwargs: The remaining arguments are passed to the step."},{"line_number":61,"context_line":"        :returns: a CommandResult object with command_result set to whatever"}],"source_content_type":"text/x-python","patch_set":9,"id":"df33271e_f6eb66d9","line":58,"range":{"start_line":58,"start_character":31,"end_line":58,"end_character":58},"updated":"2020-04-03 17:02:31.000000000","message":"hardware.get_current_versions","commit_id":"d789db783bed30c3420b4e56c526b75482f0d830"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"110bbedb1e00dbffa649bb62be3d9bf94770a164","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        :param node: A dict representation of a node"},{"line_number":56,"context_line":"        :param ports: A dict representation of ports attached to node"},{"line_number":57,"context_line":"        :param deploy_version: The deploy version as returned by"},{"line_number":58,"context_line":"                               _get_current_deploy_version() at the beginning"},{"line_number":59,"context_line":"                               of deploying."},{"line_number":60,"context_line":"        :param kwargs: The remaining arguments are passed to the step."},{"line_number":61,"context_line":"        :returns: a CommandResult object with command_result set to whatever"}],"source_content_type":"text/x-python","patch_set":9,"id":"df33271e_52c79e46","line":58,"range":{"start_line":58,"start_character":31,"end_line":58,"end_character":58},"in_reply_to":"df33271e_f6eb66d9","updated":"2020-04-06 08:25:11.000000000","message":"Done","commit_id":"d789db783bed30c3420b4e56c526b75482f0d830"}],"ironic_python_agent/hardware.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"a02433931fdeef95cb9f96ee24d7a80557bbc2b2","unresolved":false,"context_lines":[{"line_number":723,"context_line":"    def get_deploy_steps(self, node, ports):"},{"line_number":724,"context_line":"        \"\"\"Get a list of deploy steps with priority."},{"line_number":725,"context_line":""},{"line_number":726,"context_line":"        TODO(mgoddard): Not abortable."},{"line_number":727,"context_line":""},{"line_number":728,"context_line":"        Returns a list of steps. Each step is represented by a dict::"},{"line_number":729,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_076228d8","line":726,"range":{"start_line":726,"start_character":0,"end_line":726,"end_character":38},"updated":"2020-04-02 23:19:17.000000000","message":"I have this feeling this might get rendered in the docs...","commit_id":"61534d755d15cc039c499a63d9fe3d280f6d30df"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"3922aed1e5e0240a54ab1383cb44f8064deb46b3","unresolved":false,"context_lines":[{"line_number":723,"context_line":"    def get_deploy_steps(self, node, ports):"},{"line_number":724,"context_line":"        \"\"\"Get a list of deploy steps with priority."},{"line_number":725,"context_line":""},{"line_number":726,"context_line":"        TODO(mgoddard): Not abortable."},{"line_number":727,"context_line":""},{"line_number":728,"context_line":"        Returns a list of steps. Each step is represented by a dict::"},{"line_number":729,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_04905895","line":726,"range":{"start_line":726,"start_character":0,"end_line":726,"end_character":38},"in_reply_to":"df33271e_076228d8","updated":"2020-04-03 13:27:10.000000000","message":"Done","commit_id":"61534d755d15cc039c499a63d9fe3d280f6d30df"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"87854138b7e58a3fc8bfb52766b321d566a03047","unresolved":false,"context_lines":[{"line_number":2210,"context_line":"        # if there are still multiple steps, sort by hwm name and take"},{"line_number":2211,"context_line":"        # the first result"},{"line_number":2212,"context_line":"        winning_step \u003d sorted(max_priority_steps,"},{"line_number":2213,"context_line":"                              key\u003dlambda x: x[\u0027hwm\u0027][\u0027name\u0027])[0]"},{"line_number":2214,"context_line":"        # Remove extra metadata we added to the step for filtering"},{"line_number":2215,"context_line":"        manager \u003d winning_step.pop(\u0027hwm\u0027)[\u0027name\u0027]"},{"line_number":2216,"context_line":"        # Add winning step to deduped_steps"}],"source_content_type":"text/x-python","patch_set":9,"id":"df33271e_762bd62f","line":2213,"range":{"start_line":2213,"start_character":30,"end_line":2213,"end_character":64},"updated":"2020-04-03 17:02:31.000000000","message":"Unrelated to this change: We could probably do this with a key function that returns (support, priority, name)","commit_id":"d789db783bed30c3420b4e56c526b75482f0d830"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"110bbedb1e00dbffa649bb62be3d9bf94770a164","unresolved":false,"context_lines":[{"line_number":2210,"context_line":"        # if there are still multiple steps, sort by hwm name and take"},{"line_number":2211,"context_line":"        # the first result"},{"line_number":2212,"context_line":"        winning_step \u003d sorted(max_priority_steps,"},{"line_number":2213,"context_line":"                              key\u003dlambda x: x[\u0027hwm\u0027][\u0027name\u0027])[0]"},{"line_number":2214,"context_line":"        # Remove extra metadata we added to the step for filtering"},{"line_number":2215,"context_line":"        manager \u003d winning_step.pop(\u0027hwm\u0027)[\u0027name\u0027]"},{"line_number":2216,"context_line":"        # Add winning step to deduped_steps"}],"source_content_type":"text/x-python","patch_set":9,"id":"df33271e_d2e0cecf","line":2213,"range":{"start_line":2213,"start_character":30,"end_line":2213,"end_character":64},"in_reply_to":"df33271e_762bd62f","updated":"2020-04-06 08:25:11.000000000","message":"I\u0027ll give it a try in a follow-up.","commit_id":"d789db783bed30c3420b4e56c526b75482f0d830"}],"ironic_python_agent/tests/unit/extensions/test_deploy.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"a02433931fdeef95cb9f96ee24d7a80557bbc2b2","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015 Rackspace, Inc."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."},{"line_number":5,"context_line":"# You may obtain a copy of the License at"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_0749885e","line":2,"range":{"start_line":1,"start_character":0,"end_line":2,"end_character":1},"updated":"2020-04-02 23:19:17.000000000","message":"Uhhh? :)","commit_id":"61534d755d15cc039c499a63d9fe3d280f6d30df"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"87854138b7e58a3fc8bfb52766b321d566a03047","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015 Rackspace, Inc."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":9,"id":"df33271e_f6c40662","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":32},"updated":"2020-04-03 17:02:31.000000000","message":"Remove copyright?","commit_id":"d789db783bed30c3420b4e56c526b75482f0d830"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"110bbedb1e00dbffa649bb62be3d9bf94770a164","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015 Rackspace, Inc."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":9,"id":"df33271e_12eb56b0","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":32},"in_reply_to":"df33271e_f6c40662","updated":"2020-04-06 08:25:11.000000000","message":"Done","commit_id":"d789db783bed30c3420b4e56c526b75482f0d830"}]}
