private async Task InstallWorkloadsOnScaleUnit() { await EnsureClientInitialized(); await ReliableRun.Execute(async() => { AOSClient hubAosClient = await AOSClient.Construct(Config.HubScaleUnit().ResourceId(), Config.HubScaleUnit().Endpoint()); List <WorkloadInstance> workloadInstances = await new WorkloadInstanceManager(hubAosClient).CreateWorkloadInstances(); foreach (var workloadInstance in workloadInstances) { if (await WorkloadInstanceManager.IsWorkloadInstanceInReadyState(scaleUnitAosClient, workloadInstance)) { continue; } if (!await WorkloadInstanceManager.IsWorkloadInstanceInInstallingState(scaleUnitAosClient, workloadInstance)) { Console.WriteLine($"Installing the {workloadInstance.VersionedWorkload.Workload.Name} workload"); List <WorkloadInstance> workloadInstanceToInstallList = new List <WorkloadInstance>() { workloadInstance }; await scaleUnitAosClient.WriteWorkloadInstances(workloadInstanceToInstallList); } if (AxDeployment.IsApplicationVersionMoreRecentThan("10.8.581.0")) { await WaitForWorkloadInstallation(workloadInstance); } } }, "Install workload on scale unit"); }
private async Task InstallWorkloadsOnHub() { await EnsureClientInitialized(); await ReliableRun.Execute(async() => { List <WorkloadInstance> workloadInstances = await new WorkloadInstanceManager(hubAosClient).CreateWorkloadInstances(); List <WorkloadInstance> createdInstances = await hubAosClient.WriteWorkloadInstances(workloadInstances); this.ValidateCreatedWorkloadInstances(workloadInstances, createdInstances); }, "Install workloads on hub"); }
private async Task WaitForScaleUnitReadiness() { await EnsureClientInitialized(); await ReliableRun.Execute(async() => { ScaleUnitStatus status = await scaleUnitAosClient.CheckScaleUnitConfigurationStatus(); status.Should().NotBeNull(); status.Health.Should().Be(ScaleUnitHealthConstants.Running, "Scale unit should be in a healthy/running state."); }, "Wait for scale unit readiness"); }
private async Task ConfigureScaleUnit() { await EnsureClientInitialized(); await ReliableRun.Execute(async() => { ScaleUnitEnvironmentConfiguration configuration = await scaleUnitAosClient.WriteScaleUnitConfiguration(ScaleUnitConfig); configuration.Should().NotBeNull("The AOS should have returned the configuration"); configuration.WithDeepEqual(ScaleUnitConfig).IgnoreSourceProperty((property) => property.HubS2SEncryptedSecret).Assert(); configuration.HubS2SEncryptedSecret.Should().NotBe(ScaleUnitConfig.HubS2SEncryptedSecret, "Secret should have been encrypted by the AOS."); }, "Scale unit configuration"); }
public async Task InstallationStatus() { await EnsureClientInitialized(); await ReliableRun.Execute(async() => { List <WorkloadInstanceStatus> statusList = new List <WorkloadInstanceStatus>(); List <WorkloadInstanceIdWithName> workloadInstanceIdWithNameList = Config.WorkloadInstanceIdWithNameList(); int count = 0; foreach (WorkloadInstanceIdWithName workloadInstanceIdWithName in workloadInstanceIdWithNameList) { statusList.Add(await WorkloadInstanceManager.GetWorkloadInstanceStatus(scaleUnitAosClient, workloadInstanceIdWithName.WorkloadInstanceId)); } foreach (WorkloadInstanceStatus status in statusList) { Console.WriteLine($"{workloadInstanceIdWithNameList[count].Name} Id : {workloadInstanceIdWithNameList[count].WorkloadInstanceId} Workload installation status: {status.Health} {status.ErrorMessage}"); count++; } }, "Installation status"); }
public async Task InstallationStatus(int input, string selectionHistory) { await EnsureClientInitialized(); await ReliableRun.Execute(async() => { List <WorkloadInstanceStatus> statusList = new List <WorkloadInstanceStatus>(); List <WorkloadInstanceIdWithName> workloadInstanceIdWithNameList = Config.WorkloadInstanceIdWithNameList(); int count = 0; foreach (WorkloadInstanceIdWithName workloadInstanceIdWithName in workloadInstanceIdWithNameList) { statusList.Add(await hubAosClient.CheckWorkloadStatus(workloadInstanceIdWithName.WorkloadInstanceId)); } foreach (WorkloadInstanceStatus status in statusList) { Console.WriteLine($"{workloadInstanceIdWithNameList[count].Name} Id : {workloadInstanceIdWithNameList[count].WorkloadInstanceId} Workload installation status: {status.Health} {status.ErrorMessage}"); count++; } }, "Installation status"); }
private async Task WaitForWorkloadInstanceReadinessOnHub() { await EnsureClientInitialized(); await ReliableRun.Execute(async() => { List <WorkloadInstanceStatus> statusList = new List <WorkloadInstanceStatus>(); List <WorkloadInstanceIdWithName> workloadInstanceIdWithNameList = Config.WorkloadInstanceIdWithNameList(); int count = 0; foreach (WorkloadInstanceIdWithName workloadInstanceIdWithName in workloadInstanceIdWithNameList) { statusList.Add(await hubAosClient.CheckWorkloadStatus(workloadInstanceIdWithName.WorkloadInstanceId)); } foreach (WorkloadInstanceStatus status in statusList) { status.Should().NotBeNull($"{workloadInstanceIdWithNameList[count].Name} workload instance Id : {workloadInstanceIdWithNameList[count].WorkloadInstanceId} should be found"); status.Health.Should().Be(WorkloadInstanceHealthConstants.Running); count++; } }, "Wait for workload instance readiness"); }