deis / deis/workflow-cli

Publisher fails to parse HEALTHCHECK_INITIAL_DELAY if the value contains `\r`

Open
#292 2 comments 0 reactions 0 assignees View on GitHub
client
Dominant language
Go
Stars
31
Forks
42
PR merge metrics
No merged PRs in 30d

Description

_From @NickAb on September 3, 2016 2:9_

When using

```
deis config:push -p staging.env -a my-app
```

if config file being pushed contains Windows style line endings (`\r\n`), then `\r` will be treated as part of the value, which will result in error when trying to parse `HEALTHCHECK_INITIAL_DELAY` from uploaded config:

```
2016/09/03 01:47:43 strconv.ParseInt: parsing "10\r": invalid syntax
```

which results in config push failing with

```
Creating config... Error:
503 SERVICE UNAVAILABLE
detail: aborting, app containers failed to respond to health check
```

Which does not give any idea what was actual problem (bad delay value).

Changing file line endings to UNIX style fixes the problem, but shouldn't all line endings be ignored? This will require developers using Windows to careful work with configs, and in case of the error it is hard to diagnose. The `\r` problem is not obvious as when config is pushed the operation will fail saying that containers failed health-check without any details of actual problem (that Publisher was not able to parse value).

_Copied from original issue: deis/deis#5091_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.