private async Task <string> SetupHost(AzureHost host)
        {
            Guard.Against.Null(host, nameof(host));

            //Flag for Application Layer
            host.ResourceCreationStarted = true;
            await _azureHostRepo.UpdateAsync(host);

            await DeleteResourcesByResourceName(host.DockerHost.StackResourceName, host.Credentials.Id);

            var ipAddress = await CreateVMWithDocker(host.Id);

            host.IPAddress         = ipAddress;
            host.ResourceCreatedAt = DateTimeOffset.Now;
            host.ResourcedCreated  = true;
            await _azureHostRepo.UpdateAsync(host);

            return(ipAddress);
        }
        private async Task <DockerHost> CreateAzureHost(CreateOptimizedExperimentCommand request, Guid templateId)
        {
            var template = await _azureVMRepo.GetByIdAsync(templateId);

            var dockerHost = new DockerHost
            {
                Name          = request.Name,
                Location      = "Ireland",
                CloudProvider = Enums.CloudProvider.Azure,
                HostName      = "localhost",
                vCPU          = template.vCPUs,
                Memory        = template.Memory,
                PortNumber    = 2376,
                Storage       = template.DiskSize
            };

            var azureRegion = Region.Values.Where(c => c.Name.ToLower() == "westeurope".ToLower()).FirstOrDefault();

            var creds = _azureCredsRepo.GetAll().FirstOrDefault();

            var azureHost = new AzureHost
            {
                DockerHost  = dockerHost,
                AzureRegion = azureRegion.ToString(),
                DestroyResourcesAfterBenchmark = true,
                Credentials = creds,
                IPAddress   = "127.0.0.1",
                Template    = template,
                Name        = "AzureHost" + request.Name.Replace(" ", "", StringComparison.CurrentCulture) + DateTime.Now.Ticks
            };

            dockerHost.AzureHost = azureHost;

            await _dockerHostRepo.AddAsync(dockerHost);

            return(dockerHost);
        }
Exemple #3
0
        public AzureBlobServiceStub(AzureBlobServiceStubSettings settings, IEnumerable <BlobFileStub> stubs) : base(settings)
        {
            _host = new AzureHost();

            _stubs = stubs;
        }