From e60a19a3f04a9b9d60e5ade6f044e68a2e907b89 Mon Sep 17 00:00:00 2001 From: Carlos Goncalves Date: Mon, 26 Nov 2018 17:36:15 +0100 Subject: [PATCH] Fix Octavia hieradata keys Commit https://review.openstack.org/#/c/612395/ deprecated some parameters in class octavia::worker and moved them to the new class octavia::controller. Closes-Bug: #1805345 Depends-On: https://review.openstack.org/#/c/620118/ Change-Id: I53264dc6cbb75165484c3b1f6ddbee45dc4e0206 (cherry picked from commit 3c8e736981393cabe3517ced44355af292a93453) (cherry picked from commit a60d8d4bb30694fadc61b75279414c6d50368835) --- puppet/services/octavia-api.yaml | 11 +++ puppet/services/octavia-controller.yaml | 88 +++++++++++++++++++++ puppet/services/octavia-health-manager.yaml | 11 +++ puppet/services/octavia-housekeeping.yaml | 13 ++- puppet/services/octavia-worker.yaml | 47 +++-------- 5 files changed, 135 insertions(+), 35 deletions(-) create mode 100644 puppet/services/octavia-controller.yaml diff --git a/puppet/services/octavia-api.yaml b/puppet/services/octavia-api.yaml index 6a4647cf6f..e63ef60627 100644 --- a/puppet/services/octavia-api.yaml +++ b/puppet/services/octavia-api.yaml @@ -73,6 +73,16 @@ resources: RoleName: {get_param: RoleName} RoleParameters: {get_param: RoleParameters} + OctaviaController: + type: ./octavia-controller.yaml + properties: + ServiceData: {get_param: ServiceData} + ServiceNetMap: {get_param: ServiceNetMap} + DefaultPasswords: {get_param: DefaultPasswords} + EndpointMap: {get_param: EndpointMap} + RoleName: {get_param: RoleName} + RoleParameters: {get_param: RoleParameters} + outputs: role_data: description: Role data for the Octavia API service. @@ -82,6 +92,7 @@ outputs: config_settings: map_merge: - get_attr: [OctaviaBase, role_data, config_settings] + - get_attr: [OctaviaController, role_data, config_settings] - octavia::keystone::authtoken::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri] } octavia::policy::policies: {get_param: OctaviaApiPolicies} octavia::db::database_connection: diff --git a/puppet/services/octavia-controller.yaml b/puppet/services/octavia-controller.yaml new file mode 100644 index 0000000000..c7e5bb3502 --- /dev/null +++ b/puppet/services/octavia-controller.yaml @@ -0,0 +1,88 @@ +heat_template_version: queens + +description: > + OpenStack Octavia Worker service. + +parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json + ServiceNetMap: + default: {} + description: Mapping of service_name -> network name. Typically set + via parameter_defaults in the resource registry. This + mapping overrides those in ServiceNetMapDefaults. + type: json + DefaultPasswords: + default: {} + type: json + RoleName: + default: '' + description: Role name on which the service is applied + type: string + RoleParameters: + default: {} + description: Parameters specific to the role + type: json + EndpointMap: + default: {} + description: Mapping of service endpoint -> protocol. Typically set + via parameter_defaults in the resource registry. + type: json + OctaviaAmphoraImageTag: + default: 'amphora-image' + description: Glance image tag for identifying the amphora image. + type: string + OctaviaAmphoraNetworkList: + default: [] + description: List of networks to attach to amphorae. + type: comma_delimited_list + OctaviaAmphoraSshKeyName: + type: string + default: 'octavia-ssh-key' + description: SSH key name. + OctaviaLoadBalancerTopology: + default: '' + description: Load balancer topology configuration. + type: string + OctaviaFlavorId: + default: 65 + description: Nova flavor ID to be used when creating the nova flavor for + amphora. + type: number + +conditions: + octavia_topology_unset: {equals : [{get_param: OctaviaLoadBalancerTopology}, ""]} + +resources: + + OctaviaBase: + type: ./octavia-base.yaml + properties: + ServiceData: {get_param: ServiceData} + ServiceNetMap: {get_param: ServiceNetMap} + DefaultPasswords: {get_param: DefaultPasswords} + EndpointMap: {get_param: EndpointMap} + RoleName: {get_param: RoleName} + RoleParameters: {get_param: RoleParameters} + +outputs: + role_data: + description: Role data for Octavia controller services. + value: + service_name: octavia_controller + config_settings: + map_merge: + - get_attr: [OctaviaBase, role_data, config_settings] + - octavia::controller::amp_boot_network_list: {get_param: OctaviaAmphoraNetworkList} + octavia::controller::amp_flavor_id: {get_param: OctaviaFlavorId} + octavia::controller::amp_image_tag: {get_param: OctaviaAmphoraImageTag} + octavia::controller::amp_ssh_key_name: {get_param: OctaviaAmphoraSshKeyName} + octavia::controller::enable_ssh_access: true + - + if: + - octavia_topology_unset + - {} + - octavia::controller::loadbalancer_topology: {get_param: OctaviaLoadBalancerTopology} + diff --git a/puppet/services/octavia-health-manager.yaml b/puppet/services/octavia-health-manager.yaml index bc038361c9..f95801bb7b 100644 --- a/puppet/services/octavia-health-manager.yaml +++ b/puppet/services/octavia-health-manager.yaml @@ -61,6 +61,16 @@ resources: RoleName: {get_param: RoleName} RoleParameters: {get_param: RoleParameters} + OctaviaController: + type: ./octavia-controller.yaml + properties: + ServiceData: {get_param: ServiceData} + ServiceNetMap: {get_param: ServiceNetMap} + DefaultPasswords: {get_param: DefaultPasswords} + EndpointMap: {get_param: EndpointMap} + RoleName: {get_param: RoleName} + RoleParameters: {get_param: RoleParameters} + outputs: role_data: description: Role data for the Octavia Health Manager service. @@ -70,6 +80,7 @@ outputs: config_settings: map_merge: - get_attr: [OctaviaBase, role_data, config_settings] + - get_attr: [OctaviaController, role_data, config_settings] - octavia::health_manager::heartbeat_key: {get_param: OctaviaHeartbeatKey} octavia::health_manager::event_streamer_driver: 'queue_event_streamer' tripleo.octavia_api.firewall_rules: diff --git a/puppet/services/octavia-housekeeping.yaml b/puppet/services/octavia-housekeeping.yaml index 00aea15971..18b138f545 100644 --- a/puppet/services/octavia-housekeeping.yaml +++ b/puppet/services/octavia-housekeeping.yaml @@ -62,6 +62,16 @@ resources: RoleName: {get_param: RoleName} RoleParameters: {get_param: RoleParameters} + OctaviaController: + type: ./octavia-controller.yaml + properties: + ServiceData: {get_param: ServiceData} + ServiceNetMap: {get_param: ServiceNetMap} + DefaultPasswords: {get_param: DefaultPasswords} + EndpointMap: {get_param: EndpointMap} + RoleName: {get_param: RoleName} + RoleParameters: {get_param: RoleParameters} + outputs: role_data: description: Role data for the Octavia Housekeeping service. @@ -71,11 +81,12 @@ outputs: config_settings: map_merge: - get_attr: [OctaviaBase, role_data, config_settings] + - get_attr: [OctaviaController, role_data, config_settings] - if: - amphora_expiry_is_zero - {} - - octavia::worker::amphora_expiry_age: {get_param: OctaviaAmphoraExpiryAge} + - octavia::housekeeping::amphora_expiry_age: {get_param: OctaviaAmphoraExpiryAge} service_config_settings: fluentd: tripleo_fluentd_groups_octavia_housekeeping: diff --git a/puppet/services/octavia-worker.yaml b/puppet/services/octavia-worker.yaml index 80dc5abd8e..36db6b8e2a 100644 --- a/puppet/services/octavia-worker.yaml +++ b/puppet/services/octavia-worker.yaml @@ -38,27 +38,6 @@ parameters: default: tag: openstack.octavia.worker path: /var/log/octavia/worker.log - OctaviaAmphoraImageTag: - default: 'amphora-image' - description: Glance image tag for identifying the amphora image. - type: string - OctaviaAmphoraNetworkList: - default: [] - description: List of networks to attach to amphorae. - type: comma_delimited_list - OctaviaAmphoraSshKeyName: - type: string - default: 'octavia-ssh-key' - description: SSH key name. - OctaviaLoadBalancerTopology: - default: '' - description: Load balancer topology configuration. - type: string - OctaviaFlavorId: - default: 65 - description: Nova flavor ID to be used when creating the nova flavor for - amphora. - type: number OctaviaFlavorProperties: default: ram : '1024' @@ -86,7 +65,6 @@ parameters: default: 'service' conditions: - octavia_topology_unset: {equals : [{get_param: OctaviaLoadBalancerTopology}, ""]} octavia_client_cert_unset: {equals: [{get_param: OctaviaClientCert}, ""]} resources: @@ -101,30 +79,31 @@ resources: RoleName: {get_param: RoleName} RoleParameters: {get_param: RoleParameters} + OctaviaController: + type: ./octavia-controller.yaml + properties: + ServiceData: {get_param: ServiceData} + ServiceNetMap: {get_param: ServiceNetMap} + DefaultPasswords: {get_param: DefaultPasswords} + EndpointMap: {get_param: EndpointMap} + RoleName: {get_param: RoleName} + RoleParameters: {get_param: RoleParameters} + outputs: role_data: - description: Role data for the Octavia WoWorker service. + description: Role data for the Octavia Worker service. value: service_name: octavia_worker monitoring_subscription: {get_param: MonitoringSubscriptionOctaviaWorker} config_settings: map_merge: - get_attr: [OctaviaBase, role_data, config_settings] - - octavia::worker::amp_boot_network_list: {get_param: OctaviaAmphoraNetworkList} - octavia::worker::amp_flavor_id: {get_param: OctaviaFlavorId} - octavia::worker::amp_image_tag: {get_param: OctaviaAmphoraImageTag} - octavia::worker::amp_project_name: {get_param: OctaviaProjectName} - octavia::worker::amp_ssh_key_name: {get_param: OctaviaAmphoraSshKeyName} + - get_attr: [OctaviaController, role_data, config_settings] + - octavia::worker::amp_project_name: {get_param: OctaviaProjectName} octavia::worker::nova_flavor_config: {get_param: OctaviaFlavorProperties} octavia::worker::manage_nova_flavor: {get_param: OctaviaManageNovaFlavor} octavia::worker::nova_flavor_config: {get_param: OctaviaFlavorProperties} - octavia::worker::enable_ssh_access: true octavia::certificates::client_cert: {get_param: OctaviaClientCertFile} - - - if: - - octavia_topology_unset - - {} - - octavia::worker::loadbalancer_topology: {get_param: OctaviaLoadBalancerTopology} - if: - octavia_client_cert_unset