diff --git a/manifests/api.pp b/manifests/api.pp index cba65457..50edd634 100644 --- a/manifests/api.pp +++ b/manifests/api.pp @@ -127,6 +127,8 @@ class ironic::api ( tag => 'ironic-service', } Keystone_endpoint<||> -> Service['ironic-api'] + Ironic_api_uwsgi_config<||> ~> Service['ironic-api'] + } elsif $service_name == 'httpd' { service { 'ironic-api': ensure => 'stopped', diff --git a/manifests/api/authtoken.pp b/manifests/api/authtoken.pp index fd9e7c0d..41e7eddf 100644 --- a/manifests/api/authtoken.pp +++ b/manifests/api/authtoken.pp @@ -280,4 +280,6 @@ class ironic::api::authtoken( service_type => $service_type, interface => $interface; } + + Keystone::Resource::Authtoken['ironic_config'] -> Anchor['ironic::config::end'] } diff --git a/manifests/db.pp b/manifests/db.pp index ff06f96e..10d2f452 100644 --- a/manifests/db.pp +++ b/manifests/db.pp @@ -67,7 +67,9 @@ class ironic::db ( db_max_retries => $database_db_max_retries, pool_timeout => $database_pool_timeout, mysql_enable_ndb => $mysql_enable_ndb, - tag => 'ironic', } + # all db settings should be applied and all packages should be installed + # before dbsync starts + Oslo::Db['ironic_config'] -> Anchor['ironic::dbsync::begin'] } diff --git a/manifests/deps.pp b/manifests/deps.pp index f0e44c2f..ffedf555 100644 --- a/manifests/deps.pp +++ b/manifests/deps.pp @@ -26,15 +26,6 @@ class ironic::deps { ~> Service<| tag == 'ironic-service' |> ~> anchor { 'ironic::service::end': } - # all db settings should be applied and all packages should be installed - # before dbsync starts - Oslo::Db<| tag == 'ironic' |> -> Anchor['ironic::dbsync::begin'] - Oslo::Db<| tag == 'ironic-inspector' |> -> Anchor['ironic::dbsync::begin'] - - # all coordination settings should be applied and all packages should be - # installed before service startup - Oslo::Coordination<| tag == 'ironic-inspector' |> -> Anchor['ironic-inspector::service::begin'] - # ironic-inspector is supported by this module. This service uses a # specific conf file and uses it's own config provider. Split out install # and configure of this service so that other services are not affected. @@ -56,20 +47,10 @@ class ironic::deps { ~> Service<| tag == 'ironic-inspector-dnsmasq-service' |> ~> Anchor['ironic-inspector::service::end'] - # On any uwsgi config change, we must restart Ironic API. Anchor['ironic::config::begin'] -> Ironic_api_uwsgi_config<||> - ~> Anchor['ironic::config::end'] - - # policy config should occur in the config block also. - Anchor['ironic::config::begin'] - -> Openstacklib::Policy<| tag == 'ironic' |> -> Anchor['ironic::config::end'] - Anchor['ironic-inspector::config::begin'] - -> Openstacklib::Policy<| tag == 'ironic-inspector' |> - -> Anchor['ironic-inspector::config::end'] - # 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 # between packages with the ironic-package tag and the ironic-support-package diff --git a/manifests/inspector/authtoken.pp b/manifests/inspector/authtoken.pp index 034f06a7..672fb5a9 100644 --- a/manifests/inspector/authtoken.pp +++ b/manifests/inspector/authtoken.pp @@ -283,4 +283,6 @@ class ironic::inspector::authtoken( service_type => $service_type, interface => $interface; } + + Keystone::Resource::Authtoken['ironic_inspector_config'] -> Anchor['ironic-inspector::config::end'] } diff --git a/manifests/inspector/coordination.pp b/manifests/inspector/coordination.pp index 174d2eda..fa3fa1b9 100644 --- a/manifests/inspector/coordination.pp +++ b/manifests/inspector/coordination.pp @@ -16,6 +16,9 @@ class ironic::inspector::coordination ( oslo::coordination{ 'ironic_inspector_config': backend_url => $backend_url, - tag => 'ironic-inspector', } + + # all coordination settings should be applied and all packages should be + # installed before service startup + Oslo::Coordination['ironic_inspector_config'] -> Anchor['ironic-inspector::service::begin'] } diff --git a/manifests/inspector/db.pp b/manifests/inspector/db.pp index 2eabf212..4a1a0a64 100644 --- a/manifests/inspector/db.pp +++ b/manifests/inspector/db.pp @@ -55,7 +55,7 @@ class ironic::inspector::db ( $mysql_enable_ndb = $facts['os_service_default'], ) { - include ironic::params + include ironic::deps oslo::db { 'ironic_inspector_config': connection => $database_connection, @@ -67,7 +67,9 @@ class ironic::inspector::db ( max_overflow => $database_max_overflow, pool_timeout => $database_pool_timeout, mysql_enable_ndb => $mysql_enable_ndb, - tag => 'ironic-inspector', } + # all db settings should be applied and all packages should be installed + # before dbsync starts + Oslo::Db['ironic_inspector_config'] -> Anchor['ironic-inspector::dbsync::begin'] } diff --git a/manifests/inspector/policy.pp b/manifests/inspector/policy.pp index f056c5ad..579b7afa 100644 --- a/manifests/inspector/policy.pp +++ b/manifests/inspector/policy.pp @@ -70,6 +70,11 @@ class ironic::inspector::policy ( create_resources('openstacklib::policy', { $policy_path => $policy_parameters }) + # policy config should occur in the config block also. + Anchor['ironic-inspector::config::begin'] + -> Openstacklib::Policy[$policy_path] + -> Anchor['ironic-inspector::config::end'] + oslo::policy { 'ironic_inspector_config': enforce_scope => $enforce_scope, enforce_new_defaults => $enforce_new_defaults, diff --git a/manifests/policy.pp b/manifests/policy.pp index 7fd11d40..95e3e8c8 100644 --- a/manifests/policy.pp +++ b/manifests/policy.pp @@ -70,6 +70,11 @@ class ironic::policy ( create_resources('openstacklib::policy', { $policy_path => $policy_parameters }) + # policy config should occur in the config block also. + Anchor['ironic::config::begin'] + -> Openstacklib::Policy[$policy_path] + -> Anchor['ironic::config::end'] + oslo::policy { 'ironic_config': enforce_scope => $enforce_scope, enforce_new_defaults => $enforce_new_defaults, diff --git a/spec/classes/ironic_inspector_policy_spec.rb b/spec/classes/ironic_inspector_policy_spec.rb index 8c4618d8..8d3685d1 100644 --- a/spec/classes/ironic_inspector_policy_spec.rb +++ b/spec/classes/ironic_inspector_policy_spec.rb @@ -33,7 +33,6 @@ describe 'ironic::inspector::policy' do :file_group => 'ironic-inspector', :file_format => 'yaml', :purge_config => false, - :tag => 'ironic-inspector', ) is_expected.to contain_oslo__policy('ironic_inspector_config').with( :enforce_scope => false, @@ -64,7 +63,6 @@ describe 'ironic::inspector::policy' do :file_group => 'ironic-inspector', :file_format => 'yaml', :purge_config => true, - :tag => 'ironic-inspector', ) is_expected.to contain_oslo__policy('ironic_inspector_config').with( :enforce_scope => false, diff --git a/spec/classes/ironic_policy_spec.rb b/spec/classes/ironic_policy_spec.rb index 550dd743..1a30dc1a 100644 --- a/spec/classes/ironic_policy_spec.rb +++ b/spec/classes/ironic_policy_spec.rb @@ -33,7 +33,6 @@ describe 'ironic::policy' do :file_group => 'ironic', :file_format => 'yaml', :purge_config => false, - :tag => 'ironic', ) is_expected.to contain_oslo__policy('ironic_config').with( :enforce_scope => false, @@ -64,7 +63,6 @@ describe 'ironic::policy' do :file_group => 'ironic', :file_format => 'yaml', :purge_config => true, - :tag => 'ironic', ) is_expected.to contain_oslo__policy('ironic_config').with( :enforce_scope => false,