Skip to content

Commit

Permalink
Merge pull request #262 from subutai-io/dev
Browse files Browse the repository at this point in the history
Dev
  • Loading branch information
dilshat authored Jan 12, 2018
2 parents 6080537 + 87f51dd commit 469e42f
Show file tree
Hide file tree
Showing 12 changed files with 41 additions and 27 deletions.
10 changes: 5 additions & 5 deletions agent/agent.go
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ func Start() {
func checkSS() (status bool) {
resp, err := client.Get("https://" + config.Management.Host + ":8443/rest/v1/peer/inited")
if err == nil {
log.Check(log.DebugLevel, "Closing Management server response", resp.Body.Close())
defer utils.Close(resp)
if resp.StatusCode == http.StatusOK {
return true
}
Expand All @@ -131,7 +131,7 @@ func connectionMonitor() {
} else {
resp, err := client.Get("https://" + config.Management.Host + ":8444/rest/v1/agent/check/" + fingerprint)
if err == nil {
defer resp.Body.Close()
defer utils.Close(resp)
}
if err == nil && resp.StatusCode == http.StatusOK {
log.Debug("Connection monitor check - success")
Expand Down Expand Up @@ -184,7 +184,7 @@ func sendHeartbeat() bool {

resp, err := client.PostForm("https://"+config.Management.Host+":8444/rest/v1/agent/heartbeat", url.Values{"heartbeat": {string(message)}})
if !log.Check(log.WarnLevel, "Sending heartbeat: "+string(jbeat), err) {
log.Check(log.DebugLevel, "Closing Management server response: "+resp.Status, resp.Body.Close())
defer utils.Close(resp)

if resp.StatusCode == http.StatusAccepted {
return true
Expand Down Expand Up @@ -264,7 +264,7 @@ func execute(rsp executer.EncRequest) {
func sendResponse(msg []byte) {
resp, err := client.PostForm("https://"+config.Management.Host+":8444/rest/v1/agent/response", url.Values{"response": {string(msg)}})
if !log.Check(log.WarnLevel, "Sending response "+string(msg), err) {
log.Check(log.DebugLevel, "Closing Management server response", resp.Body.Close())
defer utils.Close(resp)
if resp.StatusCode == http.StatusAccepted {
return
}
Expand All @@ -280,7 +280,7 @@ func command() {
resp, err := client.Get("https://" + config.Management.Host + ":8444/rest/v1/agent/requests/" + fingerprint)

if err == nil {
defer resp.Body.Close()
defer utils.Close(resp)
}

if log.Check(log.WarnLevel, "Getting requests", err) {
Expand Down
2 changes: 1 addition & 1 deletion agent/connect/connect.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,6 @@ func Request(user, pass string) {
bytes.NewBuffer(msg))

if !log.Check(log.WarnLevel, "POSTing registration request to SS", err) {
log.Check(log.DebugLevel, "Closing Management server response", resp.Body.Close())
defer utils.Close(resp)
}
}
4 changes: 2 additions & 2 deletions agent/discovery/discovery.go
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ func fingerprint() string {
}
resp, err := client.Get("https://10.10.10.1:8443/rest/v1/security/keyman/getpublickeyfingerprint")
if err == nil {
defer resp.Body.Close()
defer utils.Close(resp)
}

if log.Check(log.WarnLevel, "Getting Management host GPG fingerprint", err) {
Expand Down Expand Up @@ -139,7 +139,7 @@ func getKey() []byte {
resp, err := client.Get("https://" + config.Management.Host + ":" + config.Management.Port + config.Management.RestPublicKey)

if err == nil {
defer resp.Body.Close()
defer utils.Close(resp)
}

if log.Check(log.WarnLevel, "Getting Management host Public Key", err) {
Expand Down
18 changes: 14 additions & 4 deletions agent/utils/utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import (
"github.com/subutai-io/agent/config"
"github.com/subutai-io/agent/log"
"github.com/influxdata/influxdb/client/v2"
"io"
)

var (
Expand All @@ -42,10 +43,11 @@ func InfluxDbClient() (clnt client.Client, err error) {
return
}

func ResetInfluxDbClient(){
influxDbClient.Close()
influxDbClient = nil
InfluxDbClient()
func ResetInfluxDbClient() {
if influxDbClient != nil {
influxDbClient.Close()
influxDbClient = nil
}
}

func createInfluxDbClient() (client.Client, error) {
Expand All @@ -59,8 +61,16 @@ func createInfluxDbClient() (client.Client, error) {
})

}

// <--- InfluxDb

func Close(resp *http.Response) {
if resp.Body != nil {
io.Copy(ioutil.Discard, resp.Body)
resp.Body.Close()
}
}

// PublicCert returns Public SSL certificate for Resource Host
func PublicCert() string {
pemCerts, err := ioutil.ReadFile(config.Agent.DataPrefix + "ssl/cert.pem")
Expand Down
3 changes: 2 additions & 1 deletion cli/export.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import (
"github.com/subutai-io/agent/lib/container"
"github.com/subutai-io/agent/lib/fs"
"github.com/subutai-io/agent/log"
"github.com/subutai-io/agent/agent/utils"
)

var (
Expand Down Expand Up @@ -172,7 +173,7 @@ func upload(path, token string, private bool) ([]byte, error) {
if err != nil {
return nil, err
}
defer resp.Body.Close()
defer utils.Close(resp)

if resp.StatusCode != http.StatusOK {
out, err := ioutil.ReadAll(resp.Body)
Expand Down
2 changes: 1 addition & 1 deletion cli/hostname.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ func LxcHostname(c, name string) {

file, err := os.Open(config.Agent.LxcPrefix + c + "/rootfs/etc/hosts")
log.Check(log.FatalLevel, "Reading /etc/hosts for "+c, err)
defer file.Close()
scanner := bufio.NewScanner(bufio.NewReader(file))

var hosts string
Expand All @@ -34,7 +35,6 @@ func LxcHostname(c, name string) {
hosts = hosts + scanner.Text() + "\n"
}
}
file.Close()
err = ioutil.WriteFile(config.Agent.LxcPrefix+c+"/rootfs/etc/hosts", []byte(hosts), 0644)
log.Check(log.FatalLevel, "Fixing /etc/hosts for "+c, err)

Expand Down
12 changes: 7 additions & 5 deletions cli/import.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import (
"github.com/subutai-io/agent/lib/gpg"
"github.com/subutai-io/agent/lib/template"
"github.com/subutai-io/agent/log"
"github.com/subutai-io/agent/agent/utils"
)

var (
Expand Down Expand Up @@ -64,13 +65,13 @@ func templateID(t *templ, kurjun *http.Client, token string) {

response, err := kurjun.Get(url)
log.Check(log.ErrorLevel, "Retrieving id, get: "+url, err)
defer response.Body.Close()
defer utils.Close(response)

if err == nil && response.StatusCode == 404 && t.name == "management" {
log.Warn("Requested management version not found, getting latest available")
response, err = kurjun.Get(config.CDN.Kurjun + "/template/info?name=" + t.name + "&version=" + config.Template.Branch + "&token=" + token)
if err == nil {
defer response.Body.Close()
defer utils.Close(response)
}
}
if log.Check(log.WarnLevel, "Getting kurjun response", err) || response.StatusCode != 200 {
Expand Down Expand Up @@ -152,7 +153,8 @@ func download(t templ, kurjun *http.Client, token string, torrent bool) bool {
response, err := kurjun.Get(url)
log.Check(log.FatalLevel, "Getting "+url, err)

defer response.Body.Close()
defer utils.Close(response)

bar := pb.New(int(response.ContentLength)).SetUnits(pb.U_BYTES)
if response.ContentLength <= 0 {
bar.NotPrint = true
Expand All @@ -171,7 +173,7 @@ func download(t templ, kurjun *http.Client, token string, torrent bool) bool {
defer out.Close()
response, err = kurjun.Get(url)
log.Check(log.FatalLevel, "Getting "+url, err)
defer response.Body.Close()
defer utils.Close(response)
bar = pb.New(int(response.ContentLength)).SetUnits(pb.U_BYTES)
bar.Start()
rd = bar.NewProxyReader(response.Body)
Expand Down Expand Up @@ -202,7 +204,7 @@ func idToName(id string, kurjun *http.Client, token string) string {
//To omit this issue we should add ID into template config and use this ID as a "primary key" to any request
response, err := kurjun.Get(config.CDN.Kurjun + "/template/info?id=" + id + "&token=" + token)
log.Check(log.ErrorLevel, "Getting kurjun response", err)
defer response.Body.Close()
defer utils.Close(response)

body, err := ioutil.ReadAll(response.Body)

Expand Down
2 changes: 1 addition & 1 deletion cli/info.go
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ func cpuQuotaUsage(h string) int {
func read(path string) (i int) {
f, err := os.Open(path)
log.Check(log.FatalLevel, "Reading "+path, err)

defer f.Close()
scanner := bufio.NewScanner(bufio.NewReader(f))
for scanner.Scan() {
i, err = strconv.Atoi(scanner.Text())
Expand Down
2 changes: 1 addition & 1 deletion cli/migrate.go
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ func transfer(src, dst, path string) {

f, err := os.Open(src)
log.Check(log.ErrorLevel, "Opening backup archive", err)

defer f.Close()
log.Check(log.ErrorLevel, "Copying archive", scp.CopyPath(f.Name(), path, session))
}

Expand Down
2 changes: 1 addition & 1 deletion lib/container/lxc.go
Original file line number Diff line number Diff line change
Expand Up @@ -411,6 +411,7 @@ func SetContainerConf(container string, conf [][]string) error {
if log.Check(log.DebugLevel, "Opening container config "+confPath, err) {
return err
}
defer file.Close()
scanner := bufio.NewScanner(bufio.NewReader(file))
for scanner.Scan() {
newline := scanner.Text() + "\n"
Expand All @@ -426,7 +427,6 @@ func SetContainerConf(container string, conf [][]string) error {
}
newconf = newconf + newline
}
log.Check(log.DebugLevel, "Closing container configuration file", file.Close())

for i := range conf {
if conf[i][1] != "" {
Expand Down
7 changes: 4 additions & 3 deletions lib/gpg/gpg.go
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,8 @@ func getMngKey(c string) {
resp, err := client.Get("https://" + config.Management.Host + ":" + config.Management.Port + config.Management.RestPublicKey)
log.Check(log.FatalLevel, "Getting Management public key", err)

defer resp.Body.Close()
defer utils.Close(resp)

if body, err := ioutil.ReadAll(resp.Body); err == nil {
err = ioutil.WriteFile(config.Agent.LxcPrefix+c+"/mgn.key", body, 0644)
log.Check(log.FatalLevel, "Writing Management public key", err)
Expand Down Expand Up @@ -226,7 +227,7 @@ func sendData(c string) {
log.Check(log.DebugLevel, "Removing "+config.Agent.LxcPrefix+c+"/stdin.txt.asc", os.Remove(config.Agent.LxcPrefix+c+"/stdin.txt.asc"))
log.Check(log.DebugLevel, "Removing "+config.Agent.LxcPrefix+c+"/stdin.txt", os.Remove(config.Agent.LxcPrefix+c+"/stdin.txt"))
log.Check(log.FatalLevel, "Sending registration request to management", err)

defer utils.Close(resp)
if resp.StatusCode != 200 && resp.StatusCode != 202 {
log.Error("Failed to exchange GPG Public Keys. StatusCode: " + resp.Status)
}
Expand Down Expand Up @@ -289,7 +290,7 @@ func KurjunUserPK(owner string) []string {

response, err := kurjun.Get(config.CDN.Kurjun + "/auth/keys?user=" + owner)
log.Check(log.FatalLevel, "Getting owner public key", err)
defer response.Body.Close()
defer utils.Close(response)

key, err := ioutil.ReadAll(response.Body)
log.Check(log.FatalLevel, "Reading key body", err)
Expand Down
4 changes: 2 additions & 2 deletions lib/net/gateway.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,15 @@ func RestoreDefaultConf(contName string) {

openFile, err := os.Open(filePath + file)
log.Check(log.PanicLevel, "Opening "+file+" file", err)
defer openFile.Close()

fileBck, err := os.Create(filePath + file + ".BACKUP")
log.Check(log.PanicLevel, "Creating "+file+" backup file", err)
defer fileBck.Close()

_, err = io.Copy(fileBck, openFile)
log.Check(log.FatalLevel, "Copying "+file+" backup", err)

defer openFile.Close()
defer fileBck.Close()

val := "domain\tintra.lan\nsearch\tintra.lan\nnameserver\t10.10.10.1"
if file == "hosts" {
Expand Down

0 comments on commit 469e42f

Please sign in to comment.