Looks great. These can be broken out as separate child JIRAs. Thanks!
--larry On Wed, Aug 30, 2017 at 6:31 PM, Philip Zampino <[email protected]> wrote: > 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 >
