Skip to content

Commit

Permalink
Re-enabling titus clone behavior
Browse files Browse the repository at this point in the history
  • Loading branch information
ajordens authored and tomaslin committed Mar 26, 2018
1 parent c7d00f9 commit 600fa8c
Showing 1 changed file with 64 additions and 86 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -100,13 +100,10 @@ class TitusDeployHandler implements DeployHandler<TitusDeployDescription> {
description.labels.put("interestingHealthProviderNames", description.interestingHealthProviderNames.join(",") )
}

if (description.source.useSourceCapacity) {
if (description.source.asgName) {
Source source = description.source

task.updateStatus BASE_PHASE, "Use source capacity specified: trying to resolve capacity from ${source.asgName}"

TitusClient sourceClient = buildSourceTitusClient(source)

if (!sourceClient) {
throw new RuntimeException("Unable to locate source (${source.account}:${source.region}:${source.asgName})")
}
Expand All @@ -115,91 +112,72 @@ class TitusDeployHandler implements DeployHandler<TitusDeployDescription> {
throw new RuntimeException("Unable to locate source (${source.account}:${source.region}:${source.asgName})" )
}

task.updateStatus BASE_PHASE, "Use source capacity specified: found ${source.asgName}"
task.updateStatus BASE_PHASE, "Copying deployment details from (${source.account}:${source.region}:${source.asgName})"

description.runtimeLimitSecs = description.runtimeLimitSecs ?: sourceJob.runtimeLimitSecs
description.securityGroups = description.securityGroups ?: sourceJob.securityGroups
description.imageId = description.imageId ?: (sourceJob.appName + ":" + sourceJob.version)

if (description.source.useSourceCapacity) {
description.capacity.min = sourceJob.instancesMin
description.capacity.max = sourceJob.instancesMax
description.capacity.desired = sourceJob.instancesDesired
}

description.capacity.min = sourceJob.instancesMin
description.capacity.max = sourceJob.instancesMax
description.capacity.desired = sourceJob.instancesDesired
description.resources.cpu = description.resources.cpu ?: sourceJob.cpu
description.resources.memory = description.resources.memory ?: sourceJob.memory
description.resources.disk = description.resources.disk ?: sourceJob.disk
description.retries = description.retries ?: sourceJob.retries
description.runtimeLimitSecs = description.runtimeLimitSecs ?: sourceJob.runtimeLimitSecs
description.resources.gpu = description.resources.gpu ?: sourceJob.gpu
description.resources.networkMbps = description.resources.networkMbps ?: sourceJob.networkMbps
description.efs = description.efs ?: sourceJob.efs
description.env = description.env ?: sourceJob.environment
description.resources.allocateIpAddress = description.resources.allocateIpAddress ?: sourceJob.allocateIpAddress
description.entryPoint = description.entryPoint ?: sourceJob.entryPoint
description.iamProfile = description.iamProfile ?: sourceJob.iamProfile
description.capacityGroup = description.capacityGroup ?: sourceJob.capacityGroup

if(!description.labels || description.labels.isEmpty()){
if(!description.labels){
description.labels = [:]
}
sourceJob.labels.each{ k, v -> description.labels.put(k, v)}
}
description.inService = description.inService ?: sourceJob.inService
description.migrationPolicy = description.migrationPolicy ?: sourceJob.migrationPolicy
description.jobType = description.jobType ?: "service"
if (!description.hardConstraints) description.hardConstraints = []
if (!description.softConstraints) description.softConstraints = []
if (description.softConstraints.empty && sourceJob.softConstraints) {
sourceJob.softConstraints.each {
if (!description.hardConstraints.contains(it)) {
description.softConstraints.add(it)
}
}
}
if (description.hardConstraints.empty && sourceJob.hardConstraints) {
sourceJob.hardConstraints.each {
if (!description.softConstraints.contains(it)) {
description.hardConstraints.add(it)
}
}
}
}

// if (description.source.asgName) {
// Source source = description.source

// TitusClient sourceClient = buildSourceTitusClient(source)
// if (!sourceClient) {
// throw new RuntimeException("Unable to locate source (${source.account}:${source.region}:${source.asgName})")
// }
// Job sourceJob = sourceClient.findJobByName(source.asgName)
// if (!sourceJob) {
// throw new RuntimeException("Unable to locate source (${source.account}:${source.region}:${source.asgName})" )
// }

// task.updateStatus BASE_PHASE, "Copying deployment details from (${source.account}:${source.region}:${source.asgName})"

// description.runtimeLimitSecs = description.runtimeLimitSecs ?: sourceJob.runtimeLimitSecs
// description.securityGroups = description.securityGroups ?: sourceJob.securityGroups
// description.imageId = description.imageId ?: (sourceJob.appName + ":" + sourceJob.version)

// if (description.source.useSourceCapacity) {
// description.capacity.min = sourceJob.instancesMin
// description.capacity.max = sourceJob.instancesMax
// description.capacity.desired = sourceJob.instancesDesired
// }

// description.resources.cpu = description.resources.cpu ?: sourceJob.cpu
// description.resources.memory = description.resources.memory ?: sourceJob.memory
// description.resources.disk = description.resources.disk ?: sourceJob.disk
// description.retries = description.retries ?: sourceJob.retries
// description.runtimeLimitSecs = description.runtimeLimitSecs ?: sourceJob.runtimeLimitSecs
// description.resources.gpu = description.resources.gpu ?: sourceJob.gpu
// description.resources.networkMbps = description.resources.networkMbps ?: sourceJob.networkMbps
// description.efs = description.efs ?: sourceJob.efs
// description.env = description.env ?: sourceJob.environment
// description.resources.allocateIpAddress = description.resources.allocateIpAddress ?: sourceJob.allocateIpAddress
// description.entryPoint = description.entryPoint ?: sourceJob.entryPoint
// description.iamProfile = description.iamProfile ?: sourceJob.iamProfile
// description.capacityGroup = description.capacityGroup ?: sourceJob.capacityGroup

// if(!description.labels || description.labels.isEmpty()){
// if(!description.labels){
// description.labels = [:]
// }
// sourceJob.labels.each{ k, v -> description.labels.put(k, v)}
// }
// description.inService = description.inService ?: sourceJob.inService
// description.migrationPolicy = description.migrationPolicy ?: sourceJob.migrationPolicy
// description.jobType = description.jobType ?: "service"
// if (!description.hardConstraints) description.hardConstraints = []
// if (!description.softConstraints) description.softConstraints = []
// if (description.softConstraints.empty && sourceJob.softConstraints) {
// sourceJob.softConstraints.each {
// if (!description.hardConstraints.contains(it)) {
// description.softConstraints.add(it)
// }
// }
// }
// if (description.hardConstraints.empty && sourceJob.hardConstraints) {
// sourceJob.hardConstraints.each {
// if (!description.softConstraints.contains(it)) {
// description.hardConstraints.add(it)
// }
// }
// }
// }

// task.updateStatus BASE_PHASE, "Preparing deployment to ${account}:${region}${subnet ? ':' + subnet : ''}..."
// DockerImage dockerImage = new DockerImage(description.imageId)

// TitusServerGroupNameResolver serverGroupNameResolver = new TitusServerGroupNameResolver(titusClient, description.region)
// String nextServerGroupName = serverGroupNameResolver.resolveNextServerGroupName(description.application, description.stack, description.freeFormDetails, false)
// task.updateStatus BASE_PHASE, "Resolved server group name to ${nextServerGroupName}"

// if (!description.env) description.env = [:]
// if (!description.labels) description.labels = [:]

// if (description.interestingHealthProviderNames && !description.interestingHealthProviderNames.empty) {
// description.labels.put("interestingHealthProviderNames", description.interestingHealthProviderNames.join(","))
// }
task.updateStatus BASE_PHASE, "Preparing deployment to ${account}:${region}${subnet ? ':' + subnet : ''}..."
DockerImage dockerImage = new DockerImage(description.imageId)

TitusServerGroupNameResolver serverGroupNameResolver = new TitusServerGroupNameResolver(titusClient, description.region)
String nextServerGroupName = serverGroupNameResolver.resolveNextServerGroupName(description.application, description.stack, description.freeFormDetails, false)
task.updateStatus BASE_PHASE, "Resolved server group name to ${nextServerGroupName}"

if (!description.env) description.env = [:]
if (!description.labels) description.labels = [:]

if (description.interestingHealthProviderNames && !description.interestingHealthProviderNames.empty) {
description.labels.put("interestingHealthProviderNames", description.interestingHealthProviderNames.join(","))
}

SubmitJobRequest submitJobRequest = new SubmitJobRequest()
.withJobName(nextServerGroupName)
Expand Down

0 comments on commit 600fa8c

Please sign in to comment.