have you tested it? if that is the case, then it's a bug. chef should ensure the user does not exist, regardless of whether the user already exists on not.

setting `ignore_failure` to false is actually how to tell chef to not fail the run regardless of the outcome of the resource. per [the docs](http://docs.opscode.com/resource_common_attributes.html)