Merge pull request #16676 from jbeda/e2e-fixes

Auto commit by PR queue bot
This commit is contained in:
k8s-merge-robot 2015-11-09 20:05:12 -08:00
commit a0ef44b712
2 changed files with 37 additions and 7 deletions

View File

@ -211,10 +211,9 @@ var _ = Describe("Kubectl client", func() {
// Build the static kubectl
By("Finding a static kubectl for upload")
testStaticKubectlPath := path.Join(testContext.RepoRoot, "platforms/linux/386/kubectl")
_, err = os.Stat(testStaticKubectlPath)
testStaticKubectlPath, err := findBinary("kubectl", "linux/386")
if err != nil {
Logf("No kubectl in %s. Attempting a local build...", testStaticKubectlPath)
Logf("No kubectl found: %v.\nAttempting a local build...", err)
// Fall back to trying to build a local static kubectl
kubectlContainerPath := path.Join(testContext.RepoRoot, "/examples/kubectl-container/")
if _, err := os.Stat(path.Join(testContext.RepoRoot, "hack/build-go.sh")); err != nil {
@ -1201,3 +1200,34 @@ func streamingUpload(file *os.File, fileName string, postBodyWriter *multipart.W
Failf("Unable to close the writer for file upload. Error: %s", err)
}
}
var binPrefixes = []string{
"_output/dockerized/bin",
"_output/local/bin",
"platforms",
}
// findBinary searches through likely paths to find the specified binary. It
// takes the one that has been built most recently. Platform should be
// specified as '<os>/<arch>'. For example: 'linux/amd64'.
func findBinary(binName string, platform string) (string, error) {
var binTime time.Time
var binPath string
for _, pre := range binPrefixes {
tryPath := path.Join(testContext.RepoRoot, pre, platform, binName)
fi, err := os.Stat(tryPath)
if err != nil {
continue
}
if fi.ModTime().After(binTime) {
binPath = tryPath
binTime = fi.ModTime()
}
}
if len(binPath) > 0 {
return binPath, nil
}
return binPath, fmt.Errorf("Could not find %v for %v", binName, platform)
}

View File

@ -88,7 +88,7 @@ func (h *haproxyControllerTester) start(namespace string) (err error) {
// Create a replication controller with the given configuration.
rc := rcFromManifest(h.cfg)
rc.Namespace = namespace
rc.Spec.Template.Labels["rcName"] = rc.Name
rc.Spec.Template.Labels["name"] = rc.Name
// Add the --namespace arg.
// TODO: Remove this when we have proper namespace support.
@ -102,7 +102,7 @@ func (h *haproxyControllerTester) start(namespace string) (err error) {
if err != nil {
return
}
if err = waitForRCPodsRunning(h.client, namespace, h.rcName); err != nil {
if err = waitForRCPodsRunning(h.client, namespace, rc.Name); err != nil {
return
}
h.rcName = rc.Name
@ -110,7 +110,7 @@ func (h *haproxyControllerTester) start(namespace string) (err error) {
// Find the pods of the rc we just created.
labelSelector := labels.SelectorFromSet(
labels.Set(map[string]string{"rcName": h.rcName}))
labels.Set(map[string]string{"name": h.rcName}))
pods, err := h.client.Pods(h.rcNamespace).List(
labelSelector, fields.Everything())
if err != nil {
@ -164,7 +164,7 @@ func (s *ingManager) start(namespace string) (err error) {
for _, rcPath := range s.rcCfgPaths {
rc := rcFromManifest(rcPath)
rc.Namespace = namespace
rc.Spec.Template.Labels["rcName"] = rc.Name
rc.Spec.Template.Labels["name"] = rc.Name
rc, err = s.client.ReplicationControllers(rc.Namespace).Create(rc)
if err != nil {
return