Class MonitorCanaryTask

  • All Implemented Interfaces:
    com.netflix.spinnaker.kork.plugins.api.internal.SpinnakerExtensionPoint, com.netflix.spinnaker.orca.api.pipeline.OverridableTimeoutRetryableTask, com.netflix.spinnaker.orca.api.pipeline.RetryableTask, com.netflix.spinnaker.orca.api.pipeline.Task, org.pf4j.ExtensionPoint

    @Component
    public class MonitorCanaryTask
    extends java.lang.Object
    implements com.netflix.spinnaker.orca.api.pipeline.Task, com.netflix.spinnaker.orca.api.pipeline.OverridableTimeoutRetryableTask
    Java port of MonitorCanaryTask with alterations to use ad-hoc endpoint rather that pre-defined canary-config endpoint.

    This tasks monitors a canary judgement execution waiting for it to complete and processing the results.

    • Nested Class Summary

      • Nested classes/interfaces inherited from interface com.netflix.spinnaker.orca.api.pipeline.Task

        com.netflix.spinnaker.orca.api.pipeline.Task.Aliases
    • Constructor Summary

      Constructors 
      Constructor Description
      MonitorCanaryTask​(com.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository executionRepository, com.netflix.kayenta.security.AccountCredentialsRepository accountCredentialsRepository, com.netflix.kayenta.canary.ExecutionMapper executionMapper)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      com.netflix.spinnaker.orca.api.pipeline.TaskResult execute​(com.netflix.spinnaker.orca.api.pipeline.models.StageExecution stage)  
      long getBackoffPeriod()  
      protected java.util.List<java.lang.String> getResultsWarnings​(MonitorKayentaCanaryContext context, com.netflix.kayenta.canary.CanaryExecutionStatusResponse statusResponse)
      Generates warnings that will be propigated in the aggregated results.
      long getTimeout()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface com.netflix.spinnaker.orca.api.pipeline.RetryableTask

        getDynamicBackoffPeriod, getDynamicBackoffPeriod, getDynamicTimeout
      • Methods inherited from interface com.netflix.spinnaker.kork.plugins.api.internal.SpinnakerExtensionPoint

        getExtensionClass, getPluginId
      • Methods inherited from interface com.netflix.spinnaker.orca.api.pipeline.Task

        aliases, onCancel, onCancelWithResult, onTimeout
    • Field Detail

      • CANARY_EXECUTION_STATUS_RESPONSE

        public static final java.lang.String CANARY_EXECUTION_STATUS_RESPONSE
        See Also:
        Constant Field Values
    • Constructor Detail

      • MonitorCanaryTask

        @Autowired
        public MonitorCanaryTask​(com.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository executionRepository,
                                 com.netflix.kayenta.security.AccountCredentialsRepository accountCredentialsRepository,
                                 com.netflix.kayenta.canary.ExecutionMapper executionMapper)
    • Method Detail

      • getBackoffPeriod

        public long getBackoffPeriod()
        Specified by:
        getBackoffPeriod in interface com.netflix.spinnaker.orca.api.pipeline.RetryableTask
      • getTimeout

        public long getTimeout()
        Specified by:
        getTimeout in interface com.netflix.spinnaker.orca.api.pipeline.RetryableTask
      • execute

        @Nonnull
        public com.netflix.spinnaker.orca.api.pipeline.TaskResult execute​(@Nonnull
                                                                          com.netflix.spinnaker.orca.api.pipeline.models.StageExecution stage)
        Specified by:
        execute in interface com.netflix.spinnaker.orca.api.pipeline.Task
      • getResultsWarnings

        protected java.util.List<java.lang.String> getResultsWarnings​(MonitorKayentaCanaryContext context,
                                                                      com.netflix.kayenta.canary.CanaryExecutionStatusResponse statusResponse)
        Generates warnings that will be propigated in the aggregated results.