Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(build): add halyard-integration module to exercise the just-buil…
…t docker image (#2144) * fix(core): move @Bean methods from GoogleProfileReader so separate config class to remove circular dependency error on startup *************************** APPLICATION FAILED TO START *************************** Description: The dependencies of some of the beans in the application context form a cycle: versionsController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/VersionsController.class] ↓ versionsService (field com.netflix.spinnaker.halyard.core.registry.v1.ProfileRegistry com.netflix.spinnaker.halyard.config.services.v1.VersionsService.profileRegistry) ↓ profileRegistry (field com.netflix.spinnaker.halyard.core.registry.v1.GoogleProfileReader com.netflix.spinnaker.halyard.core.registry.v1.ProfileRegistry.googleProfileReader) ┌─────┐ | googleProfileReader (field com.google.api.services.storage.Storage com.netflix.spinnaker.halyard.core.registry.v1.GoogleProfileReader.applicationDefaultGoogleStorage) └─────┘ Action: Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true. * fix(config): remove unused ProviderService variable from EcsAccountValidator to prevent circular dependency startup error: *************************** APPLICATION FAILED TO START *************************** Description: The dependencies of some of the beans in the application context form a cycle: haServiceController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/HaServiceController.class] ↓ haServiceService (field private com.netflix.spinnaker.halyard.config.services.v1.ValidateService com.netflix.spinnaker.halyard.config.services.v1.HaServiceService.validateService) ┌─────┐ | validateService (field com.netflix.spinnaker.halyard.config.validate.v1.ValidatorCollection com.netflix.spinnaker.halyard.config.services.v1.ValidateService.validatorCollection) ↑ ↓ | validatorCollection (field private java.util.List com.netflix.spinnaker.halyard.config.validate.v1.ValidatorCollection.validators) ↑ ↓ | ecsAccountValidator (field com.netflix.spinnaker.halyard.config.services.v1.ProviderService com.netflix.spinnaker.halyard.config.validate.v1.providers.ecs.EcsAccountValidator.providerService) ↑ ↓ | providerService (field private com.netflix.spinnaker.halyard.config.services.v1.ValidateService com.netflix.spinnaker.halyard.config.services.v1.ProviderService.validateService) └─────┘ Action: Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true. * fix(config): Use @Lazy with ValidatorCollection.validators to remove circular dependency startup error *************************** APPLICATION FAILED TO START *************************** Description: The dependencies of some of the beans in the application context form a cycle: haServiceController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/HaServiceController.class] ↓ haServiceService (field private com.netflix.spinnaker.halyard.config.services.v1.ValidateService com.netflix.spinnaker.halyard.config.services.v1.HaServiceService.validateService) ┌─────┐ | validateService (field com.netflix.spinnaker.halyard.config.validate.v1.ValidatorCollection com.netflix.spinnaker.halyard.config.services.v1.ValidateService.validatorCollection) ↑ ↓ | validatorCollection (field private java.util.List com.netflix.spinnaker.halyard.config.validate.v1.ValidatorCollection.validators) ↑ ↓ | ecsAccountValidator (field com.netflix.spinnaker.halyard.config.services.v1.AccountService com.netflix.spinnaker.halyard.config.validate.v1.providers.ecs.EcsAccountValidator.accountService) ↑ ↓ | accountService (field private com.netflix.spinnaker.halyard.config.services.v1.ProviderService com.netflix.spinnaker.halyard.config.services.v1.AccountService.providerService) ↑ ↓ | providerService (field private com.netflix.spinnaker.halyard.config.services.v1.ValidateService com.netflix.spinnaker.halyard.config.services.v1.ProviderService.validateService) └─────┘ Action: Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true. * fix(config): add @Lazy to DeploymentService.storageService to fix circular dependency startup error: *************************** APPLICATION FAILED TO START *************************** Description: The dependencies of some of the beans in the application context form a cycle: haServiceController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/HaServiceController.class] ↓ haServiceService (field private com.netflix.spinnaker.halyard.config.services.v1.DeploymentService com.netflix.spinnaker.halyard.config.services.v1.HaServiceService.deploymentService) ┌─────┐ | deploymentService (field private com.netflix.spinnaker.halyard.config.services.v1.PersistentStorageService com.netflix.spinnaker.halyard.config.services.v1.DeploymentService.storageService) ↑ ↓ | persistentStorageService (field private com.netflix.spinnaker.halyard.config.services.v1.DeploymentService com.netflix.spinnaker.halyard.config.services.v1.PersistentStorageService.deploymentService) └─────┘ Action: Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true. * fix(dpeloy): add @Lazy annotation to GoogleIgorService.googleDistributedServiceDelegate to fix circular dependency startup error: *************************** APPLICATION FAILED TO START *************************** Description: The dependencies of some of the beans in the application context form a cycle: deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class] ↓ generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory) ↓ serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider) ↓ kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.clouddriverService) ↓ kubernetesV2ClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService.serviceDelegate) ↓ kubernetesV2ServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate.monitoringDaemonService) ↓ kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) ┌─────┐ | googleIgorService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleIgorService.googleDistributedServiceDelegate) ↑ ↓ | googleDistributedServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleMonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate.monitoringDaemonService) ↑ ↓ | googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) └─────┘ Action: Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true. * fix(deploy): add @Lazy annotation to GoogleRedisBootstrapService.googleDistributedServiceDelegate to fix circular dependency error on startup: *************************** APPLICATION FAILED TO START *************************** Description: The dependencies of some of the beans in the application context form a cycle: deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class] ↓ generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory) ↓ serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider) ↓ kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.clouddriverService) ↓ kubernetesV2ClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService.serviceDelegate) ↓ kubernetesV2ServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate.monitoringDaemonService) ↓ kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) ┌─────┐ | googleRedisBootstrapService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleRedisBootstrapService.googleDistributedServiceDelegate) ↑ ↓ | googleDistributedServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleMonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate.monitoringDaemonService) ↑ ↓ | googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) └─────┘ Action: Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true. * fix(deploy): add @Lazy annotation to GoogleDeckService.googleDistributedServiceDelegate to fix circular dependency error on startup *************************** APPLICATION FAILED TO START *************************** Description: The dependencies of some of the beans in the application context form a cycle: deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class] ↓ generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory) ↓ serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider) ↓ kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.clouddriverService) ↓ kubernetesV2ClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService.serviceDelegate) ↓ kubernetesV2ServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate.monitoringDaemonService) ↓ kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) ┌─────┐ | googleDeckService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDeckService.googleDistributedServiceDelegate) ↑ ↓ | googleDistributedServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleMonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate.monitoringDaemonService) ↑ ↓ | googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) └─────┘ Action: Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true. * fix(deploy): add @Lazy annotation to GoogleEchoService.googleDistributedServiceDelegate to fix circular dependency error on startup: *************************** APPLICATION FAILED TO START *************************** Description: The dependencies of some of the beans in the application context form a cycle: deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class] ↓ generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory) ↓ serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider) ↓ kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.clouddriverService) ↓ kubernetesV2ClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService.serviceDelegate) ↓ kubernetesV2ServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate.monitoringDaemonService) ↓ kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) ┌─────┐ | googleEchoService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleEchoService.googleDistributedServiceDelegate) ↑ ↓ | googleDistributedServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleMonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate.monitoringDaemonService) ↑ ↓ | googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) └─────┘ Action: Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true. * fix(deploy): add @Lazy annotation to GoogleConsulServerService.googleDistributedServiceDelegate to fix circular dependency error on startup: *************************** APPLICATION FAILED TO START *************************** Description: The dependencies of some of the beans in the application context form a cycle: deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class] ↓ generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory) ↓ serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider) ↓ kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.clouddriverService) ↓ kubernetesV2ClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService.serviceDelegate) ↓ kubernetesV2ServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate.monitoringDaemonService) ↓ kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) ┌─────┐ | googleConsulServerService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleConsulServerService.googleDistributedServiceDelegate) ↑ ↓ | googleDistributedServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleMonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate.monitoringDaemonService) ↑ ↓ | googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) └─────┘ Action: Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true. * fix(deploy): add @Lazy annotation to GoogleFront50Service.googleDistributedServiceDelegate to fix circular dependency error on startup: *************************** APPLICATION FAILED TO START *************************** Description: The dependencies of some of the beans in the application context form a cycle: deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class] ↓ generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory) ↓ serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider) ↓ kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.clouddriverService) ↓ kubernetesV2ClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService.serviceDelegate) ↓ kubernetesV2ServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate.monitoringDaemonService) ↓ kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) ┌─────┐ | googleFront50Service (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleFront50Service.googleDistributedServiceDelegate) ↑ ↓ | googleDistributedServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleMonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate.monitoringDaemonService) ↑ ↓ | googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) └─────┘ Action: Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true. * fix(deploy): add @Lazy annotation to GoogleClouddriverService.googleDistributedServiceDelegate to fix circular dependency error on startup: *************************** APPLICATION FAILED TO START *************************** Description: The dependencies of some of the beans in the application context form a cycle: deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class] ↓ generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory) ↓ serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider) ↓ kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.clouddriverService) ↓ kubernetesV2ClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService.serviceDelegate) ↓ kubernetesV2ServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate.monitoringDaemonService) ↓ kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) ┌─────┐ | googleClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleClouddriverService.googleDistributedServiceDelegate) ↑ ↓ | googleDistributedServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleMonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate.monitoringDaemonService) ↑ ↓ | googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) └─────┘ Action: Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true. * fix(deploy): add @Lazy annotation to GoogleOrcaBootstrapService.googleDistributedServiceDelegate to fix circular dependency error on startup: *************************** APPLICATION FAILED TO START *************************** Description: The dependencies of some of the beans in the application context form a cycle: deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class] ↓ generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory) ↓ serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider) ↓ kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.clouddriverService) ↓ kubernetesV2ClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService.serviceDelegate) ↓ kubernetesV2ServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate.monitoringDaemonService) ↓ kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) ┌─────┐ | googleOrcaService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleOrcaService.googleDistributedServiceDelegate) ↑ ↓ | googleDistributedServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleMonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate.monitoringDaemonService) ↑ ↓ | googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) └─────┘ Action: Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true. * fix(deploy): add @Lazy annotation to GoogleOrcaService.googleDistributedServiceDelegate to fix circular dependency issue on startup *************************** APPLICATION FAILED TO START *************************** Description: The dependencies of some of the beans in the application context form a cycle: deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class] ↓ generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory) ↓ serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider) ↓ kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.clouddriverService) ↓ kubernetesV2ClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService.serviceDelegate) ↓ kubernetesV2ServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate.monitoringDaemonService) ↓ kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) ┌─────┐ | googleOrcaService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleOrcaService.googleDistributedServiceDelegate) ↑ ↓ | googleDistributedServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleMonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate.monitoringDaemonService) ↑ ↓ | googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) └─────┘ Action: Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true. * fix(deploy): add @Lazy annotation to GoogleRoscoService.googleDistributedServiceDelegate to fix circular dependency error on startup *************************** APPLICATION FAILED TO START *************************** Description: The dependencies of some of the beans in the application context form a cycle: deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class] ↓ generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory) ↓ serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider) ↓ kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.clouddriverService) ↓ kubernetesV2ClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService.serviceDelegate) ↓ kubernetesV2ServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate.monitoringDaemonService) ↓ kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) ┌─────┐ | googleRoscoService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleRoscoService.googleDistributedServiceDelegate) ↑ ↓ | googleDistributedServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleMonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate.monitoringDaemonService) ↑ ↓ | googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) └─────┘ Action: Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true. * fix(deploy): add @Lazy annotation to GoogleFiatService.googleDistributedServiceDelegate to fix circular dependency error on startup *************************** APPLICATION FAILED TO START *************************** Description: The dependencies of some of the beans in the application context form a cycle: deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class] ↓ generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory) ↓ serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider) ↓ kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.clouddriverService) ↓ kubernetesV2ClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService.serviceDelegate) ↓ kubernetesV2ServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate.monitoringDaemonService) ↓ kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) ┌─────┐ | googleFiatService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleFiatService.googleDistributedServiceDelegate) ↑ ↓ | googleDistributedServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleMonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate.monitoringDaemonService) ↑ ↓ | googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) └─────┘ Action: Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true. * fix(deploy): add @Lazy annotation to GoogleClouddriverBootstrapService.googleDistributedServiceDelegate to fix circular dependency startup error *************************** APPLICATION FAILED TO START *************************** Description: The dependencies of some of the beans in the application context form a cycle: deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class] ↓ generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory) ↓ serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider) ↓ kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.clouddriverService) ↓ kubernetesV2ClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService.serviceDelegate) ↓ kubernetesV2ServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate.monitoringDaemonService) ↓ kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) ┌─────┐ | googleClouddriverBootstrapService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleClouddriverBootstrapService.googleDistributedServiceDelegate) ↑ ↓ | googleDistributedServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleMonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate.monitoringDaemonService) ↑ ↓ | googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) └─────┘ Action: Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true. * fix(deploy): add @Lazy annotation to GoogleRedisService.googleDistributedServiceDelegate to fix circular dependency error on startup: *************************** APPLICATION FAILED TO START *************************** Description: The dependencies of some of the beans in the application context form a cycle: deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class] ↓ generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory) ↓ serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider) ↓ kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.clouddriverService) ↓ kubernetesV2ClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService.serviceDelegate) ↓ kubernetesV2ServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate.monitoringDaemonService) ↓ kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) ┌─────┐ | googleRedisService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleRedisService.googleDistributedServiceDelegate) ↑ ↓ | googleDistributedServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleMonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate.monitoringDaemonService) ↑ ↓ | googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) └─────┘ Action: Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true. * fix(deploy): add @Lazy annotation to GoogleGateService.googleDistributedServiceDelegate to fix circular dependency error at startup *************************** APPLICATION FAILED TO START *************************** Description: The dependencies of some of the beans in the application context form a cycle: deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class] ↓ generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory) ↓ serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider) ↓ kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.clouddriverService) ↓ kubernetesV2ClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService.serviceDelegate) ↓ kubernetesV2ServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate.monitoringDaemonService) ↓ kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) ┌─────┐ | googleGateService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleGateService.googleDistributedServiceDelegate) ↑ ↓ | googleDistributedServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleMonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate.monitoringDaemonService) ↑ ↓ | googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) └─────┘ Action: Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true. * fix(deploy): add @Lazy annotation to GoogleKayentaService.googleDistributedServiceDelegate to fix circular dependency error on startup *************************** APPLICATION FAILED TO START *************************** Description: The dependencies of some of the beans in the application context form a cycle: deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class] ↓ generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory) ↓ serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider) ↓ kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.clouddriverService) ↓ kubernetesV2ClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService.serviceDelegate) ↓ kubernetesV2ServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate.monitoringDaemonService) ↓ kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) ┌─────┐ | googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) ↑ ↓ | googleKayentaService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleKayentaService.googleDistributedServiceDelegate) ↑ ↓ | googleDistributedServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleMonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate.monitoringDaemonService) └─────┘ Action: Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true. * fix(deploy): add @Lazy annotation to GoogleVaultServerService.googleDistributedServiceDelegate to fix circular dependency error on startup: *************************** APPLICATION FAILED TO START *************************** Description: The dependencies of some of the beans in the application context form a cycle: deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class] ↓ generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory) ↓ serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider) ↓ kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.clouddriverService) ↓ kubernetesV2ClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService.serviceDelegate) ↓ kubernetesV2ServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate.monitoringDaemonService) ↓ kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) ┌─────┐ | googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) ↑ ↓ | googleVaultServerService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleVaultServerService.googleDistributedServiceDelegate) ↑ ↓ | googleDistributedServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleMonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate.monitoringDaemonService) └─────┘ Action: Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true. * fix(deploy): add @Lazy annotation to KubernetesV2ServiceDelegate.monitoringDaemonService to fix circular dependency error on startup *************************** APPLICATION FAILED TO START *************************** Description: The dependencies of some of the beans in the application context form a cycle: deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class] ↓ generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory) ↓ serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider) ↓ kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.clouddriverService) ┌─────┐ | kubernetesV2ClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService.serviceDelegate) ↑ ↓ | kubernetesV2ServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate.monitoringDaemonService) ↑ ↓ | kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) ↑ ↓ | googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) └─────┘ Action: Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true. * fix(deploy): remove unused SpinnakerMonitoringDaemonService.service property to fix circular dependency error on startup: *************************** APPLICATION FAILED TO START *************************** Description: The dependencies of some of the beans in the application context form a cycle: deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class] ↓ generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory) ↓ serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider) ↓ kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.monitoringDaemonService) ┌─────┐ | kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) ↑ ↓ | googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services) └─────┘ Action: Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true. * feat(docker): add HEALTHCHECK to facilitate testing container startup * feat(build): add halyard-integration module to exercise the just-built docker image * feat(gha): run integration test in pr builds multi-arch with --load doesn't work, so add a separate step using the local platform to make an image available for testing. see docker/buildx#59 * feat(gha): run integration test in branch builds * refactor(core): remove unused GoogleProfileReader.createGoogleStorage method
- Loading branch information