X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/8c4fb97b1d34b5f8fc50d239698a08c35a63dac3..2a3a0f7b34e43e436151517c7c262f43af674cbf:/lib/cloud/azure/azure_test.go diff --git a/lib/cloud/azure/azure_test.go b/lib/cloud/azure/azure_test.go index 72832578df..152b7e73b7 100644 --- a/lib/cloud/azure/azure_test.go +++ b/lib/cloud/azure/azure_test.go @@ -39,10 +39,12 @@ import ( "net" "net/http" "os" + "strings" "testing" "time" "git.curoverse.com/arvados.git/lib/cloud" + "git.curoverse.com/arvados.git/lib/dispatchcloud/test" "git.curoverse.com/arvados.git/sdk/go/arvados" "git.curoverse.com/arvados.git/sdk/go/config" "github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2018-06-01/compute" @@ -65,9 +67,9 @@ type AzureInstanceSetSuite struct{} var _ = check.Suite(&AzureInstanceSetSuite{}) -type VirtualMachinesClientStub struct{} +const testNamePrefix = "compute-test123-" -var testKey = []byte(`ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLQS1ExT2+WjA0d/hntEAyAtgeN1W2ik2QX8c2zO6HjlPHWXL92r07W0WMuDib40Pcevpi1BXeBWXA9ZB5KKMJB+ukaAu22KklnQuUmNvk6ZXnPKSkGxuCYvPQb08WhHf3p1VxiKfP3iauedBDM4x9/bkJohlBBQiFXzNUcQ+a6rKiMzmJN2gbL8ncyUzc+XQ5q4JndTwTGtOlzDiGOc9O4z5Dd76wtAVJneOuuNpwfFRVHThpJM6VThpCZOnl8APaceWXKeuwOuCae3COZMz++xQfxOfZ9Z8aIwo+TlQhsRaNfZ4Vjrop6ej8dtfZtgUFKfbXEOYaHrGrWGotFDTD example@example`) +type VirtualMachinesClientStub struct{} func (*VirtualMachinesClientStub) createOrUpdate(ctx context.Context, resourceGroupName string, @@ -142,7 +144,7 @@ func GetInstanceSet() (cloud.InstanceSet, cloud.ImageID, arvados.Cluster, error) return nil, cloud.ImageID(""), cluster, err } - ap, err := newAzureInstanceSet(exampleCfg.DriverParameters, "test123", logrus.StandardLogger()) + ap, err := newAzureInstanceSet(exampleCfg.DriverParameters, "test123", nil, logrus.StandardLogger()) return ap, cloud.ImageID(exampleCfg.ImageIDForTestSuite), cluster, err } ap := azureInstanceSet{ @@ -150,7 +152,7 @@ func GetInstanceSet() (cloud.InstanceSet, cloud.ImageID, arvados.Cluster, error) BlobContainer: "vhds", }, dispatcherID: "test123", - namePrefix: "compute-test123-", + namePrefix: testNamePrefix, logger: logrus.StandardLogger(), deleteNIC: make(chan string), deleteBlob: make(chan storage.Blob), @@ -168,7 +170,7 @@ func (*AzureInstanceSetSuite) TestCreate(c *check.C) { c.Fatal("Error making provider", err) } - pk, _, _, _, err := ssh.ParseAuthorizedKey(testKey) + pk, _ := test.LoadTestKey(c, "../../dispatchcloud/test/sshkey_dispatch") c.Assert(err, check.IsNil) inst, err := ap.Create(cluster.InstanceTypes["tiny"], @@ -229,7 +231,7 @@ func (*AzureInstanceSetSuite) TestDestroyInstances(c *check.C) { l, err := ap.Instances(nil) c.Assert(err, check.IsNil) - for _, i := range l { + for _, i := range filterInstances(c, l) { c.Check(i.Destroy(), check.IsNil) } } @@ -288,17 +290,20 @@ func (*AzureInstanceSetSuite) TestSetTags(c *check.C) { if err != nil { c.Fatal("Error making provider", err) } + l, err := ap.Instances(nil) c.Assert(err, check.IsNil) - + l = filterInstances(c, l) if len(l) > 0 { err = l[0].SetTags(map[string]string{"foo": "bar"}) if err != nil { c.Fatal("Error setting tags", err) } } + l, err = ap.Instances(nil) c.Assert(err, check.IsNil) + l = filterInstances(c, l) if len(l) > 0 { tg := l[0].Tags() @@ -313,6 +318,7 @@ func (*AzureInstanceSetSuite) TestSSH(c *check.C) { } l, err := ap.Instances(nil) c.Assert(err, check.IsNil) + l = filterInstances(c, l) if len(l) > 0 { sshclient, err := SetupSSHClient(c, l[0]) @@ -373,3 +379,15 @@ func SetupSSHClient(c *check.C, inst cloud.Instance) (*ssh.Client, error) { return client, nil } + +func filterInstances(c *check.C, instances []cloud.Instance) []cloud.Instance { + var r []cloud.Instance + for _, i := range instances { + if !strings.HasPrefix(i.String(), testNamePrefix) { + c.Logf("ignoring instance %s", i) + continue + } + r = append(r, i) + } + return r +}