diff --git a/client/container.go b/client/container.go index 2d17fa2..b4a97dc 100644 --- a/client/container.go +++ b/client/container.go @@ -9,7 +9,7 @@ import ( ) const ( - serverPort = "8089" + serverPort = "8088" ) @@ -18,12 +18,16 @@ var client = http.Client{} // Start container using REST api Implementation // From the selected server IP address -func StartContainer(Ip string) (*docker.DockerVM ,error) { - URL := "http://" + Ip + ":8088/startcontainer" +// TODO: Test cases for this function +func StartContainer(Ip string,Num_ports int) (*docker.DockerVM ,error) { + URL := "http://" + Ip + ":" + serverPort + "/startcontainer?ports=" + fmt.Sprint(Num_ports) resp, err := http.Get(URL) // Convert response to byte value - byteValue, _ := ioutil.ReadAll(resp.Body) + byteValue, err := ioutil.ReadAll(resp.Body) + if err != nil { + return nil,err + } // Create variable for result response type var dockerResult docker.DockerVM @@ -45,7 +49,7 @@ func PrintStartContainer(d *docker.DockerVM){ fmt.Println("SSH password: " + fmt.Sprint(d.SSHPassword)) fmt.Println("VNC port: " + fmt.Sprint(d.VNCPort)) fmt.Println("VNC password: " + fmt.Sprint(d.VNCPassword)) - fmt.Println("Ports Open") + fmt.Println("Ports Open (All TCP ports):") for i := range d.Ports { fmt.Println(d.Ports[i]) } diff --git a/cmd/action.go b/cmd/action.go index b54dcfb..2c2abeb 100644 --- a/cmd/action.go +++ b/cmd/action.go @@ -28,7 +28,16 @@ var CliAction = func(ctx *cli.Context) error { //Call function to create Docker container if IpAddress != "" { - imageRes, err := client.StartContainer(IpAddress) + + var PortsInt int + PortsInt = 0 + + if Ports != "" { + // Convert Get Request value to int + fmt.Sscanf(Ports, "%d", &PortsInt) + } + + imageRes, err := client.StartContainer(IpAddress,PortsInt) if err != nil { fmt.Print(err) diff --git a/cmd/flags.go b/cmd/flags.go index d300c37..a9af00a 100644 --- a/cmd/flags.go +++ b/cmd/flags.go @@ -4,8 +4,12 @@ import ( "github.com/urfave/cli/v2" ) -var Mode,IpAddress string -var ListServers, Ip_table, Abspath bool +var ( + IpAddress string + Ports string + Mode string +) +var ListServers bool var AppConfigFlags = []cli.Flag{ // Deprecated to be implemented using GRPC @@ -28,10 +32,10 @@ var AppConfigFlags = []cli.Flag{ EnvVars: []string{"CREATE_VM"}, Destination: &IpAddress, }, - &cli.BoolFlag{ - Name: "FilePath", - Usage: "Testing for absolute path", - Destination: &Abspath, + &cli.StringFlag{ + Name: "Ports", + Usage: "Number of ports to open for the Docker Container", + EnvVars: []string{"NUM_PORTS"}, + Destination: &Ports, }, - } \ No newline at end of file diff --git a/p2p-rendering-computation b/p2p-rendering-computation deleted file mode 100755 index 8303847..0000000 Binary files a/p2p-rendering-computation and /dev/null differ diff --git a/p2p/speedtest.go b/p2p/speedtest.go index 2e5403e..0a282b6 100644 --- a/p2p/speedtest.go +++ b/p2p/speedtest.go @@ -60,8 +60,6 @@ func (ip *IpAddresses)SpeedTestUpdatedIPTable() error{ continue } - fmt.Print("lol") - ip.IpAddress = append(ip.IpAddress, targets.IpAddress[i]) } diff --git a/server/docker/docker.go b/server/docker/docker.go index 3a1de72..d2df2e2 100644 --- a/server/docker/docker.go +++ b/server/docker/docker.go @@ -187,6 +187,9 @@ func (d *DockerVM)runContainer(dockerClient *client.Client) error{ res, err := dockerClient.ContainerCreate(ctx,config,hostConfig, nil,nil,"") + // Set response ID + d.ID = res.ID + if err != nil { return err } @@ -200,6 +203,8 @@ func (d *DockerVM)runContainer(dockerClient *client.Client) error{ return nil } +// TODO: Implement and remove docker instance running + func print(rd io.Reader) error { var lastLine string