A new module called kite-minicluster, which is a standalone minicluster ...

...that can be configured

with Services (like Cloudera Manager) that are run as part of the minicluster. Supported
Services in this commit are HDFS, HBase, and Zookeeper.

This minicluster implementation can be embedded in an application, integration tests,
or run standalone from the command line.

The minicluster supports forcing all listening sockets from minicluster services to force bind
to a specific IP address, making this minicluster compatible with environments like OpenShift
where the user is restricted on which IPs they are able to bind to.

It also supports toggling whether it starts fresh by cleaning the data directory of a previous
run, or keeps the data directory in tact so data can be kept across runs.
I pulled this from the HBase testing mini cluster code, as it does the same thing. I've never hit this issue, but there's a theoretical race condition where the regionserver is launched, but the meta isn't assigned to it yet, which could cause certain errors to occur. I played it safe and pulled that in since someone felt the need to do exactly this in the HBase minicluster launching for test cases.