diff --git a/manifests/api.pp b/manifests/api.pp index 923466d1..65092215 100644 --- a/manifests/api.pp +++ b/manifests/api.pp @@ -72,7 +72,6 @@ class octavia::api ( include ::octavia::deps include ::octavia::policy - include ::octavia::controller if $auth_strategy == 'keystone' { include ::octavia::keystone::authtoken diff --git a/manifests/health_manager.pp b/manifests/health_manager.pp index 7732d78a..85b419fa 100644 --- a/manifests/health_manager.pp +++ b/manifests/health_manager.pp @@ -40,7 +40,6 @@ class octavia::health_manager ( ) inherits octavia::params { include ::octavia::deps - include ::octavia::controller validate_string($heartbeat_key) diff --git a/manifests/housekeeping.pp b/manifests/housekeeping.pp index 57293c9e..758fecf8 100644 --- a/manifests/housekeeping.pp +++ b/manifests/housekeeping.pp @@ -61,7 +61,6 @@ class octavia::housekeeping ( ) inherits octavia::params { include ::octavia::deps - include ::octavia::controller package { 'octavia-housekeeping': ensure => $package_ensure, diff --git a/manifests/worker.pp b/manifests/worker.pp index c40c04a0..b78aa608 100644 --- a/manifests/worker.pp +++ b/manifests/worker.pp @@ -134,14 +134,18 @@ class octavia::worker ( ) inherits octavia::params { include ::octavia::deps - include ::octavia::controller + + if !defined(Class['octavia::controller']) { + include ::octavia::controller + } if ($amp_flavor_id or $amp_image_tag or $amp_secgroup_list or $amp_boot_network_list or $loadbalancer_topology or $amphora_driver or $compute_driver or $network_driver or $amp_ssh_key_name or $enable_ssh_access or $timeout_client_data or $timeout_member_connect or $timeout_member_data or $timeout_tcp_inspect ) { warning('The amp_flavor_id, amp_image_tag, amp_secgroup_list, amp_boot_network_list, loadbalancer_topology, amphora_driver, compute_driver, network_driver, amp_ssh_key_name, enable_ssh_access, timeout_member_connect, timeout_member_data and - timeout_tcp_inspect parameters are deprecated and have been moved to octavia::controller class. Please set them there.') + timeout_tcp_inspect parameters are deprecated and have been moved to octavia::controller class. Please set them there, you must + set octavia::controller class before octavia::worker!') } validate_hash($nova_flavor_config) diff --git a/releasenotes/notes/set-common-configuration-options-across-services-91a9057d62b52de0.yaml b/releasenotes/notes/set-common-configuration-options-across-services-91a9057d62b52de0.yaml index 1735d581..0af15419 100644 --- a/releasenotes/notes/set-common-configuration-options-across-services-91a9057d62b52de0.yaml +++ b/releasenotes/notes/set-common-configuration-options-across-services-91a9057d62b52de0.yaml @@ -2,7 +2,8 @@ deprecations: - | The following octavia::worker parameters are deprecated and have been - moved to octavia::controller class. + moved to octavia::controller class. When you start using octavia::controller + make sure it's defined before octavia::worker. * amp_flavor_id * amp_image_tag @@ -27,3 +28,7 @@ fixes: allowed_address_pairs_driver. Another example is the database that was only being set for the API service. Such configuration misalignment and omissions lead to operate Octavia services and its resources. +upgrade: + - | + If you want to use the new octavia::controller class you must define it + before the octavia::worker class.