Merge pull request #31391 from ronnielai/container-gc

Automatic merge from submit-queue

Avoid disk eviction node e2e test using up all the disk space
This commit is contained in:
Kubernetes Submit Queue
2016-08-26 05:25:53 -07:00
committed by GitHub
4 changed files with 78 additions and 46 deletions

View File

@@ -17,7 +17,15 @@ limitations under the License.
package e2e_node
import (
"encoding/json"
"flag"
"io/ioutil"
"net/http"
"strings"
"github.com/golang/glog"
"k8s.io/kubernetes/pkg/kubelet/api/v1alpha1/stats"
)
// TODO(random-liu): Get this automatically from kubelet flag.
@@ -25,3 +33,35 @@ var kubeletAddress = flag.String("kubelet-address", "http://127.0.0.1:10255", "H
var startServices = flag.Bool("start-services", true, "If true, start local node services")
var stopServices = flag.Bool("stop-services", true, "If true, stop local node services after running tests")
func getNodeSummary() (*stats.Summary, error) {
req, err := http.NewRequest("GET", *kubeletAddress+"/stats/summary", nil)
if err != nil {
glog.Warningf("Failed to build http request: %v", err)
return nil, err
}
req.Header.Add("Accept", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
glog.Warningf("Failed to get /stats/summary: %v", err)
return nil, err
}
defer resp.Body.Close()
contentsBytes, err := ioutil.ReadAll(resp.Body)
if err != nil {
glog.Warningf("Failed to read /stats/summary: %+v", resp)
return nil, err
}
decoder := json.NewDecoder(strings.NewReader(string(contentsBytes)))
summary := stats.Summary{}
err = decoder.Decode(&summary)
if err != nil {
glog.Warningf("Failed to parse /stats/summary to go struct: %+v", resp)
return nil, err
}
return &summary, nil
}