-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathmain.go
103 lines (87 loc) · 2.85 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
package main
import (
"azuredeployer/deployer"
"fmt"
"flag"
"log"
"os"
"time"
)
/*
const (
AZURE_TENANT_ID = "AZURE_TENANT_ID"
AZURE_CLIENT_ID = "AZURE_CLIENT_ID"
AZURE_CLIENT_SECRET = "AZURE_CLIENT_SECRET"
AZURE_SUBSCRIPTION_ID = "AZURE_SUBSCRIPTION_ID"
AZURE_LOCATION_DEFAULT = "AZURE_LOCATION_DEFAULT"
)
func usage(errs ...error) {
for _, err := range errs {
fmt.Fprintf(os.Stderr, "error: %s\n\n", err.Error())
}
fmt.Fprintf(os.Stderr, "usage: %s [OPTIONS] RESOURCE_GROUP_PREFIX\n", os.Args[0])
fmt.Fprintf(os.Stderr, "\tdelete all resource groups with a prefix\n")
fmt.Fprintf(os.Stderr, "\n")
fmt.Fprintf(os.Stderr, "required environment variables:\n")
fmt.Fprintf(os.Stderr, "\t%s\n", AZURE_TENANT_ID)
fmt.Fprintf(os.Stderr, "\t%s\n", AZURE_CLIENT_ID)
fmt.Fprintf(os.Stderr, "\t%s\n", AZURE_CLIENT_SECRET)
fmt.Fprintf(os.Stderr, "\t%s\n", AZURE_SUBSCRIPTION_ID)
fmt.Fprintf(os.Stderr, "\t%s\n", AZURE_LOCATION_DEFAULT)
fmt.Fprintf(os.Stderr, "\n")
fmt.Fprintf(os.Stderr, "options:\n")
flag.PrintDefaults()
}*/
func usage(errs ...error) {
for _, err := range errs {
fmt.Fprintf(os.Stderr, "error: %s\n\n", err.Error())
}
fmt.Fprintf(os.Stderr, "usage: %s [OPTIONS] ResourceGroupPrefix ResourceGroupCount VMsPerResourceGroup\n", os.Args[0])
fmt.Fprintf(os.Stderr, " deploy the VM")
fmt.Fprintf(os.Stderr, "\n")
fmt.Fprintf(os.Stderr, "options:\n")
flag.PrintDefaults()
}
func main() {
startTime := time.Now()
/*
var resourceGroupPrefix string
var resourceGroupCount int
var vmsPerResourceGroup int
var statisticsPath = flag.String("statistics-path", )
DeploymentRunBasePath = "C:\\project\\deploymentruns\\loosePatformImageCopy"
LooseVMPath = "C:\\scratch\\arm\\boottests\\loosevm"
TemplateName = "azuredeploy.json"
TemplateParametersName = "azuredeploy.parameters.json"
VMExtensionName = "configureagent"
--template-file win10-azuredeploy.json --parameters
*/
// 1000
//resourceGroupCount := 50
//vmsPerResourceGroup := 20
// good ratio for vmas 40x25
//resourceGroupCount := 40
//vmsPerResourceGroup := 25
// vmss
//resourceGroupCount := 2
//vmsPerResourceGroup := 500
// vmss custom
//resourceGroupCount := 4
//vmsPerResourceGroup := 250
//resourceGroupCount := 40
//vmsPerResourceGroup := 25
resourceGroupCount := 1
vmsPerResourceGroup := 10
//deployer.Initialize("YOUR_SUBSCRIPTION_ID", "uniquename", startTime, "westus")
deployer.Initialize("YOUR_SUBSCRIPTION_ID", "uniquename", startTime, "eastus", resourceGroupCount * vmsPerResourceGroup)
log.Printf("starting deployment\n")
log.Printf("\tSubscriptionId: %s\n", deployer.SubscriptionId)
log.Printf("\tResourceGroupPrefix: %s\n", deployer.ResourceGroupNamePrefix)
deploymentRun := deployer.InitializeDeploymentRun(
deployer.LooseVMPath,
resourceGroupCount,
vmsPerResourceGroup,
startTime)
deploymentRun.Run()
log.Printf("deployment complete\n")
}