Bug 1040239 covers adding support for OpenStack as a dynamic provisioning backend. The initial integration will just rely on bootstrapping Anaconda and running the normal kickstart based initialisation. This issue covers allowing the use of image based provisioning for any virt compatible recipes which don't use any of the ks_* attributes and elements in their definition. Offering the same level of flexibility for image based provisioning as the ks_* attributes and elements offer for kickstart based provisioning is *not* covered by this issue. However, a basic ability to configure cloud-init (akin to addiing additional %post sections in ks_appends) would be reasonable. One possible mechanism for handling this would be to support "openstack_image" as a new install method, and allow image names to be registered against distro trees. However, that's just one suggestion, and other alternatives will be explored as part of the development of this feature.
Initially, only Linux distros will be officially supported. See bug 1038295 for supporting more than that.
One possible approach to managing this would be to use an approach like https://github.com/redhat-openstack/image-building-poc to automatically create an appropriate image in Glance when a distro is imported, rather than requiring the image to be created externally and then registered with Beaker.
For the record, initial proposal patch set exists: https://gerrit.beaker-project.org/#/c/beaker/+/5785/ It was not finished due to time constraints, but seems as a good start in case we revisit this idea.