Add v1.NodeLegacyHostIP to be consistent with the internal API;

Mark NodeLegacyHostIP will be deprecated in 1.7;
Let cloudprovider that used to only set NodeLegacyHostIP set the IP as both InternalIP and ExternalIP, to allow dprecation in 1.7
This commit is contained in:
Chao Xu
2016-11-02 13:48:27 -07:00
parent 8e3909c32a
commit 783af943db
8 changed files with 29 additions and 48 deletions

View File

@@ -44,6 +44,7 @@ import (
kubeletclient "k8s.io/kubernetes/pkg/kubelet/client"
"k8s.io/kubernetes/pkg/master/thirdparty"
utilnet "k8s.io/kubernetes/pkg/util/net"
nodeutil "k8s.io/kubernetes/pkg/util/node"
"k8s.io/kubernetes/pkg/registry/generic"
"k8s.io/kubernetes/pkg/registry/generic/registry"
@@ -354,6 +355,10 @@ type nodeAddressProvider struct {
}
func (n nodeAddressProvider) externalAddresses() (addresses []string, err error) {
preferredAddressTypes := []api.NodeAddressType{
api.NodeExternalIP,
api.NodeLegacyHostIP,
}
nodes, err := n.nodeClient.List(api.ListOptions{})
if err != nil {
return nil, err
@@ -361,7 +366,7 @@ func (n nodeAddressProvider) externalAddresses() (addresses []string, err error)
addrs := []string{}
for ix := range nodes.Items {
node := &nodes.Items[ix]
addr, err := findExternalAddress(node)
addr, err := nodeutil.GetPreferredNodeAddress(node, preferredAddressTypes)
if err != nil {
return nil, err
}
@@ -370,24 +375,6 @@ func (n nodeAddressProvider) externalAddresses() (addresses []string, err error)
return addrs, nil
}
// findExternalAddress returns ExternalIP of provided node with fallback to LegacyHostIP.
func findExternalAddress(node *api.Node) (string, error) {
var fallback string
for ix := range node.Status.Addresses {
addr := &node.Status.Addresses[ix]
if addr.Type == api.NodeExternalIP {
return addr.Address, nil
}
if fallback == "" && addr.Type == api.NodeLegacyHostIP {
fallback = addr.Address
}
}
if fallback != "" {
return fallback, nil
}
return "", fmt.Errorf("Couldn't find external address: %v", node)
}
func DefaultAPIResourceConfigSource() *genericapiserver.ResourceConfig {
ret := genericapiserver.NewResourceConfig()
ret.EnableVersions(