shieldproject / shield-boshrelease

BOSH Release for shield
MIT License
11 stars 17 forks source link

Default Value for `token_name` includes timestamp, causes BOSH deploy churn #176

Closed gberche-orange closed 4 years ago

gberche-orange commented 4 years ago

Following https://github.com/shieldproject/shield-boshrelease/commit/733d210a546eac6f03746e4152d3eb1961cd64b3 fixing #154, the job templates for the import job have non deterministic content when rendered: there is a timestamp integer Time.now.to_i.to_s in the rendered template

https://github.com/shieldproject/shield-boshrelease/blob/961786cd687283507a5f889f1bf41d95064c7ec7/jobs/import/templates/bin/run#L6-L14

As a result, bosh director is systematically detecting a change for every bosh deploy even when no changes are applied to the deployment. Consequently, bosh deployments with the shield import job systematically restart on no-op updates, causing downtimes for deployments with single point of failures.

See an example with additional details in https://github.com/orange-cloudfoundry/paas-templates/issues/683

Possible fix: use a fixed deterministic id in the default token name value, such as spec.id: ID of the instance

/CC @JCL38-ORANGE

jhunt commented 4 years ago

What happens if you set token_name to (deployment)(name)(index) or something similar, that doesn't include (time)?

JCL38-ORANGE commented 4 years ago

Hello James,

By using only (deployment)(name)(index), the behaviour is correct. Regards, Jean-Christophe.

jhunt commented 4 years ago

we should change the default then.

Sent with GitHawk

stale[bot] commented 4 years ago

This issue has been automatically marked as abandoned because it has not seen any activity or updates in 30 days. It will be closed in 14 days if no further activity occurs. Thank you for your contributions.