concourse-up icon indicating copy to clipboard operation
concourse-up copied to clipboard

deployment name is too long. 12 character limit

Open hvandenb opened this issue 5 years ago • 6 comments

Why is this a limitation? This is a deployment on GCP where I can't change the name of the project.

hvandenb avatar Mar 21 '19 21:03 hvandenb

The deployment name is used when creating the name of various components via Terraform, and the concatenation of those with the deployment name means we can't have deployment names greater than 12 characters. GCP has a significantly lower limit than AWS - although off the top of my head, I can't remember which component it is exactly that has the shortest name length limit. We can find out if you like, but it won't change the behaviour of the tool.

I hope that explains things.

DanielJonesEB avatar Mar 21 '19 21:03 DanielJonesEB

No worries thanks for the explanation

On Thu, Mar 21, 2019 at 5:15 PM Daniel Jones [email protected] wrote:

The deployment name is used when creating the name of various components via Terraform, and the concatenation of those with the deployment name means we can't have deployment names greater than 12 characters. GCP has a significantly lower limit than AWS - although off the top of my head, I can't remember which component it is exactly that has the shortest name length limit. We can find out if you like, but it won't change the behaviour of the tool.

I hope that explains things.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/EngineerBetter/concourse-up/issues/103#issuecomment-475405301, or mute the thread https://github.com/notifications/unsubscribe-auth/AAYeeUaAizludnyYzIV2gK-XETXt9Jytks5vY_ZagaJpZM4cCXN4 .

--

Thanks,

Henri M.B. van den Bulk (c) 317-690-3830

hvandenb avatar Mar 21 '19 21:03 hvandenb

To go into more detail the limitation comes from terraform's creation of a GCP service account for BOSH to use. According to the docs the service account name can be maximum 30 characters long to comply with RFC1035 (I haven't read that one).

In Concourse-up the service account name will be concourse-up-<your deployment name>-bosh so the maximum deployment name size is 30-18=12. We made Concourse-up error out early if the name exceeds this because the alternative is a gnarly terraform regex error partway through the apply.

We do have a spike in the backlog to further investigate these limits and how we could address them but there's unfortunately not much room for improvement.

crsimmons avatar Mar 21 '19 22:03 crsimmons

The deployment name being used is the project-name on GCP. Would it help to shorten the concourse-up part (12)

On Thu, Mar 21, 2019 at 6:18 PM Colin Simmons [email protected] wrote:

To go into more detail the limitation comes from terraform's creation of a GCP service account for BOSH to use. According to the docs https://www.terraform.io/docs/providers/google/r/google_service_account.html#account_id the service account name can be maximum 30 characters long to comply with RFC1035 (I haven't read that one).

In Concourse-up the service account name will be concourse-up--bosh so the maximum deployment name size is 30-18=12. We made Concourse-up error out early if the name exceeds this because the alternative is a gnarly terraform regex error partway through the apply.

We do have a spike in the backlog to further investigate these limits and how we could address them but there's unfortunately not much room for improvement.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/EngineerBetter/concourse-up/issues/103#issuecomment-475424578, or mute the thread https://github.com/notifications/unsubscribe-auth/AAYeeY4Snvc4_3u3ouR8umO72Yp_ZVquks5vZAU7gaJpZM4cCXN4 .

hvandenb avatar Mar 22 '19 13:03 hvandenb

We have considered that in the past; the downside is that when Terraform renames entities it recreates some of them, meaning that folks could lose state (RDS is a culprit here, I seem to recall). This would require maintaining two code paths for old/new deployments.

Thanks for letting us know that this is causing problems for you - we're running a lean operation, so user feedback is vital in letting us know which features to prioritise.

DanielJonesEB avatar Mar 22 '19 13:03 DanielJonesEB

The deployment name in this case should just be whatever you provide in concourse-up deploy --iaas gcp <deployment-name>. Are you able to use a shorter name when you deploy? This name is just used for naming the various components related to the Concourse within your project.

crsimmons avatar Mar 22 '19 14:03 crsimmons