distro-import supports importing trees without valid metadata directly by specifying family, version, name, arch, kernel and initrd explicitly on the command line, rather than leaving them to be extracted from a .composeinfo or .treeinfo metadata file. However, the only way to discover this is to log in to the lab controller and run "distro-import --help" or look at the distro-import source code (git.beaker-project.org/cgit/beaker/tree/LabController/src/bkr/labcontroller/distro_import.py). The main distro import docs (http://beaker-project.org/docs/admin-guide/distro-import.html) should cover this feature in order to make it more discoverable.
Issue 911515 covers a tangentially related feature, requesting the ability to provision distros that haven't been imported into Beaker *at all*.
http://gerrit.beaker-project.org/#/c/3368/
This is now included in the development version of Beaker's docs: https://beaker-project.org/docs-develop/admin-guide/man/beaker-import.html#naked-tree-options
Naked distro imports are documented Change it to verified.
Beaker 19.0 has been released.