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");
        }
Exemple #2
0
        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");
        }
Exemple #6
0
        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");
        }
Exemple #7
0
        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");
        }