)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"82b08dc8f2ff7b0187e3c53743e114ea3226cdf4","unresolved":true,"context_lines":[{"line_number":13,"context_line":"See the blueprint for more details:"},{"line_number":14,"context_line":"https://docs.openstack.org/nova/latest/admin/managing-resource-providers.html"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"This change allows us to copy the neccessary configuration."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: I0a3caaad73bc6fe27380e7f6bf6b792aca51c84c"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"a1c717c0_9c765eb5","line":16,"range":{"start_line":16,"start_character":34,"end_line":16,"end_character":44},"updated":"2022-06-13 09:36:34.000000000","message":"Nit: necessary","commit_id":"ee0d5be65781fe1aa94e2d369f9859b9e820d7a1"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"f9583d424231c705fdb01516c88e5d0ca40bdd43","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"bfdfa275_b8d82b83","updated":"2022-10-21 09:24:42.000000000","message":"This seems good. I know we have general issues with stale config, and this likely adds another one. Although we don\u0027t seem to have consensus on the fix?","commit_id":"522c3291cd6a405e8a0df7f7c8ee9846ae29727f"}],"ansible/roles/nova-cell/tasks/config.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"a1dd3332afe4884b9370174d82b3ebd4ef201ae7","unresolved":true,"context_lines":[{"line_number":80,"context_line":"    service: \"{{ nova_cell_services[\u0027nova-compute\u0027] }}\""},{"line_number":81,"context_line":"  copy:"},{"line_number":82,"context_line":"    content: \"{{ nova_cell_compute_provider_config | to_nice_yaml(indent\u003d2) }}\""},{"line_number":83,"context_line":"    dest: \"{{ node_config_directory }}/nova-compute/provider_config.yaml\""},{"line_number":84,"context_line":"    mode: \"0660\""},{"line_number":85,"context_line":"  when:"},{"line_number":86,"context_line":"    - nova_cell_compute_provider_config is defined"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3940ebbb_faa150b7","line":83,"range":{"start_line":83,"start_character":39,"end_line":83,"end_character":51},"updated":"2022-06-13 08:37:16.000000000","message":"Would it ever make sense to provide this file to nova-compute-ironic?","commit_id":"ee0d5be65781fe1aa94e2d369f9859b9e820d7a1"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"3a9f23d0a82d4cf875bbfd49465ace6c0bdc368f","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    service: \"{{ nova_cell_services[\u0027nova-compute\u0027] }}\""},{"line_number":81,"context_line":"  copy:"},{"line_number":82,"context_line":"    content: \"{{ nova_cell_compute_provider_config | to_nice_yaml(indent\u003d2) }}\""},{"line_number":83,"context_line":"    dest: \"{{ node_config_directory }}/nova-compute/provider_config.yaml\""},{"line_number":84,"context_line":"    mode: \"0660\""},{"line_number":85,"context_line":"  when:"},{"line_number":86,"context_line":"    - nova_cell_compute_provider_config is defined"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3bae5970_6b82c894","line":83,"range":{"start_line":83,"start_character":39,"end_line":83,"end_character":51},"in_reply_to":"121c6109_621690bc","updated":"2022-06-20 08:16:32.000000000","message":"Ok, let\u0027s leave until a use case becomes clear.","commit_id":"ee0d5be65781fe1aa94e2d369f9859b9e820d7a1"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"b12f3223491ef9b5b4e71cc3482ee7a56cf4d8bd","unresolved":true,"context_lines":[{"line_number":80,"context_line":"    service: \"{{ nova_cell_services[\u0027nova-compute\u0027] }}\""},{"line_number":81,"context_line":"  copy:"},{"line_number":82,"context_line":"    content: \"{{ nova_cell_compute_provider_config | to_nice_yaml(indent\u003d2) }}\""},{"line_number":83,"context_line":"    dest: \"{{ node_config_directory }}/nova-compute/provider_config.yaml\""},{"line_number":84,"context_line":"    mode: \"0660\""},{"line_number":85,"context_line":"  when:"},{"line_number":86,"context_line":"    - nova_cell_compute_provider_config is defined"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"121c6109_621690bc","line":83,"range":{"start_line":83,"start_character":39,"end_line":83,"end_character":51},"in_reply_to":"3940ebbb_faa150b7","updated":"2022-06-17 14:03:21.000000000","message":"I can\u0027t think of one, do you have something in mind?\n\n- We already set traits / resource classes via the Ironic API on the node objects\n- If we somehow did that here, it would mean restarting this service every time a new baremetal resource was added/removed/changed.","commit_id":"ee0d5be65781fe1aa94e2d369f9859b9e820d7a1"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"a1dd3332afe4884b9370174d82b3ebd4ef201ae7","unresolved":true,"context_lines":[{"line_number":84,"context_line":"    mode: \"0660\""},{"line_number":85,"context_line":"  when:"},{"line_number":86,"context_line":"    - nova_cell_compute_provider_config is defined"},{"line_number":87,"context_line":"    - service.enabled | bool"},{"line_number":88,"context_line":"  notify:"},{"line_number":89,"context_line":"    - Restart nova-compute container"},{"line_number":90,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"88e893fd_9712261e","line":87,"updated":"2022-06-13 08:37:16.000000000","message":"Needs to check the group.","commit_id":"ee0d5be65781fe1aa94e2d369f9859b9e820d7a1"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"b12f3223491ef9b5b4e71cc3482ee7a56cf4d8bd","unresolved":false,"context_lines":[{"line_number":84,"context_line":"    mode: \"0660\""},{"line_number":85,"context_line":"  when:"},{"line_number":86,"context_line":"    - nova_cell_compute_provider_config is defined"},{"line_number":87,"context_line":"    - service.enabled | bool"},{"line_number":88,"context_line":"  notify:"},{"line_number":89,"context_line":"    - Restart nova-compute container"},{"line_number":90,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"64637150_02a998af","line":87,"in_reply_to":"88e893fd_9712261e","updated":"2022-06-17 14:03:21.000000000","message":"Ack","commit_id":"ee0d5be65781fe1aa94e2d369f9859b9e820d7a1"}],"ansible/roles/nova-cell/templates/nova-compute.json.j2":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"a1dd3332afe4884b9370174d82b3ebd4ef201ae7","unresolved":true,"context_lines":[{"line_number":67,"context_line":"            \"dest\": \"/etc/nova/provider_config/provider_config.yaml\","},{"line_number":68,"context_line":"            \"owner\": \"nova\","},{"line_number":69,"context_line":"            \"perm\": \"0600\","},{"line_number":70,"context_line":"            \"optional\": true"},{"line_number":71,"context_line":"        }"},{"line_number":72,"context_line":"    ],"},{"line_number":73,"context_line":"    \"permissions\": ["}],"source_content_type":"text/x-jinja2","patch_set":2,"id":"a2ebae74_90b10290","line":70,"range":{"start_line":70,"start_character":12,"end_line":70,"end_character":28},"updated":"2022-06-13 08:37:16.000000000","message":"nit: While this works, if you instead make this block conditional on the variable being defined, it will catch typos etc in file names, and stop copying the file if the variable is removed.","commit_id":"ee0d5be65781fe1aa94e2d369f9859b9e820d7a1"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"0557c555ab05c5e8e5613c7f9e6792c8e9fa7072","unresolved":true,"context_lines":[{"line_number":67,"context_line":"            \"dest\": \"/etc/nova/provider_config/provider_config.yaml\","},{"line_number":68,"context_line":"            \"owner\": \"nova\","},{"line_number":69,"context_line":"            \"perm\": \"0600\","},{"line_number":70,"context_line":"            \"optional\": true"},{"line_number":71,"context_line":"        }"},{"line_number":72,"context_line":"    ],"},{"line_number":73,"context_line":"    \"permissions\": ["}],"source_content_type":"text/x-jinja2","patch_set":2,"id":"cf4020be_f2f3e456","line":70,"range":{"start_line":70,"start_character":12,"end_line":70,"end_character":28},"in_reply_to":"31fcaf1a_881329ce","updated":"2022-06-20 11:10:33.000000000","message":"The downside of making the block conditional is that we will restart the nova-compute container for no reason if the variable is unset. Neither approach solves the stale config problem unfortunately. Are you sure you want me to change it?","commit_id":"ee0d5be65781fe1aa94e2d369f9859b9e820d7a1"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"bd60b9ffadf8c29d00335f26d317615c3ced0bea","unresolved":true,"context_lines":[{"line_number":67,"context_line":"            \"dest\": \"/etc/nova/provider_config/provider_config.yaml\","},{"line_number":68,"context_line":"            \"owner\": \"nova\","},{"line_number":69,"context_line":"            \"perm\": \"0600\","},{"line_number":70,"context_line":"            \"optional\": true"},{"line_number":71,"context_line":"        }"},{"line_number":72,"context_line":"    ],"},{"line_number":73,"context_line":"    \"permissions\": ["}],"source_content_type":"text/x-jinja2","patch_set":2,"id":"94a0f637_d05a65f3","line":70,"range":{"start_line":70,"start_character":12,"end_line":70,"end_character":28},"in_reply_to":"34bdc02d_cf90897a","updated":"2022-06-21 08:33:17.000000000","message":"I think Doug\u0027s saying that if you use COPY_ALWAYS (which we do by default), the container will have the file in, and won\u0027t get recreated. Still, on the next recreation of the container the file would not be copied.","commit_id":"ee0d5be65781fe1aa94e2d369f9859b9e820d7a1"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"199699da499fda5a93aa30565337db79504312a1","unresolved":true,"context_lines":[{"line_number":67,"context_line":"            \"dest\": \"/etc/nova/provider_config/provider_config.yaml\","},{"line_number":68,"context_line":"            \"owner\": \"nova\","},{"line_number":69,"context_line":"            \"perm\": \"0600\","},{"line_number":70,"context_line":"            \"optional\": true"},{"line_number":71,"context_line":"        }"},{"line_number":72,"context_line":"    ],"},{"line_number":73,"context_line":"    \"permissions\": ["}],"source_content_type":"text/x-jinja2","patch_set":2,"id":"76344109_9bad0cba","line":70,"range":{"start_line":70,"start_character":12,"end_line":70,"end_character":28},"in_reply_to":"6db83635_e77f7928","updated":"2022-07-01 12:52:11.000000000","message":"It\u0027s a good topic to discuss, sure.","commit_id":"ee0d5be65781fe1aa94e2d369f9859b9e820d7a1"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"8964d0e7d496e70edb9c09a35d31f36a910e0ef0","unresolved":true,"context_lines":[{"line_number":67,"context_line":"            \"dest\": \"/etc/nova/provider_config/provider_config.yaml\","},{"line_number":68,"context_line":"            \"owner\": \"nova\","},{"line_number":69,"context_line":"            \"perm\": \"0600\","},{"line_number":70,"context_line":"            \"optional\": true"},{"line_number":71,"context_line":"        }"},{"line_number":72,"context_line":"    ],"},{"line_number":73,"context_line":"    \"permissions\": ["}],"source_content_type":"text/x-jinja2","patch_set":2,"id":"4da72335_533fdabc","line":70,"range":{"start_line":70,"start_character":12,"end_line":70,"end_character":28},"in_reply_to":"76344109_9bad0cba","updated":"2022-10-07 10:26:36.000000000","message":"Does this look ok now? I personally think it\u0027s more quirky (container can get restarted with no functional change), but no big deal.","commit_id":"ee0d5be65781fe1aa94e2d369f9859b9e820d7a1"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"32595bb7ad3e8de4de1b8dab1bf45f9d0c6233b3","unresolved":true,"context_lines":[{"line_number":67,"context_line":"            \"dest\": \"/etc/nova/provider_config/provider_config.yaml\","},{"line_number":68,"context_line":"            \"owner\": \"nova\","},{"line_number":69,"context_line":"            \"perm\": \"0600\","},{"line_number":70,"context_line":"            \"optional\": true"},{"line_number":71,"context_line":"        }"},{"line_number":72,"context_line":"    ],"},{"line_number":73,"context_line":"    \"permissions\": ["}],"source_content_type":"text/x-jinja2","patch_set":2,"id":"e4bac742_b1b6695e","line":70,"range":{"start_line":70,"start_character":12,"end_line":70,"end_character":28},"in_reply_to":"94a0f637_d05a65f3","updated":"2022-06-21 09:23:15.000000000","message":"Ah, right, my bad. Hmm. Well, at least the other approach will fix COPY_ONCE. Maybe we should default to COPY_ONCE as it is more predictable?","commit_id":"ee0d5be65781fe1aa94e2d369f9859b9e820d7a1"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"d0729adf66e63f0804d61142fa8ebe5ac1790e93","unresolved":true,"context_lines":[{"line_number":67,"context_line":"            \"dest\": \"/etc/nova/provider_config/provider_config.yaml\","},{"line_number":68,"context_line":"            \"owner\": \"nova\","},{"line_number":69,"context_line":"            \"perm\": \"0600\","},{"line_number":70,"context_line":"            \"optional\": true"},{"line_number":71,"context_line":"        }"},{"line_number":72,"context_line":"    ],"},{"line_number":73,"context_line":"    \"permissions\": ["}],"source_content_type":"text/x-jinja2","patch_set":2,"id":"a3f5a34c_4851d9ff","line":70,"range":{"start_line":70,"start_character":12,"end_line":70,"end_character":28},"in_reply_to":"a2ebae74_90b10290","updated":"2022-06-17 15:04:49.000000000","message":"In this case it\u0027s written out by config.yaml, which rules out user typos. Agree generally.","commit_id":"ee0d5be65781fe1aa94e2d369f9859b9e820d7a1"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"3a9f23d0a82d4cf875bbfd49465ace6c0bdc368f","unresolved":true,"context_lines":[{"line_number":67,"context_line":"            \"dest\": \"/etc/nova/provider_config/provider_config.yaml\","},{"line_number":68,"context_line":"            \"owner\": \"nova\","},{"line_number":69,"context_line":"            \"perm\": \"0600\","},{"line_number":70,"context_line":"            \"optional\": true"},{"line_number":71,"context_line":"        }"},{"line_number":72,"context_line":"    ],"},{"line_number":73,"context_line":"    \"permissions\": ["}],"source_content_type":"text/x-jinja2","patch_set":2,"id":"ef8d7d75_88b978d1","line":70,"range":{"start_line":70,"start_character":12,"end_line":70,"end_character":28},"in_reply_to":"a3f5a34c_4851d9ff","updated":"2022-06-20 08:16:32.000000000","message":"The latter half of my comment is more important - if you stop defining the variable for a host, it would no longer be copied into the container.","commit_id":"ee0d5be65781fe1aa94e2d369f9859b9e820d7a1"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"a845434cd0f3a0b08fe01d544c838323245f0e18","unresolved":true,"context_lines":[{"line_number":67,"context_line":"            \"dest\": \"/etc/nova/provider_config/provider_config.yaml\","},{"line_number":68,"context_line":"            \"owner\": \"nova\","},{"line_number":69,"context_line":"            \"perm\": \"0600\","},{"line_number":70,"context_line":"            \"optional\": true"},{"line_number":71,"context_line":"        }"},{"line_number":72,"context_line":"    ],"},{"line_number":73,"context_line":"    \"permissions\": ["}],"source_content_type":"text/x-jinja2","patch_set":2,"id":"34bdc02d_cf90897a","line":70,"range":{"start_line":70,"start_character":12,"end_line":70,"end_character":28},"in_reply_to":"cf4020be_f2f3e456","updated":"2022-06-20 13:47:49.000000000","message":"Well, the config.json changes so the config checking code should trigger the restart and avoid the stale config. I don\u0027t get the part about restarting the container when the variable is empty. I mean, if it was emptied, then it is the desired behaviour, no? What do you mean?","commit_id":"ee0d5be65781fe1aa94e2d369f9859b9e820d7a1"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"0895fc1e53eeb1ff17eccdd22fcae352d44d9265","unresolved":true,"context_lines":[{"line_number":67,"context_line":"            \"dest\": \"/etc/nova/provider_config/provider_config.yaml\","},{"line_number":68,"context_line":"            \"owner\": \"nova\","},{"line_number":69,"context_line":"            \"perm\": \"0600\","},{"line_number":70,"context_line":"            \"optional\": true"},{"line_number":71,"context_line":"        }"},{"line_number":72,"context_line":"    ],"},{"line_number":73,"context_line":"    \"permissions\": ["}],"source_content_type":"text/x-jinja2","patch_set":2,"id":"6db83635_e77f7928","line":70,"range":{"start_line":70,"start_character":12,"end_line":70,"end_character":28},"in_reply_to":"e4bac742_b1b6695e","updated":"2022-07-01 09:57:36.000000000","message":"A long time ago COPY_ONCE was the default, but it was changed to COPY_ALWAYS:\nhttps://review.opendev.org/c/openstack/kolla/+/286671\n\nIt would be good to agree on the best approach to solve the stale config problem generally.","commit_id":"ee0d5be65781fe1aa94e2d369f9859b9e820d7a1"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"11d130a0386ba81ba06c10f70a6938b5cc8c0646","unresolved":true,"context_lines":[{"line_number":67,"context_line":"            \"dest\": \"/etc/nova/provider_config/provider_config.yaml\","},{"line_number":68,"context_line":"            \"owner\": \"nova\","},{"line_number":69,"context_line":"            \"perm\": \"0600\","},{"line_number":70,"context_line":"            \"optional\": true"},{"line_number":71,"context_line":"        }"},{"line_number":72,"context_line":"    ],"},{"line_number":73,"context_line":"    \"permissions\": ["}],"source_content_type":"text/x-jinja2","patch_set":2,"id":"31fcaf1a_881329ce","line":70,"range":{"start_line":70,"start_character":12,"end_line":70,"end_character":28},"in_reply_to":"ef8d7d75_88b978d1","updated":"2022-06-20 09:40:45.000000000","message":"Please correct this before merging.","commit_id":"ee0d5be65781fe1aa94e2d369f9859b9e820d7a1"}]}
