Skip to content

Commit

Permalink
Merge pull request #64 from linkernetworks/johnlin/fix-netowrk-type
Browse files Browse the repository at this point in the history
change entity.network type to pointer
  • Loading branch information
Hung-Wei Chiu authored Jul 6, 2018
2 parents 794b669 + b7dfc93 commit f128627
Show file tree
Hide file tree
Showing 6 changed files with 27 additions and 25 deletions.
7 changes: 4 additions & 3 deletions src/networkprovider/fake.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package networkprovider

import (
"fmt"

"github.com/linkernetworks/vortex/src/entity"
"github.com/linkernetworks/vortex/src/serviceprovider"
)
Expand All @@ -10,21 +11,21 @@ type FakeNetworkProvider struct {
entity.FakeNetwork
}

func (fake FakeNetworkProvider) ValidateBeforeCreating(sp *serviceprovider.Container, net entity.Network) error {
func (fake FakeNetworkProvider) ValidateBeforeCreating(sp *serviceprovider.Container, net *entity.Network) error {
if fake.FakeParameter == "" {
return fmt.Errorf("Fail to validate but don't worry, I'm fake network")
}
return nil
}

func (fake FakeNetworkProvider) CreateNetwork(sp *serviceprovider.Container, net entity.Network) error {
func (fake FakeNetworkProvider) CreateNetwork(sp *serviceprovider.Container, net *entity.Network) error {
if fake.IWantFail {
return fmt.Errorf("Fail to create network but don't worry, I'm fake network")
}
return nil
}

func (fake FakeNetworkProvider) DeleteNetwork(sp *serviceprovider.Container, net entity.Network) error {
func (fake FakeNetworkProvider) DeleteNetwork(sp *serviceprovider.Container, net *entity.Network) error {
if fake.IWantFail {
return fmt.Errorf("Fail to delete network but don't worry, I'm fake network")
}
Expand Down
12 changes: 6 additions & 6 deletions src/networkprovider/fake_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ func TestNetworkValidateBeforeCreating(t *testing.T) {
},
})
assert.NoError(t, err)
err = fake.ValidateBeforeCreating(nil, entity.Network{})
err = fake.ValidateBeforeCreating(nil, &entity.Network{})
assert.NoError(t, err)
}

Expand All @@ -29,7 +29,7 @@ func TestFakeNetworkCreating(t *testing.T) {
},
})
assert.NoError(t, err)
err = fake.CreateNetwork(nil, entity.Network{})
err = fake.CreateNetwork(nil, &entity.Network{})
assert.NoError(t, err)
}

Expand All @@ -41,7 +41,7 @@ func TestFakeNetworkValidateBeforeCreatingFail(t *testing.T) {
},
})
assert.NoError(t, err)
err = fake.ValidateBeforeCreating(nil, entity.Network{})
err = fake.ValidateBeforeCreating(nil, &entity.Network{})
assert.Error(t, err)
}

Expand All @@ -53,7 +53,7 @@ func TestFakeNetworkCreatingFail(t *testing.T) {
},
})
assert.NoError(t, err)
err = fake.CreateNetwork(nil, entity.Network{})
err = fake.CreateNetwork(nil, &entity.Network{})
assert.Error(t, err)
}

Expand All @@ -63,7 +63,7 @@ func TestFakeNetworkDelete(t *testing.T) {
Fake: entity.FakeNetwork{},
})
assert.NoError(t, err)
err = fake.DeleteNetwork(nil, entity.Network{})
err = fake.DeleteNetwork(nil, &entity.Network{})
assert.NoError(t, err)
}

Expand All @@ -75,6 +75,6 @@ func TestFakeNetworkDeleteFail(t *testing.T) {
},
})
assert.NoError(t, err)
err = fake.DeleteNetwork(nil, entity.Network{})
err = fake.DeleteNetwork(nil, &entity.Network{})
assert.Error(t, err)
}
7 changes: 4 additions & 3 deletions src/networkprovider/network.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,15 @@ package networkprovider

import (
"fmt"

"github.com/linkernetworks/vortex/src/entity"
"github.com/linkernetworks/vortex/src/serviceprovider"
)

type NetworkProvider interface {
ValidateBeforeCreating(sp *serviceprovider.Container, net entity.Network) error
CreateNetwork(sp *serviceprovider.Container, net entity.Network) error
DeleteNetwork(sp *serviceprovider.Container, net entity.Network) error
ValidateBeforeCreating(sp *serviceprovider.Container, net *entity.Network) error
CreateNetwork(sp *serviceprovider.Container, net *entity.Network) error
DeleteNetwork(sp *serviceprovider.Container, net *entity.Network) error
}

func GetNetworkProvider(network *entity.Network) (NetworkProvider, error) {
Expand Down
6 changes: 3 additions & 3 deletions src/networkprovider/ovs.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ type OVSNetworkProvider struct {
entity.OVSNetwork
}

func (ovs OVSNetworkProvider) ValidateBeforeCreating(sp *serviceprovider.Container, network entity.Network) error {
func (ovs OVSNetworkProvider) ValidateBeforeCreating(sp *serviceprovider.Container, network *entity.Network) error {
session := sp.Mongo.NewSession()
defer session.Close()
//Check whether vlangTag is 0~4095
Expand Down Expand Up @@ -64,7 +64,7 @@ func deleteOVSNetwork(nodeIP string, bridgeName string) error {
return nc.DeleteOVSNetwork(bridgeName)
}

func (ovs OVSNetworkProvider) CreateNetwork(sp *serviceprovider.Container, network entity.Network) error {
func (ovs OVSNetworkProvider) CreateNetwork(sp *serviceprovider.Container, network *entity.Network) error {
if network.Clusterwise {
nodes, _ := sp.KubeCtl.GetNodes()
for _, v := range nodes {
Expand All @@ -85,7 +85,7 @@ func (ovs OVSNetworkProvider) CreateNetwork(sp *serviceprovider.Container, netwo
return createOVSNetwork(nodeIP, network.OVS.BridgeName, network.OVS.PhysicalPorts)
}

func (ovs OVSNetworkProvider) DeleteNetwork(sp *serviceprovider.Container, network entity.Network) error {
func (ovs OVSNetworkProvider) DeleteNetwork(sp *serviceprovider.Container, network *entity.Network) error {
if network.Clusterwise {
nodes, _ := sp.KubeCtl.GetNodes()
for _, v := range nodes {
Expand Down
14 changes: 7 additions & 7 deletions src/networkprovider/ovs_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ func (suite *NetworkTestSuite) TestCreateNetwork() {
np, err := GetNetworkProvider(tc.network)
suite.NoError(err)
np = np.(OVSNetworkProvider)
err = np.CreateNetwork(suite.sp, *tc.network)
err = np.CreateNetwork(suite.sp, tc.network)
suite.NoError(err)
defer exec.Command("ovs-vsctl", "del-br", tc.network.OVS.BridgeName).Run()
})
Expand All @@ -161,7 +161,7 @@ func (suite *NetworkTestSuite) TestCreateNetworkFail() {
np, err := GetNetworkProvider(&network)
suite.NoError(err)
np = np.(OVSNetworkProvider)
err = np.CreateNetwork(suite.sp, network)
err = np.CreateNetwork(suite.sp, &network)
suite.Error(err)
}

Expand Down Expand Up @@ -203,7 +203,7 @@ func (suite *NetworkTestSuite) TestValidateBeforeCreating() {
suite.NoError(err)
np = np.(OVSNetworkProvider)

err = np.ValidateBeforeCreating(suite.sp, *tc.network)
err = np.ValidateBeforeCreating(suite.sp, tc.network)
suite.NoError(err)
})
}
Expand Down Expand Up @@ -255,7 +255,7 @@ func (suite *NetworkTestSuite) TestValidateBeforeCreatingFail() {
defer session.C(entity.NetworkCollectionName).Remove(tc.network)
suite.NoError(err)
}
err = np.ValidateBeforeCreating(suite.sp, *tc.network)
err = np.ValidateBeforeCreating(suite.sp, tc.network)
suite.Error(err)
})
}
Expand All @@ -276,12 +276,12 @@ func (suite *NetworkTestSuite) TestDeleteNetwork() {
np, err := GetNetworkProvider(tc.network)
suite.NoError(err)
np = np.(OVSNetworkProvider)
err = np.CreateNetwork(suite.sp, *tc.network)
err = np.CreateNetwork(suite.sp, tc.network)
suite.NoError(err)

exec.Command("ovs-vsctl", "add-br", tc.network.OVS.BridgeName).Run()
//FIXME we need a function to check the bridge is exist
err = np.DeleteNetwork(suite.sp, *tc.network)
err = np.DeleteNetwork(suite.sp, tc.network)
suite.NoError(err)
})
}
Expand All @@ -296,6 +296,6 @@ func (suite *NetworkTestSuite) TestDeleteNetworkFail() {
np, err := GetNetworkProvider(&network)
suite.NoError(err)
np = np.(OVSNetworkProvider)
err = np.DeleteNetwork(suite.sp, network)
err = np.DeleteNetwork(suite.sp, &network)
suite.Error(err)
}
6 changes: 3 additions & 3 deletions src/server/handler_network.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,12 @@ func createNetworkHandler(ctx *web.Context) {
return
}

if err := networkProvider.ValidateBeforeCreating(sp, network); err != nil {
if err := networkProvider.ValidateBeforeCreating(sp, &network); err != nil {
response.BadRequest(req.Request, resp.ResponseWriter, err)
return
}

if err := networkProvider.CreateNetwork(sp, network); err != nil {
if err := networkProvider.CreateNetwork(sp, &network); err != nil {
response.InternalServerError(req.Request, resp.ResponseWriter, err)
return
}
Expand Down Expand Up @@ -157,7 +157,7 @@ func deleteNetworkHandler(ctx *web.Context) {
return
}

if err := networkProvider.DeleteNetwork(sp, network); err != nil {
if err := networkProvider.DeleteNetwork(sp, &network); err != nil {
response.InternalServerError(req.Request, resp.ResponseWriter, err)
return
}
Expand Down

0 comments on commit f128627

Please sign in to comment.