Restart specific agents after updating agent config

Currently we restart all neutron services regardless of the config
files being updated. This is the first step to improve that redundancy
and update the notification to restart only a specific agent service
when an agent config file is updated.

Change-Id: Ibe22978383c2e1758d91b7bee545479e947829d0
This commit is contained in:
Takashi Kajinami 2023-07-26 17:25:09 +09:00
parent 462573bd45
commit a080398821
16 changed files with 33 additions and 15 deletions

@ -135,5 +135,6 @@ class neutron::agents::bagpipe (
enable => $enabled,
tag => 'neutron-service',
}
Neutron_bgpvpn_bagpipe_config<||> ~> Service['bagpipe-bgp']
}
}

@ -84,5 +84,6 @@ class neutron::agents::bgp_dragent(
enable => $enabled,
tag => 'neutron-service',
}
Neutron_bgp_dragent_config<||> ~> Service['neutron-bgp-dragent']
}
}

@ -238,5 +238,6 @@ class neutron::agents::dhcp (
enable => $enabled,
tag => 'neutron-service',
}
Neutron_dhcp_agent_config<||> ~> Service['neutron-dhcp-service']
}
}

@ -126,5 +126,6 @@ class neutron::agents::l2gw (
enable => $enabled,
tag => 'neutron-service',
}
Neutron_l2gw_agent_config<||> ~> Service['neutron-l2gw-agent']
}
}

@ -211,5 +211,6 @@ class neutron::agents::l3 (
enable => $enabled,
tag => 'neutron-service',
}
Neutron_l3_agent_config<||> ~> Service['neutron-l3']
}
}

@ -147,5 +147,6 @@ class neutron::agents::metadata (
enable => $enabled,
tag => 'neutron-service',
}
Neutron_metadata_agent_config<||> ~> Service['neutron-metadata']
}
}

@ -119,5 +119,6 @@ class neutron::agents::metering (
enable => $enabled,
tag => 'neutron-service',
}
Neutron_metering_agent_config<||> ~> Service['neutron-metering-service']
}
}

@ -169,5 +169,6 @@ class neutron::agents::ml2::linuxbridge (
enable => $enabled,
tag => 'neutron-service',
}
Neutron_agent_linuxbridge<||> ~> Service['neutron-plugin-linuxbridge-agent']
}
}

@ -81,5 +81,6 @@ class neutron::agents::ml2::macvtap (
enable => $enabled,
tag => 'neutron-service',
}
Neutron_agent_macvtap<||> ~> Service['neutron-plugin-macvtap-agent']
}
}

@ -179,6 +179,7 @@ class neutron::agents::ml2::networking_baremetal (
enable => $enabled,
tag => 'neutron-service',
}
Ironic_neutron_agent_config<||> ~> Service['ironic-neutron-agent-service']
}
}

@ -170,6 +170,7 @@ class neutron::agents::ml2::ovn (
enable => $enabled,
tag => 'neutron-service',
}
Neutron_agent_ovn<||> ~> Service['neutron-ovn-agent']
Exec['Set OVS Manager'] -> Service['neutron-ovn-agent']
}

@ -550,6 +550,7 @@ class neutron::agents::ml2::ovs (
enable => $enabled,
tag => ['neutron-service'],
}
Neutron_agent_ovs<||> ~> Service['neutron-ovs-agent-service']
if ($facts['os']['family'] == 'Redhat') {
# NOTE(tkajinam): The service should not be started in a running system.

@ -156,6 +156,7 @@ class neutron::agents::ml2::sriov (
enable => $enabled,
tag => 'neutron-service',
}
Neutron_sriov_agent_config<||> ~> Service['neutron-sriov-nic-agent-service']
Neutron_agent_sriov_numvfs<||> ~> Service['neutron-sriov-nic-agent-service']
}

@ -200,6 +200,7 @@ class neutron::agents::ovn_metadata (
enable => $enabled,
tag => 'neutron-service',
}
Ovn_metadata_agent_config<||> ~> Service['ovn-metadata']
Exec['Set OVS Manager'] -> Service['ovn-metadata']
}

@ -80,6 +80,10 @@ class neutron::agents::vpnaas (
purge => $purge_config,
}
# neutron-vpnaas-agent is not an independent service but is integrated into
# l3 agent.
Neutron_vpnaas_agent_config<||> ~> Service<| title == 'neutron-l3' |>
# The VPNaaS agent loads both neutron.conf and its own file.
# This only lists config specific to the agent. neutron.conf supplies
# the rest.

@ -33,31 +33,31 @@ class neutron::deps {
File<| tag == 'neutron-config-file' |> -> File_line<| tag == 'neutron-file-line' |>
# All other inifile providers need to be processed in the config block
Anchor['neutron::config::begin'] -> Neutron_agent_linuxbridge<||> ~> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_agent_macvtap<||> ~> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_agent_ovs<||> ~> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_agent_ovn<||> ~> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_agent_linuxbridge<||> -> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_agent_macvtap<||> -> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_agent_ovs<||> -> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_agent_ovn<||> -> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_api_paste_ini<||> ~> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_bgpvpn_bagpipe_config<||> ~> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_bgpvpn_bagpipe_config<||> -> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_bgpvpn_service_config<||> ~> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_sfc_service_config<||> ~> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_config<||> ~> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_dhcp_agent_config<||> ~> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_l2gw_agent_config<||> ~> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_l3_agent_config<||> ~> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_metadata_agent_config<||> ~> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_metering_agent_config<||> ~> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_bgp_dragent_config<||> ~> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_dhcp_agent_config<||> -> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_l2gw_agent_config<||> -> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_l3_agent_config<||> -> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_metadata_agent_config<||> -> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_metering_agent_config<||> -> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_bgp_dragent_config<||> -> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_l2gw_service_config<||> ~> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_plugin_ml2<||> ~> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_plugin_nuage<||> ~> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_plugin_opencontrail<||> ~> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_sriov_agent_config<||> ~> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_vpnaas_agent_config<||> ~> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_sriov_agent_config<||> -> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_vpnaas_agent_config<||> -> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_vpnaas_service_config<||> ~> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_rootwrap_config<||> ~> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Ovn_metadata_agent_config<||> ~> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Ironic_neutron_agent_config<||> ~> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Ovn_metadata_agent_config<||> -> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Ironic_neutron_agent_config<||> -> Anchor['neutron::config::end']
Anchor['neutron::config::begin'] -> Neutron_api_uwsgi_config<||> ~> Anchor['neutron::config::end']
# policy config should occur in the config block also.