Merge "Use correct memcached IPs for Swift object-expirer"
This commit is contained in:
commit
6cdd43946e
46
manifests/profile/base/swift.pp
Normal file
46
manifests/profile/base/swift.pp
Normal file
@ -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…
x
Reference in New Issue
Block a user