Parse error when applying config changes
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical Juju |
Expired
|
Undecided
|
Unassigned | ||
Mojo: Continuous Delivery for Juju |
Invalid
|
High
|
Unassigned |
Bug Description
Mojo fails to apply config changes on an environment for no apparent reason. The failure is:
2017-03-15 15:38:20 [INFO] Applying config changes, if any.
2017-03-15 15:38:20 [INFO] Pulling secrets from /srv/mojo/
2017-03-15 15:38:23 [ERROR] Unknown error
Traceback (most recent call last):
File "/usr/lib/
args.func(args)
File "/usr/lib/
return method(*args, **kwargs)
File "/usr/lib/
manifest.
File "/usr/lib/
auto_
File "/usr/lib/
diff_
File "/usr/lib/
diff_
File "/usr/lib/
d, preview=False),
File "/usr/lib/
diffs = yaml.safe_
File "/usr/lib/
return load(stream, SafeLoader)
File "/usr/lib/
return loader.
File "/usr/lib/
node = self.get_
File "/usr/lib/
if not self.check_
File "/usr/lib/
self.
File "/usr/lib/
self.
ParserError: expected '<document start>', but found '<block mapping start>'
in "<string>", line 2, column 1:
relations:
^
I couldn't identify any problem with the services or with the secrets file.
The manifest calls:
deploy config=services local=secrets delay=0 apply-config-
fwiw, very similar configurations were used on a juju-1 environment successfully, and this is a juju 2 environment.
I tested this with a juju 2 environment locally and it seemed to work okay, so I don't think it's something that's juju 2 specific.
I've been able to reproduce in the same environment, and have added some debugging information to show what it's trying to parse but failing on yaml.safe_load and I see this:
2017-03-16 09:31:19 [ERROR] Unable to parse: known-access' : 'login', 'user': 'REDACTED', 'password': 'REDACTED'} sign:juju- info forwarder: juju-info
{'last-
relations:
unknown:
- - - haproxy:juju-info
- livepatch:juju-info
- - - apache-
- logstash-
[...]
Will keep investigating.