assert and fail. When to use what?

Hi,

I’ve been working on a playbook that asserts prerequisites required for a mssql installation and I’m not entirely confident with what I’ve come up with.

https://gist.githubusercontent.com/chopraaa/1b74480a7b286ee91dd855ae670104f1/raw/660b758b4e82e0b689999e6fe73946d005cfcac9/mssql.yml

What I know is that if an assert is false, it fails the playbook, and the same can be done using the fail module. So what’s the difference between the two?

Not much, they are mostly a 'contrary alias', I would be happy
deprecating one of them in favor of the other.