14745: Updates config keys, documentation, and addresses golint suggestions
authorEric Biagiotti <ebiagiotti@veritasgenetcs.com>
Mon, 11 Feb 2019 16:07:28 +0000 (11:07 -0500)
committerEric Biagiotti <ebiagiotti@veritasgenetcs.com>
Mon, 11 Feb 2019 16:07:28 +0000 (11:07 -0500)
Arvados-DCO-1.1-Signed-off-by: Eric Biagiotti <eric.biagiotti@gmail.com>

lib/cloud/azure/azure.go
lib/cloud/azure/azure_test.go

index 5bc7ccfd44f16de94575841a5783558f7fa85224..2a63d28f6575145508c5bba21392be4b852346d5 100644 (file)
@@ -32,19 +32,18 @@ import (
 )
 
 type AzureInstanceSetConfig struct {
-       SubscriptionID               string  `mapstructure:"subscription_id"`
-       ClientID                     string  `mapstructure:"key"`
-       ClientSecret                 string  `mapstructure:"secret"`
-       TenantID                     string  `mapstructure:"tenant_id"`
-       CloudEnv                     string  `mapstructure:"cloud_environment"`
-       ResourceGroup                string  `mapstructure:"resource_group"`
-       Location                     string  `mapstructure:"region"`
-       Network                      string  `mapstructure:"network"`
-       Subnet                       string  `mapstructure:"subnet"`
-       StorageAccount               string  `mapstructure:"storage_account"`
-       BlobContainer                string  `mapstructure:"blob_container"`
-       Image                        string  `mapstructure:"image"`
-       DeleteDanglingResourcesAfter float64 `mapstructure:"delete_dangling_resources_after"`
+       SubscriptionID               string  "SubscriptionID"
+       ClientID                     string  "ClientID"
+       ClientSecret                 string  "ClientSecret"
+       TenantID                     string  "TenantID"
+       CloudEnvironment             string  "CloudEnvironment"
+       ResourceGroup                string  "ResourceGroup"
+       Location                     string  "Location"
+       Network                      string  "Network"
+       Subnet                       string  "Subnet"
+       StorageAccount               string  "StorageAccount"
+       BlobContainer                string  "BlobContainer"
+       DeleteDanglingResourcesAfter float64 "DeleteDanglingResourcesAfter"
 }
 
 type VirtualMachinesClientWrapper interface {
@@ -222,7 +221,7 @@ func (az *AzureInstanceSet) setup(azcfg AzureInstanceSetConfig, dispatcherID str
        netClient := network.NewInterfacesClient(az.azconfig.SubscriptionID)
        storageAcctClient := storageacct.NewAccountsClient(az.azconfig.SubscriptionID)
 
-       az.azureEnv, err = azure.EnvironmentFromName(az.azconfig.CloudEnv)
+       az.azureEnv, err = azure.EnvironmentFromName(az.azconfig.CloudEnvironment)
        if err != nil {
                return err
        }
@@ -269,7 +268,7 @@ func (az *AzureInstanceSet) setup(azcfg AzureInstanceSetConfig, dispatcherID str
        az.deleteNIC = make(chan string)
        az.deleteBlob = make(chan storage.Blob)
 
-       for i := 0; i < 4; i += 1 {
+       for i := 0; i < 4; i++ {
                go func() {
                        for {
                                nicname, ok := <-az.deleteNIC
@@ -305,7 +304,7 @@ func (az *AzureInstanceSet) setup(azcfg AzureInstanceSetConfig, dispatcherID str
 
 func (az *AzureInstanceSet) Create(
        instanceType arvados.InstanceType,
-       imageId cloud.ImageID,
+       imageID cloud.ImageID,
        newTags cloud.InstanceTags,
        publicKey ssh.PublicKey) (cloud.Instance, error) {
 
@@ -361,7 +360,7 @@ func (az *AzureInstanceSet) Create(
                return nil, WrapAzureError(err)
        }
 
-       instance_vhd := fmt.Sprintf("https://%s.blob.%s/%s/%s-os.vhd",
+       instanceVhd := fmt.Sprintf("https://%s.blob.%s/%s/%s-os.vhd",
                az.azconfig.StorageAccount,
                az.azureEnv.StorageEndpointSuffix,
                az.azconfig.BlobContainer,
@@ -383,10 +382,10 @@ echo '%s-%s' > /home/crunch/node-token`, name, newTags["node-token"])))
                                        Name:         to.StringPtr(name + "-os"),
                                        CreateOption: compute.FromImage,
                                        Image: &compute.VirtualHardDisk{
-                                               URI: to.StringPtr(string(imageId)),
+                                               URI: to.StringPtr(string(imageID)),
                                        },
                                        Vhd: &compute.VirtualHardDisk{
-                                               URI: &instance_vhd,
+                                               URI: &instanceVhd,
                                        },
                                },
                        },
@@ -488,9 +487,9 @@ func (az *AzureInstanceSet) ManageNics() (map[string]network.Interface, error) {
                                interfaces[*result.Value().ID] = result.Value()
                        } else {
                                if result.Value().Tags["created-at"] != nil {
-                                       created_at, err := time.Parse(time.RFC3339Nano, *result.Value().Tags["created-at"])
+                                       createdAt, err := time.Parse(time.RFC3339Nano, *result.Value().Tags["created-at"])
                                        if err == nil {
-                                               if timestamp.Sub(created_at).Seconds() > az.azconfig.DeleteDanglingResourcesAfter {
+                                               if timestamp.Sub(createdAt).Seconds() > az.azconfig.DeleteDanglingResourcesAfter {
                                                        az.logger.Printf("Will delete %v because it is older than %v s", *result.Value().Name, az.azconfig.DeleteDanglingResourcesAfter)
                                                        az.deleteNIC <- *result.Value().Name
                                                }
index e924aa61063d506f394b29798177dd9dff0ee2ab..dfd9b95e0feceb2d4a218f31ed0ed2b7d79cce98 100644 (file)
@@ -5,24 +5,23 @@
 //
 // How to manually run individual tests against the real cloud
 //
-// $ go test -v git.curoverse.com/arvados.git/lib/cloud -live-azure-cfg azconfig.yml -check.f=TestListInstances
+// $ go test -v git.curoverse.com/arvados.git/lib/cloud/azure -live-azure-cfg azconfig.yml -check.f=TestListInstances
 //
 // Example azconfig.yml:
 //
-// subscription_id: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
-// key: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
-// region: centralus
-// cloud_environment: AzurePublicCloud
-// secret: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-// tenant_id: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
-// resource_group: zzzzz
-// network: zzzzz
-// subnet: zzzzz-subnet-private
-// storage_account: example
-// blob_container: vhds
-// image: "https://example.blob.core.windows.net/system/Microsoft.Compute/Images/images/zzzzz-compute-osDisk.XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.vhd"
-// delete_dangling_resources_after: 20
-// authorized_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLQS1ExT2+WjA0d/hntEAyAtgeN1W2ik2QX8c2zO6HjlPHWXL92r07W0WMuDib40Pcevpi1BXeBWXA9ZB5KKMJB+ukaAu22KklnQuUmNvk6ZXnPKSkGxuCYvPQb08WhHf3p1VxiKfP3iauedBDM4x9/bkJohlBBQiFXzNUcQ+a6rKiMzmJN2gbL8ncyUzc+XQ5q4JndTwTGtOlzDiGOc9O4z5Dd76wtAVJneOuuNpwfFRVHThpJM6VThpCZOnl8APaceWXKeuwOuCae3COZMz++xQfxOfZ9Z8aIwo+TlQhsRaNfZ4Vjrop6ej8dtfZtgUFKfbXEOYaHrGrWGotFDTD example@example"
+// ImageIDForTestSuite: "https://example.blob.core.windows.net/system/Microsoft.Compute/Images/images/zzzzz-compute-osDisk.XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.vhd"
+// SubscriptionID: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
+// ClientID: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
+// Location: centralus
+// CloudEnvironment: AzurePublicCloud
+// ClientSecret: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+// TenantId: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
+// ResourceGroup: zzzzz
+// Network: zzzzz0:10 / 3:26:1
+// Subnet: zzzzz-subnet-private
+// StorageAccount: example
+// BlobContainer: vhds
+// DeleteDanglingResourcesAfter: 20
 
 package azure
 
@@ -64,7 +63,7 @@ var _ = check.Suite(&AzureInstanceSetSuite{})
 
 type VirtualMachinesClientStub struct{}
 
-var testKey []byte = []byte(`ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLQS1ExT2+WjA0d/hntEAyAtgeN1W2ik2QX8c2zO6HjlPHWXL92r07W0WMuDib40Pcevpi1BXeBWXA9ZB5KKMJB+ukaAu22KklnQuUmNvk6ZXnPKSkGxuCYvPQb08WhHf3p1VxiKfP3iauedBDM4x9/bkJohlBBQiFXzNUcQ+a6rKiMzmJN2gbL8ncyUzc+XQ5q4JndTwTGtOlzDiGOc9O4z5Dd76wtAVJneOuuNpwfFRVHThpJM6VThpCZOnl8APaceWXKeuwOuCae3COZMz++xQfxOfZ9Z8aIwo+TlQhsRaNfZ4Vjrop6ej8dtfZtgUFKfbXEOYaHrGrWGotFDTD example@example`)
+var testKey = []byte(`ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLQS1ExT2+WjA0d/hntEAyAtgeN1W2ik2QX8c2zO6HjlPHWXL92r07W0WMuDib40Pcevpi1BXeBWXA9ZB5KKMJB+ukaAu22KklnQuUmNvk6ZXnPKSkGxuCYvPQb08WhHf3p1VxiKfP3iauedBDM4x9/bkJohlBBQiFXzNUcQ+a6rKiMzmJN2gbL8ncyUzc+XQ5q4JndTwTGtOlzDiGOc9O4z5Dd76wtAVJneOuuNpwfFRVHThpJM6VThpCZOnl8APaceWXKeuwOuCae3COZMz++xQfxOfZ9Z8aIwo+TlQhsRaNfZ4Vjrop6ej8dtfZtgUFKfbXEOYaHrGrWGotFDTD example@example`)
 
 func (*VirtualMachinesClientStub) CreateOrUpdate(ctx context.Context,
        resourceGroupName string,
@@ -118,29 +117,28 @@ func GetInstanceSet() (cloud.InstanceSet, cloud.ImageID, arvados.Cluster, error)
                        },
                })}
        if *live != "" {
-               cfg := make(map[string]interface{})
-               err := config.LoadFile(&cfg, *live)
+               exampleCfg := make(map[string]interface{})
+               err := config.LoadFile(&exampleCfg, *live)
                if err != nil {
                        return nil, cloud.ImageID(""), cluster, err
                }
-               ap, err := NewAzureInstanceSet(cfg, "test123", logrus.StandardLogger())
-               return ap, cloud.ImageID(cfg["image"].(string)), cluster, err
-       } else {
-               ap := AzureInstanceSet{
-                       azconfig: AzureInstanceSetConfig{
-                               BlobContainer: "vhds",
-                       },
-                       dispatcherID: "test123",
-                       namePrefix:   "compute-test123-",
-                       logger:       logrus.StandardLogger(),
-                       deleteNIC:    make(chan string),
-                       deleteBlob:   make(chan storage.Blob),
-               }
-               ap.ctx, ap.stopFunc = context.WithCancel(context.Background())
-               ap.vmClient = &VirtualMachinesClientStub{}
-               ap.netClient = &InterfacesClientStub{}
-               return &ap, cloud.ImageID("blob"), cluster, nil
+               ap, err := NewAzureInstanceSet(exampleCfg, "test123", logrus.StandardLogger())
+               return ap, cloud.ImageID(exampleCfg["ImageIDForTestSuite"].(string)), cluster, err
+       }
+       ap := AzureInstanceSet{
+               azconfig: AzureInstanceSetConfig{
+                       BlobContainer: "vhds",
+               },
+               dispatcherID: "test123",
+               namePrefix:   "compute-test123-",
+               logger:       logrus.StandardLogger(),
+               deleteNIC:    make(chan string),
+               deleteBlob:   make(chan storage.Blob),
        }
+       ap.ctx, ap.stopFunc = context.WithCancel(context.Background())
+       ap.vmClient = &VirtualMachinesClientStub{}
+       ap.netClient = &InterfacesClientStub{}
+       return &ap, cloud.ImageID("blob"), cluster, nil
 }
 
 func (*AzureInstanceSetSuite) TestCreate(c *check.C) {