Fstab.remove_entry() fails with blank lines in fstab

Bug #1423046 reported by Stuart Bishop
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Charm Helpers
Fix Released
Critical
Stuart Bishop

Bug Description

Fstab.remove_entry() will crash if the current fstab file contains any blank lines or comments. It needs to guard access to _hydrate_entry, similar to how the Fstab.entries property does it.

unit-cassandra-0[17198]: 2015-02-17 18:55:26 INFO unit.cassandra/0.install logger.go:40 File "/var/lib/juju/agents/unit-cassandra-0/charm/hooks/actions.py", line 99, in wrapper
unit-cassandra-0[17198]: 2015-02-17 18:55:26 INFO unit.cassandra/0.install logger.go:40 return func(*args, **kw)
unit-cassandra-0[17198]: 2015-02-17 18:55:26 INFO unit.cassandra/0.install logger.go:40 File "/var/lib/juju/agents/unit-cassandra-0/charm/hooks/actions.py", line 172, in swapoff
unit-cassandra-0[17198]: 2015-02-17 18:55:26 INFO unit.cassandra/0.install logger.go:40 fstab.remove_entry(swap_entry)
unit-cassandra-0[17198]: 2015-02-17 18:55:26 INFO unit.cassandra/0.install logger.go:40 File "/var/lib/juju/agents/unit-cassandra-0/charm/hooks/charmhelpers/core/fstab.py", line 108, in remove_entry
unit-cassandra-0[17198]: 2015-02-17 18:55:26 INFO unit.cassandra/0.install logger.go:40 if self._hydrate_entry(line) == entry:
unit-cassandra-0[17198]: 2015-02-17 18:55:26 INFO unit.cassandra/0.install logger.go:40 File "/var/lib/juju/agents/unit-cassandra-0/charm/hooks/charmhelpers/core/fstab.py", line 72, in _hydrate_entry
unit-cassandra-0[17198]: 2015-02-17 18:55:26 INFO unit.cassandra/0.install logger.go:40 line.strip("\n").split()))
unit-cassandra-0[17198]: 2015-02-17 18:55:26 INFO unit.cassandra/0.install logger.go:40 TypeError: __init__() missing 4 required positional arguments: 'device', 'mountpoint', 'filesystem', and 'options'

Related branches

Stuart Bishop (stub)
Changed in charm-helpers:
status: New → In Progress
assignee: nobody → Stuart Bishop (stub)
importance: Undecided → Critical
Changed in charm-helpers:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.