)]}'
{"nova/virt/libvirt/imagecache.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0b1e302685c299e50d5e759b5496014b522a16c7","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        for ent in os.listdir(base_dir):"},{"line_number":124,"context_line":"            path \u003d os.path.join(base_dir, ent)"},{"line_number":125,"context_line":"            if is_valid_info_file(path):"},{"line_number":126,"context_line":"                # TODO(mdbooth): We stopped using these files in Newton,"},{"line_number":127,"context_line":"                # but we had to tolerate them in case we were on shared"},{"line_number":128,"context_line":"                # storage with a Mitaka compute host which expected them to"},{"line_number":129,"context_line":"                # exist. In Ocata we can be sure that nothing is using them"},{"line_number":130,"context_line":"                # any more, so they can be safely removed."},{"line_number":131,"context_line":"                #"},{"line_number":132,"context_line":"                # In Pike we can be sure that this cleanup has already run,"},{"line_number":133,"context_line":"                # so we should delete this block entirely."}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_06bce0da","line":130,"range":{"start_line":126,"start_character":16,"end_line":130,"end_character":58},"updated":"2017-01-30 18:15:47.000000000","message":"How are you sure unless you\u0027re checking the minimum nova-compute service version in the deployment? Like is done here:\n\nhttps://review.openstack.org/#/c/417961/41/nova/scheduler/filter_scheduler.py@178","commit_id":"538e03c477ba913578ec43b207eacdbccf51b137"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e53e68eeb9280392e046c4f584fed923fb24170d","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        for ent in os.listdir(base_dir):"},{"line_number":124,"context_line":"            path \u003d os.path.join(base_dir, ent)"},{"line_number":125,"context_line":"            if is_valid_info_file(path):"},{"line_number":126,"context_line":"                # TODO(mdbooth): We stopped using these files in Newton,"},{"line_number":127,"context_line":"                # but we had to tolerate them in case we were on shared"},{"line_number":128,"context_line":"                # storage with a Mitaka compute host which expected them to"},{"line_number":129,"context_line":"                # exist. In Ocata we can be sure that nothing is using them"},{"line_number":130,"context_line":"                # any more, so they can be safely removed."},{"line_number":131,"context_line":"                #"},{"line_number":132,"context_line":"                # In Pike we can be sure that this cleanup has already run,"},{"line_number":133,"context_line":"                # so we should delete this block entirely."}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_816a7ab1","line":130,"range":{"start_line":126,"start_character":16,"end_line":130,"end_character":58},"in_reply_to":"3a461143_06bce0da","updated":"2017-01-30 18:34:56.000000000","message":"In other words, when the newton change referenced in the commit message merged, the service version was 11:\n\nhttps://github.com/openstack/nova/blob/2c389ccc8c266175a71a29358bec7fe219e64fe0/nova/objects/service.py\n\nSo for this code to run with a guarantee that code is deployed, it would have to only do this if the minimum nova-compute service version in the deployment was \u003e 11.","commit_id":"538e03c477ba913578ec43b207eacdbccf51b137"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"65aeb16ae982e178ec7dd901f5156e21aa8f705c","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        for ent in os.listdir(base_dir):"},{"line_number":124,"context_line":"            path \u003d os.path.join(base_dir, ent)"},{"line_number":125,"context_line":"            if is_valid_info_file(path):"},{"line_number":126,"context_line":"                # TODO(mdbooth): We stopped using these files in Newton,"},{"line_number":127,"context_line":"                # but we had to tolerate them in case we were on shared"},{"line_number":128,"context_line":"                # storage with a Mitaka compute host which expected them to"},{"line_number":129,"context_line":"                # exist. In Ocata we can be sure that nothing is using them"},{"line_number":130,"context_line":"                # any more, so they can be safely removed."},{"line_number":131,"context_line":"                #"},{"line_number":132,"context_line":"                # In Pike we can be sure that this cleanup has already run,"},{"line_number":133,"context_line":"                # so we should delete this block entirely."}],"source_content_type":"text/x-python","patch_set":2,"id":"ff82abbf_203ad435","line":130,"range":{"start_line":126,"start_character":16,"end_line":130,"end_character":58},"in_reply_to":"3a461143_3049ebb7","updated":"2017-11-21 17:27:16.000000000","message":"I must admit, I also thought the n and n-1 coexistence policy to be the default one and have followed that through on multiple reviews. Are you sure this isn\u0027t the case??","commit_id":"538e03c477ba913578ec43b207eacdbccf51b137"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"088a3c48950f7306d9575a91be9044b2e1516e2d","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        for ent in os.listdir(base_dir):"},{"line_number":124,"context_line":"            path \u003d os.path.join(base_dir, ent)"},{"line_number":125,"context_line":"            if is_valid_info_file(path):"},{"line_number":126,"context_line":"                # TODO(mdbooth): We stopped using these files in Newton,"},{"line_number":127,"context_line":"                # but we had to tolerate them in case we were on shared"},{"line_number":128,"context_line":"                # storage with a Mitaka compute host which expected them to"},{"line_number":129,"context_line":"                # exist. In Ocata we can be sure that nothing is using them"},{"line_number":130,"context_line":"                # any more, so they can be safely removed."},{"line_number":131,"context_line":"                #"},{"line_number":132,"context_line":"                # In Pike we can be sure that this cleanup has already run,"},{"line_number":133,"context_line":"                # so we should delete this block entirely."}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_b4b31d09","line":130,"range":{"start_line":126,"start_character":16,"end_line":130,"end_character":58},"in_reply_to":"3a461143_816a7ab1","updated":"2017-01-31 10:16:39.000000000","message":"It was my understanding that we explicitly don\u0027t support deployments with a mixture of N and N-2. At most we support N and N-1, which is the assumption made here. We assume here that because this is Ocata, there may be Newton nodes but not Mitaka nodes. This has come up at a bunch of summits and operators meetups and we\u0027ve always been unambiguous about it, so I\u0027m pretty surprised if this isn\u0027t the case.\n\nI\u0027m trying to delete obsolete code here. I could add in the service check, but that would add code, not delete it. If we can safely make assumptions about how old a compute node we might be co-existing with, I think the solution of just deleting the code is better.","commit_id":"538e03c477ba913578ec43b207eacdbccf51b137"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"998922c97afe8ed0f437f0eebf7bd1a56004064c","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        for ent in os.listdir(base_dir):"},{"line_number":124,"context_line":"            path \u003d os.path.join(base_dir, ent)"},{"line_number":125,"context_line":"            if is_valid_info_file(path):"},{"line_number":126,"context_line":"                # TODO(mdbooth): We stopped using these files in Newton,"},{"line_number":127,"context_line":"                # but we had to tolerate them in case we were on shared"},{"line_number":128,"context_line":"                # storage with a Mitaka compute host which expected them to"},{"line_number":129,"context_line":"                # exist. In Ocata we can be sure that nothing is using them"},{"line_number":130,"context_line":"                # any more, so they can be safely removed."},{"line_number":131,"context_line":"                #"},{"line_number":132,"context_line":"                # In Pike we can be sure that this cleanup has already run,"},{"line_number":133,"context_line":"                # so we should delete this block entirely."}],"source_content_type":"text/x-python","patch_set":2,"id":"3a461143_3049ebb7","line":130,"range":{"start_line":126,"start_character":16,"end_line":130,"end_character":58},"in_reply_to":"3a461143_b4b31d09","updated":"2017-01-31 15:14:27.000000000","message":"Our upgrade docs in the nova devref only talk about n and n+1 for rolling upgrades, and that\u0027s what we test with using grenade. The upgrade and rolling upgrade tags in the governance repo also aren\u0027t very clear on not supporting n-2 computes (which isn\u0027t a surprise since they aren\u0027t nova-specific tags). So I\u0027m not aware of anything specifically saying we don\u0027t support n-2, the tags just say that configs from n-1 should work in n, which is what we support for changes and deprecations to config options. But we don\u0027t have anything specifically saying we don\u0027t support n-2, and we have the service version stuff to tell us, which is why I was bringing it up.","commit_id":"538e03c477ba913578ec43b207eacdbccf51b137"}]}
