)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"e5780b3fa71ff2484b53c8fc0a0c59297df98ed8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"31cc62a2_6e217e1c","updated":"2022-07-28 17:26:19.000000000","message":"I don\u0027t think this is the right change, but I\u0027m trying to grok the actual bug to determine what the problem is so I can theorize about the right solution :)","commit_id":"13977135f578df78f4968b282e8bfcdd71acf0b5"}],"nova/objects/service.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"e5780b3fa71ff2484b53c8fc0a0c59297df98ed8","unresolved":true,"context_lines":[{"line_number":580,"context_line":"    results \u003d nova_context.scatter_gather_skip_cell0("},{"line_number":581,"context_line":"        context,"},{"line_number":582,"context_line":"        Service._db_service_get_minimum_version,"},{"line_number":583,"context_line":"        binaries)"},{"line_number":584,"context_line":""},{"line_number":585,"context_line":"    min_version \u003d None"},{"line_number":586,"context_line":"    for cell_uuid, result in results.items():"}],"source_content_type":"text/x-python","patch_set":1,"id":"1033fcd9_91e12244","line":583,"updated":"2022-07-28 17:26:19.000000000","message":"I think this is too big of a hammer. You can make this call to determine the version of services in a cell other than computes. For example, we may need to make this call to determine the versions of all the APIs (which should be pointing to cell0) or scheduler or conductor, etc.","commit_id":"7b6d62d7a6a223403fbd57f6d14609eee33b4d2a"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"00bc2cd6b89521d5b0e001c9191ff16af0d223db","unresolved":true,"context_lines":[{"line_number":580,"context_line":"    results \u003d nova_context.scatter_gather_skip_cell0("},{"line_number":581,"context_line":"        context,"},{"line_number":582,"context_line":"        Service._db_service_get_minimum_version,"},{"line_number":583,"context_line":"        binaries)"},{"line_number":584,"context_line":""},{"line_number":585,"context_line":"    min_version \u003d None"},{"line_number":586,"context_line":"    for cell_uuid, result in results.items():"}],"source_content_type":"text/x-python","patch_set":1,"id":"e07cacda_ff03ae52","line":583,"in_reply_to":"1033fcd9_91e12244","updated":"2022-07-28 18:20:22.000000000","message":"Okay, looking at how this plumbs in, *IF* we\u0027re going to make a change here, we probably need to have a flag to this method which is skip_cell0\u003dFalse, and if true, use the skip_cell0 scatter variant as you\u0027ve noted here. Then pass that as True from the compute-specific utils.raise_if_old_compute() thing.\n\nThat said, I think that the root cause of the problem is the use of the templated hostname in a situation where not all the DBs are on the same host as all the services that may need to access it. Fixing the cell0 special case here doesn\u0027t fix the situation where lots of cells are spread across multiple hosts and not all of them can access each other. That makes me think it\u0027s best not to make the somewhat obscure cell0 change here, as it\u0027s really just an artifact of how this one tripleo setup is wired.\n\nI think we\u0027ve previously said that anything with api_database set is assumed to be able to contact all the cells. In this case, that\u0027s what\u0027s going on - we\u0027re starting up from a service with api_database set. If you\u0027ve got that set on cell conductors for the affinity check, then you need to have the other cells accessible to cell conductors. If you\u0027re not, then you can have that isolation. We could introduce another flag that tells something whether it has global scope or not, but I think I\u0027d rather not do that and just keep it simple.","commit_id":"7b6d62d7a6a223403fbd57f6d14609eee33b4d2a"}]}
