Use correct memcached IPs for Swift object-expirer
The memcached IP is not properly set in case of separate storage nodes. Until now, these were only set if the Swift proxy node was also configured on the same node; however, this is not the case with separate storage nodes. The service would still run, but was not able to use any cache and logging errors therefore. Closes-Bug: 1889663 Change-Id: I70ac9fcd3f74975c96c715ecbc818e6606ff4517
This commit is contained in:
parent
3859f23df3
commit
e7cb55d97b
|
@ -0,0 +1,46 @@
|
|||
# Copyright 2020 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.
|
||||
#
|
||||
# == Class: tripleo::profile::base::swift
|
||||
#
|
||||
# Swift common profile for tripleo
|
||||
#
|
||||
# === Parameters
|
||||
#
|
||||
# [*step*]
|
||||
# (Optional) The current step in deployment. See tripleo-heat-templates
|
||||
# for more details.
|
||||
# Defaults to hiera('step')
|
||||
#
|
||||
# [*memcache_port*]
|
||||
# (Optional) memcache port
|
||||
# Defaults to 11211
|
||||
#
|
||||
# [*memcache_servers*]
|
||||
# (Optional) List of memcache servers
|
||||
# Defaults to hiera('memcached_node_ips', [])
|
||||
#
|
||||
class tripleo::profile::base::swift (
|
||||
$step = Integer(hiera('step')),
|
||||
$memcache_port = 11211,
|
||||
$memcache_servers = hiera('memcached_node_ips', []),
|
||||
) {
|
||||
if $step >= 4 {
|
||||
$swift_memcache_servers = suffix(any2array(normalize_ip_for_uri($memcache_servers)), ":${memcache_port}")
|
||||
class { 'swift::objectexpirer':
|
||||
pipeline => ['catch_errors', 'cache', 'proxy-server'],
|
||||
memcache_servers => $swift_memcache_servers
|
||||
}
|
||||
}
|
||||
}
|
|
@ -142,6 +142,7 @@ class tripleo::profile::base::swift::proxy (
|
|||
include tripleo::profile::base::apache
|
||||
}
|
||||
}
|
||||
include tripleo::profile::base::swift
|
||||
if $step >= 4 {
|
||||
$swift_memcache_servers = suffix(any2array(normalize_ip_for_uri($memcache_servers)), ":${memcache_port}")
|
||||
include swift
|
||||
|
@ -184,10 +185,5 @@ class tripleo::profile::base::swift::proxy (
|
|||
include swift::keymaster
|
||||
include swift::proxy::s3api
|
||||
include swift::proxy::s3token
|
||||
|
||||
class { 'swift::objectexpirer':
|
||||
pipeline => ['catch_errors', 'cache', 'proxy-server'],
|
||||
memcache_servers => $swift_memcache_servers
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
---
|
||||
fixes:
|
||||
- |
|
||||
The memcached IP for the Swift object expirer is not properly set in case
|
||||
of separate storage nodes. Until now, these were only set if the Swift
|
||||
proxy node was also configured on the same node; however, this is not the
|
||||
case with separate storage nodes. The service would still run, but was not
|
||||
able to use any cache and logging errors therefore.
|
|
@ -42,6 +42,7 @@ class tripleo::profile::base::swift::storage (
|
|||
$use_local_dir = true,
|
||||
$local_dir = '/srv/node/d1',
|
||||
) {
|
||||
include tripleo::profile::base::swift
|
||||
if $step >= 4 {
|
||||
if $enable_swift_storage {
|
||||
include swift
|
||||
|
|
|
@ -17,11 +17,10 @@ require 'spec_helper'
|
|||
|
||||
describe 'tripleo::profile::base::swift::proxy' do
|
||||
|
||||
let :params do
|
||||
{ }
|
||||
end
|
||||
|
||||
shared_examples_for 'tripleo::profile::base::swift::proxy' do
|
||||
before :each do
|
||||
facts.merge!({ :step => params[:step] })
|
||||
end
|
||||
|
||||
let :pre_condition do
|
||||
"class { 'swift':
|
||||
|
@ -36,12 +35,10 @@ describe 'tripleo::profile::base::swift::proxy' do
|
|||
end
|
||||
|
||||
context 'with ipv4 memcache servers' do
|
||||
before :each do
|
||||
params.merge!(
|
||||
:step => 4,
|
||||
:memcache_servers => ['192.168.0.1', '192.168.0.2'],
|
||||
)
|
||||
end
|
||||
let(:params) { {
|
||||
:step => 4,
|
||||
:memcache_servers => ['192.168.0.1', '192.168.0.2'],
|
||||
} }
|
||||
|
||||
it 'configure swift proxy cache with ipv4 ips' do
|
||||
is_expected.to contain_class('swift::proxy::cache').with({
|
||||
|
@ -51,12 +48,10 @@ describe 'tripleo::profile::base::swift::proxy' do
|
|||
end
|
||||
|
||||
context 'with ipv6 memcache servers' do
|
||||
before :each do
|
||||
params.merge!(
|
||||
let(:params) { {
|
||||
:step => 4,
|
||||
:memcache_servers => ['::1', '::2'],
|
||||
)
|
||||
end
|
||||
} }
|
||||
|
||||
it 'configure swift proxy cache with ipv6 ips' do
|
||||
is_expected.to contain_class('swift::proxy::cache').with({
|
||||
|
@ -66,12 +61,10 @@ describe 'tripleo::profile::base::swift::proxy' do
|
|||
end
|
||||
|
||||
context 'with ipv4, ipv6 and fqdn memcache servers' do
|
||||
before :each do
|
||||
params.merge!(
|
||||
let(:params) { {
|
||||
:step => 4,
|
||||
:memcache_servers => ['192.168.0.1', '::2', 'myserver.com'],
|
||||
)
|
||||
end
|
||||
} }
|
||||
|
||||
it 'configure swift proxy cache with ips and fqdn' do
|
||||
is_expected.to contain_class('swift::proxy::cache').with({
|
||||
|
|
Loading…
Reference in New Issue