aws-greengrass / aws-greengrass-nucleus

The Greengrass nucleus component provides functionality for device side orchestration of deployments and lifecycle management for execution of Greengrass components and applications. This includes features such as starting, stopping, and monitoring execution of components and apps, interprocess communication server for communication between components, component installation and configuration management.
Apache License 2.0
108 stars 46 forks source link

feat: allow deployments to cancel while waiting for services to start #1632

Closed tiancishen closed 4 months ago

tiancishen commented 4 months ago

Issue #, if available:

Description of changes:

  1. Overload waitForServicesToStart to check if the Future has been cancelled and exit early a. Finish removing on next PR for kernel update deployment changes
  2. Extracted code from waitForServicesToStart to new function isAllServiceInDesiredState that checks if all services have reached a desired state
  3. Deployment service will now attempt to cancel ongoing deployments
  4. Updated log statements to reflect changes

Why is this change necessary: Allows users to cancel their ongoing deployment if it gets stuck or takes longer than expected to complete.

How was this change tested:

Tested against local UATs

Any additional information or context required to review the change:

Documentation Checklist:

Compatibility Checklist:

Refer to Compatibility Guidelines for more information.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

github-actions[bot] commented 4 months ago

Binary incompatibility detected for commit 38505031cd0d741ebd2599d4552b59489c44eaaf. See the uploaded artifacts from the action for details. You must bump the version number.

com.aws.greengrass.deployment.DeploymentConfigMerger is binary incompatible and is source incompatible because of CONSTRUCTOR_REMOVED com.aws.greengrass.deployment.DeviceConfiguration is binary incompatible and is source incompatible because of METHOD_REMOVED, CONSTRUCTOR_REMOVED, FIELD_REMOVED com.aws.greengrass.lifecyclemanager.Kernel is binary incompatible and is source incompatible because of METHOD_REMOVED com.aws.greengrass.util.NucleusPaths is binary incompatible and is source incompatible because of METHOD_NOW_STATIC

Produced by binaryCompatability.py

github-actions[bot] commented 4 months ago

Unit Tests Coverage Report

File Coverage Lines Branches
All files 66% 71% 62% :white_check_mark:
com.aws.greengrass.deployment.activator.DeploymentActivatorFactory 100% 100% 100% :white_check_mark:
com.aws.greengrass.deployment.activator.KernelUpdateActivator 92% 94% 90% :white_check_mark:
com.aws.greengrass.deployment.activator.DeploymentActivator 37% 25% 50% :x:
com.aws.greengrass.deployment.activator.DefaultActivator 0% 0% 0% :x:
com.aws.greengrass.authorization.AuthorizationIPCAgent$ValidateAuthorizationTokenOperationHandler 95% 90% 100% :white_check_mark:
com.aws.greengrass.authorization.AuthorizationPolicyParser$1 100% 100% 0% :white_check_mark:
com.aws.greengrass.authorization.AuthorizationPolicyParser$2 0% 0% 0% :x:
com.aws.greengrass.authorization.WildcardTrie 97% 98% 95% :white_check_mark:
com.aws.greengrass.authorization.AuthorizationIPCAgent 100% 100% 0% :white_check_mark:
com.aws.greengrass.authorization.AuthorizationPolicyParser 84% 91% 77% :white_check_mark:
com.aws.greengrass.authorization.AuthorizationHandler$ResourceLookupPolicy 100% 100% 0% :white_check_mark:
com.aws.greengrass.authorization.AuthorizationHandler 86% 94% 78% :white_check_mark:
com.aws.greengrass.authorization.AuthorizationModule 96% 100% 93% :white_check_mark:
com.aws.greengrass.authorization.AuthorizationPolicy 100% 100% 0% :white_check_mark:
com.aws.greengrass.util.IotSdkClientFactory$EnvironmentStage 56% 63% 50% :x:
com.aws.greengrass.util.IotSdkClientFactory 85% 88% 83% :white_check_mark:
com.aws.greengrass.util.DependencyOrder 100% 100% 100% :white_check_mark:
com.aws.greengrass.util.SerializerFactory 100% 100% 0% :white_check_mark:
com.aws.greengrass.util.BaseRetryableAccessor 95% 90% 100% :white_check_mark:
com.aws.greengrass.util.CommitableWriter 47% 70% 25% :x:
com.aws.greengrass.util.EncryptionUtils$PemWriter 100% 100% 100% :white_check_mark:
com.aws.greengrass.util.IamSdkClientFactory 100% 100% 0% :white_check_mark:
com.aws.greengrass.util.OrderedExecutorService$OrderedTask 81% 88% 75% :white_check_mark:
com.aws.greengrass.util.ProxyUtils 70% 73% 67% :white_check_mark:
com.aws.greengrass.util.FileSystemPermission$Option 100% 100% 0% :white_check_mark:
com.aws.greengrass.util.NucleusPaths 94% 94% 0% :white_check_mark:
com.aws.greengrass.util.Exec 62% 78% 46% :x:
com.aws.greengrass.util.StsSdkClientFactory 0% 0% 0% :x:
com.aws.greengrass.util.MqttChunkedPayloadPublisher 83% 72% 94% :white_check_mark:
com.aws.greengrass.util.LockFactory 77% 77% 0% :white_check_mark:
com.aws.greengrass.util.CommitableReader 66% 82% 50% :white_check_mark:
com.aws.greengrass.util.Utils$1 50% 50% 0% :x:
com.aws.greengrass.util.Utils 80% 83% 76% :white_check_mark:
com.aws.greengrass.util.AppendableWriter 0% 0% 0% :x:
com.aws.greengrass.util.Digest 83% 91% 75% :white_check_mark:
com.aws.greengrass.util.OrderedExecutorService 82% 81% 83% :white_check_mark:
com.aws.greengrass.util.CommitableFile 78% 85% 71% :white_check_mark:
com.aws.greengrass.util.RetryUtils$DifferentiatedRetryConfig 100% 100% 0% :white_check_mark:
com.aws.greengrass.util.Coerce 92% 93% 91% :white_check_mark:
com.aws.greengrass.util.BatchedSubscriber 87% 100% 75% :white_check_mark:
com.aws.greengrass.util.LockScope 100% 100% 0% :white_check_mark:
com.aws.greengrass.util.Exec$Copier 86% 91% 82% :white_check_mark:
com.aws.greengrass.util.S3SdkClientFactory 92% 100% 85% :white_check_mark:
com.aws.greengrass.util.DefaultConcurrentHashMap 100% 100% 100% :white_check_mark:
com.aws.greengrass.util.Coerce$1 100% 100% 0% :white_check_mark:
com.aws.greengrass.util.RegionUtils 33% 33% 0% :x:
com.aws.greengrass.util.RetryUtils 86% 92% 79% :white_check_mark:
com.aws.greengrass.util.Permissions 85% 98% 72% :white_check_mark:
com.aws.greengrass.util.EncryptionUtils 100% 100% 100% :white_check_mark:
com.aws.greengrass.util.GreengrassServiceClientFactory 23% 20% 26% :x:
com.aws.greengrass.util.platforms.windows.WindowsPlatform$CmdDecorator 0% 0% 0% :x:
com.aws.greengrass.util.platforms.windows.WindowsPlatform$WindowsFileSystemPermissionView 0% 0% 0% :x:
com.aws.greengrass.util.platforms.windows.UserEnv 0% 0% 0% :x:
com.aws.greengrass.util.platforms.windows.WindowsPlatform 0% 0% 0% :x:
com.aws.greengrass.util.platforms.windows.WindowsPlatform$1 0% 0% 0% :x:
com.aws.greengrass.util.platforms.windows.WindowsExec 0% 0% 0% :x:
com.aws.greengrass.util.platforms.windows.WindowsUserAttributes 0% 0% 0% :x:
com.aws.greengrass.util.platforms.windows.UserEnv$PROFILEINFO 0% 0% 0% :x:
com.aws.greengrass.util.platforms.windows.WindowsPlatform$RunasDecorator 0% 0% 0% :x:
com.aws.greengrass.componentmanager.plugins.docker.DefaultDockerClient 1% 1% 0% :x:
com.aws.greengrass.componentmanager.plugins.docker.EcrAccessor 63% 63% 0% :x:
com.aws.greengrass.componentmanager.plugins.docker.DockerImageDownloader 79% 77% 81% :white_check_mark:
com.aws.greengrass.componentmanager.plugins.docker.Image 66% 66% 0% :white_check_mark:
com.aws.greengrass.componentmanager.plugins.docker.Registry$RegistrySource 100% 100% 0% :white_check_mark:
com.aws.greengrass.componentmanager.plugins.docker.Registry$RegistryType 100% 100% 0% :white_check_mark:
com.aws.greengrass.componentmanager.plugins.docker.Registry$Credentials 75% 75% 0% :white_check_mark:
com.aws.greengrass.componentmanager.plugins.docker.DockerApplicationManagerService 0% 0% 0% :x:
com.aws.greengrass.componentmanager.plugins.docker.Registry 75% 100% 50% :white_check_mark:
com.aws.greengrass.componentmanager.plugins.docker.DockerImageArtifactParser 97% 98% 96% :white_check_mark:
com.aws.greengrass.builtin.services.mqttproxy.MqttProxyIPCAgent 85% 88% 83% :white_check_mark:
com.aws.greengrass.builtin.services.mqttproxy.MqttProxyIPCAgent$PublishToIoTCoreOperationHandler 56% 76% 37% :x:
com.aws.greengrass.builtin.services.mqttproxy.MqttProxyIPCAgent$SubscribeToIoTCoreOperationHandler 44% 53% 35% :x:
com.aws.greengrass.mqttclient.v5.PubAck 81% 100% 62% :white_check_mark:
com.aws.greengrass.mqttclient.v5.Subscribe 75% 100% 50% :white_check_mark:
com.aws.greengrass.mqttclient.v5.SubscribeResponse 83% 100% 66% :white_check_mark:
com.aws.greengrass.mqttclient.v5.Subscribe$RetainHandlingType 100% 100% 0% :white_check_mark:
com.aws.greengrass.mqttclient.v5.UnsubscribeResponse 75% 100% 50% :white_check_mark:
com.aws.greengrass.mqttclient.v5.Publish$PayloadFormatIndicator 50% 50% 0% :x:
com.aws.greengrass.mqttclient.v5.QOS 67% 84% 50% :white_check_mark:
com.aws.greengrass.mqttclient.v5.Publish 48% 59% 37% :x:
com.aws.greengrass.builtin.services.telemetry.ComponentMetricIPCEventStreamAgent$PutComponentMetricOperationHandler 88% 88% 0% :white_check_mark:
com.aws.greengrass.builtin.services.telemetry.ComponentMetricIPCEventStreamAgent 87% 97% 76% :white_check_mark:
com.aws.greengrass.componentmanager.models.ComponentIdentifier 100% 100% 0% :white_check_mark:
com.aws.greengrass.componentmanager.models.ComponentMetadata 0% 0% 0% :x:
com.aws.greengrass.componentmanager.models.PermissionType 58% 66% 50% :x:
com.aws.greengrass.componentmanager.models.Permission 70% 100% 40% :white_check_mark:
com.aws.greengrass.componentmanager.models.ComponentRequirementIdentifier 0% 0% 0% :x:
com.aws.greengrass.util.platforms.StubResourceController 20% 20% 0% :x:
com.aws.greengrass.util.platforms.Platform$1 100% 100% 0% :white_check_mark:
com.aws.greengrass.util.platforms.UserDecorator 100% 100% 0% :white_check_mark:
com.aws.greengrass.util.platforms.Platform 67% 75% 59% :white_check_mark:
com.aws.greengrass.util.platforms.Platform$FileSystemPermissionView 100% 100% 0% :white_check_mark:
com.aws.greengrass.dependency.Context$Value 84% 88% 80% :white_check_mark:
com.aws.greengrass.dependency.EZPlugins 43% 51% 36% :x:
com.aws.greengrass.dependency.Context 78% 83% 72% :white_check_mark:
com.aws.greengrass.dependency.InjectionActions 100% 100% 0% :white_check_mark:
com.aws.greengrass.dependency.State 51% 72% 30% :x:
com.aws.greengrass.dependency.ComponentStatusCode 44% 64% 23% :x:
com.aws.greengrass.dependency.Context$1 84% 69% 100% :white_check_mark:
com.aws.greengrass.mqttclient.spool.Spool 82% 89% 75% :white_check_mark:
com.aws.greengrass.mqttclient.spool.InMemorySpool 77% 77% 0% :white_check_mark:
com.aws.greengrass.mqttclient.spool.SpoolerStorageType 100% 100% 0% :white_check_mark:
com.aws.greengrass.componentmanager.KernelConfigResolver 83% 89% 77% :white_check_mark:
com.aws.greengrass.componentmanager.Unarchiver 3% 3% 0% :x:
com.aws.greengrass.componentmanager.ClientConfigurationUtils 0% 0% 0% :x:
com.aws.greengrass.componentmanager.ComponentStore 66% 70% 62% :white_check_mark:
com.aws.greengrass.componentmanager.ComponentServiceHelper 65% 80% 50% :white_check_mark:
com.aws.greengrass.componentmanager.DependencyResolver 97% 98% 96% :white_check_mark:
com.aws.greengrass.componentmanager.ComponentManager 73% 77% 69% :white_check_mark:
com.aws.greengrass.util.platforms.unix.UnixRunWithGenerator 79% 74% 84% :white_check_mark:
com.aws.greengrass.util.platforms.unix.UnixPlatform$ShDecorator 68% 87% 50% :white_check_mark:
com.aws.greengrass.util.platforms.unix.UnixUserAttributes 58% 66% 50% :x:
com.aws.greengrass.util.platforms.unix.UnixPlatform$IdOption 100% 100% 0% :white_check_mark:
com.aws.greengrass.util.platforms.unix.UnixPlatform 36% 37% 35% :x:
com.aws.greengrass.util.platforms.unix.UnixExec 43% 45% 40% :x:
com.aws.greengrass.util.platforms.unix.UnixGroupAttributes 0% 0% 0% :x:
com.aws.greengrass.util.platforms.unix.QNXPlatform 0% 0% 0% :x:
com.aws.greengrass.util.platforms.unix.UnixPlatform$SudoDecorator 72% 86% 58% :white_check_mark:
com.aws.greengrass.util.platforms.unix.UnixPlatform$PosixFileSystemPermissionView 100% 100% 100% :white_check_mark:
com.aws.greengrass.util.platforms.unix.DarwinPlatform 0% 0% 0% :x:
com.aws.greengrass.config.UpdateBehaviorTree$PrunedUpdateBehaviorTree 80% 80% 0% :white_check_mark:
com.aws.greengrass.config.Node 88% 89% 87% :white_check_mark:
com.aws.greengrass.config.PlatformResolver 69% 80% 58% :white_check_mark:
com.aws.greengrass.config.ConfigurationReader$1 100% 100% 0% :white_check_mark:
com.aws.greengrass.config.Configuration 80% 89% 72% :white_check_mark:
com.aws.greengrass.config.ConfigurationReader 90% 96% 84% :white_check_mark:
com.aws.greengrass.config.UpdateBehaviorTree 100% 100% 100% :white_check_mark:
com.aws.greengrass.config.Topic 76% 84% 68% :white_check_mark:
com.aws.greengrass.config.CaseInsensitiveString 65% 70% 60% :white_check_mark:
com.aws.greengrass.config.Topics 90% 92% 88% :white_check_mark:
com.aws.greengrass.config.ConfigurationReader$ConfigurationMode 100% 100% 0% :white_check_mark:
com.aws.greengrass.config.ConfigurationWriter 76% 77% 75% :white_check_mark:
com.aws.greengrass.config.WhatHappened 100% 100% 0% :white_check_mark:
com.aws.greengrass.config.UpdateBehaviorTree$UpdateBehavior 100% 100% 0% :white_check_mark:
com.aws.greengrass.iot.IotConnectionManager 20% 34% 5% :x:
com.aws.greengrass.iot.IotCloudHelper 78% 89% 66% :white_check_mark:
com.aws.greengrass.iot.model.IotCloudResponse 100% 100% 0% :white_check_mark:
com.aws.greengrass.deployment.bootstrap.BootstrapTaskStatus 100% 100% 0% :white_check_mark:
com.aws.greengrass.deployment.bootstrap.BootstrapSuccessCode 83% 100% 66% :white_check_mark:
com.aws.greengrass.deployment.bootstrap.BootstrapManager 77% 82% 73% :white_check_mark:
com.aws.greengrass.deployment.bootstrap.BootstrapManager$1 100% 100% 0% :white_check_mark:
com.aws.greengrass.deployment.bootstrap.BootstrapTaskStatus$ExecutionStatus 100% 100% 0% :white_check_mark:
com.aws.greengrass.deployment.model.S3EndpointType 100% 100% 0% :white_check_mark:
com.aws.greengrass.deployment.model.FailureHandlingPolicy 100% 100% 0% :white_check_mark:
com.aws.greengrass.deployment.model.RunWith 85% 95% 75% :white_check_mark:
com.aws.greengrass.deployment.model.DeploymentPackageConfiguration 57% 57% 0% :x:
com.aws.greengrass.deployment.model.DeploymentDocument$SDKSerializer 100% 100% 0% :white_check_mark:
com.aws.greengrass.deployment.model.Deployment$DeploymentType 100% 100% 0% :white_check_mark:
com.aws.greengrass.deployment.model.Deployment 87% 100% 75% :white_check_mark:
com.aws.greengrass.deployment.model.Deployment$DeploymentStage 100% 100% 0% :white_check_mark:
com.aws.greengrass.deployment.model.DeploymentDocument$SDKDeserializer 80% 80% 0% :white_check_mark:
com.aws.greengrass.deployment.model.DeploymentTaskMetadata 72% 72% 0% :white_check_mark:
com.aws.greengrass.deployment.model.DeploymentDocument 100% 100% 100% :white_check_mark:
com.aws.greengrass.deployment.model.DeploymentResult$DeploymentStatus 100% 100% 0% :white_check_mark:
com.aws.greengrass.status.FleetStatusService 76% 84% 69% :white_check_mark:
com.aws.greengrass.status.FleetStatusService$1 100% 100% 0% :white_check_mark:
com.aws.greengrass.mqttclient.MqttClient$1 75% 100% 50% :white_check_mark:
com.aws.greengrass.mqttclient.MqttClient$2 100% 100% 0% :white_check_mark:
com.aws.greengrass.mqttclient.AwsIotMqtt5Client 50% 69% 32% :x:
com.aws.greengrass.mqttclient.PublishRequest 70% 90% 50% :white_check_mark:
com.aws.greengrass.mqttclient.MqttClient 76% 83% 69% :white_check_mark:
com.aws.greengrass.mqttclient.WrapperMqttClientConnection 91% 82% 100% :white_check_mark:
com.aws.greengrass.mqttclient.AwsIotMqttClient 82% 89% 75% :white_check_mark:
com.aws.greengrass.mqttclient.AwsIotMqttClient$1 71% 93% 50% :white_check_mark:
com.aws.greengrass.mqttclient.CallbackEventManager 91% 92% 91% :white_check_mark:
com.aws.greengrass.mqttclient.IotCoreTopicValidator 89% 93% 85% :white_check_mark:
com.aws.greengrass.mqttclient.MqttTopic 97% 94% 100% :white_check_mark:
com.aws.greengrass.mqttclient.AwsIotMqtt5Client$1 48% 68% 27% :x:
com.aws.greengrass.mqttclient.IotCoreTopicValidator$Operation 100% 100% 0% :white_check_mark:
com.aws.greengrass.network.HttpClientProvider 50% 50% 0% :x:
com.aws.greengrass.status.model.FleetStatusDetails 100% 100% 100% :white_check_mark:
com.aws.greengrass.status.model.OverallStatus 100% 100% 0% :white_check_mark:
com.aws.greengrass.status.model.Trigger 58% 80% 37% :x:
com.aws.greengrass.status.model.MessageType 76% 85% 66% :white_check_mark:
com.aws.greengrass.deployment.errorcode.DeploymentErrorCode 100% 100% 0% :white_check_mark:
com.aws.greengrass.deployment.errorcode.DeploymentErrorCodeUtils 75% 79% 70% :white_check_mark:
com.aws.greengrass.deployment.errorcode.DeploymentErrorType 100% 100% 0% :white_check_mark:
com.aws.greengrass.tes.CredentialRequestHandler 84% 91% 77% :white_check_mark:
com.aws.greengrass.tes.CredentialRequestHandler$TESCache 100% 100% 0% :white_check_mark:
com.aws.greengrass.tes.HttpServerImpl 100% 100% 0% :white_check_mark:
com.aws.greengrass.tes.LazyCredentialProvider 12% 12% 0% :x:
com.aws.greengrass.tes.TokenExchangeService 86% 97% 75% :white_check_mark:
com.aws.greengrass.componentmanager.converter.RecipeLoader 75% 88% 62% :white_check_mark:
com.aws.greengrass.componentmanager.converter.RecipeLoader$RecipeFormat 100% 100% 0% :white_check_mark:
com.aws.greengrass.lifecyclemanager.Periodicity 13% 16% 11% :x:
com.aws.greengrass.lifecyclemanager.LogManagerHelper 100% 100% 0% :white_check_mark:
com.aws.greengrass.lifecyclemanager.UnloadableService 77% 71% 83% :white_check_mark:
com.aws.greengrass.lifecyclemanager.RunWithPathOwnershipHandler 100% 100% 100% :white_check_mark:
com.aws.greengrass.lifecyclemanager.KernelAlternatives 49% 51% 46% :x:
com.aws.greengrass.lifecyclemanager.ShellRunner$Default 69% 74% 64% :white_check_mark:
com.aws.greengrass.lifecyclemanager.GreengrassService 75% 78% 72% :white_check_mark:
com.aws.greengrass.lifecyclemanager.Lifecycle$DesiredStateUpdatedEvent 100% 100% 0% :white_check_mark:
com.aws.greengrass.lifecyclemanager.GenericExternalService 44% 48% 40% :x:
com.aws.greengrass.lifecyclemanager.GreengrassService$RunStatus 100% 100% 0% :white_check_mark:
com.aws.greengrass.lifecyclemanager.Lifecycle 79% 82% 75% :white_check_mark:
com.aws.greengrass.lifecyclemanager.Kernel 70% 74% 66% :white_check_mark:
com.aws.greengrass.lifecyclemanager.KernelMetricsEmitter 100% 100% 100% :white_check_mark:
com.aws.greengrass.lifecyclemanager.Lifecycle$StateEvent 100% 100% 0% :white_check_mark:
com.aws.greengrass.lifecyclemanager.KernelCommandLine 76% 78% 73% :white_check_mark:
com.aws.greengrass.lifecyclemanager.GenericExternalService$RunResult 100% 100% 0% :white_check_mark:
com.aws.greengrass.lifecyclemanager.Kernel$1 82% 100% 64% :white_check_mark:
com.aws.greengrass.lifecyclemanager.KernelLifecycle 81% 86% 77% :white_check_mark:
com.aws.greengrass.lifecyclemanager.PluginService 41% 50% 33% :x:
com.aws.greengrass.lifecyclemanager.UpdateSystemPolicyService 7% 8% 7% :x:
com.aws.greengrass.util.platforms.unix.linux.Cgroup 61% 61% 0% :x:
com.aws.greengrass.util.platforms.unix.linux.LinuxSystemResourceController 7% 9% 5% :x:
com.aws.greengrass.util.platforms.unix.linux.LinuxSystemResourceController$CgroupFreezerState 0% 0% 0% :x:
com.aws.greengrass.util.platforms.unix.linux.LinuxPlatform 100% 100% 0% :white_check_mark:
com.aws.greengrass.deployment.converter.DeploymentDocumentConverter 77% 84% 70% :white_check_mark:
com.aws.greengrass.ipc.AuthenticationHandler 16% 25% 8% :x:
com.aws.greengrass.ipc.IPCEventStreamService 65% 80% 50% :white_check_mark:
com.aws.greengrass.jna.Kernel32Ex 0% 0% 0% :x:
com.aws.greengrass.builtin.services.configstore.ConfigStoreIPCEventStreamAgent$UpdateConfigurationOperationHandler 76% 73% 80% :white_check_mark:
com.aws.greengrass.builtin.services.configstore.ConfigStoreIPCEventStreamAgent 63% 77% 50% :x:
com.aws.greengrass.builtin.services.configstore.ConfigStoreIPCEventStreamAgent$ConfigurationUpdateOperationHandler 69% 79% 59% :white_check_mark:
com.aws.greengrass.builtin.services.configstore.ConfigStoreIPCEventStreamAgent$GetConfigurationOperationHandler 76% 81% 71% :white_check_mark:
com.aws.greengrass.builtin.services.configstore.ConfigStoreIPCEventStreamAgent$SendConfigurationValidityReportOperationHandler 86% 90% 83% :white_check_mark:
com.aws.greengrass.builtin.services.configstore.ConfigStoreIPCEventStreamAgent$ValidateConfigurationUpdatesOperationHandler 85% 85% 0% :white_check_mark:
com.aws.greengrass.ipc.common.DefaultOperationHandler 0% 0% 0% :x:
com.aws.greengrass.security.SecurityService$DefaultCryptoKeyProvider 96% 93% 100% :white_check_mark:
com.aws.greengrass.security.SecurityService 78% 75% 81% :white_check_mark:
com.aws.greengrass.provisioning.ProvisioningPluginFactory 0% 0% 0% :x:
com.aws.greengrass.provisioning.ProvisioningConfigUpdateHelper 91% 100% 83% :white_check_mark:
com.aws.greengrass.componentmanager.builtins.GreengrassRepositoryDownloader 50% 61% 39% :x:
com.aws.greengrass.componentmanager.builtins.S3Downloader 55% 60% 50% :x:
com.aws.greengrass.componentmanager.builtins.ArtifactDownloaderFactory 79% 77% 80% :white_check_mark:
com.aws.greengrass.componentmanager.builtins.ArtifactDownloader 82% 83% 80% :white_check_mark:
com.aws.greengrass.builtin.services.lifecycle.LifecycleIPCEventStreamAgent$UpdateStateOperationHandler 90% 90% 0% :white_check_mark:
com.aws.greengrass.builtin.services.lifecycle.LifecycleIPCEventStreamAgent$DeferComponentUpdateHandler 77% 77% 0% :white_check_mark:
com.aws.greengrass.builtin.services.lifecycle.LifecycleIPCEventStreamAgent 31% 24% 37% :x:
com.aws.greengrass.builtin.services.lifecycle.LifecycleIPCEventStreamAgent$SubscribeToComponentUpdateOperationHandler 73% 96% 50% :white_check_mark:
com.aws.greengrass.builtin.services.lifecycle.LifecycleIPCEventStreamAgent$PauseComponentHandler 89% 90% 87% :white_check_mark:
com.aws.greengrass.builtin.services.lifecycle.LifecycleIPCEventStreamAgent$ResumeComponentHandler 89% 90% 87% :white_check_mark:
com.aws.greengrass.builtin.services.pubsub.PubSubIPCEventStreamAgent$PublishToTopicOperationHandler 90% 80% 100% :white_check_mark:
com.aws.greengrass.builtin.services.pubsub.SubscriptionTrie 93% 96% 91% :white_check_mark:
com.aws.greengrass.builtin.services.pubsub.PubSubIPCEventStreamAgent 83% 92% 73% :white_check_mark:
com.aws.greengrass.builtin.services.pubsub.PubSubIPCEventStreamAgent$SubscribeToTopicOperationHandler 68% 68% 0% :white_check_mark:
com.aws.greengrass.telemetry.MetricsPayload 100% 100% 0% :white_check_mark:
com.aws.greengrass.telemetry.MetricsAggregator 87% 91% 83% :white_check_mark:
com.aws.greengrass.telemetry.AggregatedMetric 100% 100% 0% :white_check_mark:
com.aws.greengrass.telemetry.TelemetryAgent 71% 77% 66% :white_check_mark:
com.aws.greengrass.telemetry.TelemetryConfiguration 52% 65% 40% :x:
com.aws.greengrass.telemetry.PeriodicMetricsEmitter 100% 100% 0% :white_check_mark:
com.aws.greengrass.telemetry.TelemetryAgent$1 60% 60% 0% :x:
com.aws.greengrass.telemetry.SystemMetricsEmitter 100% 100% 100% :white_check_mark:
com.aws.greengrass.deployment.DeploymentConfigMerger 81% 83% 79% :white_check_mark:
com.aws.greengrass.deployment.IotJobsHelper$IotJobsClientFactory 100% 100% 0% :white_check_mark:
com.aws.greengrass.deployment.DeploymentConfigMerger$AggregateServicesChangeManager 72% 70% 75% :white_check_mark:
com.aws.greengrass.deployment.DeviceConfiguration 75% 81% 69% :white_check_mark:
com.aws.greengrass.deployment.DeploymentDocumentDownloader 69% 81% 58% :white_check_mark:
com.aws.greengrass.deployment.DeploymentQueue 97% 100% 95% :white_check_mark:
com.aws.greengrass.deployment.DeploymentService 56% 65% 47% :x:
com.aws.greengrass.deployment.IotJobsHelper$LatestQueuedJobs 69% 69% 70% :white_check_mark:
com.aws.greengrass.deployment.KernelUpdateDeploymentTask 65% 80% 50% :white_check_mark:
com.aws.greengrass.deployment.DynamicComponentConfigurationValidator 84% 94% 75% :white_check_mark:
com.aws.greengrass.deployment.DefaultDeploymentTask 72% 87% 57% :white_check_mark:
com.aws.greengrass.deployment.DeploymentDirectoryManager 71% 86% 56% :white_check_mark:
com.aws.greengrass.deployment.IotJobsHelper$WrapperMqttConnectionFactory 100% 100% 0% :white_check_mark:
com.aws.greengrass.deployment.IotJobsHelper 55% 61% 48% :x:
com.aws.greengrass.deployment.IotJobsHelper$1 85% 85% 0% :white_check_mark:
com.aws.greengrass.deployment.ThingGroupHelper 47% 61% 33% :x:
com.aws.greengrass.deployment.ShadowDeploymentListener 23% 32% 14% :x:
com.aws.greengrass.deployment.ShadowDeploymentListener$1 14% 14% 0% :x:
com.aws.greengrass.deployment.DeploymentStatusKeeper 82% 93% 71% :white_check_mark:
com.aws.greengrass.deployment.IotJobsClientWrapper 15% 15% 0% :x:
com.aws.greengrass.util.orchestration.SystemServiceUtilsFactory 0% 0% 0% :x:
com.aws.greengrass.util.orchestration.ProcdUtils 0% 0% 0% :x:
com.aws.greengrass.util.orchestration.SystemServiceUtils 0% 0% 0% :x:
com.aws.greengrass.util.orchestration.InitUtils 0% 0% 0% :x:
com.aws.greengrass.util.orchestration.SystemdUtils 0% 0% 0% :x:
com.aws.greengrass.util.orchestration.WinswUtils 0% 0% 0% :x:
com.aws.greengrass.testing.TestFeatureParameters 83% 100% 66% :white_check_mark:
com.aws.greengrass.testing.TestFeatureParameters$1 100% 100% 0% :white_check_mark:
com.aws.greengrass.ipc.modules.PubSubIPCService 68% 68% 0% :white_check_mark:
com.aws.greengrass.ipc.modules.AuthorizationService 75% 75% 0% :white_check_mark:
com.aws.greengrass.ipc.modules.ComponentMetricIPCService 69% 69% 0% :white_check_mark:
com.aws.greengrass.ipc.modules.MqttProxyIPCService 64% 64% 0% :x:
com.aws.greengrass.ipc.modules.LifecycleIPCService 86% 86% 0% :white_check_mark:
com.aws.greengrass.ipc.modules.ConfigStoreIPCService 66% 66% 0% :white_check_mark:
com.aws.greengrass.easysetup.GreengrassSetup 71% 72% 71% :white_check_mark:
com.aws.greengrass.easysetup.DeviceProvisioningHelper 64% 72% 57% :x:

Minimum allowed coverage is 65%

Generated by :monkey: cobertura-action against 38505031cd0d741ebd2599d4552b59489c44eaaf

github-actions[bot] commented 4 months ago

Integration Tests Coverage Report

File Coverage Lines Branches
All files 53% 58% 49% :x:
com.aws.greengrass.deployment.activator.DeploymentActivatorFactory 100% 100% 100% :white_check_mark:
com.aws.greengrass.deployment.activator.KernelUpdateActivator 40% 41% 40% :x:
com.aws.greengrass.deployment.activator.DeploymentActivator 78% 81% 75% :white_check_mark:
com.aws.greengrass.deployment.activator.DefaultActivator 78% 81% 75% :white_check_mark:
com.aws.greengrass.authorization.AuthorizationIPCAgent$ValidateAuthorizationTokenOperationHandler 48% 47% 50% :x:
com.aws.greengrass.authorization.AuthorizationPolicyParser$1 100% 100% 0% :white_check_mark:
com.aws.greengrass.authorization.AuthorizationPolicyParser$2 0% 0% 0% :x:
com.aws.greengrass.authorization.WildcardTrie 74% 79% 70% :white_check_mark:
com.aws.greengrass.authorization.AuthorizationIPCAgent 100% 100% 0% :white_check_mark:
com.aws.greengrass.authorization.AuthorizationPolicyParser 76% 80% 72% :white_check_mark:
com.aws.greengrass.authorization.AuthorizationHandler$ResourceLookupPolicy 100% 100% 0% :white_check_mark:
com.aws.greengrass.authorization.AuthorizationHandler 74% 74% 74% :white_check_mark:
com.aws.greengrass.authorization.AuthorizationModule 46% 59% 33% :x:
com.aws.greengrass.authorization.AuthorizationPolicy 0% 0% 0% :x:
com.aws.greengrass.util.IotSdkClientFactory$EnvironmentStage 0% 0% 0% :x:
com.aws.greengrass.util.IotSdkClientFactory 0% 0% 0% :x:
com.aws.greengrass.util.DependencyOrder 100% 100% 100% :white_check_mark:
com.aws.greengrass.util.SerializerFactory 100% 100% 0% :white_check_mark:
com.aws.greengrass.util.BaseRetryableAccessor 0% 0% 0% :x:
com.aws.greengrass.util.CommitableWriter 47% 70% 25% :x:
com.aws.greengrass.util.EncryptionUtils$PemWriter 0% 0% 0% :x:
com.aws.greengrass.util.IamSdkClientFactory 0% 0% 0% :x:
com.aws.greengrass.util.OrderedExecutorService$OrderedTask 45% 66% 25% :x:
com.aws.greengrass.util.ProxyUtils 27% 32% 21% :x:
com.aws.greengrass.util.FileSystemPermission$Option 100% 100% 0% :white_check_mark:
com.aws.greengrass.util.NucleusPaths 100% 100% 0% :white_check_mark:
com.aws.greengrass.util.Exec 70% 85% 56% :white_check_mark:
com.aws.greengrass.util.StsSdkClientFactory 0% 0% 0% :x:
com.aws.greengrass.util.MqttChunkedPayloadPublisher 35% 42% 27% :x:
com.aws.greengrass.util.LockFactory 77% 77% 0% :white_check_mark:
com.aws.greengrass.util.CommitableReader 0% 0% 0% :x:
com.aws.greengrass.util.Utils$1 87% 100% 75% :white_check_mark:
com.aws.greengrass.util.Utils 55% 60% 51% :x:
com.aws.greengrass.util.AppendableWriter 0% 0% 0% :x:
com.aws.greengrass.util.Digest 66% 83% 50% :white_check_mark:
com.aws.greengrass.util.OrderedExecutorService 63% 77% 50% :white_check_mark:
com.aws.greengrass.util.CommitableFile 65% 73% 57% :white_check_mark:
com.aws.greengrass.util.RetryUtils$DifferentiatedRetryConfig 60% 60% 0% :white_check_mark:
com.aws.greengrass.util.Coerce 59% 64% 53% :white_check_mark:
com.aws.greengrass.util.BatchedSubscriber 59% 68% 50% :white_check_mark:
com.aws.greengrass.util.LockScope 100% 100% 0% :white_check_mark:
com.aws.greengrass.util.Exec$Copier 86% 91% 82% :white_check_mark:
com.aws.greengrass.util.S3SdkClientFactory 38% 38% 0% :x:
com.aws.greengrass.util.DefaultConcurrentHashMap 100% 100% 100% :white_check_mark:
com.aws.greengrass.util.Coerce$1 0% 0% 0% :x:
com.aws.greengrass.util.RegionUtils 0% 0% 0% :x:
com.aws.greengrass.util.RetryUtils 24% 35% 12% :x:
com.aws.greengrass.util.Permissions 72% 89% 54% :white_check_mark:
com.aws.greengrass.util.EncryptionUtils 0% 0% 0% :x:
com.aws.greengrass.util.GreengrassServiceClientFactory 47% 32% 61% :x:
com.aws.greengrass.util.platforms.windows.WindowsPlatform$CmdDecorator 0% 0% 0% :x:
com.aws.greengrass.util.platforms.windows.WindowsPlatform$WindowsFileSystemPermissionView 0% 0% 0% :x:
com.aws.greengrass.util.platforms.windows.UserEnv 0% 0% 0% :x:
com.aws.greengrass.util.platforms.windows.WindowsPlatform 0% 0% 0% :x:
com.aws.greengrass.util.platforms.windows.WindowsPlatform$1 0% 0% 0% :x:
com.aws.greengrass.util.platforms.windows.WindowsExec 0% 0% 0% :x:
com.aws.greengrass.util.platforms.windows.WindowsUserAttributes 0% 0% 0% :x:
com.aws.greengrass.util.platforms.windows.UserEnv$PROFILEINFO 0% 0% 0% :x:
com.aws.greengrass.util.platforms.windows.WindowsPlatform$RunasDecorator 0% 0% 0% :x:
com.aws.greengrass.componentmanager.plugins.docker.DefaultDockerClient 1% 1% 0% :x:
com.aws.greengrass.componentmanager.plugins.docker.EcrAccessor 61% 72% 50% :white_check_mark:
com.aws.greengrass.componentmanager.plugins.docker.DockerImageDownloader 49% 55% 43% :x:
com.aws.greengrass.componentmanager.plugins.docker.Image 66% 66% 0% :white_check_mark:
com.aws.greengrass.componentmanager.plugins.docker.Registry$RegistrySource 100% 100% 0% :white_check_mark:
com.aws.greengrass.componentmanager.plugins.docker.Registry$RegistryType 100% 100% 0% :white_check_mark:
com.aws.greengrass.componentmanager.plugins.docker.Registry$Credentials 75% 75% 0% :white_check_mark:
com.aws.greengrass.componentmanager.plugins.docker.DockerApplicationManagerService 0% 0% 0% :x:
com.aws.greengrass.componentmanager.plugins.docker.Registry 75% 100% 50% :white_check_mark:
com.aws.greengrass.componentmanager.plugins.docker.DockerImageArtifactParser 81% 88% 75% :white_check_mark:
com.aws.greengrass.builtin.services.mqttproxy.MqttProxyIPCAgent 47% 53% 41% :x:
com.aws.greengrass.builtin.services.mqttproxy.MqttProxyIPCAgent$PublishToIoTCoreOperationHandler 58% 78% 37% :white_check_mark:
com.aws.greengrass.builtin.services.mqttproxy.MqttProxyIPCAgent$SubscribeToIoTCoreOperationHandler 42% 49% 35% :x:
com.aws.greengrass.mqttclient.v5.PubAck 0% 0% 0% :x:
com.aws.greengrass.mqttclient.v5.Subscribe 0% 0% 0% :x:
com.aws.greengrass.mqttclient.v5.SubscribeResponse 0% 0% 0% :x:
com.aws.greengrass.mqttclient.v5.Subscribe$RetainHandlingType 87% 87% 0% :white_check_mark:
com.aws.greengrass.mqttclient.v5.UnsubscribeResponse 0% 0% 0% :x:
com.aws.greengrass.mqttclient.v5.Publish$PayloadFormatIndicator 50% 50% 0% :x:
com.aws.greengrass.mqttclient.v5.QOS 50% 76% 25% :x:
com.aws.greengrass.mqttclient.v5.Publish 29% 34% 25% :x:
com.aws.greengrass.builtin.services.telemetry.ComponentMetricIPCEventStreamAgent$PutComponentMetricOperationHandler 0% 0% 0% :x:
com.aws.greengrass.builtin.services.telemetry.ComponentMetricIPCEventStreamAgent 16% 16% 0% :x:
com.aws.greengrass.componentmanager.models.ComponentIdentifier 75% 75% 0% :white_check_mark:
com.aws.greengrass.componentmanager.models.ComponentMetadata 0% 0% 0% :x:
com.aws.greengrass.componentmanager.models.PermissionType 58% 66% 50% :white_check_mark:
com.aws.greengrass.componentmanager.models.Permission 79% 100% 59% :white_check_mark:
com.aws.greengrass.componentmanager.models.ComponentRequirementIdentifier 0% 0% 0% :x:
com.aws.greengrass.util.platforms.StubResourceController 20% 20% 0% :x:
com.aws.greengrass.util.platforms.Platform$1 100% 100% 0% :white_check_mark:
com.aws.greengrass.util.platforms.UserDecorator 100% 100% 0% :white_check_mark:
com.aws.greengrass.util.platforms.Platform 82% 91% 72% :white_check_mark:
com.aws.greengrass.util.platforms.Platform$FileSystemPermissionView 100% 100% 0% :white_check_mark:
com.aws.greengrass.dependency.Context$Value 80% 85% 75% :white_check_mark:
com.aws.greengrass.dependency.EZPlugins 61% 68% 54% :white_check_mark:
com.aws.greengrass.dependency.Context 76% 83% 70% :white_check_mark:
com.aws.greengrass.dependency.InjectionActions 100% 100% 0% :white_check_mark:
com.aws.greengrass.dependency.State 51% 76% 26% :x:
com.aws.greengrass.dependency.ComponentStatusCode 56% 74% 38% :x:
com.aws.greengrass.dependency.Context$1 84% 69% 100% :white_check_mark:
com.aws.greengrass.mqttclient.spool.Spool 23% 36% 10% :x:
com.aws.greengrass.mqttclient.spool.InMemorySpool 44% 44% 0% :x:
com.aws.greengrass.mqttclient.spool.SpoolerStorageType 100% 100% 0% :white_check_mark:
com.aws.greengrass.componentmanager.KernelConfigResolver 76% 83% 69% :white_check_mark:
com.aws.greengrass.componentmanager.Unarchiver 72% 87% 58% :white_check_mark:
com.aws.greengrass.componentmanager.ClientConfigurationUtils 0% 0% 0% :x:
com.aws.greengrass.componentmanager.ComponentStore 49% 51% 46% :x:
com.aws.greengrass.componentmanager.ComponentServiceHelper 33% 52% 14% :x:
com.aws.greengrass.componentmanager.DependencyResolver 60% 69% 52% :white_check_mark:
com.aws.greengrass.componentmanager.ComponentManager 66% 63% 70% :white_check_mark:
com.aws.greengrass.util.platforms.unix.UnixRunWithGenerator 63% 61% 65% :white_check_mark:
com.aws.greengrass.util.platforms.unix.UnixPlatform$ShDecorator 75% 100% 50% :white_check_mark:
com.aws.greengrass.util.platforms.unix.UnixUserAttributes 75% 100% 50% :white_check_mark:
com.aws.greengrass.util.platforms.unix.UnixPlatform$IdOption 100% 100% 0% :white_check_mark:
com.aws.greengrass.util.platforms.unix.UnixPlatform 65% 60% 69% :white_check_mark:
com.aws.greengrass.util.platforms.unix.UnixExec 73% 80% 65% :white_check_mark:
com.aws.greengrass.util.platforms.unix.UnixGroupAttributes 100% 100% 0% :white_check_mark:
com.aws.greengrass.util.platforms.unix.QNXPlatform 0% 0% 0% :x:
com.aws.greengrass.util.platforms.unix.UnixPlatform$SudoDecorator 78% 89% 66% :white_check_mark:
com.aws.greengrass.util.platforms.unix.UnixPlatform$PosixFileSystemPermissionView 87% 91% 83% :white_check_mark:
com.aws.greengrass.util.platforms.unix.DarwinPlatform 0% 0% 0% :x:
com.aws.greengrass.config.UpdateBehaviorTree$PrunedUpdateBehaviorTree 80% 80% 0% :white_check_mark:
com.aws.greengrass.config.Node 78% 80% 77% :white_check_mark:
com.aws.greengrass.config.PlatformResolver 36% 47% 25% :x:
com.aws.greengrass.config.ConfigurationReader$1 100% 100% 0% :white_check_mark:
com.aws.greengrass.config.Configuration 65% 81% 50% :white_check_mark:
com.aws.greengrass.config.ConfigurationReader 66% 76% 57% :white_check_mark:
com.aws.greengrass.config.UpdateBehaviorTree 100% 100% 100% :white_check_mark:
com.aws.greengrass.config.Topic 67% 73% 62% :white_check_mark:
com.aws.greengrass.config.CaseInsensitiveString 65% 70% 60% :white_check_mark:
com.aws.greengrass.config.Topics 70% 75% 64% :white_check_mark:
com.aws.greengrass.config.ConfigurationReader$ConfigurationMode 100% 100% 0% :white_check_mark:
com.aws.greengrass.config.ConfigurationWriter 75% 73% 77% :white_check_mark:
com.aws.greengrass.config.WhatHappened 100% 100% 0% :white_check_mark:
com.aws.greengrass.config.UpdateBehaviorTree$UpdateBehavior 100% 100% 0% :white_check_mark:
com.aws.greengrass.iot.IotConnectionManager 0% 0% 0% :x:
com.aws.greengrass.iot.IotCloudHelper 0% 0% 0% :x:
com.aws.greengrass.iot.model.IotCloudResponse 0% 0% 0% :x:
com.aws.greengrass.deployment.bootstrap.BootstrapTaskStatus 100% 100% 0% :white_check_mark:
com.aws.greengrass.deployment.bootstrap.BootstrapSuccessCode 0% 0% 0% :x:
com.aws.greengrass.deployment.bootstrap.BootstrapManager 59% 64% 54% :white_check_mark:
com.aws.greengrass.deployment.bootstrap.BootstrapManager$1 0% 0% 0% :x:
com.aws.greengrass.deployment.bootstrap.BootstrapTaskStatus$ExecutionStatus 100% 100% 0% :white_check_mark:
com.aws.greengrass.deployment.model.S3EndpointType 0% 0% 0% :x:
com.aws.greengrass.deployment.model.FailureHandlingPolicy 100% 100% 0% :white_check_mark:
com.aws.greengrass.deployment.model.RunWith 70% 91% 50% :white_check_mark:
com.aws.greengrass.deployment.model.DeploymentPackageConfiguration 21% 21% 0% :x:
com.aws.greengrass.deployment.model.DeploymentDocument$SDKSerializer 100% 100% 0% :white_check_mark:
com.aws.greengrass.deployment.model.Deployment$DeploymentType 100% 100% 0% :white_check_mark:
com.aws.greengrass.deployment.model.Deployment 72% 70% 75% :white_check_mark:
com.aws.greengrass.deployment.model.Deployment$DeploymentStage 100% 100% 0% :white_check_mark:
com.aws.greengrass.deployment.model.DeploymentDocument$SDKDeserializer 20% 20% 0% :x:
com.aws.greengrass.deployment.model.DeploymentTaskMetadata 72% 72% 0% :white_check_mark:
com.aws.greengrass.deployment.model.DeploymentDocument 91% 100% 83% :white_check_mark:
com.aws.greengrass.deployment.model.DeploymentResult$DeploymentStatus 100% 100% 0% :white_check_mark:
com.aws.greengrass.status.FleetStatusService 82% 90% 74% :white_check_mark:
com.aws.greengrass.status.FleetStatusService$1 16% 16% 0% :x:
com.aws.greengrass.mqttclient.MqttClient$1 12% 12% 0% :x:
com.aws.greengrass.mqttclient.MqttClient$2 100% 100% 0% :white_check_mark:
com.aws.greengrass.mqttclient.AwsIotMqtt5Client 35% 45% 25% :x:
com.aws.greengrass.mqttclient.PublishRequest 70% 90% 50% :white_check_mark:
com.aws.greengrass.mqttclient.MqttClient 40% 48% 33% :x:
com.aws.greengrass.mqttclient.WrapperMqttClientConnection 90% 80% 100% :white_check_mark:
com.aws.greengrass.mqttclient.AwsIotMqttClient 0% 0% 0% :x:
com.aws.greengrass.mqttclient.AwsIotMqttClient$1 0% 0% 0% :x:
com.aws.greengrass.mqttclient.CallbackEventManager 32% 48% 16% :x:
com.aws.greengrass.mqttclient.IotCoreTopicValidator 61% 60% 62% :white_check_mark:
com.aws.greengrass.mqttclient.MqttTopic 0% 0% 0% :x:
com.aws.greengrass.mqttclient.AwsIotMqtt5Client$1 12% 19% 5% :x:
com.aws.greengrass.mqttclient.IotCoreTopicValidator$Operation 100% 100% 0% :white_check_mark:
com.aws.greengrass.network.HttpClientProvider 50% 50% 0% :x:
com.aws.greengrass.status.model.FleetStatusDetails 100% 100% 100% :white_check_mark:
com.aws.greengrass.status.model.OverallStatus 100% 100% 0% :white_check_mark:
com.aws.greengrass.status.model.Trigger 62% 86% 37% :white_check_mark:
com.aws.greengrass.status.model.MessageType 76% 85% 66% :white_check_mark:
com.aws.greengrass.deployment.errorcode.DeploymentErrorCode 100% 100% 0% :white_check_mark:
com.aws.greengrass.deployment.errorcode.DeploymentErrorCodeUtils 37% 44% 29% :x:
com.aws.greengrass.deployment.errorcode.DeploymentErrorType 100% 100% 0% :white_check_mark:
com.aws.greengrass.tes.CredentialRequestHandler 0% 0% 0% :x:
com.aws.greengrass.tes.CredentialRequestHandler$TESCache 0% 0% 0% :x:
com.aws.greengrass.tes.HttpServerImpl 0% 0% 0% :x:
com.aws.greengrass.tes.LazyCredentialProvider 12% 12% 0% :x:
com.aws.greengrass.tes.TokenExchangeService 0% 0% 0% :x:
com.aws.greengrass.componentmanager.converter.RecipeLoader 72% 86% 59% :white_check_mark:
com.aws.greengrass.componentmanager.converter.RecipeLoader$RecipeFormat 100% 100% 0% :white_check_mark:
com.aws.greengrass.lifecyclemanager.Periodicity 55% 64% 47% :x:
com.aws.greengrass.lifecyclemanager.LogManagerHelper 100% 100% 0% :white_check_mark:
com.aws.greengrass.lifecyclemanager.UnloadableService 25% 25% 0% :x:
com.aws.greengrass.lifecyclemanager.RunWithPathOwnershipHandler 89% 96% 83% :white_check_mark:
com.aws.greengrass.lifecyclemanager.KernelAlternatives 17% 20% 15% :x:
com.aws.greengrass.lifecyclemanager.ShellRunner$Default 73% 76% 71% :white_check_mark:
com.aws.greengrass.lifecyclemanager.GreengrassService 88% 88% 87% :white_check_mark:
com.aws.greengrass.lifecyclemanager.Lifecycle$DesiredStateUpdatedEvent 100% 100% 0% :white_check_mark:
com.aws.greengrass.lifecyclemanager.GenericExternalService 71% 77% 65% :white_check_mark:
com.aws.greengrass.lifecyclemanager.GreengrassService$RunStatus 100% 100% 0% :white_check_mark:
com.aws.greengrass.lifecyclemanager.Lifecycle 83% 84% 82% :white_check_mark:
com.aws.greengrass.lifecyclemanager.Kernel 55% 55% 55% :x:
com.aws.greengrass.lifecyclemanager.KernelMetricsEmitter 100% 100% 100% :white_check_mark:
com.aws.greengrass.lifecyclemanager.Lifecycle$StateEvent 100% 100% 0% :white_check_mark:
com.aws.greengrass.lifecyclemanager.KernelCommandLine 58% 63% 53% :white_check_mark:
com.aws.greengrass.lifecyclemanager.GenericExternalService$RunResult 100% 100% 0% :white_check_mark:
com.aws.greengrass.lifecyclemanager.Kernel$1 0% 0% 0% :x:
com.aws.greengrass.lifecyclemanager.KernelLifecycle 75% 77% 72% :white_check_mark:
com.aws.greengrass.lifecyclemanager.PluginService 67% 68% 66% :white_check_mark:
com.aws.greengrass.lifecyclemanager.UpdateSystemPolicyService 86% 86% 85% :white_check_mark:
com.aws.greengrass.util.platforms.unix.linux.Cgroup 90% 90% 0% :white_check_mark:
com.aws.greengrass.util.platforms.unix.linux.LinuxSystemResourceController 72% 78% 66% :white_check_mark:
com.aws.greengrass.util.platforms.unix.linux.LinuxSystemResourceController$CgroupFreezerState 100% 100% 0% :white_check_mark:
com.aws.greengrass.util.platforms.unix.linux.LinuxPlatform 100% 100% 0% :white_check_mark:
com.aws.greengrass.deployment.converter.DeploymentDocumentConverter 71% 79% 63% :white_check_mark:
com.aws.greengrass.ipc.AuthenticationHandler 30% 35% 25% :x:
com.aws.greengrass.ipc.IPCEventStreamService 73% 80% 66% :white_check_mark:
com.aws.greengrass.jna.Kernel32Ex 0% 0% 0% :x:
com.aws.greengrass.builtin.services.configstore.ConfigStoreIPCEventStreamAgent$UpdateConfigurationOperationHandler 68% 73% 63% :white_check_mark:
com.aws.greengrass.builtin.services.configstore.ConfigStoreIPCEventStreamAgent 78% 81% 75% :white_check_mark:
com.aws.greengrass.builtin.services.configstore.ConfigStoreIPCEventStreamAgent$ConfigurationUpdateOperationHandler 76% 90% 62% :white_check_mark:
com.aws.greengrass.builtin.services.configstore.ConfigStoreIPCEventStreamAgent$GetConfigurationOperationHandler 67% 78% 57% :white_check_mark:
com.aws.greengrass.builtin.services.configstore.ConfigStoreIPCEventStreamAgent$SendConfigurationValidityReportOperationHandler 78% 90% 66% :white_check_mark:
com.aws.greengrass.builtin.services.configstore.ConfigStoreIPCEventStreamAgent$ValidateConfigurationUpdatesOperationHandler 95% 95% 0% :white_check_mark:
com.aws.greengrass.ipc.common.DefaultOperationHandler 0% 0% 0% :x:
com.aws.greengrass.security.SecurityService$DefaultCryptoKeyProvider 24% 23% 25% :x:
com.aws.greengrass.security.SecurityService 37% 50% 25% :x:
com.aws.greengrass.provisioning.ProvisioningPluginFactory 100% 100% 0% :white_check_mark:
com.aws.greengrass.provisioning.ProvisioningConfigUpdateHelper 75% 100% 50% :white_check_mark:
com.aws.greengrass.componentmanager.builtins.GreengrassRepositoryDownloader 0% 0% 0% :x:
com.aws.greengrass.componentmanager.builtins.S3Downloader 10% 17% 3% :x:
com.aws.greengrass.componentmanager.builtins.ArtifactDownloaderFactory 52% 63% 42% :x:
com.aws.greengrass.componentmanager.builtins.ArtifactDownloader 16% 21% 11% :x:
com.aws.greengrass.builtin.services.lifecycle.LifecycleIPCEventStreamAgent$UpdateStateOperationHandler 60% 60% 0% :white_check_mark:
com.aws.greengrass.builtin.services.lifecycle.LifecycleIPCEventStreamAgent$DeferComponentUpdateHandler 88% 88% 0% :white_check_mark:
com.aws.greengrass.builtin.services.lifecycle.LifecycleIPCEventStreamAgent 59% 61% 56% :white_check_mark:
com.aws.greengrass.builtin.services.lifecycle.LifecycleIPCEventStreamAgent$SubscribeToComponentUpdateOperationHandler 57% 64% 50% :x:
com.aws.greengrass.builtin.services.lifecycle.LifecycleIPCEventStreamAgent$PauseComponentHandler 56% 62% 50% :x:
com.aws.greengrass.builtin.services.lifecycle.LifecycleIPCEventStreamAgent$ResumeComponentHandler 56% 62% 50% :x:
com.aws.greengrass.builtin.services.pubsub.PubSubIPCEventStreamAgent$PublishToTopicOperationHandler 70% 90% 50% :white_check_mark:
com.aws.greengrass.builtin.services.pubsub.SubscriptionTrie 74% 81% 67% :white_check_mark:
com.aws.greengrass.builtin.services.pubsub.PubSubIPCEventStreamAgent 66% 73% 58% :white_check_mark:
com.aws.greengrass.builtin.services.pubsub.PubSubIPCEventStreamAgent$SubscribeToTopicOperationHandler 97% 94% 100% :white_check_mark:
com.aws.greengrass.telemetry.MetricsPayload 100% 100% 0% :white_check_mark:
com.aws.greengrass.telemetry.MetricsAggregator 80% 86% 74% :white_check_mark:
com.aws.greengrass.telemetry.AggregatedMetric 100% 100% 0% :white_check_mark:
com.aws.greengrass.telemetry.TelemetryAgent 59% 71% 48% :white_check_mark:
com.aws.greengrass.telemetry.TelemetryConfiguration 30% 51% 10% :x:
com.aws.greengrass.telemetry.PeriodicMetricsEmitter 100% 100% 0% :white_check_mark:
com.aws.greengrass.telemetry.TelemetryAgent$1 20% 20% 0% :x:
com.aws.greengrass.telemetry.SystemMetricsEmitter 100% 100% 100% :white_check_mark:
com.aws.greengrass.deployment.DeploymentConfigMerger 74% 76% 72% :white_check_mark:
com.aws.greengrass.deployment.IotJobsHelper$IotJobsClientFactory 100% 100% 0% :white_check_mark:
com.aws.greengrass.deployment.DeploymentConfigMerger$AggregateServicesChangeManager 76% 73% 78% :white_check_mark:
com.aws.greengrass.deployment.DeviceConfiguration 71% 76% 66% :white_check_mark:
com.aws.greengrass.deployment.DeploymentDocumentDownloader 14% 14% 0% :x:
com.aws.greengrass.deployment.DeploymentQueue 61% 68% 55% :white_check_mark:
com.aws.greengrass.deployment.DeploymentService 67% 69% 64% :white_check_mark:
com.aws.greengrass.deployment.IotJobsHelper$LatestQueuedJobs 19% 19% 0% :x:
com.aws.greengrass.deployment.KernelUpdateDeploymentTask 0% 0% 0% :x:
com.aws.greengrass.deployment.DynamicComponentConfigurationValidator 85% 82% 87% :white_check_mark:
com.aws.greengrass.deployment.DefaultDeploymentTask 77% 85% 69% :white_check_mark:
com.aws.greengrass.deployment.DeploymentDirectoryManager 62% 75% 50% :white_check_mark:
com.aws.greengrass.deployment.IotJobsHelper$WrapperMqttConnectionFactory 100% 100% 0% :white_check_mark:
com.aws.greengrass.deployment.IotJobsHelper 35% 44% 27% :x:
com.aws.greengrass.deployment.IotJobsHelper$1 14% 14% 0% :x:
com.aws.greengrass.deployment.ThingGroupHelper 27% 38% 16% :x:
com.aws.greengrass.deployment.ShadowDeploymentListener 35% 48% 22% :x:
com.aws.greengrass.deployment.ShadowDeploymentListener$1 14% 14% 0% :x:
com.aws.greengrass.deployment.DeploymentStatusKeeper 81% 91% 71% :white_check_mark:
com.aws.greengrass.deployment.IotJobsClientWrapper 35% 41% 30% :x:
com.aws.greengrass.util.orchestration.SystemServiceUtilsFactory 0% 0% 0% :x:
com.aws.greengrass.util.orchestration.ProcdUtils 0% 0% 0% :x:
com.aws.greengrass.util.orchestration.SystemServiceUtils 0% 0% 0% :x:
com.aws.greengrass.util.orchestration.InitUtils 0% 0% 0% :x:
com.aws.greengrass.util.orchestration.SystemdUtils 0% 0% 0% :x:
com.aws.greengrass.util.orchestration.WinswUtils 0% 0% 0% :x:
com.aws.greengrass.testing.TestFeatureParameters 83% 100% 66% :white_check_mark:
com.aws.greengrass.testing.TestFeatureParameters$1 100% 100% 0% :white_check_mark:
com.aws.greengrass.ipc.modules.PubSubIPCService 81% 81% 0% :white_check_mark:
com.aws.greengrass.ipc.modules.AuthorizationService 100% 100% 0% :white_check_mark:
com.aws.greengrass.ipc.modules.ComponentMetricIPCService 69% 69% 0% :white_check_mark:
com.aws.greengrass.ipc.modules.MqttProxyIPCService 78% 78% 0% :white_check_mark:
com.aws.greengrass.ipc.modules.LifecycleIPCService 86% 86% 0% :white_check_mark:
com.aws.greengrass.ipc.modules.ConfigStoreIPCService 100% 100% 0% :white_check_mark:
com.aws.greengrass.easysetup.GreengrassSetup 0% 0% 0% :x:
com.aws.greengrass.easysetup.DeviceProvisioningHelper 0% 0% 0% :x:

Minimum allowed coverage is 58%

Generated by :monkey: cobertura-action against 38505031cd0d741ebd2599d4552b59489c44eaaf

junfuchen99 commented 4 months ago

Could you add test coverage for deployment rollback as well?