knox-topology-gen

This concept has been incorporated into Apache Knox 0.14.0. While you may still find value in the details presented, Knox provides this functionality (and more).

This project provides an example of using the Apache™ Ambari REST API to populate Apache™ Knox topology descriptors.

To try it out, you'll need an Apache™ Hadoop® cluster managed by Ambari. You can create one using VirtualBox and Vagrant by following the instructions in the Ambari Quick Start Guide, or by downloading and installing the HDP Docker Sandbox

Once you have access to an Ambari instance, you can edit resources/demo.yml (specify the Ambari host, and the cluster name) and test_build_topology.py (edit the credentials). Then, run test_build_topology.py, which will generate demo.xml (a deployable Knox topology)

All the REST API interactions can be found in topologydiscovery.py, and the Knox topology assembly is done in topologybuilder.py.

This project uses YAML descriptors as input to determine the content of the resulting topology, and these descriptors reference provider configuration XML files (which are copied into the resulting topology file).