)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"856d03309b6240c9574945b2f4f773e219e9de47","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"1d9facbb_3d54699f","updated":"2021-12-10 20:26:41.000000000","message":"recheck","commit_id":"e426414fee149901333891640f4062b15be922ac"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"294311ce6367bd0971308b9568b9f6c4ae835611","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"9cc36380_d0cbadba","updated":"2021-12-15 14:03:40.000000000","message":"Thanks, Dmitry. All but making tooz optional addressed.","commit_id":"9f0a91c6a911cdacf6be513aeeded9668f0bdb9c"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"6858c73a5e7025b488bd8d057cb31e933e858e3c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"571cc31c_23a1e017","updated":"2021-12-16 18:36:23.000000000","message":"recheck","commit_id":"33307511abd8d0bb479e45bcb99acd95b45be935"}],"ironic_python_agent/burnin.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"df9777b0a2ed3753762e186a0911ba530b3c179e","unresolved":false,"context_lines":[{"line_number":268,"context_line":"    coordinator.start(start_heart\u003dTrue)"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"    groups \u003d coordinator.get_groups()"},{"line_number":271,"context_line":"    for group in groups.get():"},{"line_number":272,"context_line":"        if group_name \u003d\u003d group.decode(\u0027utf-8\u0027):"},{"line_number":273,"context_line":"            LOG.info(\"Found group %s\", group_name)"},{"line_number":274,"context_line":"            break"}],"source_content_type":"text/x-python","patch_set":3,"id":"fcd82b0e_f9295aed","line":271,"updated":"2021-12-14 08:49:26.000000000","message":"I was under impression you could lookup/join a group directly","commit_id":"e426414fee149901333891640f4062b15be922ac"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"294311ce6367bd0971308b9568b9f6c4ae835611","unresolved":false,"context_lines":[{"line_number":268,"context_line":"    coordinator.start(start_heart\u003dTrue)"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"    groups \u003d coordinator.get_groups()"},{"line_number":271,"context_line":"    for group in groups.get():"},{"line_number":272,"context_line":"        if group_name \u003d\u003d group.decode(\u0027utf-8\u0027):"},{"line_number":273,"context_line":"            LOG.info(\"Found group %s\", group_name)"},{"line_number":274,"context_line":"            break"}],"source_content_type":"text/x-python","patch_set":3,"id":"0e0c213d_8765e99d","line":271,"in_reply_to":"fcd82b0e_f9295aed","updated":"2021-12-15 14:03:40.000000000","message":"I am mostly following the tooz examples from their docs, seems this this all done asynchronously","commit_id":"e426414fee149901333891640f4062b15be922ac"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"df9777b0a2ed3753762e186a0911ba530b3c179e","unresolved":false,"context_lines":[{"line_number":270,"context_line":"    groups \u003d coordinator.get_groups()"},{"line_number":271,"context_line":"    for group in groups.get():"},{"line_number":272,"context_line":"        if group_name \u003d\u003d group.decode(\u0027utf-8\u0027):"},{"line_number":273,"context_line":"            LOG.info(\"Found group %s\", group_name)"},{"line_number":274,"context_line":"            break"},{"line_number":275,"context_line":"    else:"},{"line_number":276,"context_line":"        LOG.info(\"Creating group %s\", group_name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"481f3167_3944db44","line":273,"updated":"2021-12-14 08:49:26.000000000","message":"Applies everywhere: info() should be used only for the most important messages. Finding a partner - sure, but not every step here.","commit_id":"e426414fee149901333891640f4062b15be922ac"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"294311ce6367bd0971308b9568b9f6c4ae835611","unresolved":false,"context_lines":[{"line_number":270,"context_line":"    groups \u003d coordinator.get_groups()"},{"line_number":271,"context_line":"    for group in groups.get():"},{"line_number":272,"context_line":"        if group_name \u003d\u003d group.decode(\u0027utf-8\u0027):"},{"line_number":273,"context_line":"            LOG.info(\"Found group %s\", group_name)"},{"line_number":274,"context_line":"            break"},{"line_number":275,"context_line":"    else:"},{"line_number":276,"context_line":"        LOG.info(\"Creating group %s\", group_name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1b2199c5_10be0a2c","line":273,"in_reply_to":"481f3167_3944db44","updated":"2021-12-15 14:03:40.000000000","message":"done","commit_id":"e426414fee149901333891640f4062b15be922ac"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"df9777b0a2ed3753762e186a0911ba530b3c179e","unresolved":false,"context_lines":[{"line_number":302,"context_line":"        # we assign the first node the writer role since it will"},{"line_number":303,"context_line":"        # leave the group first, it may be ready once the second"},{"line_number":304,"context_line":"        # node leaves the group, and we save one wait cycle"},{"line_number":305,"context_line":"        if (members_cnt \u003d\u003d 0):"},{"line_number":306,"context_line":"            first \u003d True"},{"line_number":307,"context_line":"            role \u003d \"writer\""},{"line_number":308,"context_line":"            group_lock.release()  # allow second node to enter"}],"source_content_type":"text/x-python","patch_set":3,"id":"9bfd6e28_619a3dbf","line":305,"updated":"2021-12-14 08:49:26.000000000","message":"nit: if not members_cnt:","commit_id":"e426414fee149901333891640f4062b15be922ac"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"294311ce6367bd0971308b9568b9f6c4ae835611","unresolved":false,"context_lines":[{"line_number":302,"context_line":"        # we assign the first node the writer role since it will"},{"line_number":303,"context_line":"        # leave the group first, it may be ready once the second"},{"line_number":304,"context_line":"        # node leaves the group, and we save one wait cycle"},{"line_number":305,"context_line":"        if (members_cnt \u003d\u003d 0):"},{"line_number":306,"context_line":"            first \u003d True"},{"line_number":307,"context_line":"            role \u003d \"writer\""},{"line_number":308,"context_line":"            group_lock.release()  # allow second node to enter"}],"source_content_type":"text/x-python","patch_set":3,"id":"2f199fa4_f59dc2cd","line":305,"in_reply_to":"9bfd6e28_619a3dbf","updated":"2021-12-15 14:03:40.000000000","message":"done","commit_id":"e426414fee149901333891640f4062b15be922ac"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"df9777b0a2ed3753762e186a0911ba530b3c179e","unresolved":false,"context_lines":[{"line_number":305,"context_line":"        if (members_cnt \u003d\u003d 0):"},{"line_number":306,"context_line":"            first \u003d True"},{"line_number":307,"context_line":"            role \u003d \"writer\""},{"line_number":308,"context_line":"            group_lock.release()  # allow second node to enter"},{"line_number":309,"context_line":"        else:"},{"line_number":310,"context_line":"            first \u003d False"},{"line_number":311,"context_line":"            role \u003d \"reader\""}],"source_content_type":"text/x-python","patch_set":3,"id":"0629e19e_2dda908e","line":308,"updated":"2021-12-14 08:49:26.000000000","message":"this will cause a double-release?","commit_id":"e426414fee149901333891640f4062b15be922ac"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"294311ce6367bd0971308b9568b9f6c4ae835611","unresolved":false,"context_lines":[{"line_number":305,"context_line":"        if (members_cnt \u003d\u003d 0):"},{"line_number":306,"context_line":"            first \u003d True"},{"line_number":307,"context_line":"            role \u003d \"writer\""},{"line_number":308,"context_line":"            group_lock.release()  # allow second node to enter"},{"line_number":309,"context_line":"        else:"},{"line_number":310,"context_line":"            first \u003d False"},{"line_number":311,"context_line":"            role \u003d \"reader\""}],"source_content_type":"text/x-python","patch_set":3,"id":"0c116665_b3dd3c59","line":308,"in_reply_to":"0629e19e_2dda908e","updated":"2021-12-15 14:03:40.000000000","message":"it should not: this is where the 1st node releases the lock","commit_id":"e426414fee149901333891640f4062b15be922ac"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"df9777b0a2ed3753762e186a0911ba530b3c179e","unresolved":false,"context_lines":[{"line_number":322,"context_line":"                # use the initial members in case the other"},{"line_number":323,"context_line":"                # node leaves before we get an updated list"},{"line_number":324,"context_line":"                members \u003d init_members"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"            if (members_cnt \u003d\u003d 2 or not first):"},{"line_number":327,"context_line":"                LOG.info(\"Two members, start pairing...\")"},{"line_number":328,"context_line":"                for member in members.get():"}],"source_content_type":"text/x-python","patch_set":3,"id":"79257272_d1ab31f4","line":325,"updated":"2021-12-14 08:49:26.000000000","message":"nit:\n\n assert members_cnt \u003c 3","commit_id":"e426414fee149901333891640f4062b15be922ac"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"294311ce6367bd0971308b9568b9f6c4ae835611","unresolved":false,"context_lines":[{"line_number":322,"context_line":"                # use the initial members in case the other"},{"line_number":323,"context_line":"                # node leaves before we get an updated list"},{"line_number":324,"context_line":"                members \u003d init_members"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"            if (members_cnt \u003d\u003d 2 or not first):"},{"line_number":327,"context_line":"                LOG.info(\"Two members, start pairing...\")"},{"line_number":328,"context_line":"                for member in members.get():"}],"source_content_type":"text/x-python","patch_set":3,"id":"1b563ec7_30403a30","line":325,"in_reply_to":"79257272_d1ab31f4","updated":"2021-12-15 14:03:40.000000000","message":"nice one! this made me discover a bug in the tests!","commit_id":"e426414fee149901333891640f4062b15be922ac"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"df9777b0a2ed3753762e186a0911ba530b3c179e","unresolved":false,"context_lines":[{"line_number":323,"context_line":"                # node leaves before we get an updated list"},{"line_number":324,"context_line":"                members \u003d init_members"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"            if (members_cnt \u003d\u003d 2 or not first):"},{"line_number":327,"context_line":"                LOG.info(\"Two members, start pairing...\")"},{"line_number":328,"context_line":"                for member in members.get():"},{"line_number":329,"context_line":"                    node \u003d member.decode(\u0027utf-8\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"2a70eeac_5c619424","line":326,"updated":"2021-12-14 08:49:26.000000000","message":"nit: redundant brackets","commit_id":"e426414fee149901333891640f4062b15be922ac"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"294311ce6367bd0971308b9568b9f6c4ae835611","unresolved":false,"context_lines":[{"line_number":323,"context_line":"                # node leaves before we get an updated list"},{"line_number":324,"context_line":"                members \u003d init_members"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"            if (members_cnt \u003d\u003d 2 or not first):"},{"line_number":327,"context_line":"                LOG.info(\"Two members, start pairing...\")"},{"line_number":328,"context_line":"                for member in members.get():"},{"line_number":329,"context_line":"                    node \u003d member.decode(\u0027utf-8\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ea91cf76_9ee19574","line":326,"in_reply_to":"2a70eeac_5c619424","updated":"2021-12-15 14:03:40.000000000","message":"done","commit_id":"e426414fee149901333891640f4062b15be922ac"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"df9777b0a2ed3753762e186a0911ba530b3c179e","unresolved":false,"context_lines":[{"line_number":325,"context_line":""},{"line_number":326,"context_line":"            if (members_cnt \u003d\u003d 2 or not first):"},{"line_number":327,"context_line":"                LOG.info(\"Two members, start pairing...\")"},{"line_number":328,"context_line":"                for member in members.get():"},{"line_number":329,"context_line":"                    node \u003d member.decode(\u0027utf-8\u0027)"},{"line_number":330,"context_line":"                    if node !\u003d member_id:"},{"line_number":331,"context_line":"                        partner \u003d node"}],"source_content_type":"text/x-python","patch_set":3,"id":"c66509b3_b0d34a48","line":328,"updated":"2021-12-14 08:49:26.000000000","message":"nit: you\u0027ve already done members.get() above","commit_id":"e426414fee149901333891640f4062b15be922ac"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"294311ce6367bd0971308b9568b9f6c4ae835611","unresolved":false,"context_lines":[{"line_number":325,"context_line":""},{"line_number":326,"context_line":"            if (members_cnt \u003d\u003d 2 or not first):"},{"line_number":327,"context_line":"                LOG.info(\"Two members, start pairing...\")"},{"line_number":328,"context_line":"                for member in members.get():"},{"line_number":329,"context_line":"                    node \u003d member.decode(\u0027utf-8\u0027)"},{"line_number":330,"context_line":"                    if node !\u003d member_id:"},{"line_number":331,"context_line":"                        partner \u003d node"}],"source_content_type":"text/x-python","patch_set":3,"id":"6a557f40_b70e6218","line":328,"in_reply_to":"c66509b3_b0d34a48","updated":"2021-12-15 14:03:40.000000000","message":"right, and even if these are two different members (for the first node in l320, for the second node in l297) I could indeed carry the list forward, I think it is easier to read this way, even if that means we call get_members() once in addition","commit_id":"e426414fee149901333891640f4062b15be922ac"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"df9777b0a2ed3753762e186a0911ba530b3c179e","unresolved":false,"context_lines":[{"line_number":336,"context_line":"                # if you are the second to enter, wait for the first to exit"},{"line_number":337,"context_line":"                if not first:"},{"line_number":338,"context_line":"                    members \u003d coordinator.get_members(group_name)"},{"line_number":339,"context_line":"                    while (len(members.get()) \u003d\u003d 2):"},{"line_number":340,"context_line":"                        time.sleep(0.2)"},{"line_number":341,"context_line":"                        members \u003d coordinator.get_members(group_name)"},{"line_number":342,"context_line":"                    leave_group(group_name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"af853398_3a3504a2","line":339,"updated":"2021-12-14 08:49:26.000000000","message":"nit: redundant brackets","commit_id":"e426414fee149901333891640f4062b15be922ac"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"294311ce6367bd0971308b9568b9f6c4ae835611","unresolved":false,"context_lines":[{"line_number":336,"context_line":"                # if you are the second to enter, wait for the first to exit"},{"line_number":337,"context_line":"                if not first:"},{"line_number":338,"context_line":"                    members \u003d coordinator.get_members(group_name)"},{"line_number":339,"context_line":"                    while (len(members.get()) \u003d\u003d 2):"},{"line_number":340,"context_line":"                        time.sleep(0.2)"},{"line_number":341,"context_line":"                        members \u003d coordinator.get_members(group_name)"},{"line_number":342,"context_line":"                    leave_group(group_name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"b0c338b9_9bcd6f6d","line":339,"in_reply_to":"af853398_3a3504a2","updated":"2021-12-15 14:03:40.000000000","message":"done","commit_id":"e426414fee149901333891640f4062b15be922ac"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"df9777b0a2ed3753762e186a0911ba530b3c179e","unresolved":false,"context_lines":[{"line_number":340,"context_line":"                        time.sleep(0.2)"},{"line_number":341,"context_line":"                        members \u003d coordinator.get_members(group_name)"},{"line_number":342,"context_line":"                    leave_group(group_name)"},{"line_number":343,"context_line":"                    group_lock.release()"},{"line_number":344,"context_line":"                else:"},{"line_number":345,"context_line":"                    leave_group(group_name)"},{"line_number":346,"context_line":"                break"}],"source_content_type":"text/x-python","patch_set":3,"id":"e59d8b00_7796c9ea","line":343,"updated":"2021-12-14 08:49:26.000000000","message":"nit: not needed?","commit_id":"e426414fee149901333891640f4062b15be922ac"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"294311ce6367bd0971308b9568b9f6c4ae835611","unresolved":false,"context_lines":[{"line_number":340,"context_line":"                        time.sleep(0.2)"},{"line_number":341,"context_line":"                        members \u003d coordinator.get_members(group_name)"},{"line_number":342,"context_line":"                    leave_group(group_name)"},{"line_number":343,"context_line":"                    group_lock.release()"},{"line_number":344,"context_line":"                else:"},{"line_number":345,"context_line":"                    leave_group(group_name)"},{"line_number":346,"context_line":"                break"}],"source_content_type":"text/x-python","patch_set":3,"id":"3dec8bc2_e443fd60","line":343,"in_reply_to":"e59d8b00_7796c9ea","updated":"2021-12-15 14:03:40.000000000","message":"this is where the 2nd node releases the lock","commit_id":"e426414fee149901333891640f4062b15be922ac"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"df9777b0a2ed3753762e186a0911ba530b3c179e","unresolved":false,"context_lines":[{"line_number":342,"context_line":"                    leave_group(group_name)"},{"line_number":343,"context_line":"                    group_lock.release()"},{"line_number":344,"context_line":"                else:"},{"line_number":345,"context_line":"                    leave_group(group_name)"},{"line_number":346,"context_line":"                break"},{"line_number":347,"context_line":"            else:"},{"line_number":348,"context_line":"                LOG.info(\"One member, waiting for second node to join ...\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"ac821dec_ef1610c2","line":345,"updated":"2021-12-14 08:49:26.000000000","message":"nit: maybe do this in a finally block?","commit_id":"e426414fee149901333891640f4062b15be922ac"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"294311ce6367bd0971308b9568b9f6c4ae835611","unresolved":false,"context_lines":[{"line_number":342,"context_line":"                    leave_group(group_name)"},{"line_number":343,"context_line":"                    group_lock.release()"},{"line_number":344,"context_line":"                else:"},{"line_number":345,"context_line":"                    leave_group(group_name)"},{"line_number":346,"context_line":"                break"},{"line_number":347,"context_line":"            else:"},{"line_number":348,"context_line":"                LOG.info(\"One member, waiting for second node to join ...\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"af747cf9_caea28b7","line":345,"in_reply_to":"ac821dec_ef1610c2","updated":"2021-12-15 14:03:40.000000000","message":"this would require to add a try block, no? also: while the 1st node just leaves, the 2nd node holds the lock and can only release it after leaving the group (so the finally block would need to account for this ... I think the logic is easier to understand if we separate the 1st and the 2nd node)","commit_id":"e426414fee149901333891640f4062b15be922ac"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"df9777b0a2ed3753762e186a0911ba530b3c179e","unresolved":false,"context_lines":[{"line_number":377,"context_line":"    # get our role and identify our partner"},{"line_number":378,"context_line":"    config \u003d info.get(\u0027agent_burnin_fio_network_config\u0027)"},{"line_number":379,"context_line":"    if config:"},{"line_number":380,"context_line":"        LOG.info(\"static agent_burnin_fio_network_config is %s\","},{"line_number":381,"context_line":"                 str(config))"},{"line_number":382,"context_line":"        role \u003d config.get(\u0027role\u0027)"},{"line_number":383,"context_line":"        partner \u003d config.get(\u0027partner\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"87922dbb_a2ee9244","line":380,"updated":"2021-12-14 08:49:26.000000000","message":"s/info/debug/ at least (if you even need this any more)","commit_id":"e426414fee149901333891640f4062b15be922ac"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"294311ce6367bd0971308b9568b9f6c4ae835611","unresolved":false,"context_lines":[{"line_number":377,"context_line":"    # get our role and identify our partner"},{"line_number":378,"context_line":"    config \u003d info.get(\u0027agent_burnin_fio_network_config\u0027)"},{"line_number":379,"context_line":"    if config:"},{"line_number":380,"context_line":"        LOG.info(\"static agent_burnin_fio_network_config is %s\","},{"line_number":381,"context_line":"                 str(config))"},{"line_number":382,"context_line":"        role \u003d config.get(\u0027role\u0027)"},{"line_number":383,"context_line":"        partner \u003d config.get(\u0027partner\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a2a9658_198f4de5","line":380,"in_reply_to":"87922dbb_a2ee9244","updated":"2021-12-15 14:03:40.000000000","message":"done","commit_id":"e426414fee149901333891640f4062b15be922ac"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"df9777b0a2ed3753762e186a0911ba530b3c179e","unresolved":false,"context_lines":[{"line_number":378,"context_line":"    config \u003d info.get(\u0027agent_burnin_fio_network_config\u0027)"},{"line_number":379,"context_line":"    if config:"},{"line_number":380,"context_line":"        LOG.info(\"static agent_burnin_fio_network_config is %s\","},{"line_number":381,"context_line":"                 str(config))"},{"line_number":382,"context_line":"        role \u003d config.get(\u0027role\u0027)"},{"line_number":383,"context_line":"        partner \u003d config.get(\u0027partner\u0027)"},{"line_number":384,"context_line":"    else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"d1ae9547_808fffcb","line":381,"updated":"2021-12-14 08:49:26.000000000","message":"nit: str() redundant with %s","commit_id":"e426414fee149901333891640f4062b15be922ac"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"294311ce6367bd0971308b9568b9f6c4ae835611","unresolved":false,"context_lines":[{"line_number":378,"context_line":"    config \u003d info.get(\u0027agent_burnin_fio_network_config\u0027)"},{"line_number":379,"context_line":"    if config:"},{"line_number":380,"context_line":"        LOG.info(\"static agent_burnin_fio_network_config is %s\","},{"line_number":381,"context_line":"                 str(config))"},{"line_number":382,"context_line":"        role \u003d config.get(\u0027role\u0027)"},{"line_number":383,"context_line":"        partner \u003d config.get(\u0027partner\u0027)"},{"line_number":384,"context_line":"    else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"d2426f21_d4dc4c93","line":381,"in_reply_to":"d1ae9547_808fffcb","updated":"2021-12-15 14:03:40.000000000","message":"done","commit_id":"e426414fee149901333891640f4062b15be922ac"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"df9777b0a2ed3753762e186a0911ba530b3c179e","unresolved":false,"context_lines":[{"line_number":382,"context_line":"        role \u003d config.get(\u0027role\u0027)"},{"line_number":383,"context_line":"        partner \u003d config.get(\u0027partner\u0027)"},{"line_number":384,"context_line":"    else:"},{"line_number":385,"context_line":"        LOG.info(\"dynamic pairing for network burn-in ...\")"},{"line_number":386,"context_line":"        timeout \u003d info.get("},{"line_number":387,"context_line":"            \u0027agent_burnin_fio_network_pairing_timeout\u0027, 900)"},{"line_number":388,"context_line":"        group_name \u003d info.get("}],"source_content_type":"text/x-python","patch_set":3,"id":"bb157e61_294caa91","line":385,"updated":"2021-12-14 08:49:26.000000000","message":"nit: move under backend_url check","commit_id":"e426414fee149901333891640f4062b15be922ac"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"294311ce6367bd0971308b9568b9f6c4ae835611","unresolved":false,"context_lines":[{"line_number":382,"context_line":"        role \u003d config.get(\u0027role\u0027)"},{"line_number":383,"context_line":"        partner \u003d config.get(\u0027partner\u0027)"},{"line_number":384,"context_line":"    else:"},{"line_number":385,"context_line":"        LOG.info(\"dynamic pairing for network burn-in ...\")"},{"line_number":386,"context_line":"        timeout \u003d info.get("},{"line_number":387,"context_line":"            \u0027agent_burnin_fio_network_pairing_timeout\u0027, 900)"},{"line_number":388,"context_line":"        group_name \u003d info.get("}],"source_content_type":"text/x-python","patch_set":3,"id":"4d028f9a_b9f3742e","line":385,"in_reply_to":"bb157e61_294caa91","updated":"2021-12-15 14:03:40.000000000","message":"done","commit_id":"e426414fee149901333891640f4062b15be922ac"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"179069cd8ffefe4ae2cd1a9d9508fd358d2bc384","unresolved":true,"context_lines":[{"line_number":259,"context_line":""},{"line_number":260,"context_line":"    :param backend_url: The tooz backend url."},{"line_number":261,"context_line":"    :param group_name: The tooz group name for pairing."},{"line_number":262,"context_line":"    :param timeout:Timeout in seconds for a node to wait for a partner."},{"line_number":263,"context_line":"    :returns: A set with the partner node and the role of the local node."},{"line_number":264,"context_line":"    \"\"\""},{"line_number":265,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"768cc124_0db8467f","line":262,"range":{"start_line":262,"start_character":19,"end_line":262,"end_character":20},"updated":"2022-01-10 10:38:06.000000000","message":"nit: missing blank space","commit_id":"7f15455d8d106a7d7ecdbc90e96f06d7e322ac4f"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"c527df0785ccd35d05c5d0795f397383d31dad2d","unresolved":true,"context_lines":[{"line_number":259,"context_line":""},{"line_number":260,"context_line":"    :param backend_url: The tooz backend url."},{"line_number":261,"context_line":"    :param group_name: The tooz group name for pairing."},{"line_number":262,"context_line":"    :param timeout:Timeout in seconds for a node to wait for a partner."},{"line_number":263,"context_line":"    :returns: A set with the partner node and the role of the local node."},{"line_number":264,"context_line":"    \"\"\""},{"line_number":265,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"b028dbb3_c723bd75","line":262,"range":{"start_line":262,"start_character":19,"end_line":262,"end_character":20},"in_reply_to":"768cc124_0db8467f","updated":"2022-01-20 19:15:42.000000000","message":"And funny enough, I was looking at the parser yesterday in docutils and it shouldn\u0027t matter. :)","commit_id":"7f15455d8d106a7d7ecdbc90e96f06d7e322ac4f"}],"releasenotes/notes/add_burnin_dynamic_network_pairing-33e398255050eb98.yaml":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"df9777b0a2ed3753762e186a0911ba530b3c179e","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    distributed coordination backend (as an alternative to a static"},{"line_number":6,"context_line":"    configuration). This allows burn-in to proceed on a \u0027first come"},{"line_number":7,"context_line":"    first served\u0027 basis with the nodes available, rather than a node"},{"line_number":8,"context_line":"    being blocked since the static partner is currently delayed."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"4325fc78_6fd25bd0","line":8,"updated":"2021-12-14 08:49:26.000000000","message":"nit: mention the required configuration?","commit_id":"e426414fee149901333891640f4062b15be922ac"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"294311ce6367bd0971308b9568b9f6c4ae835611","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    distributed coordination backend (as an alternative to a static"},{"line_number":6,"context_line":"    configuration). This allows burn-in to proceed on a \u0027first come"},{"line_number":7,"context_line":"    first served\u0027 basis with the nodes available, rather than a node"},{"line_number":8,"context_line":"    being blocked since the static partner is currently delayed."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"c7ee3965_76be6f75","line":8,"in_reply_to":"4325fc78_6fd25bd0","updated":"2021-12-15 14:03:40.000000000","message":"added the available options","commit_id":"e426414fee149901333891640f4062b15be922ac"}],"requirements.txt":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"df9777b0a2ed3753762e186a0911ba530b3c179e","unresolved":false,"context_lines":[{"line_number":21,"context_line":"Werkzeug\u003e\u003d1.0.1 # BSD License"},{"line_number":22,"context_line":"cryptography\u003e\u003d2.3 # BSD/Apache-2.0"},{"line_number":23,"context_line":"tooz\u003e\u003d2.7.2 # Apache-2.0"},{"line_number":24,"context_line":"kazoo\u003e\u003d2.8.0 # Apache-2.0"}],"source_content_type":"text/plain","patch_set":3,"id":"e22bc5af_80c00ea9","line":24,"updated":"2021-12-14 08:49:26.000000000","message":"Please make these optional (see ironic-lib for examples).","commit_id":"e426414fee149901333891640f4062b15be922ac"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"294311ce6367bd0971308b9568b9f6c4ae835611","unresolved":false,"context_lines":[{"line_number":21,"context_line":"Werkzeug\u003e\u003d1.0.1 # BSD License"},{"line_number":22,"context_line":"cryptography\u003e\u003d2.3 # BSD/Apache-2.0"},{"line_number":23,"context_line":"tooz\u003e\u003d2.7.2 # Apache-2.0"},{"line_number":24,"context_line":"kazoo\u003e\u003d2.8.0 # Apache-2.0"}],"source_content_type":"text/plain","patch_set":3,"id":"a6523a01_44b9b692","line":24,"in_reply_to":"e22bc5af_80c00ea9","updated":"2021-12-15 14:03:40.000000000","message":"I probably need a hand for this one.","commit_id":"e426414fee149901333891640f4062b15be922ac"}]}
