Skip to content

Commit 73f14d7

Browse files
authored
Merge pull request #55 from plumgrid/revert-53-sagheer-dev
Revert "port ifc_ctl to PG CLI code base"
2 parents f3f0800 + 721f726 commit 73f14d7

2 files changed

Lines changed: 45 additions & 12 deletions

File tree

plugin/driver/driver.go

Lines changed: 44 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,19 @@
1515
package driver
1616

1717
import (
18+
"bytes"
1819
"encoding/hex"
1920
"encoding/json"
2021
"fmt"
2122
"io"
2223
"net"
2324
"net/http"
25+
"os/exec"
2426

2527
Log "github.com/Sirupsen/logrus"
2628
"github.com/docker/libnetwork/drivers/remote/api"
2729
"github.com/docker/libnetwork/netlabel"
2830
docker "github.com/fsouza/go-dockerclient"
29-
"github.com/plumgrid/cli/helpers/plumgrid/ifc_ctl"
3031

3132
"github.com/gorilla/mux"
3233
"github.com/vishvananda/netlink"
@@ -201,7 +202,7 @@ func (driver *driver) createEndpoint(w http.ResponseWriter, r *http.Request) {
201202
local := vethPair(endID[:5])
202203
if err := netlink.LinkAdd(local); err != nil {
203204
Log.Error(err)
204-
errorResponse(w, "could not create veth pair")
205+
errorResponsef(w, "could not create veth pair")
205206
return
206207
}
207208
link, _ := netlink.LinkByName(local.PeerName)
@@ -272,14 +273,30 @@ func (driver *driver) joinEndpoint(w http.ResponseWriter, r *http.Request) {
272273
mac := link.Attrs().HardwareAddr.String()
273274
Log.Infof("mac address: %s\n", mac)
274275

275-
// ifc_ctl interface up {Interface Name, Container ID, Domain ID, Bridge ID, MAC address, SE name}
276-
if err := ifc_ctl.PgIfUp(if_local_name, "cont_"+endID[:8], domainid, bridgeID, mac, "gateway"); err != nil {
277-
Log.Error(err)
278-
errorResponse(w, "Unable to on-board container onto PLUMgrid")
276+
//first command {adding port on plumgrid}
277+
cmdStr := "sudo /opt/pg/bin/ifc_ctl gateway add_port " + if_local_name
278+
Log.Infof("addport cmd: %s", cmdStr)
279+
cmd := exec.Command("/bin/sh", "-c", cmdStr)
280+
var addport bytes.Buffer
281+
cmd.Stdout = &addport
282+
if err := cmd.Run(); err != nil {
283+
Log.Error("Error thrown: ", err)
284+
}
285+
Log.Infof("output: %+v\n", addport.String())
286+
287+
//second command {up the port on plumgrid}
288+
cmdStr = "sudo /opt/pg/bin/ifc_ctl gateway ifup " + if_local_name + " access_container cont_" + endID[:8] + " " + mac + " pgtag2=" + bridgeID + " pgtag1=" + domainid
289+
Log.Infof("ifup cmd: %s", cmdStr)
290+
cmd = exec.Command("/bin/sh", "-c", cmdStr)
291+
var ifup bytes.Buffer
292+
cmd.Stdout = &ifup
293+
if err := cmd.Run(); err != nil {
294+
Log.Error("Error thrown: ", err)
279295
}
296+
Log.Infof("output: %+v\n", ifup.String())
280297

281298
if netlink.LinkSetUp(local) != nil {
282-
errorResponse(w, `unable to bring veth up`)
299+
errorResponsef(w, `unable to bring veth up`)
283300
return
284301
}
285302

@@ -312,11 +329,27 @@ func (driver *driver) leaveEndpoint(w http.ResponseWriter, r *http.Request) {
312329

313330
if_local_name := "tap" + l.EndpointID[:5]
314331

315-
// ifc_ctl interface down {Interface name, SE name}
316-
if err := ifc_ctl.PgIfDown(if_local_name, "gateway"); err != nil {
317-
Log.Error(err)
318-
errorResponse(w, "Unable to off-board container from PLUMgrid")
332+
//first command {adding port on plumgrid}
333+
cmdStr := "sudo /opt/pg/bin/ifc_ctl gateway ifdown " + if_local_name
334+
Log.Infof("ifdown cmd: %s", cmdStr)
335+
cmd := exec.Command("/bin/sh", "-c", cmdStr)
336+
var ifdown bytes.Buffer
337+
cmd.Stdout = &ifdown
338+
if err := cmd.Run(); err != nil {
339+
Log.Error("Error thrown: ", err)
340+
}
341+
Log.Infof("output: %+v\n", ifdown.String())
342+
343+
//second command {up the port on plumgrid}
344+
cmdStr = "sudo /opt/pg/bin/ifc_ctl gateway del_port " + if_local_name
345+
Log.Infof("delport cmd: %s", cmdStr)
346+
cmd = exec.Command("/bin/sh", "-c", cmdStr)
347+
var delport bytes.Buffer
348+
cmd.Stdout = &delport
349+
if err := cmd.Run(); err != nil {
350+
Log.Error("Error thrown: ", err)
319351
}
352+
Log.Infof("output: %+v\n", delport.String())
320353

321354
RemoveMetaconfig(domainid, bridgeID, l.EndpointID)
322355

plugin/driver/utils.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ func sendError(w http.ResponseWriter, msg string, code int) {
3636
http.Error(w, msg, code)
3737
}
3838

39-
func errorResponse(w http.ResponseWriter, fmtString string, item ...interface{}) {
39+
func errorResponsef(w http.ResponseWriter, fmtString string, item ...interface{}) {
4040
json.NewEncoder(w).Encode(map[string]string{
4141
"Err": fmt.Sprintf(fmtString, item...),
4242
})

0 commit comments

Comments
 (0)