I've heard a little about Ansible but look forward to learning more.
I'm in awe that you took the time to get up to speed on each of those tools. Some of the learning curves are... intimidating.
For what it's worth, I actually found OpsWorks' usage of Chef to be more intuitive than Opscode's own. OpsWorks relies on "events" (setup, deploy, shutdown, etc.) that trigger (i.e., push) recipes to be applied to instances. Opscode, at least in its typical architecture, relies on clients pulling configuration from a Chef server at a regular interval.