protected CloudPool CreatePool() { CloudPool currentPool = this.FindPoolIfExists(); // gotta create a new pool if (currentPool == null) { List <NodeAgentSku> nodeAgentSkus = this.client.PoolOperations.ListNodeAgentSkus().ToList(); Func <ImageReference, bool> ubuntuImageScanner = imageRef => imageRef.Publisher == "Canonical" && imageRef.Offer == "UbuntuServer" && imageRef.Sku.Contains("14.04"); NodeAgentSku ubuntuSku = nodeAgentSkus.First(sku => sku.VerifiedImageReferences.FirstOrDefault(ubuntuImageScanner) != null); ImageReference imageReference = ubuntuSku.VerifiedImageReferences.First(ubuntuImageScanner); VirtualMachineConfiguration virtualMachineConfiguration = new VirtualMachineConfiguration( imageReference: imageReference, nodeAgentSkuId: ubuntuSku.Id); currentPool = this.client.PoolOperations.CreatePool( poolId: this.PoolId, virtualMachineSize: VMSize, virtualMachineConfiguration: virtualMachineConfiguration, targetDedicated: 1); currentPool.Commit(); } return(WaitForPoolAllocation(this.client, this.PoolId)); }
private async Task<SkuAndImage> GetNodeAgentSkuReferenceAsync(Func<ImageReference, bool> scanFunc) { List<NodeAgentSku> nodeAgentSkus = await _batchClient.PoolOperations.ListNodeAgentSkus().ToListAsync(); NodeAgentSku nodeAgentSku = nodeAgentSkus.First(sku => sku.VerifiedImageReferences.FirstOrDefault(scanFunc) != null); ImageReference imageReference = nodeAgentSku.VerifiedImageReferences.First(scanFunc); return new SkuAndImage(nodeAgentSku, imageReference); }
public static IaasPoolProvisioningDetails GetUbuntuImageDetails(BatchClient client) { List <NodeAgentSku> nodeAgentSkus = client.PoolOperations.ListNodeAgentSkus().ToList(); Func <ImageReference, bool> ubuntuImageScanner = imageRef => imageRef.Publisher == "Canonical" && imageRef.Offer == "UbuntuServer" && imageRef.Sku.Contains("14.04"); NodeAgentSku ubuntuSku = nodeAgentSkus.First(sku => sku.VerifiedImageReferences.FirstOrDefault(ubuntuImageScanner) != null); ImageReference imageReference = ubuntuSku.VerifiedImageReferences.First(ubuntuImageScanner); return(new IaasPoolProvisioningDetails(imageReference, ubuntuSku)); }
public IaasPoolProvisioningDetails(ImageReference imageReference, NodeAgentSku nodeAgentSku) { this.ImageReference = imageReference; this.NodeAgentSku = nodeAgentSku; }
public SkuAndImage(NodeAgentSku sku, ImageReference image) { this.Sku = sku; this.Image = image; }