in app/housekeeping/DeleteLongRunningEC2Instances.scala [37:66]
def runHouseKeeping(earliestStartedAt: DateTime): Unit = {
val instancesToTerminate = getRunningPackerInstancesLaunchedBefore(
earliestStartedAt
)
if (instancesToTerminate.isEmpty) {
log.info("no instances found to terminate")
} else {
log.warn(
s"instances found to terminate that were launched before $earliestStartedAt: " +
s"${instancesToTerminate.map(_.getInstanceId).mkString(",")}"
)
instancesToTerminate.foreach { instance =>
log.info(s"terminating instance ${instance.getInstanceId}")
packerEC2Client.terminateEC2Instance(instance.getInstanceId)
getBakeIdFromInstance(instance) match {
case None =>
log.warn(
s"unable to get bake id for instance ${instance.getInstanceId}"
)
case Some(id) =>
log.info(s"updating status of $id to timed out")
bakesRepo.updateStatusToTimedOutIfRunning(id)
}
}
}
}