generalize and simplify set_password playbook