Test ECS Fargate Application Deployment via Spinnaker Pipeline
Closed this issue · 0 comments
jasoncoffman commented
Name of Tester: Manabu McCloskey
Date of Test: 08/26/2020
Title of Test: Test ECS Fargate Application Deployment via Spinnaker Pipeline
Spinnaker Version: 1.21.4
Plugin Version: 0.0.1
Status: PASS
Step 1
create a pipeline which creates a service in ECS Fargate that uses an account which have been provisioned through the plugin.
Expected:
{
"clusters": [
{
"account": "test-3-ecs",
"application": "test",
"associatePublicIpAddress": false,
"availabilityZones": {
"us-west-2": [
"us-west-2a",
"us-west-2b",
"us-west-2c",
"us-west-2d"
]
},
"capacity": {
"desired": 1,
"max": 1,
"min": 1
},
"cloudProvider": "ecs",
"computeUnits": 256,
"copySourceScalingPoliciesAndActions": false,
"dockerImageCredentialsSecret": "None (No registry credentials)",
"dockerLabels": {},
"ecsClusterName": "test-3-test",
"environmentVariables": {},
"freeFormDetails": "e",
"healthCheckGracePeriodSeconds": "",
"healthCheckType": "EC2",
"iamRole": "None (No IAM role)",
"imageDescription": {
"account": "my-ecr-registry",
"fromTrigger": true,
"imageId": "index.docker.io/nabuskey/public-test:echo",
"registry": "index.docker.io",
"repository": "nabuskey/public-test",
"tag": "echo"
},
"launchType": "FARGATE",
"loadBalancers": [],
"moniker": {
"app": "test",
"detail": "e",
"stack": "t"
},
"networkMode": "awsvpc",
"placementConstraints": [],
"placementStrategyName": "",
"placementStrategySequence": [],
"preferSourceCapacity": false,
"provider": "ecs",
"reservedMemory": 512,
"securityGroupNames": [
"no-ingress-sg"
],
"securityGroups": [],
"serviceDiscoveryAssociations": [],
"stack": "t",
"strategy": "",
"subnetType": "private-subnet1",
"tags": {},
"targetGroup": "",
"targetGroupMappings": [],
"taskDefinitionArtifact": {},
"useSourceCapacity": false,
"useTaskDefinitionArtifact": false
}
],
"name": "Deploy",
"type": "deploy"
}
Output:
Same as above.
Step 2
Execute the pipeline created above.
Expected:
Pipeline executes without any errors.
Output:
{
"type": "PIPELINE",
"id": "01EGNR1KV61FF25YQM64QDX69V",
"application": "test",
"name": "mccloman3",
"buildTime": 1598457696350,
"canceled": false,
"limitConcurrent": true,
"keepWaitingPipelines": false,
"stages": [
{
"id": "01EGNR1M7476DTFHZ0FRSWE2DR",
"refId": "1<1",
"type": "createServerGroup",
"name": "Deploy in us-west-2",
"startTime": 1598457696557,
"endTime": 1598457765359,
"status": "SUCCEEDED",
"context": {
"healthCheckType": "EC2",
"placementConstraints": [],
"deploy.account.name": "test-3-ecs",
"zeroDesiredCapacityCount": 0,
"stack": "t",
"targetGroup": "",
"lastCapacityCheck": {
"outOfService": 0,
"up": 0,
"failed": 0,
"starting": 1,
"down": 0,
"succeeded": 0,
"unknown": 0
},
"ecsClusterName": "test-3-test",
"preferSourceCapacity": false,
"availabilityZones": {
"us-west-2": [
"us-west-2a",
"us-west-2b",
"us-west-2c",
"us-west-2d"
]
},
"source": {
"serverGroupName": "test-t-e-v001",
"asgName": "test-t-e-v001",
"region": "us-west-2",
"useSourceCapacity": false,
"account": "test-3-ecs"
},
"type": "createServerGroup",
"currentInstanceCount": 1,
"freeFormDetails": "e",
"serviceDiscoveryAssociations": [],
"imageDescription": {
"registry": "index.docker.io",
"imageId": "index.docker.io/nabuskey/public-test:echo",
"fromTrigger": true,
"tag": "echo",
"repository": "nabuskey/public-test",
"account": "my-ecr-registry"
},
"kato.last.task.id": {
"id": "80927326-97ab-4bcd-8d8b-bc32f51f78bc"
},
"targetGroupMappings": [],
"dockerLabels": {},
"healthCheckGracePeriodSeconds": "",
"launchType": "FARGATE",
"networkMode": "awsvpc",
"interestingHealthProviderNames": [
"ecs"
],
"taskDefinitionArtifact": {},
"kato.task.terminalRetryCount": 0,
"loadBalancers": [],
"zones": [],
"placementStrategySequence": [],
"tags": {},
"kato.task.firstNotFoundRetry": -1,
"capacitySnapshot": {
"minSize": 1,
"maxSize": 1,
"desiredCapacity": 1
},
"name": "Deploy in us-west-2",
"kato.tasks": [
{
"resultObjects": [
{
"ancestorServerGroupNameByRegion": {
"us-west-2": "test-t-e-v001"
}
},
{
"deployments": [],
"serverGroupNames": [
"us-west-2:test-t-e-v002"
],
"createdArtifacts": [],
"deployedNamesByLocation": {},
"deployedNames": [],
"messages": [],
"serverGroupNameByRegion": {
"us-west-2": "test-t-e-v002"
}
}
],
"id": "80927326-97ab-4bcd-8d8b-bc32f51f78bc",
"history": [
{
"phase": "ORCHESTRATION",
"status": "Initializing Orchestration Task"
},
{
"phase": "ORCHESTRATION",
"status": "Processing op: CreateServerGroupAtomicOperation"
},
{
"phase": "CREATE_ECS_SERVER_GROUP",
"status": "Initializing Create Amazon ECS Server Group Operation..."
},
{
"phase": "ECS_DEPLOY",
"status": "Found ancestor server group, parsing details (name: test-t-e-v001)"
},
{
"phase": "CREATE_ECS_SERVER_GROUP",
"status": "Creating Amazon ECS Task Definition..."
},
{
"phase": "CREATE_ECS_SERVER_GROUP",
"status": "Done creating Amazon ECS Task Definition..."
},
{
"phase": "CREATE_ECS_SERVER_GROUP",
"status": "Creating 1 of test-t-e-v002 with arn:aws:ecs:us-west-2:123:task-definition/test-t-e:8 for test-3-ecs."
},
{
"phase": "CREATE_ECS_SERVER_GROUP",
"status": "Done creating 1 of test-t-e-v002 with arn:aws:ecs:us-west-2:123:task-definition/test-t-e:8 for test-3-ecs."
},
{
"phase": "CREATE_ECS_SERVER_GROUP",
"status": "Creating Amazon Application Auto Scaling Scalable Target Definition..."
},
{
"phase": "CREATE_ECS_SERVER_GROUP",
"status": "Done creating Amazon Application Auto Scaling Scalable Target Definition."
},
{
"phase": "ORCHESTRATION",
"status": "Orchestration completed."
}
],
"status": {
"retryable": false,
"completed": true,
"failed": false
}
}
],
"useTaskDefinitionArtifact": false,
"notification.type": "createdeploy",
"force.cache.refresh.errors": [],
"securityGroupNames": [
"no-ingress-sg"
],
"capacity": {
"min": 1,
"desired": 1,
"max": 1
},
"targetDesiredSize": 1,
"provider": "ecs",
"cloudProvider": "ecs",
"kato.result.expected": false,
"copySourceScalingPoliciesAndActions": false,
"deploy.server.groups": {
"us-west-2": [
"test-t-e-v002"
]
},
"reservedMemory": 512,
"processed.server.groups": [],
"refreshed.server.groups": [],
"moniker": {
"app": "test",
"stack": "t",
"detail": "e"
},
"useSourceCapacity": false,
"iamRole": "None (No IAM role)",
"computeUnits": 256,
"placementStrategyName": "",
"application": "test",
"environmentVariables": {},
"associatePublicIpAddress": false,
"dockerImageCredentialsSecret": "None (No registry credentials)",
"securityGroups": [],
"strategy": "",
"kato.task.notFoundRetryCount": 0,
"account": "test-3-ecs",
"subnetType": "private-subnet1",
"kato.task.lastStatus": "SUCCEEDED"
},
"outputs": {},
"tasks": [
{
"id": "1",
"implementingClass": "com.netflix.spinnaker.orca.kato.pipeline.strategy.DetermineSourceServerGroupTask",
"name": "determineSourceServerGroup",
"startTime": 1598457696633,
"endTime": 1598457696989,
"status": "SUCCEEDED",
"stageStart": true,
"stageEnd": false,
"loopStart": false,
"loopEnd": false
},
{
"id": "2",
"implementingClass": "com.netflix.spinnaker.orca.clouddriver.tasks.DetermineHealthProvidersTask",
"name": "determineHealthProviders",
"startTime": 1598457697052,
"endTime": 1598457697134,
"status": "SUCCEEDED",
"stageStart": false,
"stageEnd": false,
"loopStart": false,
"loopEnd": false
},
{
"id": "3",
"implementingClass": "com.netflix.spinnaker.orca.clouddriver.tasks.servergroup.CreateServerGroupTask",
"name": "createServerGroup",
"startTime": 1598457697176,
"endTime": 1598457697655,
"status": "SUCCEEDED",
"stageStart": false,
"stageEnd": false,
"loopStart": false,
"loopEnd": false
},
{
"id": "4",
"implementingClass": "com.netflix.spinnaker.orca.clouddriver.tasks.MonitorKatoTask",
"name": "monitorDeploy",
"startTime": 1598457697707,
"endTime": 1598457702870,
"status": "SUCCEEDED",
"stageStart": false,
"stageEnd": false,
"loopStart": false,
"loopEnd": false
},
{
"id": "5",
"implementingClass": "com.netflix.spinnaker.orca.clouddriver.tasks.servergroup.ServerGroupCacheForceRefreshTask",
"name": "forceCacheRefresh",
"startTime": 1598457702922,
"endTime": 1598457713284,
"status": "SUCCEEDED",
"stageStart": false,
"stageEnd": false,
"loopStart": false,
"loopEnd": false
},
{
"id": "6",
"implementingClass": "com.netflix.spinnaker.orca.clouddriver.tasks.instance.WaitForUpInstancesTask",
"name": "waitForUpInstances",
"startTime": 1598457713297,
"endTime": 1598457754890,
"status": "SUCCEEDED",
"stageStart": false,
"stageEnd": false,
"loopStart": false,
"loopEnd": false
},
{
"id": "7",
"implementingClass": "com.netflix.spinnaker.orca.clouddriver.tasks.servergroup.ServerGroupCacheForceRefreshTask",
"name": "forceCacheRefresh",
"startTime": 1598457754897,
"endTime": 1598457765220,
"status": "SUCCEEDED",
"stageStart": false,
"stageEnd": false,
"loopStart": false,
"loopEnd": false
},
{
"id": "8",
"implementingClass": "com.netflix.spinnaker.orca.igor.tasks.GetCommitsTask",
"name": "getCommits",
"startTime": 1598457765228,
"endTime": 1598457765349,
"status": "SUCCEEDED",
"stageStart": false,
"stageEnd": true,
"loopStart": false,
"loopEnd": false
}
],
"syntheticStageOwner": "STAGE_BEFORE",
"parentStageId": "01EGNR1M2Y0M1F26VXDP8WQB29",
"requisiteStageRefIds": []
},
{
"id": "01EGNR1M2Y0M1F26VXDP8WQB29",
"refId": "1",
"type": "deploy",
"name": "Deploy",
"startTime": 1598457696478,
"endTime": 1598457765522,
"status": "SUCCEEDED",
"context": {
"clusters": [
{
"healthCheckType": "EC2",
"placementConstraints": [],
"stack": "t",
"targetGroup": "",
"ecsClusterName": "test-3-test",
"preferSourceCapacity": false,
"securityGroupNames": [
"no-ingress-sg"
],
"availabilityZones": {
"us-west-2": [
"us-west-2a",
"us-west-2b",
"us-west-2c",
"us-west-2d"
]
},
"capacity": {
"min": 1,
"desired": 1,
"max": 1
},
"freeFormDetails": "e",
"provider": "ecs",
"serviceDiscoveryAssociations": [],
"cloudProvider": "ecs",
"imageDescription": {
"registry": "index.docker.io",
"imageId": "index.docker.io/nabuskey/public-test:echo",
"fromTrigger": true,
"tag": "echo",
"repository": "nabuskey/public-test",
"account": "my-ecr-registry"
},
"copySourceScalingPoliciesAndActions": false,
"targetGroupMappings": [],
"dockerLabels": {},
"healthCheckGracePeriodSeconds": "",
"launchType": "FARGATE",
"networkMode": "awsvpc",
"reservedMemory": 512,
"taskDefinitionArtifact": {},
"loadBalancers": [],
"moniker": {
"app": "test",
"stack": "t",
"detail": "e"
},
"useSourceCapacity": false,
"placementStrategySequence": [],
"tags": {},
"iamRole": "None (No IAM role)",
"computeUnits": 256,
"placementStrategyName": "",
"application": "test",
"environmentVariables": {},
"associatePublicIpAddress": false,
"dockerImageCredentialsSecret": "None (No registry credentials)",
"securityGroups": [],
"strategy": "",
"useTaskDefinitionArtifact": false,
"account": "test-3-ecs",
"subnetType": "private-subnet1"
}
]
},
"outputs": {},
"tasks": [
{
"id": "1",
"implementingClass": "com.netflix.spinnaker.orca.kato.pipeline.ParallelDeployStage.CompleteParallelDeployTask",
"name": "completeParallelDeploy",
"startTime": 1598457765414,
"endTime": 1598457765468,
"status": "SUCCEEDED",
"stageStart": true,
"stageEnd": true,
"loopStart": false,
"loopEnd": false
}
],
"requisiteStageRefIds": []
}
],
"startTime": 1598457696422,
"endTime": 1598457765574,
"status": "SUCCEEDED",
"authentication": {
"user": "anonymous",
"allowedAccounts": [
"mccloman-1",
"mccloman-1-ecs",
"my-ecr-registry",
"test-3",
"test-3-ecs"
]
},
"origin": "api",
"trigger": {
"type": "manual",
"user": "[anonymous]",
"parameters": {},
"artifacts": [
{
"customKind": false,
"reference": "index.docker.io/nabuskey/public-test:echo",
"metadata": {},
"name": "index.docker.io/nabuskey/public-test",
"type": "docker/image",
"version": "echo"
}
],
"notifications": [],
"rebake": false,
"dryRun": false,
"strategy": false,
"account": "my-ecr-registry",
"repository": "nabuskey/public-test",
"tag": "echo",
"resolvedExpectedArtifacts": [],
"expectedArtifacts": [],
"registry": "index.docker.io",
"eventId": "11a1deeb-66d8-435e-a27a-2e91ad42a854",
"enabled": true,
"executionId": "01EGNR1KV61FF25YQM64QDX69V",
"organization": "nabuskey",
"preferred": false
},
"pipelineConfigId": "791ea0de-8c25-47b0-931a-7c7e8a9281d1",
"notifications": [],
"initialConfig": {},
"systemNotifications": [],
"spelEvaluator": "v4"
}