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 31862093eb)
This commit is contained in:
Takashi Kajinami 2024-10-10 11:04:19 +09:00
parent aef1a3490c
commit 50efca8bb8
2 changed files with 6 additions and 16 deletions

View File

@ -24,20 +24,13 @@ class Puppet::Provider::Neutron < Puppet::Provider::Openstack
fixed_ips.each do |fixed_ip|
subnet_ids << fixed_ip['subnet_id']
end
if subnet_ids.length > 1
subnet_ids
else
subnet_ids.first
end
# TODO(tkajinam): Support multiple values
subnet_ids.first
end
def self.parse_availability_zone_hint(value)
hints = JSON.parse(value.gsub(/\\"/,'"').gsub('\'','"'))
if hints.length > 1
hints
else
hints.first
end
# TODO(tkajinam): Support multiple values
hints.first
end
end

View File

@ -182,11 +182,8 @@ Puppet::Type.type(:neutron_port).provide(
ips << fixed_ip['ip_address']
end
if ips.length > 1
ips
else
ips.first
end
# TODO(tkajinam): Support multiple values
ips.first
end
def self.parse_binding_profile_interface_name(value)