Example #1
0
        async Task <IEnumerable <WorkerResource> > FilterByState(IEnumerable <WorkerResource> workers)
        {
            var rootDocument = await Repository.LoadRootDocument().ConfigureAwait(false);

            var provider = new HealthStatusProvider(Repository,
                                                    new HashSet <MachineModelStatus>(),
                                                    healthStatuses,
                                                    commandOutputProvider,
                                                    rootDocument);

            workers = provider.Filter(workers);

            if (isDisabled.HasValue)
            {
                workers = workers.Where(m => m.IsDisabled == isDisabled.Value);
            }
            if (isCalamariOutdated.HasValue)
            {
                workers = workers.Where(m => m.HasLatestCalamari == !isCalamariOutdated.Value);
            }
            if (isTentacleOutdated.HasValue)
            {
                workers = workers.Where(m => (m.Endpoint as ListeningTentacleEndpointResource)?.TentacleVersionDetails.UpgradeSuggested == isTentacleOutdated.Value);
            }
            return(workers);
        }
Example #2
0
        public async Task Request()
        {
            provider = new HealthStatusProvider(Repository, statuses, healthStatuses, commandOutputProvider);

            workerpoolResources = await GetPools().ConfigureAwait(false);

            workerpoolWorkers = await FilterByWorkerPools(workerpoolResources).ConfigureAwait(false);

            workerpoolWorkers = FilterByState(workerpoolWorkers, provider);
        }
        public async Task Request()
        {
            provider = new HealthStatusProvider(Repository, statuses, healthStatuses, commandOutputProvider);

            environmentResources = await GetEnvironments().ConfigureAwait(false);

            environmentMachines = await FilterByEnvironments(environmentResources).ConfigureAwait(false);

            environmentMachines = FilterByState(environmentMachines, provider);
        }
        private void LogFilteredMachines(IEnumerable <WorkerResource> poolMachines, HealthStatusProvider provider, List <WorkerPoolResource> poolResources)
        {
            var orderedMachines = poolMachines.OrderBy(m => m.Name).ToList();

            commandOutputProvider.Information("Workers: {Count}", orderedMachines.Count);
            foreach (var machine in orderedMachines)
            {
                commandOutputProvider.Information(" - {Machine:l} {Status:l} (ID: {MachineId:l}) in {WorkerPool:l}", machine.Name, provider.GetStatus(machine), machine.Id,
                                                  string.Join(" and ", machine.WorkerPoolIds.Select(id => poolResources.First(e => e.Id == id).Name)));
            }
        }
Example #5
0
        void LogFilteredMachines(IEnumerable <MachineResource> environmentMachines, HealthStatusProvider provider, List <EnvironmentResource> environmentResources)
        {
            var orderedMachines = environmentMachines.OrderBy(m => m.Name).ToList();

            commandOutputProvider.Information("Machines: {Count}", orderedMachines.Count);
            foreach (var machine in orderedMachines)
            {
                commandOutputProvider.Information(" - {Machine:l} {Status:l} (ID: {MachineId:l}) in {Environments:l}",
                                                  machine.Name,
                                                  provider.GetStatus(machine),
                                                  machine.Id,
                                                  string.Join(" and ", machine.EnvironmentIds.Select(id => environmentResources.First(e => e.Id == id).Name)));
            }
        }
Example #6
0
        private IEnumerable <WorkerResource> FilterByState(IEnumerable <WorkerResource> workers)
        {
            var provider = new HealthStatusProvider(Repository, new HashSet <string>(StringComparer.OrdinalIgnoreCase), healthStatuses, commandOutputProvider);

            workers = provider.Filter(workers);

            if (isDisabled.HasValue)
            {
                workers = workers.Where(m => m.IsDisabled == isDisabled.Value);
            }
            if (isCalamariOutdated.HasValue)
            {
                workers = workers.Where(m => m.HasLatestCalamari == !isCalamariOutdated.Value);
            }
            if (isTentacleOutdated.HasValue)
            {
                workers = workers.Where(m => (m.Endpoint as ListeningTentacleEndpointResource)?.TentacleVersionDetails.UpgradeSuggested == isTentacleOutdated.Value);
            }
            return(workers);
        }
        private IEnumerable <MachineResource> FilterByState(IEnumerable <MachineResource> environmentMachines)
        {
            var provider = new HealthStatusProvider(Repository, statuses, healthStatuses, commandOutputProvider);

            environmentMachines = provider.Filter(environmentMachines);

            if (isDisabled.HasValue)
            {
                environmentMachines = environmentMachines.Where(m => m.IsDisabled == isDisabled.Value);
            }
            if (isCalamariOutdated.HasValue)
            {
                environmentMachines = environmentMachines.Where(m => m.HasLatestCalamari == !isCalamariOutdated.Value);
            }
            if (isTentacleOutdated.HasValue)
            {
                environmentMachines = environmentMachines.Where(m => (m.Endpoint as ListeningTentacleEndpointResource)?.TentacleVersionDetails.UpgradeSuggested == isTentacleOutdated.Value);
            }
            return(environmentMachines);
        }
        private IEnumerable <WorkerResource> FilterByState(IEnumerable <WorkerResource> poolMachines, HealthStatusProvider provider)
        {
            poolMachines = provider.Filter(poolMachines);

            if (isDisabled.HasValue)
            {
                poolMachines = poolMachines.Where(m => m.IsDisabled == isDisabled.Value);
            }
            if (isCalamariOutdated.HasValue)
            {
                poolMachines = poolMachines.Where(m => m.HasLatestCalamari == !isCalamariOutdated.Value);
            }
            if (isTentacleOutdated.HasValue)
            {
                poolMachines =
                    poolMachines.Where(
                        m =>
                        (m.Endpoint as ListeningTentacleEndpointResource)?.TentacleVersionDetails.UpgradeSuggested ==
                        isTentacleOutdated.Value);
            }
            return(poolMachines);
        }