)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"d44b03ff46befc4b1345f25c8e6bdc637752df0c","unresolved":false,"context_lines":[{"line_number":12,"context_line":"So lets actually log it!"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Also log to the node object and drop the lock so API users"},{"line_number":15,"context_line":"can see an indication of hearbeat failures occuring."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I21c9bb8cdff3fc10c31a49a001437be2ecac703b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5fc1f717_b104d37f","line":15,"updated":"2019-04-03 10:34:30.000000000","message":"I\u0027m pretty -2 on that, because 1. it may be a breaking change, 2. API users have no means of fixing it, 3. the deploy will probably succeed otherwise.","commit_id":"7b4320ac3fcc80d4a37938e705455e26fbc71515"}],"ironic/drivers/modules/agent_base_vendor.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":"882ffc963e01acf5f33c8fa8f0bf8b2a422c505e","unresolved":false,"context_lines":[{"line_number":310,"context_line":"            LOG.error(\u0027Heartbeat from node %(node)s in unsupported \u0027"},{"line_number":311,"context_line":"                      \u0027provision state %(state)s, not taking any action.\u0027,"},{"line_number":312,"context_line":"                      {\u0027node\u0027: task.node.uuid,"},{"line_number":313,"context_line":"                       \u0027state\u0027: task.node.provision_state})"},{"line_number":314,"context_line":"            return"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_adfebe35","line":313,"updated":"2019-04-02 21:28:05.000000000","message":"It occurs to me, that we should take the log message, and kick it out to the last_error field as well to raise visibility. That way hopefully people will realize if they are in some state where they are off the rails.","commit_id":"89efed646f047069c6ff9f1282ae98b53bb96c75"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"d44b03ff46befc4b1345f25c8e6bdc637752df0c","unresolved":false,"context_lines":[{"line_number":309,"context_line":"            and not manager_utils.fast_track_able(task)):"},{"line_number":310,"context_line":"            msg \u003d _(\u0027Heartbeat from node %(node)s in unsupported \u0027"},{"line_number":311,"context_line":"                    \u0027provision state %(state)s, not taking any \u0027"},{"line_number":312,"context_line":"                    \u0027action.\u0027).format("},{"line_number":313,"context_line":"                        {\u0027node\u0027: task.node.uuid,"},{"line_number":314,"context_line":"                         \u0027state\u0027: task.node.provision_state})"},{"line_number":315,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5fc1f717_d1071f81","line":312,"updated":"2019-04-03 10:34:30.000000000","message":"s/format/%/","commit_id":"7b4320ac3fcc80d4a37938e705455e26fbc71515"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"c434e1fc0db761beb6bd238850edb9463730921f","unresolved":false,"context_lines":[{"line_number":309,"context_line":"            and not manager_utils.fast_track_able(task)):"},{"line_number":310,"context_line":"            msg \u003d _(\u0027Heartbeat from node %(node)s in unsupported \u0027"},{"line_number":311,"context_line":"                    \u0027provision state %(state)s, not taking any \u0027"},{"line_number":312,"context_line":"                    \u0027action.\u0027).format("},{"line_number":313,"context_line":"                        {\u0027node\u0027: task.node.uuid,"},{"line_number":314,"context_line":"                         \u0027state\u0027: task.node.provision_state})"},{"line_number":315,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5fc1f717_9285daaf","line":312,"in_reply_to":"5fc1f717_d1071f81","updated":"2019-04-05 21:01:09.000000000","message":"I guess just drop everything I added and go back to the first patchset really..","commit_id":"7b4320ac3fcc80d4a37938e705455e26fbc71515"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"d44b03ff46befc4b1345f25c8e6bdc637752df0c","unresolved":false,"context_lines":[{"line_number":315,"context_line":"            LOG.error(msg)"},{"line_number":316,"context_line":"            try:"},{"line_number":317,"context_line":"                task.upgrade_lock()"},{"line_number":318,"context_line":"                task.node.last_error \u003d msg"},{"line_number":319,"context_line":"                # FIXME(TheJulia): We need a lock to be confident of data"},{"line_number":320,"context_line":"                # written is not going to be overwritten, and we have no"},{"line_number":321,"context_line":"                # concept of unlocking..."}],"source_content_type":"text/x-python","patch_set":2,"id":"5fc1f717_71fe6b6c","line":318,"updated":"2019-04-03 10:34:30.000000000","message":"This was explicitly removed by a prior change, because some tooling can treat it as a failed deploy, while it\u0027s actually a normal condition. E.g. we will heartbeat in DEPLOYING with IPA running.","commit_id":"7b4320ac3fcc80d4a37938e705455e26fbc71515"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"d44b03ff46befc4b1345f25c8e6bdc637752df0c","unresolved":false,"context_lines":[{"line_number":319,"context_line":"                # FIXME(TheJulia): We need a lock to be confident of data"},{"line_number":320,"context_line":"                # written is not going to be overwritten, and we have no"},{"line_number":321,"context_line":"                # concept of unlocking..."},{"line_number":322,"context_line":"                task.node.reservation \u003d None"},{"line_number":323,"context_line":"                task.node.save()"},{"line_number":324,"context_line":"                # FIXME(TheJulia): A continuation of the unlocking in"},{"line_number":325,"context_line":"                # something else wishes to consider opeing a lock..."}],"source_content_type":"text/x-python","patch_set":2,"id":"5fc1f717_9101976d","line":322,"updated":"2019-04-03 10:34:30.000000000","message":"We don\u0027t have an exclusive lock at this state (see line 334), so let\u0027s drop this whole logic.","commit_id":"7b4320ac3fcc80d4a37938e705455e26fbc71515"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"d44b03ff46befc4b1345f25c8e6bdc637752df0c","unresolved":false,"context_lines":[{"line_number":326,"context_line":"                task.shared \u003d True"},{"line_number":327,"context_line":"                return"},{"line_number":328,"context_line":"            except exception.NodeLocked:"},{"line_number":329,"context_line":"                LOG.debug(\u0027Node %s is currently locked and we were unable \u0027"},{"line_number":330,"context_line":"                          \u0027to record an invalid heartbeat attempt.\u0027,"},{"line_number":331,"context_line":"                          task.node.uuid)"},{"line_number":332,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5fc1f717_31f8e37a","line":329,"updated":"2019-04-03 10:34:30.000000000","message":"s/debug/warning/ at the very least (but it\u0027s not possible since the lock here is shared)","commit_id":"7b4320ac3fcc80d4a37938e705455e26fbc71515"}]}
