Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Added notes about applicability of YAML and JSON simple descriptor formats

...

YAML offers more structure than a properties file, but the representation is not important so long as the necessary contents can be expressed clearlyand is suitable for adminstrators/developers hand-editing simple descriptors.

Code Block
languagetext
titleProposed YAML
# Discovery info source
discovery-type: AMBARI
discovery-address: http://c6401.ambari.apache.org:8080
discovery-user: ambariuser

# Provider config reference, the contents of which will be
# included in (or referenced from) the resulting topology descriptor.
# The contents of this reference has a <gateway/> root, and
# contains <provider/> configurations.
provider-config-ref : ambari-cluster-policy.xml

# The cluster for which the service details should be discovered
cluster: mycluster

# The services to declare in the resulting topology descriptor,
# whose URLs will be discovered (unless a value is specified)
services:
    - name: NAMENODE
    - name: JOBTRACKER
    - name: WEBHDFS
    - name: WEBHCAT
    - name: OOZIE
    - name: WEBHBASE
    - name: HIVE
    - name: RESOURCEMANAGER
    - name: AMBARI
      url: http://c6401.ambari.apache.org:8080
    - name: AMBARIUI
      url: http://c6401.ambari.apache.org:8080

# UIs to be proxied through the resulting Knox topology (see KIP-9)
#uis:
#   - name: AMBARIUI
#     url: http://c6401.ambari.apache.org:8080

...

While JSON is not really a format for configuration, there is an argument for using it to express simplified topology contentit is certainly appropriate as a wire format, and will be used for API interactions.

Code Block
languagetext
titleProposed JSON
{
  "discovery-type":"AMBARI",
  "discovery-address":"http://c6401.ambari.apache.org:8080",
  "discovery-user":"ambariuser",
  "provider-config-ref":"ambari-cluster-policy.xml",
  "cluster":"mycluster",
  "services":[
     {"name":"NAMENODE"},
     {"name":"JOBTRACKER"},
     {"name":"WEBHDFS"},
     {"name":"WEBHCAT"},
     {"name":"OOZIE"},
     {"name":"WEBHBASE"},
     {"name":"HIVE"},
     {"name":"RESOURCEMANAGER"},
     {"name":"AMBARI", "url":"http://c6401.ambari.apache.org:8080"}
  ],
  "uis":[
     {"name":"AMBARIUI", "url":"http://c6401.ambari.apache.org:8080"}
  ]
} 

...