Fix incorrect handling of list values
Neutron accepts multiple values for availability zone hint, subnet, and fixed-ip and return lists with multiple elements. At this moment the corresponding properties in our resource types do not support array value so we should always pick the first element to fill the interface mismatch. Change-Id: I3bcca8b7824be1c56661bef56ed523cc4dfb5d7a (cherry picked from commit 31862093eb128c263f11926388f3eb7325c6ae80) (cherry picked from commit 50efca8bb825ba45a72fc9d90babc7d239d1a997)
This commit is contained in:
parent
9c94c61921
commit
8c33f8c106
@ -24,20 +24,13 @@ class Puppet::Provider::Neutron < Puppet::Provider::Openstack
|
|||||||
fixed_ips.each do |fixed_ip|
|
fixed_ips.each do |fixed_ip|
|
||||||
subnet_ids << fixed_ip['subnet_id']
|
subnet_ids << fixed_ip['subnet_id']
|
||||||
end
|
end
|
||||||
|
# TODO(tkajinam): Support multiple values
|
||||||
if subnet_ids.length > 1
|
subnet_ids.first
|
||||||
subnet_ids
|
|
||||||
else
|
|
||||||
subnet_ids.first
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.parse_availability_zone_hint(value)
|
def self.parse_availability_zone_hint(value)
|
||||||
hints = JSON.parse(value.gsub(/\\"/,'"').gsub('\'','"'))
|
hints = JSON.parse(value.gsub(/\\"/,'"').gsub('\'','"'))
|
||||||
if hints.length > 1
|
# TODO(tkajinam): Support multiple values
|
||||||
hints
|
hints.first
|
||||||
else
|
|
||||||
hints.first
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -182,11 +182,8 @@ Puppet::Type.type(:neutron_port).provide(
|
|||||||
ips << fixed_ip['ip_address']
|
ips << fixed_ip['ip_address']
|
||||||
end
|
end
|
||||||
|
|
||||||
if ips.length > 1
|
# TODO(tkajinam): Support multiple values
|
||||||
ips
|
ips.first
|
||||||
else
|
|
||||||
ips.first
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.parse_binding_profile_interface_name(value)
|
def self.parse_binding_profile_interface_name(value)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user