One of the roles in the 2nd stanza had a vars/main.yml file that had ansible_ssh_user: “root” set. So it seems as though the 2nd host group was evaluating all of the role variables (at least ansible_ssh_user) and since that was set in the role it was performing Gather Facts as root instead of “ec2-user”, which was what ansible_ssh_user was set to in group_vars. Does that make sense?