Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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;
 }
Esempio n. 5
0
 public SkuAndImage(NodeAgentSku sku, ImageReference image)
 {
     this.Sku   = sku;
     this.Image = image;
 }