func TestOvsDriverCreateEndpointStatefulStateMismatch(t *testing.T) { driver := initOvsDriver(t) defer func() { driver.Deinit() }() id := createEpIDStatefulMismatch // create network err := driver.CreateNetwork(testOvsNwID) if err != nil { t.Fatalf("network creation failed. Error: %s", err) } defer func() { driver.DeleteNetwork(testOvsNwID, "", "", testPktTag, testExtPktTag, testGateway, testTenant) }() // create second network err = driver.CreateNetwork(testOvsNwIDStateful) if err != nil { t.Fatalf("network creation failed. Error: %s", err) } defer func() { driver.DeleteNetwork(testOvsNwIDStateful, "", "", testPktTagStateful, testExtPktTag, testGateway, testTenant) }() // create endpoint err = driver.CreateEndpoint(id) if err != nil { t.Fatalf("endpoint creation failed. Error: %s", err) } cfgEp := mastercfg.CfgEndpointState{} cfgEp.StateDriver = driver.oper.StateDriver err = cfgEp.Read(id) if err != nil { t.Fatalf("failed to read ep config. Error: %s", err) } cfgEp.NetID = testOvsNwIDStateful err = cfgEp.Write() if err != nil { t.Fatalf("failed to write ep config. Error: %s", err) } err = driver.CreateEndpoint(id) if err != nil { t.Fatalf("stateful endpoint creation failed. Error: %s", err) } defer func() { driver.DeleteEndpoint(id) }() output, err := exec.Command("ovs-vsctl", "list", "Port").CombinedOutput() expectedPortName := fmt.Sprintf("port%d", driver.oper.CurrPortNum) if err != nil || !strings.Contains(string(output), expectedPortName) { t.Fatalf("port lookup failed. Error: %s expected port: %s Output: %s", err, expectedPortName, output) } output, err = exec.Command("ovs-vsctl", "list", "Interface").CombinedOutput() if err != nil || !strings.Contains(string(output), expectedPortName) { t.Fatalf("interface lookup failed. Error: %s expected port: %s Output: %s", err, expectedPortName, output) } }