added tracker to cli abd into add and remove container on the client side
This commit is contained in:
@@ -116,6 +116,20 @@ func RemoveTrackedContainer(id string) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// ViewTrackedContainers View Containers currently tracked
|
||||
func ViewTrackedContainers() (error,*TrackContainers) {
|
||||
config,err := config.ConfigInit()
|
||||
if err != nil {
|
||||
return err,nil
|
||||
}
|
||||
trackedContianers, err := ReadTrackContainers(config.TrackContainersPath)
|
||||
if err != nil {
|
||||
return err,nil
|
||||
}
|
||||
|
||||
return nil,trackedContianers
|
||||
}
|
||||
|
||||
// ReadTrackContainers Reads containers which are currently tracked
|
||||
func ReadTrackContainers(filename string) (*TrackContainers, error) {
|
||||
buf, err := ioutil.ReadFile(filename)
|
||||
|
||||
@@ -51,6 +51,12 @@ func StartContainer(IP string, NumPorts int, GPU bool, ContainerName string) (*d
|
||||
return nil,err
|
||||
}
|
||||
|
||||
// Adds the container to the tracked list
|
||||
err = AddTrackContainer(&dockerResult, IP)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &dockerResult, nil
|
||||
}
|
||||
|
||||
@@ -77,6 +83,13 @@ func RemoveContianer(IP string,ID string) error {
|
||||
if string(byteValue[:]) == "success" {
|
||||
fmt.Println("success")
|
||||
}
|
||||
|
||||
// Remove container created from the tracked list
|
||||
err = RemoveTrackedContainer(ID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@@ -135,6 +135,16 @@ var CliAction = func(ctx *cli.Context) error {
|
||||
client.PrettyPrint(plugins)
|
||||
}
|
||||
|
||||
// If the flag Tracked Container is called or the flag
|
||||
// --tc
|
||||
if TrackedContainers {
|
||||
err, trackedContainers := client.ViewTrackedContainers()
|
||||
if err != nil {
|
||||
fmt.Print(err)
|
||||
}
|
||||
client.PrettyPrint(trackedContainers)
|
||||
}
|
||||
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ var (
|
||||
SetDefaultConfig bool
|
||||
NetworkInterface bool
|
||||
ViewPlugin bool
|
||||
TrackedContainers bool
|
||||
)
|
||||
|
||||
var AppConfigFlags = []cli.Flag{
|
||||
@@ -130,4 +131,12 @@ var AppConfigFlags = []cli.Flag{
|
||||
EnvVars: []string{"VIEW_PLUGIN"},
|
||||
Destination: &ViewPlugin,
|
||||
},
|
||||
&cli.BoolFlag{
|
||||
Name: "TrackedContainers",
|
||||
Aliases: []string{"tc"},
|
||||
Usage: "View containers which have " +
|
||||
"been created from the client side ",
|
||||
EnvVars: []string{"TRACKED_CONTAINERS"},
|
||||
Destination: &TrackedContainers,
|
||||
},
|
||||
}
|
||||
Reference in New Issue
Block a user