variables overriding in dependent role in version 1.9.x

Hi all.

I have role_a and role_b which depends on role_a.

role_a defines variable var_foo (in vars/main.yml), role_b wants to redefine it (in its own vars/main.yml). With 1.7.2 this works, but with 1.9.[24] - not.

I’ve tried to pass required variable through meta (- {role: role_a, var_foo: “{{ var_foo }}”}) but this doesn’t work as well.

So whether I’m doing it wrong or 1.9 is buggy?

Not used 1.7, only 1.9. And my experience is that only variables defined on defaults/main.yml on dependant role can be overridden. I usually use group_vars to override them, but in a few corner cases the only way I found to achieve what you pretend to do is to override them at the playbook level, and only when defined whithin the role definition (see below) and not in the playbook vars block (my tree is far more complex that only parent and children).
I did just consider it an annoyance, but as you state that it worked on 1.7 (and is what I expected at the beginning), it could be probably a bug.