Skip to content

Commit

Permalink
overall: always defer close docker client connections
Browse files Browse the repository at this point in the history
  • Loading branch information
iwilltry42 committed Apr 27, 2020
1 parent 05f2fc1 commit 7744c52
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 1 deletion.
3 changes: 3 additions & 0 deletions pkg/runtimes/docker/container.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ func createContainer(dockerNode *NodeInDocker, name string) error {
log.Errorln("Failed to create docker client")
return err
}
defer docker.Close()

// create container
var resp container.ContainerCreateCreatedBody
Expand Down Expand Up @@ -88,6 +89,7 @@ func removeContainer(ID string) error {
log.Errorln("Failed to create docker client")
return err
}
defer docker.Close()

// (1) define remove options
options := types.ContainerRemoveOptions{
Expand Down Expand Up @@ -141,6 +143,7 @@ func getNodeContainer(node *k3d.Node) (*types.Container, error) {
log.Errorln("Failed to create docker client")
return nil, err
}
defer docker.Close()

// (1) list containers which have the default k3d labels attached
filters := filters.NewArgs()
Expand Down
1 change: 1 addition & 0 deletions pkg/runtimes/docker/kubeconfig.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ func (d Docker) GetKubeconfig(node *k3d.Node) (io.ReadCloser, error) {
log.Errorln("Failed to create docker client")
return nil, err
}
defer docker.Close()

container, err := getNodeContainer(node)
if err != nil {
Expand Down
3 changes: 3 additions & 0 deletions pkg/runtimes/docker/network.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ func (d Docker) CreateNetworkIfNotPresent(name string) (string, bool, error) {
log.Errorln("Failed to create docker client")
return "", false, err
}
defer docker.Close()

// (1) configure list filters
args := filters.NewArgs()
Expand Down Expand Up @@ -89,6 +90,7 @@ func (d Docker) DeleteNetwork(ID string) error {
log.Errorln("Failed to create docker client")
return err
}
defer docker.Close()

// (3) delete network
return docker.NetworkRemove(ctx, ID)
Expand All @@ -102,5 +104,6 @@ func GetNetwork(ID string) (types.NetworkResource, error) {
log.Errorln("Failed to create docker client")
return types.NetworkResource{}, err
}
defer docker.Close()
return docker.NetworkInspect(ctx, ID, types.NetworkInspectOptions{})
}
7 changes: 6 additions & 1 deletion pkg/runtimes/docker/node.go
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ func (d Docker) StartNode(node *k3d.Node) error {
if err != nil {
return fmt.Errorf("Failed to create docker client. %+v", err)
}
defer docker.Close()

// get container which represents the node
nodeContainer, err := getNodeContainer(node)
Expand Down Expand Up @@ -123,6 +124,7 @@ func (d Docker) StopNode(node *k3d.Node) error {
if err != nil {
return fmt.Errorf("Failed to create docker client. %+v", err)
}
defer docker.Close()

// get container which represents the node
nodeContainer, err := getNodeContainer(node)
Expand Down Expand Up @@ -151,6 +153,7 @@ func getContainersByLabel(labels map[string]string) ([]types.Container, error) {
if err != nil {
return nil, fmt.Errorf("Failed to create docker client. %+v", err)
}
defer docker.Close()

// (1) list containers which have the default k3d labels attached
filters := filters.NewArgs()
Expand Down Expand Up @@ -205,10 +208,11 @@ func (d Docker) GetNodeLogs(node *k3d.Node) (io.ReadCloser, error) {
log.Errorln("Failed to create docker client")
return nil, err
}
defer docker.Close()

containerInspectResponse, err := docker.ContainerInspect(ctx, container.ID)
if err != nil {
log.Errorln("Failed to inspect container '%s'", container.ID)
log.Errorf("Failed to inspect container '%s'", container.ID)
return nil, err
}

Expand Down Expand Up @@ -243,6 +247,7 @@ func (d Docker) ExecInNode(node *k3d.Node, cmd []string) error {
log.Errorln("Failed to create docker client")
return err
}
defer docker.Close()

// exec
exec, err := docker.ContainerExecCreate(ctx, container.ID, types.ExecConfig{
Expand Down
2 changes: 2 additions & 0 deletions pkg/runtimes/docker/volume.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ func (d Docker) CreateVolume(name string, labels map[string]string) error {
log.Errorln("Failed to create docker client")
return err
}
defer docker.Close()

// (1) create volume
volumeCreateOptions := volume.VolumeCreateBody{
Expand Down Expand Up @@ -70,6 +71,7 @@ func (d Docker) DeleteVolume(name string) error {
log.Errorln("Failed to create docker client")
return err
}
defer docker.Close()

// get volume and delete it
vol, err := docker.VolumeInspect(ctx, name)
Expand Down

0 comments on commit 7744c52

Please sign in to comment.