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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -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']
}

View File

@@ -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.

View File

@@ -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']
}

View File

@@ -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']
}

View File

@@ -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.

View File

@@ -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.