From a87fb1282327f7c67542cff006d5a83c87afb75c Mon Sep 17 00:00:00 2001 From: "abhishek.kane" Date: Tue, 20 Jun 2017 17:53:53 +0530 Subject: Add new profile for the Veritas HyperScale's cinder backend. Add new hook in the keystone profile for Veritas HyperScale. Add new hook in the rabbitmq profile for Veritas HyperScale. Add new hook in the mysql profile for Veritas HyperScale. Change-Id: I9168bffa5c73a205d1bb84b831b06081c40af549 Depends-On: I316b22f4f7f9f68fe5c46075dc348a70e437fb1d Depends-On: Id188af5e2f7bf628a97a70b8f20bef28e42b372d Signed-off-by: abhishek.kane Signed-off-by: Dnyaneshwar Pawar --- ..._profile_base_cinder_veritas_hyperscale_spec.rb | 57 ++++++++++++++++++++++ .../tripleo_profile_base_cinder_volume_spec.rb | 38 ++++++++++++--- 2 files changed, 87 insertions(+), 8 deletions(-) create mode 100644 spec/classes/tripleo_profile_base_cinder_veritas_hyperscale_spec.rb (limited to 'spec/classes') diff --git a/spec/classes/tripleo_profile_base_cinder_veritas_hyperscale_spec.rb b/spec/classes/tripleo_profile_base_cinder_veritas_hyperscale_spec.rb new file mode 100644 index 0000000..63c1147 --- /dev/null +++ b/spec/classes/tripleo_profile_base_cinder_veritas_hyperscale_spec.rb @@ -0,0 +1,57 @@ +# +# Copyright (c) 2017 Veritas Technologies LLC. +# +# 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::volume::veritas_hyperscale' do + shared_examples_for 'tripleo::profile::base::cinder::volume::veritas_hyperscale' do + before :each do + facts.merge!({ :step => params[:step] }) + 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::volume::veritas_hyperscale') + is_expected.to contain_class('tripleo::profile::base::cinder::volume') + is_expected.to contain_class('tripleo::profile::base::cinder') + is_expected.to_not contain_cinder__backend__veritas_hyperscale('Veritas_HyperScale') + end + end + + context 'with step 4' do + let(:params) { { + :step => 4, + } } + + it 'should trigger complete configuration' do + is_expected.to contain_cinder__backend__veritas_hyperscale('Veritas_HyperScale') + 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::volume::veritas_hyperscale' + end + end +end diff --git a/spec/classes/tripleo_profile_base_cinder_volume_spec.rb b/spec/classes/tripleo_profile_base_cinder_volume_spec.rb index aa3dd89..03f5325 100644 --- a/spec/classes/tripleo_profile_base_cinder_volume_spec.rb +++ b/spec/classes/tripleo_profile_base_cinder_volume_spec.rb @@ -132,6 +132,25 @@ describe 'tripleo::profile::base::cinder::volume' do end end + context 'with only veritas hyperscale' do + before :each do + params.merge!({ + :cinder_enable_vrts_hs_backend => true, + :cinder_enable_iscsi_backend => false, + }) + end + it 'should configure only veritas hyperscale' do + is_expected.to contain_class('tripleo::profile::base::cinder::volume::veritas_hyperscale') + is_expected.to_not contain_class('tripleo::profile::base::cinder::volume::iscsi') + is_expected.to contain_class('tripleo::profile::base::cinder::volume') + is_expected.to contain_class('tripleo::profile::base::cinder') + is_expected.to contain_class('cinder::volume') + is_expected.to contain_class('cinder::backends').with( + :enabled_backends => ['Veritas_HyperScale'] + ) + end + end + context 'with only nfs' do before :each do params.merge!({ @@ -183,6 +202,7 @@ describe 'tripleo::profile::base::cinder::volume' do is_expected.to_not contain_class('tripleo::profile::base::cinder::volume::dellsc') is_expected.to_not contain_class('tripleo::profile::base::cinder::volume::dellps') is_expected.to_not contain_class('tripleo::profile::base::cinder::volume::netapp') + is_expected.to_not contain_class('tripleo::profile::base::cinder::volume::veritas_hyperscale') is_expected.to_not contain_class('tripleo::profile::base::cinder::volume::nfs') is_expected.to_not contain_class('tripleo::profile::base::cinder::volume::rbd') is_expected.to contain_class('tripleo::profile::base::cinder::volume') @@ -197,13 +217,14 @@ describe 'tripleo::profile::base::cinder::volume' do context 'with all tripleo backends' do before :each do params.merge!({ - :cinder_enable_nfs_backend => true, - :cinder_enable_rbd_backend => true, - :cinder_enable_iscsi_backend => true, - :cinder_enable_pure_backend => true, - :cinder_enable_dellsc_backend => true, - :cinder_enable_dellps_backend => true, - :cinder_enable_netapp_backend => true, + :cinder_enable_nfs_backend => true, + :cinder_enable_rbd_backend => true, + :cinder_enable_iscsi_backend => true, + :cinder_enable_pure_backend => true, + :cinder_enable_dellsc_backend => true, + :cinder_enable_dellps_backend => true, + :cinder_enable_netapp_backend => true, + :cinder_enable_vrts_hs_backend => true, }) end it 'should configure all backends' do @@ -212,6 +233,7 @@ describe 'tripleo::profile::base::cinder::volume' do is_expected.to contain_class('tripleo::profile::base::cinder::volume::dellsc') is_expected.to contain_class('tripleo::profile::base::cinder::volume::dellps') is_expected.to contain_class('tripleo::profile::base::cinder::volume::netapp') + is_expected.to contain_class('tripleo::profile::base::cinder::volume::veritas_hyperscale') is_expected.to contain_class('tripleo::profile::base::cinder::volume::nfs') is_expected.to contain_class('tripleo::profile::base::cinder::volume::rbd') is_expected.to contain_class('tripleo::profile::base::cinder::volume') @@ -219,7 +241,7 @@ describe 'tripleo::profile::base::cinder::volume' do is_expected.to contain_class('cinder::volume') is_expected.to contain_class('cinder::backends').with( :enabled_backends => ['tripleo_iscsi', 'tripleo_ceph', 'tripleo_pure', 'tripleo_dellps', - 'tripleo_dellsc', 'tripleo_netapp','tripleo_nfs'] + 'tripleo_dellsc', 'tripleo_netapp','tripleo_nfs','Veritas_HyperScale'] ) end end -- cgit 1.2.3-korg