spinnaker-plugins/aws-account-registration-plugin-spinnaker

Test deployment from Deck for non-existent account

dhamijag opened this issue · 0 comments

Name of Tester: Manabu McCloskey
Date of Test: 08/26/2020
Title of Test: Test deployment from Deck for non-existent account

Spinnaker Version: 1.22
Plugin Version: 0.0.1

Status: PASS

Step 1

Create an account in "SUSPENDED" state.
Set pullFrequencyInMilliSeconds to 10000000.
Attempt to deploy to the account that does not exist.

{
  "clusters": [
    {
      "account": "mccloman-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": "mccloman-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"
}
Expected:

Deployment fails.

Output:
Exception ( Create Server Group )
credentials not found (name: mccloman-3-ecs, names: [my-ecr-registry, mccloman-1-ecs, mccloman-1])

Step 2

Set account status to ACTIVE
Attempt to deploy to the account.

Expected:

Deployment works.

Output:
{
  "type": "PIPELINE",
  "id": "01EGP2Z7D8Z0BBYR39484SK2S0",
  "application": "test",
  "name": "mccloman3",
  "buildTime": 1598469152230,
  "canceled": false,
  "limitConcurrent": true,
  "keepWaitingPipelines": false,
  "stages": [
    {
      "id": "01EGP2Z7J6HPG11TDVJ7ACZ55Q",
      "refId": "1<1",
      "type": "createServerGroup",
      "name": "Deploy in us-west-2",
      "startTime": 1598469152377,
      "endTime": 1598469223257,
      "status": "SUCCEEDED",
      "context": {
        "healthCheckType": "EC2",
        "placementConstraints": [],
        "deploy.account.name": "mccloman-3-ecs",
        "zeroDesiredCapacityCount": 0,
        "stack": "t",
        "targetGroup": "",
        "lastCapacityCheck": {
          "outOfService": 0,
          "up": 0,
          "failed": 0,
          "starting": 1,
          "down": 0,
          "succeeded": 0,
          "unknown": 0
        },
        "ecsClusterName": "mccloman-3-test",
        "preferSourceCapacity": false,
        "availabilityZones": {
          "us-west-2": [
            "us-west-2a",
            "us-west-2b",
            "us-west-2c",
            "us-west-2d"
          ]
        },
        "source": {},
        "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": "49609896-3f1d-40db-a20b-7af634e9c1c0"
        },
        "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-v003"
                }
              },
              {
                "deployments": [],
                "serverGroupNames": [
                  "us-west-2:test-t-e-v004"
                ],
                "createdArtifacts": [],
                "deployedNamesByLocation": {},
                "deployedNames": [],
                "messages": [],
                "serverGroupNameByRegion": {
                  "us-west-2": "test-t-e-v004"
                }
              }
            ],
            "id": "49609896-3f1d-40db-a20b-7af634e9c1c0",
            "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-v003)"
              },
              {
                "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-v004 with arn:aws:ecs:us-west-2::task-definition/test-t-e:10 for mccloman-3-ecs."
              },
              {
                "phase": "CREATE_ECS_SERVER_GROUP",
                "status": "Done creating 1 of test-t-e-v004 with arn:aws:ecs:us-west-2::task-definition/test-t-e:10 for mccloman-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-v004"
          ]
        },
        "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": "mccloman-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": 1598469152451,
          "endTime": 1598469152553,
          "status": "SUCCEEDED",
          "stageStart": true,
          "stageEnd": false,
          "loopStart": false,
          "loopEnd": false
        },
        {
          "id": "2",
          "implementingClass": "com.netflix.spinnaker.orca.clouddriver.tasks.DetermineHealthProvidersTask",
          "name": "determineHealthProviders",
          "startTime": 1598469152571,
          "endTime": 1598469152739,
          "status": "SUCCEEDED",
          "stageStart": false,
          "stageEnd": false,
          "loopStart": false,
          "loopEnd": false
        },
        {
          "id": "3",
          "implementingClass": "com.netflix.spinnaker.orca.clouddriver.tasks.servergroup.CreateServerGroupTask",
          "name": "createServerGroup",
          "startTime": 1598469152763,
          "endTime": 1598469153172,
          "status": "SUCCEEDED",
          "stageStart": false,
          "stageEnd": false,
          "loopStart": false,
          "loopEnd": false
        },
        {
          "id": "4",
          "implementingClass": "com.netflix.spinnaker.orca.clouddriver.tasks.MonitorKatoTask",
          "name": "monitorDeploy",
          "startTime": 1598469153188,
          "endTime": 1598469158429,
          "status": "SUCCEEDED",
          "stageStart": false,
          "stageEnd": false,
          "loopStart": false,
          "loopEnd": false
        },
        {
          "id": "5",
          "implementingClass": "com.netflix.spinnaker.orca.clouddriver.tasks.servergroup.ServerGroupCacheForceRefreshTask",
          "name": "forceCacheRefresh",
          "startTime": 1598469158486,
          "endTime": 1598469158601,
          "status": "SUCCEEDED",
          "stageStart": false,
          "stageEnd": false,
          "loopStart": false,
          "loopEnd": false
        },
        {
          "id": "6",
          "implementingClass": "com.netflix.spinnaker.orca.clouddriver.tasks.instance.WaitForUpInstancesTask",
          "name": "waitForUpInstances",
          "startTime": 1598469158656,
          "endTime": 1598469212594,
          "status": "SUCCEEDED",
          "stageStart": false,
          "stageEnd": false,
          "loopStart": false,
          "loopEnd": false
        },
        {
          "id": "7",
          "implementingClass": "com.netflix.spinnaker.orca.clouddriver.tasks.servergroup.ServerGroupCacheForceRefreshTask",
          "name": "forceCacheRefresh",
          "startTime": 1598469212645,
          "endTime": 1598469223039,
          "status": "SUCCEEDED",
          "stageStart": false,
          "stageEnd": false,
          "loopStart": false,
          "loopEnd": false
        },
        {
          "id": "8",
          "implementingClass": "com.netflix.spinnaker.orca.igor.tasks.GetCommitsTask",
          "name": "getCommits",
          "startTime": 1598469223093,
          "endTime": 1598469223200,
          "status": "SUCCEEDED",
          "stageStart": false,
          "stageEnd": true,
          "loopStart": false,
          "loopEnd": false
        }
      ],
      "syntheticStageOwner": "STAGE_BEFORE",
      "parentStageId": "01EGP2Z7F6W7FS8R5D15DRNBFZ",
      "requisiteStageRefIds": []
    },
    {
      "id": "01EGP2Z7F6W7FS8R5D15DRNBFZ",
      "refId": "1",
      "type": "deploy",
      "name": "Deploy",
      "startTime": 1598469152318,
      "endTime": 1598469223427,
      "status": "SUCCEEDED",
      "context": {
        "clusters": [
          {
            "healthCheckType": "EC2",
            "placementConstraints": [],
            "stack": "t",
            "targetGroup": "",
            "ecsClusterName": "mccloman-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": "mccloman-3-ecs",
            "subnetType": "private-subnet1"
          }
        ]
      },
      "outputs": {},
      "tasks": [
        {
          "id": "1",
          "implementingClass": "com.netflix.spinnaker.orca.kato.pipeline.ParallelDeployStage.CompleteParallelDeployTask",
          "name": "completeParallelDeploy",
          "startTime": 1598469223318,
          "endTime": 1598469223374,
          "status": "SUCCEEDED",
          "stageStart": true,
          "stageEnd": true,
          "loopStart": false,
          "loopEnd": false
        }
      ],
      "requisiteStageRefIds": []
    }
  ],
  "startTime": 1598469152285,
  "endTime": 1598469223434,
  "status": "SUCCEEDED",
  "authentication": {
    "user": "anonymous",
    "allowedAccounts": [
      "mccloman-1-ecs",
      "mccloman-1",
      "my-ecr-registry"
    ]
  },
  "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": "56855237-95b2-4a4f-ac4f-bf2232c792ed",
    "enabled": true,
    "executionId": "01EGP2Z7D8Z0BBYR39484SK2S0",
    "organization": "nabuskey",
    "preferred": false
  },
  "pipelineConfigId": "791ea0de-8c25-47b0-931a-7c7e8a9281d1",
  "notifications": [],
  "initialConfig": {},
  "systemNotifications": [],
  "spelEvaluator": "v4"
}