Skip to content

Commit c98f4ae

Browse files
committed
disabling network creation in ACI mode
1 parent e1dbb39 commit c98f4ae

File tree

3 files changed

+46
-0
lines changed

3 files changed

+46
-0
lines changed

netmaster/master/network.go

+12
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,12 @@ func CreateNetwork(network intent.ConfigNetwork, stateDriver core.StateDriver, t
177177
return nil
178178
}
179179

180+
aci, _ := IsAciConfigured()
181+
if aci {
182+
// Skip docker network creation for ACI fabric mode.
183+
return nil
184+
}
185+
180186
if GetClusterMode() == "docker" {
181187
// Create the network in docker
182188
err = docknet.CreateDockNet(tenantName, network.Name, "", nwCfg)
@@ -408,6 +414,12 @@ func DeleteNetworkID(stateDriver core.StateDriver, netID string) error {
408414
return err
409415
}
410416

417+
aci, _ := IsAciConfigured()
418+
if aci {
419+
// Skip docker network deletion for ACI fabric mode.
420+
return nil
421+
}
422+
411423
if nwCfg.NwType != "infra" {
412424
// For Infra nw, endpoint delete initiated by netplugin
413425
// Check if there are any active endpoints

systemtests/aci_test.go

+9
Original file line numberDiff line numberDiff line change
@@ -26,18 +26,27 @@ func (s *systemtestSuite) TestACIMode(c *C) {
2626
Encap: "vlan",
2727
}), IsNil)
2828

29+
err := s.nodes[0].checkDockerNetworkCreated("aciNet", false)
30+
c.Assert(err, IsNil)
31+
2932
c.Assert(s.cli.EndpointGroupPost(&client.EndpointGroup{
3033
TenantName: "default",
3134
NetworkName: "aciNet",
3235
GroupName: "epgA",
3336
}), IsNil)
3437

38+
err = s.nodes[0].checkDockerNetworkCreated("epgA", true)
39+
c.Assert(err, IsNil)
40+
3541
c.Assert(s.cli.EndpointGroupPost(&client.EndpointGroup{
3642
TenantName: "default",
3743
NetworkName: "aciNet",
3844
GroupName: "epgB",
3945
}), IsNil)
4046

47+
err = s.nodes[0].checkDockerNetworkCreated("epgB", true)
48+
c.Assert(err, IsNil)
49+
4150
cA1, err := s.nodes[0].runContainer(containerSpec{networkName: "epgA"})
4251
c.Assert(err, IsNil)
4352

systemtests/node_test.go

+25
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,31 @@ func (n *node) cleanupDockerNetwork() error {
112112
return n.tbnode.RunCommand("docker network rm $(docker network ls | grep netplugin | awk '{print $2}')")
113113
}
114114

115+
func (n *node) checkDockerNetworkCreated(nwName string, expectedOp bool) error {
116+
logrus.Infof("Checking whether docker network is created or not")
117+
cmd := fmt.Sprintf("docker network ls | grep netplugin | grep %s | awk \"{print \\$2}\"", nwName)
118+
logrus.Infof("Command to be executed is = %s", cmd)
119+
op, err := n.tbnode.RunCommandWithOutput(cmd)
120+
121+
if err == nil {
122+
// if networks are NOT meant to be created. In ACI mode netctl net create should
123+
// not create docker networks
124+
ret := strings.Contains(op, nwName)
125+
if expectedOp == false && ret != true {
126+
logrus.Infof("Network names Input=%s and Output=%s are NOT matching and thats expected", nwName, op)
127+
} else {
128+
// If netwokrs are meant to be created. In ACI Once you create EPG,
129+
// respective docker network should get created.
130+
if ret == true {
131+
logrus.Infof("Network names are matching.")
132+
return nil
133+
}
134+
}
135+
return nil
136+
}
137+
return err
138+
}
139+
115140
func (n *node) cleanupContainers() error {
116141
logrus.Infof("Cleaning up containers on %s", n.Name())
117142
if os.Getenv("ACI_SYS_TEST_MODE") == "ON" {

0 commit comments

Comments
 (0)