I have in mind the following sub-tasks associated with KNOX-1006
<https://issues.apache.org/jira/browse/KNOX-1006> (Service Discovey and
Topology Generation),

for which I’m going to create JIRA issues.



I believe many of them can be worked on fairly independently, but there are
some obvious dependencies.



*Support externalization of provider config from topology descriptors (no
dependency)*

   - Define external config content format (the same as today, but a
separate document with a <gateway/> root)

   - Define external config reference format in topology.xml

   - Modify code to resolve external config references, and process them
the same as the current in-line <gateway/> content

   - Includes determining how externalized provider config changes are
propagated to deployed topologies.



*Knox config remote discovery (no dependency)*

   - Define ZooKeeper structure for remote config (simple desc,
externalized provider) discovery

   - Determine the best way to interact with ZooKeeper (REST, or some other
client binding)

   - Simple descriptor discovery

   - External provider config discovery



*Implement the heart of the service discovery and topology generation
framework (no initial dependency)*

   - Define simple descriptor format (YAML, JSON, properties, etc...)

   - Local simple descriptor discovery (re-use existing
FileAlterationMonitor?)

   - Ambari service discovery (REST API interactions and model construction)

     - Configuration

       - How to plug-in discovery implementations (service loader?)

       - How to configure authentication (credentials/trust) with the
service registries

   - Topology assembly from simple descriptor and discovery details

   - Topology deployment (something more than copy to the conf/topologies
directory?)



*ZooKeeper Monitor for Knox config changes (affecting existing deployed
topologies)*

*   - *Related to* Knox config remote discovery*

   - Simple descriptor changes

     - Trigger re-generation/deployment of updated topology descriptor

     - local (re-use existing FileAlterationMonitor?)

     - remote

   - Externalized provider config changes

     - Trigger update of deployed topologies (runtime) that reference the
modified provider config

     - local (re-use existing FileAlterationMonitor?)

     - remote

*Monitor for Ambari cluster topology changes (i.e., service URL changes)*

   - Includes Knox dynamic response to such changes



*ZooKeeper service discovery  (depends on discovery framework)*



*Monitor for ZooKeeper cluster topology changes (i.e., service URL changes)*

   - Includes Knox dynamic response to such changes

Reply via email to