Merge "Raise puppet error, if N-API anavail"

This commit is contained in:
Jenkins 2015-02-08 01:32:10 +00:00 committed by Gerrit Code Review
commit f068b39033
2 changed files with 27 additions and 0 deletions

View File

@ -124,6 +124,10 @@ correctly configured.")
ids = []
list = auth_neutron("#{type}-list", '--format=csv',
'--column=id', '--quote=none')
if list.nil?
raise(Puppet::ExecutionFailure, "Can't retrieve #{type}-list because Neutron or Keystone API is not avalaible.")
end
(list.split("\n")[1..-1] || []).compact.collect do |line|
ids << line.strip
end
@ -133,6 +137,10 @@ correctly configured.")
def self.get_neutron_resource_attrs(type, id)
attrs = {}
net = auth_neutron("#{type}-show", '--format=shell', id)
if net.nil?
raise(Puppet::ExecutionFailure, "Can't retrieve #{type}-show because Neutron or Keystone API is not avalaible.")
end
last_key = nil
(net.split("\n") || []).compact.collect do |line|
if line.include? '='

View File

@ -28,6 +28,10 @@ describe Puppet::Provider::Neutron do
/Neutron types will not work/
end
let :exec_error do
/Neutron or Keystone API is not avalaible/
end
after :each do
klass.reset
end
@ -136,6 +140,21 @@ describe Puppet::Provider::Neutron do
result.should eql(['net1', 'net2'])
end
it 'should return empty list when there are no neutron resources' do
output = <<-EOT
EOT
klass.stubs(:auth_neutron).returns(output)
result = klass.list_neutron_resources('foo')
result.should eql([])
end
it 'should fail if resources list is nil' do
klass.stubs(:auth_neutron).returns(nil)
expect do
klass.list_neutron_resources('foo')
end.to raise_error(Puppet::Error, exec_error)
end
end
describe 'when retrieving attributes for neutron resources' do