Refactor resource dependencies
This refactors resource dependencies to improve the following points. - Avoid unnecessary dependencies across services. For example aodh service does not require cinder db. - Restart only api service when config files like paste.ini, which are used only by api service, is changed. Change-Id: I517e2fb19cc74a08f31c463b70b89b70de2e790c
This commit is contained in:
parent
68cceacff2
commit
cb2251e0fc
@ -243,4 +243,8 @@ class neutron::cache (
|
|||||||
hashclient_retry_delay => $hashclient_retry_delay,
|
hashclient_retry_delay => $hashclient_retry_delay,
|
||||||
dead_timeout => $dead_timeout,
|
dead_timeout => $dead_timeout,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# all cache settings should be applied and all packages should be installed
|
||||||
|
# before service startup
|
||||||
|
Oslo::Cache['neutron_config'] -> Anchor['neutron::service::begin']
|
||||||
}
|
}
|
||||||
|
@ -72,4 +72,7 @@ class neutron::db (
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# all db settings should be applied and all packages should be installed
|
||||||
|
# before dbsync starts
|
||||||
|
Oslo::Db['neutron_config'] -> Anchor['neutron::dbsync::begin']
|
||||||
}
|
}
|
||||||
|
@ -33,11 +33,12 @@ class neutron::deps {
|
|||||||
File<| tag == 'neutron-config-file' |> -> File_line<| tag == 'neutron-file-line' |>
|
File<| tag == 'neutron-config-file' |> -> File_line<| tag == 'neutron-file-line' |>
|
||||||
|
|
||||||
# All other inifile providers need to be processed in the config block
|
# All other inifile providers need to be processed in the config block
|
||||||
|
Anchor['neutron::config::begin'] -> Neutron_api_paste_ini<||> -> Anchor['neutron::config::end']
|
||||||
|
Anchor['neutron::config::begin'] -> Neutron_api_uwsgi_config<||> -> Anchor['neutron::config::end']
|
||||||
Anchor['neutron::config::begin'] -> Neutron_agent_linuxbridge<||> -> 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_macvtap<||> -> Anchor['neutron::config::end']
|
||||||
Anchor['neutron::config::begin'] -> Neutron_agent_ovs<||> -> 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_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_bgpvpn_service_config<||> ~> Anchor['neutron::config::end']
|
||||||
Anchor['neutron::config::begin'] -> Neutron_sfc_service_config<||> ~> Anchor['neutron::config::end']
|
Anchor['neutron::config::begin'] -> Neutron_sfc_service_config<||> ~> Anchor['neutron::config::end']
|
||||||
@ -57,12 +58,6 @@ class neutron::deps {
|
|||||||
Anchor['neutron::config::begin'] -> Neutron_rootwrap_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'] -> Ovn_metadata_agent_config<||> -> Anchor['neutron::config::end']
|
||||||
Anchor['neutron::config::begin'] -> Ironic_neutron_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.
|
|
||||||
Anchor['neutron::config::begin']
|
|
||||||
-> Openstacklib::Policy<| tag == 'neutron' |>
|
|
||||||
-> Anchor['neutron::config::end']
|
|
||||||
|
|
||||||
# Support packages need to be installed in the install phase, but we don't
|
# Support packages need to be installed in the install phase, but we don't
|
||||||
# put them in the chain above because we don't want any false dependencies
|
# put them in the chain above because we don't want any false dependencies
|
||||||
@ -82,14 +77,6 @@ class neutron::deps {
|
|||||||
-> Package<| tag == 'neutron-plugin-ml2-package'|>
|
-> Package<| tag == 'neutron-plugin-ml2-package'|>
|
||||||
~> Anchor['neutron::config::end']
|
~> Anchor['neutron::config::end']
|
||||||
|
|
||||||
# all cache settings should be applied and all packages should be installed
|
|
||||||
# before service startup
|
|
||||||
Oslo::Cache<||> -> Anchor['neutron::service::begin']
|
|
||||||
|
|
||||||
# all db settings should be applied and all packages should be installed
|
|
||||||
# before dbsync starts
|
|
||||||
Oslo::Db<||> -> Anchor['neutron::dbsync::begin']
|
|
||||||
|
|
||||||
# We need openstackclient before marking service end so that neutron
|
# We need openstackclient before marking service end so that neutron
|
||||||
# will have clients available to create resources. This tag handles the
|
# will have clients available to create resources. This tag handles the
|
||||||
# openstackclient but indirectly since the client is not available in
|
# openstackclient but indirectly since the client is not available in
|
||||||
|
@ -279,4 +279,6 @@ class neutron::keystone::authtoken(
|
|||||||
service_type => $service_type,
|
service_type => $service_type,
|
||||||
interface => $interface;
|
interface => $interface;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Keystone::Resource::Authtoken['neutron_config'] -> Anchor['neutron::config::end']
|
||||||
}
|
}
|
||||||
|
@ -70,6 +70,11 @@ class neutron::policy (
|
|||||||
|
|
||||||
create_resources('openstacklib::policy', { $policy_path => $policy_parameters })
|
create_resources('openstacklib::policy', { $policy_path => $policy_parameters })
|
||||||
|
|
||||||
|
# policy config should occur in the config block also.
|
||||||
|
Anchor['neutron::config::begin']
|
||||||
|
-> Openstacklib::Policy[$policy_path]
|
||||||
|
-> Anchor['neutron::config::end']
|
||||||
|
|
||||||
oslo::policy { 'neutron_config':
|
oslo::policy { 'neutron_config':
|
||||||
enforce_scope => $enforce_scope,
|
enforce_scope => $enforce_scope,
|
||||||
enforce_new_defaults => $enforce_new_defaults,
|
enforce_new_defaults => $enforce_new_defaults,
|
||||||
|
@ -398,8 +398,11 @@ the neutron::services::vpnaas class.")
|
|||||||
hasrestart => true,
|
hasrestart => true,
|
||||||
tag => ['neutron-service', 'neutron-server-eventlet'],
|
tag => ['neutron-service', 'neutron-server-eventlet'],
|
||||||
}
|
}
|
||||||
|
Neutron_api_paste_ini<||> ~> Service['neutron-server']
|
||||||
|
|
||||||
} elsif $service_name == 'httpd' {
|
} elsif $service_name == 'httpd' {
|
||||||
fail('Use api_service_name and rpc_service_name to run api service by httpd')
|
fail('Use api_service_name and rpc_service_name to run api service by httpd')
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
warning('Support for arbitrary service name is deprecated')
|
warning('Support for arbitrary service name is deprecated')
|
||||||
# backward compatibility so operators can customize the service name.
|
# backward compatibility so operators can customize the service name.
|
||||||
@ -412,6 +415,7 @@ the neutron::services::vpnaas class.")
|
|||||||
tag => ['neutron-service'],
|
tag => ['neutron-service'],
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
if $::neutron::params::server_service {
|
if $::neutron::params::server_service {
|
||||||
# we need to make sure neutron-server is stopped before trying to
|
# we need to make sure neutron-server is stopped before trying to
|
||||||
@ -429,9 +433,10 @@ the neutron::services::vpnaas class.")
|
|||||||
if $api_service_name {
|
if $api_service_name {
|
||||||
if $api_service_name == 'httpd' {
|
if $api_service_name == 'httpd' {
|
||||||
Service <| title == 'httpd' |> { tag +> 'neutron-service' }
|
Service <| title == 'httpd' |> { tag +> 'neutron-service' }
|
||||||
|
Neutron_api_paste_ini<||> ~> Service[$api_service_name]
|
||||||
|
|
||||||
if $::neutron::params::server_service {
|
if $::neutron::params::server_service {
|
||||||
Service['neutron-server'] -> Service['httpd']
|
Service['neutron-server'] -> Service[$api_service_name]
|
||||||
}
|
}
|
||||||
|
|
||||||
if $::neutron::params::api_service_name {
|
if $::neutron::params::api_service_name {
|
||||||
@ -445,8 +450,9 @@ the neutron::services::vpnaas class.")
|
|||||||
hasrestart => true,
|
hasrestart => true,
|
||||||
tag => ['neutron-service'],
|
tag => ['neutron-service'],
|
||||||
}
|
}
|
||||||
Service['neutron-api'] -> Service['httpd']
|
Service['neutron-api'] -> Service[$api_service_name]
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
service { 'neutron-api':
|
service { 'neutron-api':
|
||||||
ensure => $service_ensure,
|
ensure => $service_ensure,
|
||||||
@ -457,6 +463,9 @@ the neutron::services::vpnaas class.")
|
|||||||
tag => ['neutron-service', 'neutron-server-eventlet'],
|
tag => ['neutron-service', 'neutron-server-eventlet'],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Neutron_api_paste_ini<||> ~> Service['neutron-api']
|
||||||
|
Neutron_api_uwsgi_config<||> ~> Service['neutron-api']
|
||||||
|
|
||||||
if $::neutron::params::server_service {
|
if $::neutron::params::server_service {
|
||||||
Service['neutron-server'] -> Service['neutron-api']
|
Service['neutron-server'] -> Service['neutron-api']
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user