X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/c1a84bf6f6c570cc632a5ba8c6406543e2206e3a..aab9cf1b5d30c5e49152bff09dc1ee18d38973dc:/lib/cloud/azure/azure.go diff --git a/lib/cloud/azure/azure.go b/lib/cloud/azure/azure.go index 100d87c337..494db854ed 100644 --- a/lib/cloud/azure/azure.go +++ b/lib/cloud/azure/azure.go @@ -514,27 +514,29 @@ func (az *azureInstanceSet) Create( AdminUsername: to.StringPtr(az.azconfig.AdminUsername), LinuxConfiguration: &compute.LinuxConfiguration{ DisablePasswordAuthentication: to.BoolPtr(true), - SSH: &compute.SSHConfiguration{ - PublicKeys: &[]compute.SSHPublicKey{ - { - Path: to.StringPtr("/home/" + az.azconfig.AdminUsername + "/.ssh/authorized_keys"), - KeyData: to.StringPtr(string(ssh.MarshalAuthorizedKey(publicKey))), - }, - }, - }, }, CustomData: &customData, }, }, } - var maxPrice float64 + if publicKey != nil { + vmParameters.VirtualMachineProperties.OsProfile.LinuxConfiguration.SSH = &compute.SSHConfiguration{ + PublicKeys: &[]compute.SSHPublicKey{ + { + Path: to.StringPtr("/home/" + az.azconfig.AdminUsername + "/.ssh/authorized_keys"), + KeyData: to.StringPtr(string(ssh.MarshalAuthorizedKey(publicKey))), + }, + }, + } + } + if instanceType.Preemptible { // Setting maxPrice to -1 is the equivalent of paying spot price, up to the // normal price. This means the node will not be pre-empted for price // reasons. It may still be pre-empted for capacity reasons though. And // Azure offers *no* SLA on spot instances. - maxPrice = -1 + var maxPrice float64 = -1 vmParameters.VirtualMachineProperties.Priority = compute.Spot vmParameters.VirtualMachineProperties.EvictionPolicy = compute.Delete vmParameters.VirtualMachineProperties.BillingProfile = &compute.BillingProfile{MaxPrice: &maxPrice} @@ -786,6 +788,10 @@ func (ai *azureInstance) Address() string { } } +func (ai *azureInstance) PriceHistory(arvados.InstanceType) []cloud.InstancePrice { + return nil +} + func (ai *azureInstance) RemoteUser() string { return ai.provider.azconfig.AdminUsername }