So, would you like NodeObject.find("intended_role:controller") || NodeObject.find("roles:nova-multi-controller") ?

Or just (like in others, where we do not seatch for nova based roles):

server_nodes = nodes.select { |n| n.intended_role == "controller" } || nodes.first