)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"cebaa78f39b86c008efb3f76d8642a2c78da0344","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"63c5cbd4_9c2263c2","updated":"2023-03-21 11:48:28.000000000","message":"What is the difference between this and run with --tags neutron --limit neutron-server ? Thanks","commit_id":"281e61e5fc77d1b547cb019894b5adee81332598"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"9a0b720a313cbd18198bf641880a9a0960d47a93","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"0c072d41_27c08a61","in_reply_to":"63c5cbd4_9c2263c2","updated":"2023-03-21 14:05:58.000000000","message":"That will run all the neutron tagged tasks for hosts in the neutron-server group. So if you had multiple neutron services on the same host, they\u0027d all be reconfigured too. I essentially wanted a method to skip re-configuring certain neutron services.","commit_id":"281e61e5fc77d1b547cb019894b5adee81332598"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"869fe7ae7debe1ea0e866bc177f65fabf26af571","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":16,"id":"22934975_893b7246","updated":"2023-11-16 10:19:57.000000000","message":"I think that requires some docs, unless you want to be the only one using it.","commit_id":"9998c1cb6fadfc90e090e162b64ec0d4c7162116"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"e61c93866ea48234bad9cb3a916ee9b99a4959aa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"4155b387_c4a6fadb","in_reply_to":"22934975_893b7246","updated":"2024-02-14 14:14:09.000000000","message":"Done","commit_id":"9998c1cb6fadfc90e090e162b64ec0d4c7162116"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"1cca4b7b384087d9bc4e068b775d0bd3b8f167c9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"b28c43d0_c1bd8f14","updated":"2024-02-09 16:38:49.000000000","message":"recheck","commit_id":"aa3a87a32b053be78d339a9572a81ba096216e91"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"a6ea6cebccdbb2bb2581fe41ca2d25430c4bf7e7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"474a7dd3_e27565eb","updated":"2024-02-20 15:19:46.000000000","message":"Seems like the linter has become stricter on line length. I\u0027l see what I can do.","commit_id":"8397bdb91419ef52ecf9e8921c7207b1fdf438ba"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"d96f2b31daa865b055cdd043bb6b8c2b8e44a990","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"c3745944_40ce52eb","updated":"2024-04-22 06:26:45.000000000","message":"I\u0027m wondering how we can make sure that this is working as expected, would it make sense to amend one of the upgrade jobs to do a two step process? How would one verify this?","commit_id":"5da90ee0fd6f80e009fe05d46c4d46caef3f5e8d"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"0da7cd4b3f66b98712ce70e26f430c0de7794d8b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"6112fed1_c3e594db","updated":"2024-04-24 13:19:52.000000000","message":"Will - please address frickler\u0027s comments","commit_id":"5da90ee0fd6f80e009fe05d46c4d46caef3f5e8d"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"931489f2b207dca68dd02e78c96262f10c266fa7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"656a69ac_45171ec1","in_reply_to":"c3745944_40ce52eb","updated":"2024-07-19 12:09:46.000000000","message":"Agreed that an upgrade job would be nice, but can we add that later?","commit_id":"5da90ee0fd6f80e009fe05d46c4d46caef3f5e8d"}],"ansible/roles/neutron/tasks/rolling_upgrade.yml":[{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"1e791af6720d87d9f58961ff6701bd30893a9ad2","unresolved":true,"context_lines":[{"line_number":38,"context_line":"- name: Checking neutron pending contract scripts"},{"line_number":39,"context_line":"  become: true"},{"line_number":40,"context_line":"  command: \"{{ kolla_container_engine }} exec -t neutron_server neutron-db-manage --subproject {{ item }} has_offline_migrations\""},{"line_number":41,"context_line":"  register: neutron_check_contract_db_stdout"},{"line_number":42,"context_line":"  ignore_errors: yes"},{"line_number":43,"context_line":"  with_items: \"{{ neutron_rolling_upgrade_services }}\""},{"line_number":44,"context_line":"  when:"},{"line_number":45,"context_line":"    - neutron_server.enabled"},{"line_number":46,"context_line":"    - inventory_hostname \u003d\u003d groups[\u0027neutron-server\u0027][0]"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"- name: Stopping all neutron-server for contract db"},{"line_number":49,"context_line":"  vars:"}],"source_content_type":"text/x-yaml","patch_set":21,"id":"aa75fd07_8d999291","line":46,"range":{"start_line":41,"start_character":2,"end_line":46,"end_character":55},"updated":"2024-02-22 09:13:48.000000000","message":"not sure about this, the registered variable is only available on the running hosts for the current play. did you test that this works with an arbitrary limited number of neutron-server servers?\n\nthis reminds me of: https://bugs.launchpad.net/kolla-ansible/+bug/2054348","commit_id":"57d7b05f4d82411c679f0664f49b4f48e8883732"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"084d2b2af65b25452a8fdd126011b38eeb508d05","unresolved":false,"context_lines":[{"line_number":38,"context_line":"- name: Checking neutron pending contract scripts"},{"line_number":39,"context_line":"  become: true"},{"line_number":40,"context_line":"  command: \"{{ kolla_container_engine }} exec -t neutron_server neutron-db-manage --subproject {{ item }} has_offline_migrations\""},{"line_number":41,"context_line":"  register: neutron_check_contract_db_stdout"},{"line_number":42,"context_line":"  ignore_errors: yes"},{"line_number":43,"context_line":"  with_items: \"{{ neutron_rolling_upgrade_services }}\""},{"line_number":44,"context_line":"  when:"},{"line_number":45,"context_line":"    - neutron_server.enabled"},{"line_number":46,"context_line":"    - inventory_hostname \u003d\u003d groups[\u0027neutron-server\u0027][0]"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"- name: Stopping all neutron-server for contract db"},{"line_number":49,"context_line":"  vars:"}],"source_content_type":"text/x-yaml","patch_set":21,"id":"2bc96e64_b96fb7e6","line":46,"range":{"start_line":41,"start_character":2,"end_line":46,"end_character":55},"in_reply_to":"7df91c65_ccab4fe8","updated":"2024-02-28 16:16:06.000000000","message":"Acknowledged","commit_id":"57d7b05f4d82411c679f0664f49b4f48e8883732"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"af49c0aa0b0b041d42d7dd2f1937fc86cd788867","unresolved":true,"context_lines":[{"line_number":38,"context_line":"- name: Checking neutron pending contract scripts"},{"line_number":39,"context_line":"  become: true"},{"line_number":40,"context_line":"  command: \"{{ kolla_container_engine }} exec -t neutron_server neutron-db-manage --subproject {{ item }} has_offline_migrations\""},{"line_number":41,"context_line":"  register: neutron_check_contract_db_stdout"},{"line_number":42,"context_line":"  ignore_errors: yes"},{"line_number":43,"context_line":"  with_items: \"{{ neutron_rolling_upgrade_services }}\""},{"line_number":44,"context_line":"  when:"},{"line_number":45,"context_line":"    - neutron_server.enabled"},{"line_number":46,"context_line":"    - inventory_hostname \u003d\u003d groups[\u0027neutron-server\u0027][0]"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"- name: Stopping all neutron-server for contract db"},{"line_number":49,"context_line":"  vars:"}],"source_content_type":"text/x-yaml","patch_set":21,"id":"7df91c65_ccab4fe8","line":46,"range":{"start_line":41,"start_character":2,"end_line":46,"end_character":55},"in_reply_to":"aa75fd07_8d999291","updated":"2024-02-28 14:29:08.000000000","message":"I don\u0027t think it is recommended to upgrade neutron server containers one host at a time, but you can do all neutron servers before the agents. I just added the extra condition to the when (so in effect it isn\u0027t worse than before).","commit_id":"57d7b05f4d82411c679f0664f49b4f48e8883732"}],"ansible/roles/neutron/vars/main.yml":[{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"1131fc5887a1596989c4a8941acc9c252f5c51df","unresolved":true,"context_lines":[{"line_number":2,"context_line":"project_name: \"neutron\""},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"# Support ansible style limit strings"},{"line_number":5,"context_line":"_neutron_service_limit: \"{{ (neutron_service_limit.split(\u0027,\u0027) | reject(\u0027equalto\u0027, neutron_service_limit) or neutron_service_limit.split(\u0027:\u0027)) | select }}\""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"cbdea1b7_877127f1","line":5,"updated":"2023-08-18 09:27:26.000000000","message":"_neutron_service_limit looks ugly. neutron_service_limits more human readable?","commit_id":"8209a07934dc5ed296cc680e9dd6f41456279499"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"52251e56c8edc1a812201ad4a0f3eff85e233170","unresolved":true,"context_lines":[{"line_number":2,"context_line":"project_name: \"neutron\""},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"# Support ansible style limit strings"},{"line_number":5,"context_line":"_neutron_service_limit: \"{{ (neutron_service_limit.split(\u0027,\u0027) | reject(\u0027equalto\u0027, neutron_service_limit) or neutron_service_limit.split(\u0027:\u0027)) | select }}\""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"6778a765_4a76d122","line":5,"in_reply_to":"2f779524_617b6624","updated":"2023-08-31 08:36:27.000000000","message":"Probably not the best phrasing, but I meant that we can either use colon separated values or comma separated values. I will change the wording as we don\u0027t support the full set of features that ansible supports in the limit:\n\nhttps://docs.ansible.com/ansible/latest/inventory_guide/intro_patterns.html#common-patterns\n\nI will also use your suggestion to use neutron_service_limits, thanks.","commit_id":"8209a07934dc5ed296cc680e9dd6f41456279499"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"1cca4b7b384087d9bc4e068b775d0bd3b8f167c9","unresolved":false,"context_lines":[{"line_number":2,"context_line":"project_name: \"neutron\""},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"# Support ansible style limit strings"},{"line_number":5,"context_line":"_neutron_service_limit: \"{{ (neutron_service_limit.split(\u0027,\u0027) | reject(\u0027equalto\u0027, neutron_service_limit) or neutron_service_limit.split(\u0027:\u0027)) | select }}\""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"f6721313_f1abc449","line":5,"in_reply_to":"6778a765_4a76d122","updated":"2024-02-09 16:38:49.000000000","message":"Done","commit_id":"8209a07934dc5ed296cc680e9dd6f41456279499"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"e699c9ce08ba0850d3b43b53812e27194b9f352d","unresolved":false,"context_lines":[{"line_number":2,"context_line":"project_name: \"neutron\""},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"# Support ansible style limit strings"},{"line_number":5,"context_line":"_neutron_service_limit: \"{{ (neutron_service_limit.split(\u0027,\u0027) | reject(\u0027equalto\u0027, neutron_service_limit) or neutron_service_limit.split(\u0027:\u0027)) | select }}\""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"86d10ffc_72ef1ab4","line":5,"in_reply_to":"6778a765_4a76d122","updated":"2023-08-31 10:27:00.000000000","message":"much more human readable now","commit_id":"8209a07934dc5ed296cc680e9dd6f41456279499"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"7ca61604178cef1bd8dc412bea74b14da253a164","unresolved":true,"context_lines":[{"line_number":2,"context_line":"project_name: \"neutron\""},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"# Support ansible style limit strings"},{"line_number":5,"context_line":"_neutron_service_limit: \"{{ (neutron_service_limit.split(\u0027,\u0027) | reject(\u0027equalto\u0027, neutron_service_limit) or neutron_service_limit.split(\u0027:\u0027)) | select }}\""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"2f779524_617b6624","line":5,"in_reply_to":"cbdea1b7_877127f1","updated":"2023-08-26 21:42:57.000000000","message":"what is exactly \u0027ansible style limit strings\u0027 ? did some research and find nothing.","commit_id":"8209a07934dc5ed296cc680e9dd6f41456279499"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"6a641a9abde8525a2704900adc106d1b306d61ce","unresolved":true,"context_lines":[{"line_number":2,"context_line":"project_name: \"neutron\""},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"# Support comma or colon separated values e.g neutron-server,neutron-openvswitch-agent"},{"line_number":5,"context_line":"neutron_service_limits: \"{{ (neutron_service_limit.split(\u0027,\u0027) | reject(\u0027equalto\u0027, neutron_service_limit) or neutron_service_limit.split(\u0027:\u0027)) | select }}\""}],"source_content_type":"text/x-yaml","patch_set":23,"id":"42cfad57_ea5f4937","line":5,"updated":"2024-04-22 06:38:43.000000000","message":"Why do we need to support two variants? IMO choose one and document that should be fine, better than having this complex expression","commit_id":"5da90ee0fd6f80e009fe05d46c4d46caef3f5e8d"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"7cc292bd06c016d2c49436ce1adb3429761d62f0","unresolved":false,"context_lines":[{"line_number":2,"context_line":"project_name: \"neutron\""},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"# Support comma or colon separated values e.g neutron-server,neutron-openvswitch-agent"},{"line_number":5,"context_line":"neutron_service_limits: \"{{ (neutron_service_limit.split(\u0027,\u0027) | reject(\u0027equalto\u0027, neutron_service_limit) or neutron_service_limit.split(\u0027:\u0027)) | select }}\""}],"source_content_type":"text/x-yaml","patch_set":23,"id":"087f23a1_8d6dc049","line":5,"in_reply_to":"42cfad57_ea5f4937","updated":"2024-07-19 12:05:43.000000000","message":"Fair enough - I will change to a comma separated list.","commit_id":"5da90ee0fd6f80e009fe05d46c4d46caef3f5e8d"}],"doc/source/reference/networking/neutron.rst":[{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"99beba6909292774ccd9a40d1ad61bb0f3d417a0","unresolved":true,"context_lines":[{"line_number":261,"context_line":""},{"line_number":262,"context_line":"Restore router and DHCP instances onto the target and repeat the process for the next network node."},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"The compute nodes can then be in upgraded in staged fashion:"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":".. code:: sh"},{"line_number":267,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"2bf4a854_20d58dbd","line":264,"range":{"start_line":264,"start_character":42,"end_line":264,"end_character":44},"updated":"2024-02-19 15:20:41.000000000","message":"nit: \"in a staged fashion\"","commit_id":"aa3a87a32b053be78d339a9572a81ba096216e91"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"99beba6909292774ccd9a40d1ad61bb0f3d417a0","unresolved":true,"context_lines":[{"line_number":261,"context_line":""},{"line_number":262,"context_line":"Restore router and DHCP instances onto the target and repeat the process for the next network node."},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"The compute nodes can then be in upgraded in staged fashion:"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":".. code:: sh"},{"line_number":267,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"ecae6635_ed9db9c8","line":264,"range":{"start_line":264,"start_character":30,"end_line":264,"end_character":32},"updated":"2024-02-19 15:20:41.000000000","message":"typo: \"in\" is a duplicate word here, not needed.","commit_id":"aa3a87a32b053be78d339a9572a81ba096216e91"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"b3c14efe5309c61922898c772f3d8ffbe36fb1c3","unresolved":false,"context_lines":[{"line_number":261,"context_line":""},{"line_number":262,"context_line":"Restore router and DHCP instances onto the target and repeat the process for the next network node."},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"The compute nodes can then be in upgraded in staged fashion:"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":".. code:: sh"},{"line_number":267,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"68304af1_2f548bdb","line":264,"range":{"start_line":264,"start_character":42,"end_line":264,"end_character":44},"in_reply_to":"2bf4a854_20d58dbd","updated":"2024-02-20 09:50:12.000000000","message":"Thanks - done","commit_id":"aa3a87a32b053be78d339a9572a81ba096216e91"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"084d2b2af65b25452a8fdd126011b38eeb508d05","unresolved":false,"context_lines":[{"line_number":261,"context_line":""},{"line_number":262,"context_line":"Restore router and DHCP instances onto the target and repeat the process for the next network node."},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"The compute nodes can then be in upgraded in staged fashion:"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":".. code:: sh"},{"line_number":267,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"1fda7c47_a0c5dbb9","line":264,"range":{"start_line":264,"start_character":30,"end_line":264,"end_character":32},"in_reply_to":"756496b3_908a513e","updated":"2024-02-28 16:16:06.000000000","message":"Done","commit_id":"aa3a87a32b053be78d339a9572a81ba096216e91"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"b3c14efe5309c61922898c772f3d8ffbe36fb1c3","unresolved":true,"context_lines":[{"line_number":261,"context_line":""},{"line_number":262,"context_line":"Restore router and DHCP instances onto the target and repeat the process for the next network node."},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"The compute nodes can then be in upgraded in staged fashion:"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":".. code:: sh"},{"line_number":267,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"756496b3_908a513e","line":264,"range":{"start_line":264,"start_character":30,"end_line":264,"end_character":32},"in_reply_to":"ecae6635_ed9db9c8","updated":"2024-02-20 09:50:12.000000000","message":"Good spot - thanks","commit_id":"aa3a87a32b053be78d339a9572a81ba096216e91"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"084d2b2af65b25452a8fdd126011b38eeb508d05","unresolved":true,"context_lines":[{"line_number":246,"context_line":"perform a two-step upgrade of neutron, where neutron-server is upgraded first,"},{"line_number":247,"context_line":"followed by the agents e.g:"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"Upgrade neutron-server across all network nodes:"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":".. code:: sh"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"   kolla-ansible upgrade --tags neutron -e neutron_service_limit\u003dneutron-server"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"For each network node, drain the network agents running on that node of all"},{"line_number":256,"context_line":"routers and DHCP instances. Then upgrade the agents:"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":".. code:: sh"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"   kolla-ansible upgrade --limit network[0] --tags neutron,openvswitch --skip-prechecks -e neutron_service_limit\u003d\u0027neutron-openvswitch-agent,neutron-dhcp-agent,neutron-l3-agent,neutron-metadata-agent,ironic-neutron-agent\u0027"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"Restore router and DHCP instances onto the target and repeat the process for"},{"line_number":263,"context_line":"the next network node."},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"The compute nodes can then be upgraded in a staged fashion:"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":".. code:: sh"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"   kolla-ansible upgrade --limit compute[0] --tags neutron,openvswitch"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"This can reduce load on neutron for large deployments. See the"},{"line_number":272,"context_line":":neutron-doc:`neutron documentation on rolling upgrades"},{"line_number":273,"context_line":"\u003ccontributor/internals/upgrade.html#rolling-upgrade\u003e` for futher details."}],"source_content_type":"text/x-rst","patch_set":21,"id":"f1f5736f_cc32c136","line":273,"range":{"start_line":249,"start_character":0,"end_line":273,"end_character":73},"updated":"2024-02-28 16:16:06.000000000","message":"shouldn\u0027t this also be at least linked to in our general upgrade guide?","commit_id":"57d7b05f4d82411c679f0664f49b4f48e8883732"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"62cc2e48079faee4673561112e42560f43e46d86","unresolved":false,"context_lines":[{"line_number":246,"context_line":"perform a two-step upgrade of neutron, where neutron-server is upgraded first,"},{"line_number":247,"context_line":"followed by the agents e.g:"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"Upgrade neutron-server across all network nodes:"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":".. code:: sh"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"   kolla-ansible upgrade --tags neutron -e neutron_service_limit\u003dneutron-server"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"For each network node, drain the network agents running on that node of all"},{"line_number":256,"context_line":"routers and DHCP instances. Then upgrade the agents:"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":".. code:: sh"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"   kolla-ansible upgrade --limit network[0] --tags neutron,openvswitch --skip-prechecks -e neutron_service_limit\u003d\u0027neutron-openvswitch-agent,neutron-dhcp-agent,neutron-l3-agent,neutron-metadata-agent,ironic-neutron-agent\u0027"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"Restore router and DHCP instances onto the target and repeat the process for"},{"line_number":263,"context_line":"the next network node."},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"The compute nodes can then be upgraded in a staged fashion:"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":".. code:: sh"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"   kolla-ansible upgrade --limit compute[0] --tags neutron,openvswitch"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"This can reduce load on neutron for large deployments. See the"},{"line_number":272,"context_line":":neutron-doc:`neutron documentation on rolling upgrades"},{"line_number":273,"context_line":"\u003ccontributor/internals/upgrade.html#rolling-upgrade\u003e` for futher details."}],"source_content_type":"text/x-rst","patch_set":21,"id":"f31e2de3_527f9c3c","line":273,"range":{"start_line":249,"start_character":0,"end_line":273,"end_character":73},"in_reply_to":"cd4bad4b_35a1b986","updated":"2024-03-27 17:08:11.000000000","message":"Done","commit_id":"57d7b05f4d82411c679f0664f49b4f48e8883732"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"df36ead656a8cd8e7510999c86087347a2b8da33","unresolved":true,"context_lines":[{"line_number":246,"context_line":"perform a two-step upgrade of neutron, where neutron-server is upgraded first,"},{"line_number":247,"context_line":"followed by the agents e.g:"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"Upgrade neutron-server across all network nodes:"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":".. code:: sh"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"   kolla-ansible upgrade --tags neutron -e neutron_service_limit\u003dneutron-server"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"For each network node, drain the network agents running on that node of all"},{"line_number":256,"context_line":"routers and DHCP instances. Then upgrade the agents:"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":".. code:: sh"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"   kolla-ansible upgrade --limit network[0] --tags neutron,openvswitch --skip-prechecks -e neutron_service_limit\u003d\u0027neutron-openvswitch-agent,neutron-dhcp-agent,neutron-l3-agent,neutron-metadata-agent,ironic-neutron-agent\u0027"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"Restore router and DHCP instances onto the target and repeat the process for"},{"line_number":263,"context_line":"the next network node."},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"The compute nodes can then be upgraded in a staged fashion:"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":".. code:: sh"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"   kolla-ansible upgrade --limit compute[0] --tags neutron,openvswitch"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"This can reduce load on neutron for large deployments. See the"},{"line_number":272,"context_line":":neutron-doc:`neutron documentation on rolling upgrades"},{"line_number":273,"context_line":"\u003ccontributor/internals/upgrade.html#rolling-upgrade\u003e` for futher details."}],"source_content_type":"text/x-rst","patch_set":21,"id":"cd4bad4b_35a1b986","line":273,"range":{"start_line":249,"start_character":0,"end_line":273,"end_character":73},"in_reply_to":"f1f5736f_cc32c136","updated":"2024-02-28 17:08:03.000000000","message":"Sounds like a good idea. I\u0027ll update.","commit_id":"57d7b05f4d82411c679f0664f49b4f48e8883732"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"3c4fb9ccc3feb1d7a86c9a978cb012b747b0beec","unresolved":true,"context_lines":[{"line_number":242,"context_line":""},{"line_number":243,"context_line":"The ``neutron_service_limit`` can be used to target a subset of the neutron"},{"line_number":244,"context_line":"services during a ``deploy``, ``reconfigure`` or ``upgrade`` action. This can"},{"line_number":245,"context_line":"help to minimise the blast radius when applying a a configuration change or to"},{"line_number":246,"context_line":"perform a two-step upgrade of neutron, where neutron-server is upgraded first,"},{"line_number":247,"context_line":"followed by the agents e.g:"},{"line_number":248,"context_line":""}],"source_content_type":"text/x-rst","patch_set":22,"id":"0cf0ea23_ed787084","line":245,"range":{"start_line":245,"start_character":48,"end_line":245,"end_character":51},"updated":"2024-03-27 16:35:23.000000000","message":"nit: ``a a`` -\u003e ``a``","commit_id":"e56637c932adac84bd086c56d0dbf80220c68405"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"21d1c801aeb928c3a47d01d22dac623e5ba58256","unresolved":false,"context_lines":[{"line_number":242,"context_line":""},{"line_number":243,"context_line":"The ``neutron_service_limit`` can be used to target a subset of the neutron"},{"line_number":244,"context_line":"services during a ``deploy``, ``reconfigure`` or ``upgrade`` action. This can"},{"line_number":245,"context_line":"help to minimise the blast radius when applying a a configuration change or to"},{"line_number":246,"context_line":"perform a two-step upgrade of neutron, where neutron-server is upgraded first,"},{"line_number":247,"context_line":"followed by the agents e.g:"},{"line_number":248,"context_line":""}],"source_content_type":"text/x-rst","patch_set":22,"id":"ac612117_4b6fb6cf","line":245,"range":{"start_line":245,"start_character":48,"end_line":245,"end_character":51},"in_reply_to":"0cf0ea23_ed787084","updated":"2024-03-27 17:07:32.000000000","message":"Done, thanks","commit_id":"e56637c932adac84bd086c56d0dbf80220c68405"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"6a641a9abde8525a2704900adc106d1b306d61ce","unresolved":true,"context_lines":[{"line_number":237,"context_line":"  their associated parameters. The given configuration adjusts the"},{"line_number":238,"context_line":"  `hashsize` parameter for the `nf_conntrack_tftp` module."},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"Reconfiguring/upgrading individual neutron services"},{"line_number":241,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"The ``neutron_service_limit`` can be used to target a subset of the neutron"}],"source_content_type":"text/x-rst","patch_set":23,"id":"eb022b40_ea1f22bb","line":240,"range":{"start_line":240,"start_character":35,"end_line":240,"end_character":42},"updated":"2024-04-22 06:38:43.000000000","message":"Please use \"Neutron\" referring to the service here and in the following","commit_id":"5da90ee0fd6f80e009fe05d46c4d46caef3f5e8d"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"7cc292bd06c016d2c49436ce1adb3429761d62f0","unresolved":false,"context_lines":[{"line_number":237,"context_line":"  their associated parameters. The given configuration adjusts the"},{"line_number":238,"context_line":"  `hashsize` parameter for the `nf_conntrack_tftp` module."},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"Reconfiguring/upgrading individual neutron services"},{"line_number":241,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"The ``neutron_service_limit`` can be used to target a subset of the neutron"}],"source_content_type":"text/x-rst","patch_set":23,"id":"8bc22232_79d9aa20","line":240,"range":{"start_line":240,"start_character":35,"end_line":240,"end_character":42},"in_reply_to":"eb022b40_ea1f22bb","updated":"2024-07-19 12:05:43.000000000","message":"Done","commit_id":"5da90ee0fd6f80e009fe05d46c4d46caef3f5e8d"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"6a641a9abde8525a2704900adc106d1b306d61ce","unresolved":true,"context_lines":[{"line_number":246,"context_line":"perform a two-step upgrade of neutron, where neutron-server is upgraded first,"},{"line_number":247,"context_line":"followed by the agents e.g:"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"Upgrade neutron-server across all network nodes:"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":".. code:: sh"},{"line_number":252,"context_line":""}],"source_content_type":"text/x-rst","patch_set":23,"id":"4113e2eb_26efd75c","line":249,"range":{"start_line":249,"start_character":34,"end_line":249,"end_character":41},"updated":"2024-04-22 06:38:43.000000000","message":"This should be running on controller nodes, not network nodes?","commit_id":"5da90ee0fd6f80e009fe05d46c4d46caef3f5e8d"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"7cc292bd06c016d2c49436ce1adb3429761d62f0","unresolved":false,"context_lines":[{"line_number":246,"context_line":"perform a two-step upgrade of neutron, where neutron-server is upgraded first,"},{"line_number":247,"context_line":"followed by the agents e.g:"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"Upgrade neutron-server across all network nodes:"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":".. code:: sh"},{"line_number":252,"context_line":""}],"source_content_type":"text/x-rst","patch_set":23,"id":"8eba70c5_6be3e9bb","line":249,"range":{"start_line":249,"start_character":34,"end_line":249,"end_character":41},"in_reply_to":"4113e2eb_26efd75c","updated":"2024-07-19 12:05:43.000000000","message":"Done, good spot.","commit_id":"5da90ee0fd6f80e009fe05d46c4d46caef3f5e8d"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"6a641a9abde8525a2704900adc106d1b306d61ce","unresolved":true,"context_lines":[{"line_number":270,"context_line":""},{"line_number":271,"context_line":"This can reduce load on neutron for large deployments. See the"},{"line_number":272,"context_line":":neutron-doc:`neutron documentation on rolling upgrades"},{"line_number":273,"context_line":"\u003ccontributor/internals/upgrade.html#rolling-upgrade\u003e` for futher details."}],"source_content_type":"text/x-rst","patch_set":23,"id":"c1f65006_6e48b106","line":273,"range":{"start_line":273,"start_character":58,"end_line":273,"end_character":64},"updated":"2024-04-22 06:38:43.000000000","message":"nit: further","commit_id":"5da90ee0fd6f80e009fe05d46c4d46caef3f5e8d"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"7cc292bd06c016d2c49436ce1adb3429761d62f0","unresolved":false,"context_lines":[{"line_number":270,"context_line":""},{"line_number":271,"context_line":"This can reduce load on neutron for large deployments. See the"},{"line_number":272,"context_line":":neutron-doc:`neutron documentation on rolling upgrades"},{"line_number":273,"context_line":"\u003ccontributor/internals/upgrade.html#rolling-upgrade\u003e` for futher details."}],"source_content_type":"text/x-rst","patch_set":23,"id":"f5d04727_a11c1b4c","line":273,"range":{"start_line":273,"start_character":58,"end_line":273,"end_character":64},"in_reply_to":"c1f65006_6e48b106","updated":"2024-07-19 12:05:43.000000000","message":"Done","commit_id":"5da90ee0fd6f80e009fe05d46c4d46caef3f5e8d"}],"releasenotes/notes/adds-neutron-service-limit-b258b80511e0c098.yaml":[{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"ef7b036d22105d6238c7bf86ad7180786b33354b","unresolved":true,"context_lines":[{"line_number":5,"context_line":"    targeted reconfiguration of neutron services. One use case is for two step"},{"line_number":6,"context_line":"    upgrades where neutron-server is upgraded first, followed by the agents."},{"line_number":7,"context_line":"    This can help minimise downtime. Usage: ``-e"},{"line_number":8,"context_line":"    neutron_service_limit\u003dneutron_server,neutron-dhcp-agent``."}],"source_content_type":"text/x-yaml","patch_set":17,"id":"613c2747_67ad490f","line":8,"range":{"start_line":8,"start_character":26,"end_line":8,"end_character":40},"updated":"2023-11-23 17:33:29.000000000","message":"This should be neutron-server.","commit_id":"e5246451ac187c6a79330551793534f6a9e106dd"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"e61c93866ea48234bad9cb3a916ee9b99a4959aa","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    targeted reconfiguration of neutron services. One use case is for two step"},{"line_number":6,"context_line":"    upgrades where neutron-server is upgraded first, followed by the agents."},{"line_number":7,"context_line":"    This can help minimise downtime. Usage: ``-e"},{"line_number":8,"context_line":"    neutron_service_limit\u003dneutron_server,neutron-dhcp-agent``."}],"source_content_type":"text/x-yaml","patch_set":17,"id":"3404cbd4_3a422b68","line":8,"range":{"start_line":8,"start_character":26,"end_line":8,"end_character":40},"in_reply_to":"613c2747_67ad490f","updated":"2024-02-14 14:14:09.000000000","message":"Done","commit_id":"e5246451ac187c6a79330551793534f6a9e106dd"}]}
