So sort against the roles? We run into this problem in the openstack modules, with a provider always running because the returned list of roles is out of order against the declared list.