Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[#115624569] Workaround terraform codecommit issue with default_branch property #177

Merged
merged 2 commits into from
Mar 30, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions concourse/pipelines/create-bosh-cloudfoundry.yml
Original file line number Diff line number Diff line change
Expand Up @@ -312,8 +312,6 @@ jobs:
paas-cf/concourse/scripts/s3init.sh {{state_bucket}} cf.tfstate paas-cf/concourse/init_files/terraform.tfstate.tpl
paas-cf/concourse/scripts/s3init.sh {{state_bucket}} cf-certs.tar.gz paas-cf/concourse/init_files/empty.tar.gz
paas-cf/concourse/scripts/s3init.sh {{state_bucket}} git-keys.tar.gz paas-cf/concourse/init_files/empty.tar.gz
- put: pipeline-trigger
params: {bump: patch}

- name: bosh-terraform
serial_groups: [bosh-deploy]
Expand Down
39 changes: 39 additions & 0 deletions concourse/pipelines/create-deployer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -270,6 +270,41 @@ jobs:
"/C=UK/ST=London/L=London/O=GDS/CN=deployer.${SYSTEM_DNS_ZONE_NAME}"
tar czvf concourse-cert.tar.gz concourse.crt concourse.key

# Temporary task to retrieve the codecommit default branch if it exists
- task: get-codecommit-default-branch
config:
image: docker:///governmentpaas/awscli
inputs:
- name: paas-cf
outputs:
- name: codecommit-default-branch
params:
DEPLOY_ENV: {{deploy_env}}
run:
path: sh
args:
- -c
- |
aws codecommit get-repository \
--region us-east-1 \
--repository-name concourse-pool-${DEPLOY_ENV} \
--query 'repositoryMetadata.defaultBranch' \
--output text > output.txt 2>&1
RET=$?

if [ "$RET" == "0" ]; then
if [ "$(cat output.txt)" == "None" ]; then
echo "" > codecommit-default-branch/default_branch.txt
else
cat output.txt > codecommit-default-branch/default_branch.txt
fi
elif grep -q RepositoryDoesNotExistException output.txt; then
echo "" > codecommit-default-branch/default_branch.txt
else
cat output.txt
exit 1
fi

- task: terraform-apply
config:
image: docker:///governmentpaas/terraform
Expand All @@ -279,6 +314,7 @@ jobs:
- name: concourse-terraform-state
- name: generate-concourse-cert
- name: git-ssh-public-key
- name: codecommit-default-branch
params:
VAGRANT_IP: {{vagrant_ip}}
TF_VAR_env: {{deploy_env}}
Expand All @@ -292,7 +328,10 @@ jobs:
- |
cp generate-concourse-cert/concourse.crt generate-concourse-cert/concourse.key .
. vpc-terraform-outputs/tfvars.sh

export TF_VAR_git_rsa_id_pub=$(cat git-ssh-public-key/git_id_rsa.pub)
export TF_VAR_git_default_branch_workaround=$(cat codecommit-default-branch/default_branch.txt)

terraform_params=${VAGRANT_IP:+-var vagrant_cidr=$VAGRANT_IP/32}
terraform apply ${terraform_params} \
-var-file=paas-cf/terraform/{{aws_account}}.tfvars \
Expand Down
2 changes: 1 addition & 1 deletion terraform/concourse/codecommit.tf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ resource "aws_codecommit_repository" "concourse-pool" {
provider = "aws.codecommit"
repository_name = "concourse-pool-${var.env}"
description = "Git repository to keep concourse pool resource locks"
default_branch = "master"
default_branch = "${var.git_default_branch_workaround}"
}

resource "aws_iam_user" "git" {
Expand Down
5 changes: 5 additions & 0 deletions terraform/concourse/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,8 @@ variable "system_dns_zone_name" {
variable "git_rsa_id_pub" {
description = "Public SSH key for the git user"
}

variable "git_default_branch_workaround" {
description = "Value of current default branch for codecommit git repo. Temporary workaround."
default = ""
}