This feels like the wrong api. We should name this _run_openstack_cmd, and commands must always be a list. I don't see any uses of this function where commands isn't a list.