Merge pull request #5116 from justinsb/skip_duplicate_node_address

Don't allow duplicate values in NodeAddresses
This commit is contained in:
Daniel Smith
2015-03-09 11:59:54 -07:00
4 changed files with 21 additions and 5 deletions

View File

@@ -1405,3 +1405,19 @@ const (
PortHeader = "port"
)
// Appends the NodeAddresses to the passed-by-pointer slice, only if they do not already exist
func AddToNodeAddresses(addresses *[]NodeAddress, addAddresses ...NodeAddress) {
for _, add := range addAddresses {
exists := false
for _, existing := range *addresses {
if existing.Address == add.Address && existing.Type == add.Type {
exists = true
break
}
}
if !exists {
*addresses = append(*addresses, add)
}
}
}

View File

@@ -730,7 +730,7 @@ func init() {
}
if in.HostIP != "" {
out.Status.Addresses = append(out.Status.Addresses,
newer.AddToNodeAddresses(&out.Status.Addresses,
newer.NodeAddress{Type: newer.NodeLegacyHostIP, Address: in.HostIP})
}
out.Spec.PodCIDR = in.PodCIDR

View File

@@ -650,7 +650,7 @@ func init() {
}
if in.HostIP != "" {
out.Status.Addresses = append(out.Status.Addresses,
newer.AddToNodeAddresses(&out.Status.Addresses,
newer.NodeAddress{Type: newer.NodeLegacyHostIP, Address: in.HostIP})
}
out.Spec.PodCIDR = in.PodCIDR