@@ -44,6 +44,7 @@ import com.netflix.spinnaker.keel.api.ec2.byRegion
44
44
import com.netflix.spinnaker.keel.api.ec2.resolve
45
45
import com.netflix.spinnaker.keel.api.plugins.ResolvableResourceHandler
46
46
import com.netflix.spinnaker.keel.api.plugins.Resolver
47
+ import com.netflix.spinnaker.keel.api.support.EventPublisher
47
48
import com.netflix.spinnaker.keel.api.withDefaultsOmitted
48
49
import com.netflix.spinnaker.keel.artifacts.DebianArtifact
49
50
import com.netflix.spinnaker.keel.clouddriver.CloudDriverCache
@@ -64,8 +65,6 @@ import com.netflix.spinnaker.keel.core.serverGroup
64
65
import com.netflix.spinnaker.keel.diff.toIndividualDiffs
65
66
import com.netflix.spinnaker.keel.ec2.MissingAppVersionException
66
67
import com.netflix.spinnaker.keel.ec2.toEc2Api
67
- import com.netflix.spinnaker.keel.events.ArtifactVersionDeployed
68
- import com.netflix.spinnaker.keel.events.ArtifactVersionDeploying
69
68
import com.netflix.spinnaker.keel.exceptions.ActiveServerGroupsException
70
69
import com.netflix.spinnaker.keel.exceptions.ExportError
71
70
import com.netflix.spinnaker.keel.orca.ClusterExportHelper
@@ -77,25 +76,24 @@ import com.netflix.spinnaker.keel.orca.waitStage
77
76
import com.netflix.spinnaker.keel.plugin.buildSpecFromDiff
78
77
import com.netflix.spinnaker.keel.retrofit.isNotFound
79
78
import com.netflix.spinnaker.keel.serialization.configuredObjectMapper
80
- import java.time.Clock
81
- import java.time.Duration
82
- import java.time.Instant
83
- import java.time.ZoneId
84
- import java.time.format.DateTimeFormatter
85
79
import kotlinx.coroutines.Deferred
86
80
import kotlinx.coroutines.async
87
81
import kotlinx.coroutines.coroutineScope
88
82
import kotlinx.coroutines.runBlocking
89
- import org.springframework.context.ApplicationEventPublisher
90
83
import retrofit2.HttpException
84
+ import java.time.Clock
85
+ import java.time.Duration
86
+ import java.time.Instant
87
+ import java.time.ZoneId
88
+ import java.time.format.DateTimeFormatter
91
89
92
90
class ClusterHandler (
93
91
private val cloudDriverService : CloudDriverService ,
94
92
private val cloudDriverCache : CloudDriverCache ,
95
93
private val orcaService : OrcaService ,
96
94
private val taskLauncher : TaskLauncher ,
97
95
private val clock : Clock ,
98
- private val publisher : ApplicationEventPublisher ,
96
+ override val eventPublisher : EventPublisher ,
99
97
resolvers : List <Resolver <* >>,
100
98
private val clusterExportHelper : ClusterExportHelper
101
99
) : ResolvableResourceHandler<ClusterSpec, Map<String, ServerGroup>>(resolvers) {
@@ -148,12 +146,7 @@ class ClusterHandler(
148
146
)
149
147
150
148
if (createDiffs.isNotEmpty()) {
151
- publisher.publishEvent(
152
- ArtifactVersionDeploying (
153
- resourceId = resource.id,
154
- artifactVersion = version
155
- )
156
- )
149
+ notifyArtifactDeploying(resource, version)
157
150
}
158
151
159
152
return @coroutineScope deferred.map { it.await() }
@@ -311,12 +304,7 @@ class ClusterHandler(
311
304
)
312
305
}
313
306
314
- publisher.publishEvent(
315
- ArtifactVersionDeploying (
316
- resourceId = resource.id,
317
- artifactVersion = version
318
- )
319
- )
307
+ notifyArtifactDeploying(resource, version)
320
308
321
309
val task = deferred.await()
322
310
priorExecutionId = task.id
@@ -887,12 +875,7 @@ class ClusterHandler(
887
875
// // only publish a successfully deployed event if the server group is healthy
888
876
val appVersion = activeServerGroups.first().launchConfiguration.appVersion
889
877
if (appVersion != null ) {
890
- publisher.publishEvent(
891
- ArtifactVersionDeployed (
892
- resourceId = resource.id,
893
- artifactVersion = appVersion
894
- )
895
- )
878
+ notifyArtifactDeployed(resource, appVersion)
896
879
}
897
880
}
898
881
0 commit comments