From 573832124a6de8cdca08f6cbf073ea5b3575bd73 Mon Sep 17 00:00:00 2001 From: Takashi Kajinami Date: Tue, 27 Apr 2021 08:17:06 +0900 Subject: [PATCH] Remove the manifest for the Keepalived service ... because the service is removed from tripleo-heat-templates. Related-Bug: #1926314 Depends-on: https://review.opendev.org/788200 Depends-on: https://review.opendev.org/788095 Change-Id: Ibc9911b62f8131fbe8dd9e061e61c56a4e5d301e --- manifests/keepalived.pp | 201 ----------------------- spec/classes/tripleo_keepalive_spec.rb | 215 ------------------------- 2 files changed, 416 deletions(-) delete mode 100644 manifests/keepalived.pp delete mode 100644 spec/classes/tripleo_keepalive_spec.rb diff --git a/manifests/keepalived.pp b/manifests/keepalived.pp deleted file mode 100644 index ebd5ed6d4..000000000 --- a/manifests/keepalived.pp +++ /dev/null @@ -1,201 +0,0 @@ -# Copyright 2014 Red Hat, Inc. -# All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -# == Class: tripleo::keepalived -# -# Configure keepalived for TripleO. -# -# === Parameters: -# -# [*controller_virtual_ip*] -# Control IP or group of IPs to bind the pools -# Can be a string or an array. -# Defaults to undef -# -# [*control_virtual_interface*] -# Interface to bind the control VIP -# Can be a string or an array. -# Defaults to undef -# -# [*public_virtual_interface*] -# Interface to bind the public VIP -# Can be a string or an array. -# Defaults to undef -# -# [*public_virtual_ip*] -# Public IP or group of IPs to bind the pools -# Can be a string or an array. -# Defaults to undef -# -# [*internal_api_virtual_ip*] -# DEPRECATED: Virtual IP on the internal API network. -# A string. -# Defaults to false -# -# [*storage_virtual_ip*] -# DEPRECATED: Virtual IP on the storage network. -# A string. -# Defaults to false -# -# [*storage_mgmt_virtual_ip*] -# DEPRECATED: Virtual IP on the storage mgmt network. -# A string. -# Defaults to false -# -# [*redis_virtual_ip*] -# Virtual IP on the redis service. -# A string. -# Defaults to false -# -# [*ovndbs_virtual_ip*] -# Virtual IP on the OVNDBs service. -# A string. -# Defaults to false -# -# [*virtual_router_id_base*] -# Base for range used for virtual router IDs. -# An integer. -# Defaults to 50 -# -# [*custom_vrrp_script*] -# A custom vrrp script used to check if haproxy is running. Can -# be used to override the distro defaults in this module. -# Defaults to false. -# -# [*network_vips*] -# A hash of networks with related ip address information. -# Example: -# { 'internal_api' => { 'ip_address' => '10.0.0.1', 'index' => 1' } } -# Defaults to hiera('network_virtual_ips', {}) -# -class tripleo::keepalived ( - $controller_virtual_ip, - $control_virtual_interface, - $public_virtual_interface, - $public_virtual_ip, - $redis_virtual_ip = false, - $ovndbs_virtual_ip = false, - $virtual_router_id_base = 50, - $custom_vrrp_script = false, - $network_vips = hiera('network_virtual_ips', {}), - # DEPRECATED PARAMETERS - $internal_api_virtual_ip = false, - $storage_virtual_ip = false, - $storage_mgmt_virtual_ip = false, -) { - - warning('Keepalived is deprecated in Ussuri and will be removed in the next cycle.') - - case $::osfamily { - 'RedHat': { - $keepalived_name_is_process = false - $keepalived_vrrp_script = '/bin/sh -c \'test -S /var/lib/haproxy/stats && echo show info | socat /var/lib/haproxy/stats stdio\'' - } # RedHat - 'Debian': { - $keepalived_name_is_process = true - $keepalived_vrrp_script = undef - } - default: { - warning('Please configure keepalived defaults in tripleo::keepalived.') - $keepalived_name_is_process = undef - $keepalived_vrrp_script = undef - } - } - - if $custom_vrrp_script { - $keepalived_vrrp_script_real = $custom_vrrp_script - } else { - $keepalived_vrrp_script_real = $keepalived_vrrp_script - } - - class { 'keepalived': } - keepalived::vrrp_script { 'haproxy': - name_is_process => $keepalived_name_is_process, - script => $keepalived_vrrp_script_real, - } - - # KEEPALIVE INSTANCE CONTROL - keepalived::instance { "${$virtual_router_id_base + 1}": - interface => $control_virtual_interface, - virtual_ips => [join([$controller_virtual_ip, ' dev ', $control_virtual_interface])], - state => 'MASTER', - track_script => ['haproxy'], - priority => 101, - } - - # KEEPALIVE INSTANCE PUBLIC - keepalived::instance { "${$virtual_router_id_base + 2}": - interface => $public_virtual_interface, - virtual_ips => [join([$public_virtual_ip, ' dev ', $public_virtual_interface])], - state => 'MASTER', - track_script => ['haproxy'], - priority => 101, - } - - if $redis_virtual_ip and $redis_virtual_ip != $controller_virtual_ip { - $redis_virtual_interface = interface_for_ip($redis_virtual_ip) - if is_ipv6_address($redis_virtual_ip) { - $redis_virtual_netmask = '64' - } else { - $redis_virtual_netmask = '32' - } - # KEEPALIVE REDIS INSTANCE - keepalived::instance { "${$virtual_router_id_base + 3}": - interface => $redis_virtual_interface, - virtual_ips => [join(["${redis_virtual_ip}/${redis_virtual_netmask}", ' dev ', $redis_virtual_interface])], - state => 'MASTER', - track_script => ['haproxy'], - priority => 101, - } - } - - if $ovndbs_virtual_ip and $ovndbs_virtual_ip != $controller_virtual_ip { - $ovndbs_virtual_interface = interface_for_ip($ovndbs_virtual_ip) - # KEEPALIVE OVNDBS MANAGEMENT NETWORK - keepalived::instance { "${$virtual_router_id_base + 4}": - interface => $ovndbs_virtual_interface, - virtual_ips => [join([$ovndbs_virtual_ip, ' dev ', $ovndbs_virtual_interface])], - state => 'MASTER', - track_script => ['haproxy'], - priority => 101, - } - } - - # NOTE - add any new VIPs before the isolated network vips and update this - # to use the new vrouter id - $last_fixed_vrouter_id = $virtual_router_id_base + 4 - - # Set up all vips for isolated networks, the vrouter id is based on a sequential index - $network_vips.each |String $net_name, $vip_info| { - $virtual_ip = $vip_info[ip_address] - if $virtual_ip and $virtual_ip != $controller_virtual_ip { - $virtual_interface = interface_for_ip($virtual_ip) - if is_ipv6_address($virtual_ip) { - $virtual_netmask = '64' - } else { - $virtual_netmask = '32' - } - - $vrouter_id = $last_fixed_vrouter_id + $vip_info["index"] - keepalived::instance { "${vrouter_id}": - interface => $virtual_interface, - virtual_ips => [join(["${virtual_ip}/${virtual_netmask}", ' dev ', $virtual_interface])], - state => 'MASTER', - track_script => ['haproxy'], - priority => 101, - } - } - } -} diff --git a/spec/classes/tripleo_keepalive_spec.rb b/spec/classes/tripleo_keepalive_spec.rb deleted file mode 100644 index bdffad9d8..000000000 --- a/spec/classes/tripleo_keepalive_spec.rb +++ /dev/null @@ -1,215 +0,0 @@ -# -# Copyright (C) 2018 Red Hat, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# - -require 'spec_helper' -require 'puppet' - -describe 'tripleo::keepalived' do - - shared_examples_for 'tripleo::keeplived' do - - # needed for puppet 4.x - before(:each) do - # mock interface_for_ip function - Puppet::Parser::Functions.newfunction(:interface_for_ip, :type => :rvalue) do |arg| - return 'br-foo' - end - end - - # needed for puppet 5.5.7+ - let (:pre_condition) do - 'function interface_for_ip($a) { return "br-foo" }' - end - - let :default_params do - { - :controller_virtual_ip => '10.0.0.1', - :control_virtual_interface => 'eth0', - :public_virtual_interface => 'eth1', - :public_virtual_ip => '192.168.0.1', - } - end - - context 'with defaults' do - let :params do - default_params - end - - it { - is_expected.to contain_class('keepalived') - is_expected.to contain_keepalived__vrrp_script('haproxy').with( - :name_is_process => platform_params[:name_is_process], - :script => platform_params[:vrrp_script] - ) - is_expected.to contain_keepalived__instance('51').with( - :interface => params[:control_virtual_interface], - :virtual_ips => [ "#{params[:controller_virtual_ip]} dev #{params[:control_virtual_interface]}" ], - :state => 'MASTER', - :track_script => ['haproxy'], - :priority => 101 - ) - is_expected.to contain_keepalived__instance('52').with( - :interface => params[:public_virtual_interface], - :virtual_ips => [ "#{params[:public_virtual_ip]} dev #{params[:public_virtual_interface]}" ], - :state => 'MASTER', - :track_script => ['haproxy'], - :priority => 101 - ) - - } - end - - context 'with custom vrrp script' do - let :params do - default_params.merge({ - :custom_vrrp_script => 'foobar' - }) - end - - it { - is_expected.to contain_keepalived__vrrp_script('haproxy').with( - :name_is_process => platform_params[:name_is_process], - :script => params[:custom_vrrp_script] - ) - } - end - - context 'with redis virtual ipv4' do - let :params do - default_params.merge({ - :redis_virtual_ip => '10.1.1.1' - }) - end - - it { - is_expected.to contain_keepalived__instance('53').with( - :interface => 'br-foo', - :virtual_ips => [ "#{params[:redis_virtual_ip]}/32 dev br-foo" ], - :state => 'MASTER', - :track_script => ['haproxy'], - :priority => 101 - ) - } - end - - context 'with redis virtual ipv6' do - let :params do - default_params.merge({ - :redis_virtual_ip => 'dead:beef::1' - }) - end - - it { - is_expected.to contain_keepalived__instance('53').with( - :interface => 'br-foo', - :virtual_ips => [ "#{params[:redis_virtual_ip]}/64 dev br-foo" ], - :state => 'MASTER', - :track_script => ['haproxy'], - :priority => 101 - ) - } - end - - context 'with ovndbs virtual ip' do - let :params do - default_params.merge({ - :ovndbs_virtual_ip => '10.1.1.1' - }) - end - - it { - is_expected.to contain_keepalived__instance('54').with( - :interface => 'br-foo', - :virtual_ips => [ "#{params[:ovndbs_virtual_ip]} dev br-foo" ], - :state => 'MASTER', - :track_script => ['haproxy'], - :priority => 101 - ) - } - end - - context 'with network ipv4 vips' do - let :params do - default_params.merge({ - :network_vips => { - 'internal_api' => { 'ip_address' => '10.1.0.1', 'index' => 1 }, - 'tenant' => { 'ip_address' => '10.2.0.1', 'index' => 2 } - } - }) - end - - it { - is_expected.to contain_class('keepalived') - is_expected.to contain_keepalived__instance('55').with( - :interface => 'br-foo', - :virtual_ips => [ "10.1.0.1/32 dev br-foo" ], - :state => 'MASTER', - :track_script => ['haproxy'], - :priority => 101 - ) - is_expected.to contain_keepalived__instance('56').with( - :interface => 'br-foo', - :virtual_ips => [ "10.2.0.1/32 dev br-foo" ], - :state => 'MASTER', - :track_script => ['haproxy'], - :priority => 101 - ) - } - end - - context 'with network ipv6 vips' do - let :params do - default_params.merge({ - :network_vips => { - 'internal_api' => { 'ip_address' => 'dead:beef::1', 'index' => 1 }, - } - }) - end - - it { - is_expected.to contain_class('keepalived') - is_expected.to contain_keepalived__instance('55').with( - :interface => 'br-foo', - :virtual_ips => [ "dead:beef::1/64 dev br-foo" ], - :state => 'MASTER', - :track_script => ['haproxy'], - :priority => 101 - ) - } - end - end - - on_supported_os.each do |os, facts| - context "on #{os}" do - let(:facts) do - facts.merge({}) - end - - let (:platform_params) do - case facts[:osfamily] - when 'RedHat' - { :name_is_process => 'false', - :vrrp_script => "/bin/sh -c 'test -S /var/lib/haproxy/stats && echo show info | socat /var/lib/haproxy/stats stdio'" } - when 'Debian' - { :name_is_process => 'true', - :vrrp_script => nil } - end - end - - it_behaves_like 'tripleo::keeplived' - end - end -end