Skip to content

Commit

Permalink
Merge pull request #134 from linkernetworks/johnlin/internalIP
Browse files Browse the repository at this point in the history
use internal IP

Former-commit-id: a35b02ae6e52a83a022b43bad2a4b273f38f83a0 [formerly a35b02ae6e52a83a022b43bad2a4b273f38f83a0 [formerly a14abab]]
Former-commit-id: a92329b5e7479c55ccd41be64e235a5495d74e88
Former-commit-id: a0ed2e9
  • Loading branch information
Hung-Wei Chiu authored Jul 20, 2018
2 parents 3af25b8 + 7fb5019 commit c939cdb
Show file tree
Hide file tree
Showing 7 changed files with 70 additions and 12 deletions.
16 changes: 16 additions & 0 deletions src/kubernetes/nodes.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,19 @@ func (kc *KubeCtl) GetNodeExternalIP(name string) (string, error) {
}
return nodeIP, nil
}

//Get the internal IP address of node
func (kc *KubeCtl) GetNodeInternalIP(name string) (string, error) {
node, err := kc.GetNode(name)
if err != nil {
return "", err
}
var nodeIP string
for _, addr := range node.Status.Addresses {
if addr.Type == "InternalIP" {
nodeIP = addr.Address
break
}
}
return nodeIP, nil
}
42 changes: 42 additions & 0 deletions src/kubernetes/nodes_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,48 @@ func (suite *KubeCtlNodeTestSuite) TestGetInvalidNodeExternalIP() {
suite.Equal("", nodeIP)
}

func (suite *KubeCtlNodeTestSuite) TestGetNodeInternalIP() {
nodeAddr := corev1.NodeAddress{
Type: "InternalIP",
Address: "10.0.2.200",
}
node := corev1.Node{
ObjectMeta: metav1.ObjectMeta{
Name: "K8S-Node-6",
},
Status: corev1.NodeStatus{
Addresses: []corev1.NodeAddress{nodeAddr},
},
}
_, err := suite.fakeclient.CoreV1().Nodes().Create(&node)
suite.NoError(err)

nodeIP, err := suite.kubectl.GetNodeInternalIP("K8S-Node-6")
suite.NoError(err)
suite.Equal(nodeAddr.Address, nodeIP)
}

func (suite *KubeCtlNodeTestSuite) TestGetInvalidNodeInternalIP() {
nodeAddr := corev1.NodeAddress{
Type: "InternalIP",
Address: "10.0.2.200",
}
node := corev1.Node{
ObjectMeta: metav1.ObjectMeta{
Name: "K8S-Node-7",
},
Status: corev1.NodeStatus{
Addresses: []corev1.NodeAddress{nodeAddr},
},
}
_, err := suite.fakeclient.CoreV1().Nodes().Create(&node)
suite.NoError(err)

nodeIP, err := suite.kubectl.GetNodeInternalIP("K8S-Node-99")
suite.Error(err)
suite.Equal("", nodeIP)
}

func (suite *KubeCtlNodeTestSuite) TearDownSuite() {}

func TestKubeNodeTestSuite(t *testing.T) {
Expand Down
8 changes: 4 additions & 4 deletions src/networkcontroller/network_controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ func (suite *NetworkControllerTestSuite) SetupSuite() {
//Create a fake clinet
//Init
nodeAddr := corev1.NodeAddress{
Type: "ExternalIP",
Type: "InternalIP",
Address: "127.0.0.1",
}

Expand Down Expand Up @@ -118,7 +118,7 @@ func (suite *NetworkControllerTestSuite) TestCreateNetwork() {
},
}

nodeIP, err := suite.kubectl.GetNodeExternalIP(suite.nodeName)
nodeIP, err := suite.kubectl.GetNodeInternalIP(suite.nodeName)
suite.NoError(err)
nc, err := New(net.JoinHostPort(nodeIP, DEFAULT_CONTROLLER_PORT))
suite.NoError(err)
Expand Down Expand Up @@ -150,7 +150,7 @@ func (suite *NetworkControllerTestSuite) TestCreateOVSUserpsaceNetwork() {
},
}

nodeIP, err := suite.kubectl.GetNodeExternalIP(suite.nodeName)
nodeIP, err := suite.kubectl.GetNodeInternalIP(suite.nodeName)
suite.NoError(err)
nc, err := New(net.JoinHostPort(nodeIP, DEFAULT_CONTROLLER_PORT))
suite.NoError(err)
Expand Down Expand Up @@ -181,7 +181,7 @@ func (suite *NetworkControllerTestSuite) TestDeleteNetwork() {
},
}

nodeIP, err := suite.kubectl.GetNodeExternalIP(suite.nodeName)
nodeIP, err := suite.kubectl.GetNodeInternalIP(suite.nodeName)
suite.NoError(err)
nc, err := New(net.JoinHostPort(nodeIP, DEFAULT_CONTROLLER_PORT))
suite.NoError(err)
Expand Down
4 changes: 2 additions & 2 deletions src/networkprovider/ovs_netdev.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ func (unp userspaceNetworkProvider) CreateNetwork(sp *serviceprovider.Container)
return err
}
for _, node := range unp.Nodes {
nodeIP, err := sp.KubeCtl.GetNodeExternalIP(node.Name)
nodeIP, err := sp.KubeCtl.GetNodeInternalIP(node.Name)
if err != nil {
return err
}
Expand Down Expand Up @@ -46,7 +46,7 @@ func (unp userspaceNetworkProvider) CreateNetwork(sp *serviceprovider.Container)

func (unp userspaceNetworkProvider) DeleteNetwork(sp *serviceprovider.Container) error {
for _, node := range unp.Nodes {
nodeIP, err := sp.KubeCtl.GetNodeExternalIP(node.Name)
nodeIP, err := sp.KubeCtl.GetNodeInternalIP(node.Name)
if err != nil {
return err
}
Expand Down
4 changes: 2 additions & 2 deletions src/networkprovider/ovs_netdev_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ func (suite *OVSNetdevNetworkTestSuite) SetupSuite() {
Status: corev1.NodeStatus{
Addresses: []corev1.NodeAddress{
{
Type: "ExternalIP",
Type: "InternalIP",
Address: DPDK_LOCAL_IP,
},
},
Expand All @@ -68,7 +68,7 @@ func (suite *OVSNetdevNetworkTestSuite) SetupSuite() {
Status: corev1.NodeStatus{
Addresses: []corev1.NodeAddress{
{
Type: "ExternalIP",
Type: "InternalIP",
Address: DPDK_LOCAL_IP,
},
},
Expand Down
4 changes: 2 additions & 2 deletions src/networkprovider/ovs_system.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ func (knp kernelspaceNetworkProvider) CreateNetwork(sp *serviceprovider.Containe
return err
}
for _, node := range knp.Nodes {
nodeIP, err := sp.KubeCtl.GetNodeExternalIP(node.Name)
nodeIP, err := sp.KubeCtl.GetNodeInternalIP(node.Name)
if err != nil {
return err
}
Expand All @@ -35,7 +35,7 @@ func (knp kernelspaceNetworkProvider) CreateNetwork(sp *serviceprovider.Containe

func (knp kernelspaceNetworkProvider) DeleteNetwork(sp *serviceprovider.Container) error {
for _, node := range knp.Nodes {
nodeIP, err := sp.KubeCtl.GetNodeExternalIP(node.Name)
nodeIP, err := sp.KubeCtl.GetNodeInternalIP(node.Name)
if err != nil {
return err
}
Expand Down
4 changes: 2 additions & 2 deletions src/networkprovider/ovs_system_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ func (suite *OVSSystemNetworkTestSuite) SetupSuite() {
Status: corev1.NodeStatus{
Addresses: []corev1.NodeAddress{
{
Type: "ExternalIP",
Type: "InternalIP",
Address: OVS_LOCAL_IP,
},
},
Expand All @@ -77,7 +77,7 @@ func (suite *OVSSystemNetworkTestSuite) SetupSuite() {
Status: corev1.NodeStatus{
Addresses: []corev1.NodeAddress{
{
Type: "ExternalIP",
Type: "InternalIP",
Address: OVS_LOCAL_IP,
},
},
Expand Down

0 comments on commit c939cdb

Please sign in to comment.