Skip to content

Commit f476302

Browse files
author
jojimt
authored
Merge pull request #464 from abhinandanpb/service_epg
Fixing epg to networkname for service
2 parents 78a6148 + aec3743 commit f476302

File tree

1 file changed

+24
-14
lines changed

1 file changed

+24
-14
lines changed

netplugin/netd.go

+24-14
Original file line numberDiff line numberDiff line change
@@ -422,9 +422,10 @@ func handleEvents(netPlugin *plugin.NetPlugin, opts cliOpts) error {
422422

423423
go handleSvcProviderUpdEvents(netPlugin, opts, recvErr)
424424

425-
docker, _ := dockerclient.NewDockerClient("unix:///var/run/docker.sock", nil)
426-
go docker.StartMonitorEvents(handleDockerEvents, recvErr, netPlugin, recvErr)
427-
425+
if opts.pluginMode == "docker" {
426+
docker, _ := dockerclient.NewDockerClient("unix:///var/run/docker.sock", nil)
427+
go docker.StartMonitorEvents(handleDockerEvents, recvErr, netPlugin, recvErr)
428+
}
428429
err := <-recvErr
429430
if err != nil {
430431
log.Errorf("Failure occured. Error: %s", err)
@@ -777,7 +778,10 @@ func handleDockerEvents(event *dockerclient.Event, ec chan error, args ...interf
777778
return
778779
}
779780
containerTenant := getTenantFromContainerInspect(&containerInfo)
780-
network, ipAddress := getEpNetworkInfoFromContainerInspect(&containerInfo)
781+
network, ipAddress, err := getEpNetworkInfoFromContainerInspect(&containerInfo)
782+
if err != nil {
783+
log.Errorf("Error getting container network info for %v.Err:%s", event.ID, err)
784+
}
781785
container := getContainerFromContainerInspect(&containerInfo)
782786
if ipAddress != "" {
783787
//Create provider info
@@ -799,7 +803,7 @@ func handleDockerEvents(event *dockerclient.Event, ec chan error, args ...interf
799803

800804
log.Infof("Sending Provider create request to master: {%+v}", providerUpdReq)
801805

802-
err := cluster.MasterPostReq("/plugin/svcProviderUpdate", providerUpdReq, &svcProvResp)
806+
err = cluster.MasterPostReq("/plugin/svcProviderUpdate", providerUpdReq, &svcProvResp)
803807
if err != nil {
804808
log.Errorf("Event: 'start' , Http error posting service provider update, Error:%s", err)
805809
}
@@ -841,21 +845,27 @@ func getTenantFromContainerInspect(containerInfo *types.ContainerJSON) string {
841845
}
842846

843847
/*getEpNetworkInfoFromContainerInspect inspects the network info from containerinfo returned by dockerclient*/
844-
func getEpNetworkInfoFromContainerInspect(containerInfo *types.ContainerJSON) (string, string) {
848+
func getEpNetworkInfoFromContainerInspect(containerInfo *types.ContainerJSON) (string, string, error) {
845849
var networkName string
846850
var IPAddress string
847-
851+
var networkUUID string
848852
if containerInfo != nil && containerInfo.NetworkSettings != nil {
849-
for network, endpoint := range containerInfo.NetworkSettings.Networks {
850-
networkName = network
851-
if strings.Contains(network, "/") {
852-
//network name is of the form networkname/tenantname for non default tenant
853-
networkName = strings.Split(network, "/")[0]
854-
}
853+
for _, endpoint := range containerInfo.NetworkSettings.Networks {
855854
IPAddress = endpoint.IPAddress
855+
networkUUID = endpoint.NetworkID
856+
_, network, serviceName, err := dockplugin.GetDockerNetworkName(networkUUID)
857+
if err != nil {
858+
log.Errorf("Error getting docker networkname for network uuid : %s", networkUUID)
859+
return "", "", err
860+
}
861+
if serviceName != "" {
862+
networkName = serviceName
863+
} else {
864+
networkName = network
865+
}
856866
}
857867
}
858-
return networkName, IPAddress
868+
return networkName, IPAddress, nil
859869
}
860870

861871
func getContainerFromContainerInspect(containerInfo *types.ContainerJSON) string {

0 commit comments

Comments
 (0)