jiri-test/internal/test: Remove create-instance-test

Change-Id: I0eebd2833949f406a62623b4f438525680cf512d
diff --git a/jiri-test/internal/test/create_instance.go b/jiri-test/internal/test/create_instance.go
deleted file mode 100644
index 6a7ee36..0000000
--- a/jiri-test/internal/test/create_instance.go
+++ /dev/null
@@ -1,200 +0,0 @@
-// Copyright 2015 The Vanadium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package test
-
-import (
-	"bytes"
-	"encoding/json"
-	"fmt"
-	"os"
-	"os/signal"
-	"syscall"
-	"time"
-
-	"v.io/jiri"
-	"v.io/jiri/collect"
-	"v.io/jiri/runutil"
-	"v.io/x/devtools/internal/test"
-)
-
-const (
-	scriptEnvVar       = "CREATE_INSTANCE_SCRIPT"
-	projectEnvVar      = "CREATE_INSTANCE_PROJECT_ID"
-	testInstancePrefix = "create-instance-test"
-	testInstanceZone   = "us-central1-c"
-)
-
-var (
-	defaultCreateInstanceTimeout = time.Minute * 10
-	defaultCheckInstanceTimeout  = time.Minute * 5
-	testInstanceProject          = os.Getenv(projectEnvVar)
-)
-
-type instance struct {
-	Name              string
-	Zone              string
-	NetworkInterfaces []struct {
-		AccessConfigs []struct {
-			NatIP string
-		}
-	}
-}
-
-// vanadiumCreateInstanceTest creates a test instance using the
-// create_instance.sh script (specified in the CREATE_INSTANCE_SCRIPT
-// environment variable) and run prod service test and load test againest it.
-func vanadiumCreateInstanceTest(jirix *jiri.X, testName string, opts ...Opt) (_ *test.Result, e error) {
-	if testInstanceProject == "" {
-		return nil, newInternalError(fmt.Errorf("project not defined in %s environment variable", projectEnvVar), "Env")
-	}
-
-	// Check CREATE_INSTANCE_SCRIPT environment variable.
-	script := os.Getenv(scriptEnvVar)
-	if script == "" {
-		return nil, newInternalError(fmt.Errorf("script not defined in %s environment variable", scriptEnvVar), "Env")
-	}
-
-	cleanup, err := initTest(jirix, testName, []string{"v23:base"})
-	if err != nil {
-		return nil, newInternalError(err, "Init")
-	}
-	defer collect.Error(func() error { return cleanup() }, &e)
-
-	// Clean up test instances possibly left by previous test runs.
-	if err := cleanupTestInstances(jirix); err != nil {
-		return nil, newInternalError(err, "Delete old test instances")
-	}
-
-	// Run script.
-	printBanner(jirix, fmt.Sprintf("Running instance creation script: %s", script))
-	instanceName := fmt.Sprintf("%s-%s", testInstancePrefix, time.Now().Format("20060102150405"))
-	defer collect.Error(func() error {
-		// TODO(caprita): Commenting this out so we can debug failures.
-		// return cleanupTestInstances(jirix)
-		return nil
-	}, &e)
-	go func() {
-		sigchan := make(chan os.Signal, 1)
-		signal.Notify(sigchan, syscall.SIGINT, syscall.SIGTERM, syscall.SIGQUIT)
-		<-sigchan
-		if err := cleanupTestInstances(jirix); err != nil {
-			fmt.Fprintf(os.Stderr, "%v\n", err)
-		}
-		os.Exit(0)
-	}()
-	if err := runScript(jirix, script, instanceName); err != nil {
-		if runutil.IsTimeout(err) {
-			return &test.Result{
-				Status:       test.TimedOut,
-				TimeoutValue: defaultCreateInstanceTimeout,
-			}, nil
-		}
-		return nil, newInternalError(err, err.Error())
-	}
-
-	// Check the test instance.
-	printBanner(jirix, "Checking test instance")
-	if err := checkTestInstance(jirix, instanceName); err != nil {
-		if runutil.IsTimeout(err) {
-			return &test.Result{
-				Status:       test.TimedOut,
-				TimeoutValue: defaultCheckInstanceTimeout,
-			}, nil
-		}
-		return nil, newInternalError(err, err.Error())
-	}
-
-	return &test.Result{Status: test.Passed}, nil
-}
-
-func cleanupTestInstances(jirix *jiri.X) error {
-	printBanner(jirix, "Cleaning up test instances")
-
-	// List all test instances.
-	instances, err := listInstances(jirix, testInstancePrefix+".*")
-	if err != nil {
-		return err
-	}
-
-	// Delete them.
-	for _, instance := range instances {
-		if err := deleteInstance(jirix, instance.Name, instance.Zone); err != nil {
-			fmt.Fprintf(jirix.Stderr(), "%v", err)
-		}
-	}
-	return nil
-}
-
-func listInstances(jirix *jiri.X, instanceRegEx string) ([]instance, error) {
-	var out bytes.Buffer
-	args := []string{
-		"-q",
-		"compute",
-		"instances",
-		"list",
-		"--project",
-		testInstanceProject,
-		fmt.Sprintf("--regexp=%s", instanceRegEx),
-		"--format=json",
-	}
-	if err := jirix.NewSeq().Capture(&out, nil).Last("gcloud", args...); err != nil {
-		return nil, err
-	}
-	instances := []instance{}
-	if err := json.Unmarshal(out.Bytes(), &instances); err != nil {
-		return nil, fmt.Errorf("Unmarshal() failed: %v", err)
-	}
-	return instances, nil
-}
-
-func deleteInstance(jirix *jiri.X, instanceName, instanceZone string) error {
-	args := []string{
-		"-q",
-		"compute",
-		"instances",
-		"delete",
-		"--project",
-		testInstanceProject,
-		"--zone",
-		instanceZone,
-		instanceName,
-	}
-	if err := jirix.NewSeq().Last("gcloud", args...); err != nil {
-		return err
-	}
-	return nil
-}
-
-func runScript(jirix *jiri.X, script, instanceName string) error {
-	s := jirix.NewSeq()
-	// Build all binaries.
-	args := []string{"go", "install", "v.io/..."}
-	return s.Capture(jirix.Stdout(), jirix.Stderr()).Run("jiri", args...).
-		Timeout(defaultCreateInstanceTimeout).Last(script, instanceName)
-}
-
-func checkTestInstance(jirix *jiri.X, instanceName string) error {
-	instances, err := listInstances(jirix, instanceName)
-	if err != nil {
-		return err
-	}
-	if len(instances) == 0 {
-		return fmt.Errorf("no matching instance for %q", instanceName)
-	}
-	externalIP := instances[0].NetworkInterfaces[0].AccessConfigs[0].NatIP
-	suites := testAllProdServices(jirix, "", fmt.Sprintf("/%s:8101", externalIP))
-	allPassed := true
-	for _, suite := range suites {
-		allPassed = allPassed && (suite.Failures == 0)
-	}
-	if !allPassed {
-		return fmt.Errorf("some checks failed")
-	}
-	return nil
-}
-
-func printBanner(jirix *jiri.X, msg string) {
-	fmt.Fprintf(jirix.Stdout(), "##### %s #####\n", msg)
-}
diff --git a/jiri-test/internal/test/run.go b/jiri-test/internal/test/run.go
index a5ab895..d3f8288 100644
--- a/jiri-test/internal/test/run.go
+++ b/jiri-test/internal/test/run.go
@@ -88,7 +88,6 @@
 	"vanadium-chat-web-test":                  vanadiumChatWebTest,
 	"vanadium-chat-web-ui-test":               vanadiumChatWebUITest,
 	"vanadium-copyright":                      vanadiumCopyright,
-	"vanadium-create-instance-test":           vanadiumCreateInstanceTest,
 	"vanadium-croupier-unit":                  vanadiumCroupierTestUnit,
 	"vanadium-croupier-unit-go":               vanadiumCroupierTestUnitGo,
 	"vanadium-github-mirror":                  vanadiumGitHubMirror,