juju needs to fix the yaml parser
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical Juju |
Fix Released
|
Medium
|
Tim Penhey | ||
golang-goyaml (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
I was at cfgmgmtcamp where a customer (neo4j) found a bug in the juju YAML parser.
They were using a configuration value for a key in their software, the key is numeric and starts with zero.
install_keys:
type: string
description: The key for the Debian package repository.
default: 01182252
When trying to deploy this value Juju throws an error:
WARNING failed to load charm at "/tmp/trusty/
When numbers start with 0 YAML interprets that as an octal number, the 8 makes this number an invalid octal number and thus should be handled as a string. Both the python YAML library and on-line YAML validators correctly load 01182252 as a string because it is not a valid integer.
A work around to this is to use quotes all the time, but this is a valid use of YAML that juju should fix.
Changed in juju-core: | |
status: | New → Triaged |
importance: | Undecided → High |
Changed in juju: | |
status: | New → Triaged |
importance: | Undecided → High |
milestone: | none → 2.1.0 |
no longer affects: | juju-core |
Changed in juju: | |
assignee: | nobody → Tim Penhey (thumper) |
status: | Triaged → In Progress |
milestone: | 2.2.0 → 2.1.0 |
Changed in juju: | |
status: | In Progress → Fix Committed |
Changed in juju: | |
status: | Fix Committed → Fix Released |
I created a bug report for the go-yaml implementation that I believe juju uses: https:/ /github. com/go- yaml/yaml/ issues/ 157