Skip to content

Commit 6a3d3bd

Browse files
author
eduards
committed
Adding socket name lookup for PG containers
Harmless if default, will pick up whatever it is in case it is not. Addressed comments Signed-off-by: eduards <eduards@plumgrid.com>
1 parent e26439f commit 6a3d3bd

1 file changed

Lines changed: 27 additions & 4 deletions

File tree

plugin/driver/driver.go

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import (
2828
"github.com/docker/libnetwork/drivers/remote/api"
2929
"github.com/docker/libnetwork/netlabel"
3030
docker "github.com/fsouza/go-dockerclient"
31+
"github.com/plumgrid/cli/helpers/plumgrid/ifc_ctl"
3132

3233
"github.com/gorilla/mux"
3334
"github.com/vishvananda/netlink"
@@ -284,7 +285,18 @@ func (driver *driver) joinEndpoint(w http.ResponseWriter, r *http.Request) {
284285
mac := link.Attrs().HardwareAddr.String()
285286
Log.Infof("mac address: %s\n", mac)
286287

287-
cmdStr := "sudo /opt/pg/bin/ifc_ctl gateway add_port " + if_local_name
288+
se_name, err := ifc_ctl.PgGetContainerDoorName()
289+
if err != nil {
290+
Log.Infof("Error attempting to find SE_name, will attempt ifc_ctl with default: %s", ifc_ctl.DEFAULT_SE_NAME)
291+
se_name = ifc_ctl.DEFAULT_SE_NAME
292+
}
293+
294+
if se_name == "" {
295+
Log.Infof("Could not find SE name, will try to use default door name: %s", ifc_ctl.DEFAULT_SE_NAME)
296+
se_name = ifc_ctl.DEFAULT_SE_NAME
297+
}
298+
299+
cmdStr := "sudo /opt/pg/bin/ifc_ctl " + se_name + " add_port " + if_local_name
288300
Log.Infof("addport cmd: %s", cmdStr)
289301
cmd := exec.Command("/bin/sh", "-c", cmdStr)
290302
var addport bytes.Buffer
@@ -298,7 +310,7 @@ func (driver *driver) joinEndpoint(w http.ResponseWriter, r *http.Request) {
298310
return
299311
}
300312

301-
cmdStr = "sudo /opt/pg/bin/ifc_ctl gateway ifup " + if_local_name + " access_container cont_" + endID[:8] + " " + mac + " pgtag2=" + bridgeID + " pgtag1=" + domainid
313+
cmdStr = "sudo /opt/pg/bin/ifc_ctl " + se_name + " ifup " + if_local_name + " access_container cont_" + endID[:8] + " " + mac + " pgtag2=" + bridgeID + " pgtag1=" + domainid
302314
Log.Infof("ifup cmd: %s", cmdStr)
303315
cmd = exec.Command("/bin/sh", "-c", cmdStr)
304316
var ifup bytes.Buffer
@@ -346,7 +358,18 @@ func (driver *driver) leaveEndpoint(w http.ResponseWriter, r *http.Request) {
346358

347359
if_local_name := "tap" + l.EndpointID[:5]
348360

349-
cmdStr := "sudo /opt/pg/bin/ifc_ctl gateway ifdown " + if_local_name
361+
se_name, err := ifc_ctl.PgGetContainerDoorName()
362+
if err != nil {
363+
Log.Infof("Error attempting to find SE_name, will attempt ifc_ctl with default: %s", ifc_ctl.DEFAULT_SE_NAME)
364+
se_name = ifc_ctl.DEFAULT_SE_NAME
365+
}
366+
367+
if se_name == "" {
368+
Log.Infof("Could not find SE name, will try to use default door name: %s", ifc_ctl.DEFAULT_SE_NAME)
369+
se_name = ifc_ctl.DEFAULT_SE_NAME
370+
}
371+
372+
cmdStr := "sudo /opt/pg/bin/ifc_ctl " + se_name + " ifdown " + if_local_name
350373
Log.Infof("ifdown cmd: %s", cmdStr)
351374
cmd := exec.Command("/bin/sh", "-c", cmdStr)
352375
var ifdown bytes.Buffer
@@ -359,7 +382,7 @@ func (driver *driver) leaveEndpoint(w http.ResponseWriter, r *http.Request) {
359382
errorResponse(w, "Unable to off-board container from PLUMgrid")
360383
}
361384

362-
cmdStr = "sudo /opt/pg/bin/ifc_ctl gateway del_port " + if_local_name
385+
cmdStr = "sudo /opt/pg/bin/ifc_ctl " + se_name + " del_port " + if_local_name
363386
Log.Infof("delport cmd: %s", cmdStr)
364387
cmd = exec.Command("/bin/sh", "-c", cmdStr)
365388
var delport bytes.Buffer

0 commit comments

Comments
 (0)