Browse Source
Add a Cinder backup profile that uses NFS for the backend.
Related-Bug: #1744174
Change-Id: Ic0adb294aa2e60243f8adaf167bdd75e42c8e20e
(cherry picked from commit 364c76158f
)
changes/07/574707/1
4 changed files with 100 additions and 0 deletions
@ -0,0 +1,36 @@
|
||||
# Copyright 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. |
||||
# |
||||
# == Class: tripleo::profile::base::cinder::backup::nfs |
||||
# |
||||
# Cinder Backup NFS profile for tripleo |
||||
# |
||||
# === Parameters |
||||
# |
||||
# [*step*] |
||||
# (Optional) The current step in deployment. See tripleo-heat-templates |
||||
# for more details. |
||||
# Defaults to hiera('step') |
||||
# |
||||
class tripleo::profile::base::cinder::backup::nfs ( |
||||
$step = Integer(hiera('step')), |
||||
) { |
||||
|
||||
include ::tripleo::profile::base::cinder::backup |
||||
|
||||
if $step >= 4 { |
||||
include ::cinder::backup::nfs |
||||
} |
||||
|
||||
} |
@ -0,0 +1,4 @@
|
||||
--- |
||||
features: |
||||
- | |
||||
Add the ability to deploy an NFS backend for the Cinder Backup service. |
@ -0,0 +1,59 @@
|
||||
# |
||||
# 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' |
||||
|
||||
describe 'tripleo::profile::base::cinder::backup::nfs' do |
||||
shared_examples_for 'tripleo::profile::base::cinder::backup::nfs' do |
||||
let(:pre_condition) do |
||||
<<-EOF |
||||
class { '::tripleo::profile::base::cinder': step => #{params[:step]}, oslomsg_rpc_hosts => ['127.0.0.1'] } |
||||
class { '::tripleo::profile::base::cinder::backup': step => #{params[:step]} } |
||||
EOF |
||||
end |
||||
|
||||
context 'with step less than 4' do |
||||
let(:params) { { :step => 3 } } |
||||
|
||||
it 'should do nothing' do |
||||
is_expected.to contain_class('tripleo::profile::base::cinder::backup::nfs') |
||||
is_expected.to contain_class('tripleo::profile::base::cinder::backup') |
||||
is_expected.to_not contain_class('cinder::backup::nfs') |
||||
end |
||||
end |
||||
|
||||
context 'with step 4' do |
||||
let(:params) { { |
||||
:step => 4, |
||||
} } |
||||
|
||||
it 'should trigger complete configuration' do |
||||
is_expected.to contain_class('cinder::backup::nfs') |
||||
end |
||||
end |
||||
end |
||||
|
||||
|
||||
on_supported_os.each do |os, facts| |
||||
context "on #{os}" do |
||||
let(:facts) do |
||||
facts.merge({ :hostname => 'node.example.com' }) |
||||
end |
||||
|
||||
it_behaves_like 'tripleo::profile::base::cinder::backup::nfs' |
||||
end |
||||
end |
||||
end |
Loading…
Reference in new issue