if a formula in a repo has invalid metadata, it can stop any deploy from the repo.
Bug #810765 reported by
Juan L. Negron
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
pyjuju |
Fix Released
|
Medium
|
Kapil Thangavelu |
Bug Description
I cannot deploy mysql any longer.
Pastebin: http://
Related branches
lp:~hazmat/pyjuju/deploy-tolerates-broken-formulas-bug-810765
- William Reade (community): Approve
- Jim Baker (community): Approve
-
Diff: 48 lines (+19/-3)2 files modifiedensemble/formula/repository.py (+4/-3)
ensemble/formula/tests/test_repository.py (+15/-0)
Changed in ensemble: | |
assignee: | nobody → Kapil Thangavelu (hazmat) |
milestone: | none → dublin |
importance: | High → Medium |
status: | New → In Progress |
Changed in ensemble: | |
status: | In Progress → Fix Released |
To post a comment you must log in.
Just in case...here is the output.
negronjl@ negronjl- laptop: ~/src/ensemble/ formulas$ ensemble --verbose deploy --repository . mysql pymodules/ python2. 7/ensemble/ control/ command. py", line 48, in _run rred(self. callback, self.options) python2. 7/dist- packages/ twisted/ internet/ defer.py" , line 133, in maybeDeferred pymodules/ python2. 7/ensemble/ control/ deploy. py", line 51, in command python2. 7/dist- packages/ twisted/ internet/ defer.py" , line 1141, in unwindGenerator s(None, f(*args, **kwargs), Deferred()) python2. 7/dist- packages/ twisted/ internet/ defer.py" , line 1020, in _inlineCallbacks pymodules/ python2. 7/ensemble/ control/ deploy. py", line 64, in deploy find(formula_ name) pymodules/ python2. 7/ensemble/ formula/ repository. py", line 33, in find pymodules/ python2. 7/ensemble/ formula/ repository. py", line 18, in __iter__ from_path( dentry_ path) pymodules/ python2. 7/ensemble/ formula/ provider. py", line 26, in get_formula_ from_path y(specification ) pymodules/ python2. 7/ensemble/ formula/ directory. py", line 24, in __init__ os.path. join(path, "metadata.yaml")) pymodules/ python2. 7/ensemble/ formula/ metadata. py", line 166, in __init__ pymodules/ python2. 7/ensemble/ formula/ metadata. py", line 237, in load parse(f. read(), path) pymodules/ python2. 7/ensemble/ formula/ metadata. py", line 248, in parse serialization_ data(yaml. load(content) , path) python2. 7/dist- packages/ yaml/__ init__. py", line 58, in load get_single_ data() python2. 7/dist- packages/ yaml/constructo r.py", line 42, in get_single_data single_ node() python2. 7/dist- packages/ yaml/composer. py", line 36, in get_single_node document( ) python2. 7/dist- packages/ yaml/composer. py", line 55, in compose_document node(None, None) python2. 7/dist- packages/ yaml/composer. py", line 84, in compose_node mapping_ node(anchor) python2. 7/dist- packages/ yaml/composer. py", line 127, in compose_ mapping_ node event(MappingEn dEvent) : python2. 7/dist- packages/ yaml/parser. py", line 93, in check_event current_ event = self.state() python2. 7/dist- packages/ yaml/parser. py", line 434, in parse_block_ mapping_ key ParserError: while parsing a block mapping
2011-07-14 14:56:25,802 DEBUG Initializing ensemble deploy runtime
Traceback (most recent call last):
File "/usr/lib/
d = defer.maybeDefe
File "/usr/lib/
result = f(*args, **kw)
File "/usr/lib/
options.log)
File "/usr/lib/
return _inlineCallback
--- <exception caught here> ---
File "/usr/lib/
result = g.send(result)
File "/usr/lib/
formula = repository.
File "/usr/lib/
for formula in self:
File "/usr/lib/
yield get_formula_
File "/usr/lib/
return FormulaDirector
File "/usr/lib/
self.metadata = MetaData(
File "/usr/lib/
self.load(path)
File "/usr/lib/
self.
File "/usr/lib/
return self.parse_
File "/usr/lib/
return loader.
File "/usr/lib/
node = self.get_
File "/usr/lib/
document = self.compose_
File "/usr/lib/
node = self.compose_
File "/usr/lib/
node = self.compose_
File "/usr/lib/
while not self.check_
File "/usr/lib/
self.
File "/usr/lib/
"expected <block end>, but found %r" % token.id, token.start_mark)
yaml.parser.
in "<string>", line 1, column 1:
ensemble: formula
^
expected <block end>, but found '<block m...