Merge "Raise puppet error, if N-API anavail"
This commit is contained in:
commit
f068b39033
@ -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? '='
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user