diff options
| author | Zuul <zuul@review.opendev.org> | 2026-10-28 22:43:47 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2026-10-28 22:43:47 +0000 |
| commit | 68e00c7dd49073d6e7ca61fac206a487e5dfd767 (patch) | |
| tree | 2649accb096e80f00c206d50fe820028f7067ffb | |
| parent | e493f2ed76a55a1e8e107c7f63d4803388feca2c (diff) | |
| parent | 487d3037eeabf04ec034ce60f202b50f82c841e4 (diff) | |
| download | kolla-ansible-68e00c7dd49073d6e7ca61fac206a487e5dfd767.tar.gz kolla-ansible-68e00c7dd49073d6e7ca61fac206a487e5dfd767.zip | |
Merge "neutron: Remove neutron-ovn-metadata-agent"
| -rw-r--r-- | ansible/inventory/all-in-one | 4 | ||||
| -rw-r--r-- | ansible/inventory/multinode | 4 | ||||
| -rw-r--r-- | ansible/roles/neutron/defaults/main.yml | 47 | ||||
| -rw-r--r-- | ansible/roles/neutron/handlers/main.yml | 18 | ||||
| -rw-r--r-- | ansible/roles/neutron/tasks/config.yml | 14 | ||||
| -rw-r--r-- | ansible/roles/neutron/tasks/rolling_upgrade.yml | 33 | ||||
| -rw-r--r-- | ansible/roles/neutron/templates/neutron-ovn-metadata-agent.json.j2 | 53 | ||||
| -rw-r--r-- | ansible/roles/neutron/templates/neutron_ovn_metadata_agent.ini.j2 | 19 | ||||
| -rw-r--r-- | ansible/site.yml | 1 | ||||
| -rw-r--r-- | releasenotes/notes/drop-neutron-ovn-metadata-agent-24b72a043698a3b2.yaml | 7 | ||||
| -rw-r--r-- | tests/templates/inventory.j2 | 3 |
11 files changed, 43 insertions, 160 deletions
diff --git a/ansible/inventory/all-in-one b/ansible/inventory/all-in-one index 543371a4a..98607c2ee 100644 --- a/ansible/inventory/all-in-one +++ b/ansible/inventory/all-in-one @@ -251,10 +251,6 @@ network [neutron-ovn-maintenance-worker:children] control -[neutron-ovn-metadata-agent:children] -compute -network - # Cinder [cinder-api:children] cinder diff --git a/ansible/inventory/multinode b/ansible/inventory/multinode index d7db4653d..a0dd8d640 100644 --- a/ansible/inventory/multinode +++ b/ansible/inventory/multinode @@ -266,10 +266,6 @@ network [neutron-ovn-maintenance-worker:children] control -[neutron-ovn-metadata-agent:children] -compute -network - [neutron-ovn-vpn-agent:children] neutron diff --git a/ansible/roles/neutron/defaults/main.yml b/ansible/roles/neutron/defaults/main.yml index 059f2ce6a..3b0e5c835 100644 --- a/ansible/roles/neutron/defaults/main.yml +++ b/ansible/roles/neutron/defaults/main.yml @@ -153,21 +153,6 @@ neutron_services: volumes: "{{ neutron_metadata_agent_default_volumes + neutron_metadata_agent_extra_volumes }}" dimensions: "{{ neutron_metadata_agent_dimensions }}" healthcheck: "{{ neutron_metadata_agent_healthcheck }}" - neutron-ovn-metadata-agent: - cgroupns_mode: "{{ 'host' if neutron_agents_wrappers | bool else 'private' }}" - container_name: "neutron_ovn_metadata_agent" - image: "{{ neutron_ovn_metadata_agent_image_full }}" - privileged: true - enabled: false - host_in_groups: "{{ inventory_hostname in groups['neutron-ovn-metadata-agent'] }}" - volumes: "{{ neutron_ovn_metadata_agent_default_volumes + neutron_ovn_metadata_agent_extra_volumes }}" - dimensions: "{{ neutron_ovn_metadata_agent_dimensions }}" - healthcheck: "{{ neutron_ovn_metadata_agent_healthcheck }}" - pid_mode: "{{ 'host' if neutron_agents_wrappers | bool else '' }}" - environment: - KOLLA_IMAGE: "{{ neutron_ovn_metadata_agent_image_full }}" - KOLLA_NAME: "neutron_ovn_metadata_agent" - KOLLA_NEUTRON_WRAPPERS: "{{ 'true' if neutron_agents_wrappers | bool else 'false' }}" neutron-bgp-dragent: container_name: "neutron_bgp_dragent" image: "{{ neutron_bgp_dragent_image_full }}" @@ -255,8 +240,6 @@ neutron_config_validation: config: "/etc/neutron/plugins/ml2/openvswitch_agent.ini" - generator: "/neutron/etc/oslo-config-generator/metering_agent.ini" config: "/etc/neutron/metering_agent.ini" - - generator: "/neutron/etc/oslo-config-generator/neutron_ovn_metadata_agent.ini" - config: "/etc/neutron/neutron_ovn_metadata_agent.ini" - generator: "/neutron/etc/oslo-config-generator/metadata_agent.ini" config: "/etc/neutron/metadata_agent.ini" - generator: "/neutron/etc/oslo-config-generator/sriov_agent.ini" @@ -336,10 +319,6 @@ neutron_ovn_maintenance_worker_image: "{{ neutron_server_image }}" neutron_ovn_maintenance_worker_tag: "{{ neutron_tag }}" neutron_ovn_maintenance_worker_image_full: "{{ neutron_ovn_maintenance_worker_image }}:{{ neutron_ovn_maintenance_worker_tag }}" -neutron_ovn_metadata_agent_image: "{{ docker_image_url }}neutron-metadata-agent" -neutron_ovn_metadata_agent_tag: "{{ neutron_tag }}" -neutron_ovn_metadata_agent_image_full: "{{ neutron_ovn_metadata_agent_image }}:{{ neutron_ovn_metadata_agent_tag }}" - neutron_openvswitch_agent_image: "{{ docker_image_url }}neutron-openvswitch-agent" neutron_openvswitch_agent_tag: "{{ neutron_tag }}" neutron_openvswitch_agent_image_full: "{{ neutron_openvswitch_agent_image }}:{{ neutron_openvswitch_agent_tag }}" @@ -384,7 +363,6 @@ neutron_sriov_agent_dimensions: "{{ neutron_agent_dimensions }}" neutron_mlnx_agent_dimensions: "{{ neutron_agent_dimensions }}" neutron_eswitchd_dimensions: "{{ neutron_agent_dimensions }}" neutron_metadata_agent_dimensions: "{{ neutron_agent_dimensions }}" -neutron_ovn_metadata_agent_dimensions: "{{ neutron_agent_dimensions }}" neutron_openvswitch_agent_dimensions: "{{ neutron_agent_dimensions }}" neutron_server_dimensions: "{{ default_container_dimensions }}" neutron_bgp_dragent_dimensions: "{{ default_container_dimensions }}" @@ -461,19 +439,6 @@ neutron_openvswitch_agent_healthcheck: test: "{% if neutron_openvswitch_agent_enable_healthchecks | bool %}{{ neutron_openvswitch_agent_healthcheck_test }}{% else %}NONE{% endif %}" timeout: "{{ neutron_openvswitch_agent_healthcheck_timeout }}" -neutron_ovn_metadata_agent_enable_healthchecks: "{{ enable_container_healthchecks }}" -neutron_ovn_metadata_agent_healthcheck_interval: "{{ default_container_healthcheck_interval }}" -neutron_ovn_metadata_agent_healthcheck_retries: "{{ default_container_healthcheck_retries }}" -neutron_ovn_metadata_agent_healthcheck_start_period: "{{ default_container_healthcheck_start_period }}" -neutron_ovn_metadata_agent_healthcheck_test: ["CMD-SHELL", "healthcheck_port neutron-ovn-metadata-agent {{ ovsdb_port }}"] -neutron_ovn_metadata_agent_healthcheck_timeout: "{{ default_container_healthcheck_timeout }}" -neutron_ovn_metadata_agent_healthcheck: - interval: "{{ neutron_ovn_metadata_agent_healthcheck_interval }}" - retries: "{{ neutron_ovn_metadata_agent_healthcheck_retries }}" - start_period: "{{ neutron_ovn_metadata_agent_healthcheck_start_period }}" - test: "{% if neutron_ovn_metadata_agent_enable_healthchecks | bool %}{{ neutron_ovn_metadata_agent_healthcheck_test }}{% else %}NONE{% endif %}" - timeout: "{{ neutron_ovn_metadata_agent_healthcheck_timeout }}" - neutron_server_enable_healthchecks: "{{ enable_container_healthchecks }}" neutron_server_healthcheck_interval: "{{ default_container_healthcheck_interval }}" neutron_server_healthcheck_retries: "{{ default_container_healthcheck_retries }}" @@ -625,17 +590,6 @@ neutron_metadata_agent_default_volumes: - "kolla_logs:/var/log/kolla/" - "{{ '/dev/shm:/dev/shm' }}" - "{{ kolla_dev_repos_directory ~ '/neutron:/dev-mode/neutron' if neutron_dev_mode | bool else '' }}" -neutron_ovn_metadata_agent_default_volumes: - - "{{ node_config_directory }}/neutron-ovn-metadata-agent/:{{ container_config_directory }}/:ro" - - "neutron_metadata_socket:/var/lib/neutron/kolla/" - - "/run/openvswitch:/run/openvswitch:shared" - - "/run/netns:/run/netns:shared" - - "kolla_logs:/var/log/kolla/" - - "{{ '/dev/shm:/dev/shm' }}" - - "{{ kolla_dev_repos_directory ~ '/neutron:/dev-mode/neutron' if neutron_dev_mode | bool else '' }}" - - "{{ '/var/run/docker.sock:/var/run/docker.sock:ro' if neutron_agents_wrappers | bool and kolla_container_engine == 'docker' else '' }}" - - "{{ '/run/podman/podman.sock:/run/podman/podman.sock' if neutron_agents_wrappers | bool and kolla_container_engine == 'podman' else '' }}" - - "{{ '/var/lib/containers:/var/lib/containers' if neutron_agents_wrappers | bool and kolla_container_engine == 'podman' else '' }}" neutron_openvswitch_agent_default_volumes: - "{{ node_config_directory }}/neutron-openvswitch-agent/:{{ container_config_directory }}/:ro" - "/lib/modules:/lib/modules:ro" @@ -694,7 +648,6 @@ neutron_sriov_agent_extra_volumes: "{{ neutron_extra_volumes }}" neutron_mlnx_agent_extra_volumes: "{{ neutron_extra_volumes }}" neutron_eswitchd_extra_volumes: "{{ neutron_extra_volumes }}" neutron_metadata_agent_extra_volumes: "{{ neutron_extra_volumes }}" -neutron_ovn_metadata_agent_extra_volumes: "{{ neutron_extra_volumes }}" neutron_openvswitch_agent_extra_volumes: "{{ neutron_extra_volumes }}" neutron_server_extra_volumes: "{{ neutron_extra_volumes }}" neutron_bgp_dragent_extra_volumes: "{{ neutron_extra_volumes }}" diff --git a/ansible/roles/neutron/handlers/main.yml b/ansible/roles/neutron/handlers/main.yml index 4fa023096..d9e8fb0b3 100644 --- a/ansible/roles/neutron/handlers/main.yml +++ b/ansible/roles/neutron/handlers/main.yml @@ -236,24 +236,6 @@ privileged: "{{ service.privileged | default(False) }}" healthcheck: "{{ service.healthcheck | default(omit) }}" -- name: Restart neutron-ovn-metadata-agent container - vars: - service_name: "neutron-ovn-metadata-agent" - service: "{{ neutron_services[service_name] }}" - become: true - kolla_container: - action: "recreate_or_restart_container" - common_options: "{{ docker_common_options }}" - name: "{{ service.container_name }}" - image: "{{ service.image }}" - volumes: "{{ service.volumes | reject('equalto', '') | list }}" - dimensions: "{{ service.dimensions }}" - privileged: "{{ service.privileged | default(False) }}" - healthcheck: "{{ service.healthcheck | default(omit) }}" - pid_mode: "{{ service.pid_mode | default(omit) }}" - cgroupns_mode: "{{ service.cgroupns_mode | default(omit) }}" - environment: "{{ service.environment | default(omit) }}" - - name: Restart neutron-bgp-dragent container vars: service_name: "neutron-bgp-dragent" diff --git a/ansible/roles/neutron/tasks/config.yml b/ansible/roles/neutron/tasks/config.yml index 379750a66..212029cd3 100644 --- a/ansible/roles/neutron/tasks/config.yml +++ b/ansible/roles/neutron/tasks/config.yml @@ -75,7 +75,6 @@ - "neutron-openvswitch-agent" - "neutron-ovn-agent" - "neutron-ovn-maintenance-worker" - - "neutron-ovn-metadata-agent" - "neutron-ovn-vpn-agent" - "neutron-periodic-worker" - "neutron-rpc-server" @@ -282,19 +281,6 @@ mode: "0660" when: service | service_enabled_and_mapped_to_host -- name: Copying over neutron_ovn_metadata_agent.ini - become: true - vars: - service_name: "neutron-ovn-metadata-agent" - service: "{{ neutron_services[service_name] }}" - merge_configs: - sources: - - "{{ role_path }}/templates/neutron_ovn_metadata_agent.ini.j2" - - "{{ node_custom_config }}/neutron/neutron_ovn_metadata_agent.ini" - dest: "{{ node_config_directory }}/{{ service_name }}/neutron_ovn_metadata_agent.ini" - mode: "0660" - when: service | service_enabled_and_mapped_to_host - - name: Copying over neutron_ovn_vpn_agent.ini become: true vars: diff --git a/ansible/roles/neutron/tasks/rolling_upgrade.yml b/ansible/roles/neutron/tasks/rolling_upgrade.yml index 55f3cd35f..aac2040a6 100644 --- a/ansible/roles/neutron/tasks/rolling_upgrade.yml +++ b/ansible/roles/neutron/tasks/rolling_upgrade.yml @@ -1,4 +1,37 @@ --- +# TODO: Remove this block in 2027.2 +- name: Clean up obsolete neutron OVN metadata agent + become: true + when: neutron_plugin_agent == 'ovn' + block: + - name: Remove obsolete neutron OVN metadata agent container + kolla_container: + action: "stop_and_remove_container" + common_options: "{{ docker_common_options }}" + name: "neutron_ovn_metadata_agent" + ignore_missing: true + + - name: Get container names for obsolete OVN metadata HAProxy cleanup + kolla_container_facts: + action: get_containers_names + container_engine: "{{ kolla_container_engine }}" + register: ovn_metadata_haproxy_containers + + - name: Remove obsolete neutron OVN metadata agent HAProxy containers + kolla_container: + action: "stop_and_remove_container" + common_options: "{{ docker_common_options }}" + name: "{{ item }}" + ignore_missing: true + loop: >- + {{ ovn_metadata_haproxy_containers.container_names | default([]) + | select('match', '^neutron_ovn_metadata_agent_haproxy_') | list }} + + - name: Remove obsolete neutron OVN metadata agent configuration + ansible.builtin.file: + path: "{{ node_config_directory }}/neutron-ovn-metadata-agent" + state: absent + - name: Import tasks from config-host.yml ansible.builtin.import_tasks: config-host.yml diff --git a/ansible/roles/neutron/templates/neutron-ovn-metadata-agent.json.j2 b/ansible/roles/neutron/templates/neutron-ovn-metadata-agent.json.j2 deleted file mode 100644 index a725d9bcb..000000000 --- a/ansible/roles/neutron/templates/neutron-ovn-metadata-agent.json.j2 +++ /dev/null @@ -1,53 +0,0 @@ -{ - "command": "neutron-ovn-metadata-agent --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/neutron_ovn_metadata_agent.ini", - "config_files": [ - { - "source": "{{ container_config_directory }}/neutron.conf", - "dest": "/etc/neutron/neutron.conf", - "owner": "neutron", - "perm": "0600" - }, - { - "source": "{{ container_config_directory }}/neutron_ovn_metadata_agent.ini", - "dest": "/etc/neutron/neutron_ovn_metadata_agent.ini", - "owner": "neutron", - "perm": "0600" - } - {% if neutron_policy_file is defined %},{ - "source": "{{ container_config_directory }}/{{ neutron_policy_file }}", - "dest": "/etc/neutron/{{ neutron_policy_file }}", - "owner": "neutron", - "perm": "0600" - }{% endif %}{% if kolla_copy_ca_into_containers | bool %}, - { - "source": "{{ container_config_directory }}/ca-certificates", - "dest": "/var/lib/kolla/share/ca-certificates", - "owner": "root", - "perm": "0644" - }{% endif %} - ], - "directories": [ - { - "path": "/var/log/kolla", - "owner": "fluentd:kolla", - "perm": "2775" - }, - { - "path": "/var/log/kolla/neutron", - "owner": "neutron:kolla", - "perm": "2775" - } - ], - "permissions": [ - { - "path": "/var/log/kolla/neutron/*.log", - "owner": "neutron:kolla", - "perm": "0664" - }, - { - "path": "/var/lib/neutron/kolla", - "owner": "neutron:neutron", - "recurse": true - } - ] -} diff --git a/ansible/roles/neutron/templates/neutron_ovn_metadata_agent.ini.j2 b/ansible/roles/neutron/templates/neutron_ovn_metadata_agent.ini.j2 deleted file mode 100644 index 2ffe61d26..000000000 --- a/ansible/roles/neutron/templates/neutron_ovn_metadata_agent.ini.j2 +++ /dev/null @@ -1,19 +0,0 @@ -[DEFAULT] -auth_ca_cert = {{ openstack_cacert }} -nova_metadata_protocol = {{ internal_protocol }} -metadata_proxy_socket = /var/lib/neutron/kolla/metadata_proxy -nova_metadata_host = {{ nova_internal_fqdn }} -nova_metadata_port = {{ nova_metadata_port }} -metadata_proxy_shared_secret = {{ metadata_secret }} -log_file = neutron-ovn-metadata-agent.log -log_dir = /var/log/kolla/neutron -metadata_workers = 2 - -[ovs] -ovsdb_connection = tcp:127.0.0.1:{{ ovsdb_port }} -ovsdb_timeout = {{ ovsdb_timeout }} - -[ovn] -ovn_nb_connection = {{ ovn_nb_connection }} -ovn_sb_connection = {{ ovn_sb_connection }} -ovn_metadata_enabled = true diff --git a/ansible/site.yml b/ansible/site.yml index d95f17d35..a694b566c 100644 --- a/ansible/site.yml +++ b/ansible/site.yml @@ -689,7 +689,6 @@ - neutron-l3-agent - ironic-neutron-agent - neutron-metadata-agent - - neutron-ovn-metadata-agent - neutron-metering-agent - neutron-bgp-dragent - compute diff --git a/releasenotes/notes/drop-neutron-ovn-metadata-agent-24b72a043698a3b2.yaml b/releasenotes/notes/drop-neutron-ovn-metadata-agent-24b72a043698a3b2.yaml new file mode 100644 index 000000000..f25f279aa --- /dev/null +++ b/releasenotes/notes/drop-neutron-ovn-metadata-agent-24b72a043698a3b2.yaml @@ -0,0 +1,7 @@ +--- +upgrade: + - | + ``neutron-ovn-metadata-agent`` has been removed, following it's removal + in Neutron. Metadata is now served using ``neutron-ovn-agent``. + If you are using any config overrides for ``neutron-ovn-metadata-agent`` + you need to adapt them to point to ``neutron-ovn-agent``. diff --git a/tests/templates/inventory.j2 b/tests/templates/inventory.j2 index bc8a0366f..52ba3edfa 100644 --- a/tests/templates/inventory.j2 +++ b/tests/templates/inventory.j2 @@ -356,9 +356,12 @@ network [neutron-ovn-maintenance-worker:children] control +{# TODO: Remove this in 2027.2 #} +{% if is_upgrade | bool %} [neutron-ovn-metadata-agent:children] compute network +{% endif %} [neutron-ovn-vpn-agent:children] neutron |
