[
https://issues.apache.org/jira/browse/AMBARI-10750?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14529192#comment-14529192
]
Vikas Hamine commented on AMBARI-10750:
---------------------------------------
Suggest making "host_count" and "host_predicate" properties of host_group
instead of the host object in the cluster creation template. I think the change
would make the template more intuitive.
> Initial Implementation of Advanced API Cluster Provisioning Functionality
> -------------------------------------------------------------------------
>
> Key: AMBARI-10750
> URL: https://issues.apache.org/jira/browse/AMBARI-10750
> Project: Ambari
> Issue Type: Task
> Components: ambari-server, blueprints
> Affects Versions: Ambari-2.1
> Reporter: John Speidel
> Assignee: John Speidel
> Fix For: Ambari-2.1
>
> Attachments: AMBARI-10750.patch
>
>
> API based (blueprint) cluster provisioning modifications and enhancements
> which will provide for more flexible, scalable and robust cluster
> provisioning.
> This will include API and backend changes.
> - Allow a host count to be specified in the cluster creation template instead
> of host names. This is documented in
> https://issues.apache.org/jira/browse/AMBARI-6275
> - Allow cluster creation or scaling to be started via the REST API prior to
> all/any hosts being available. As hosts register with Ambari server they
> will be matched to request host groups and provisioned according to the
> requested topology
> - Allow host predicates to be specified along with host count to provide more
> flexibility in matching hosts to host groups. This will allow for host
> flavors where different host groups are matched to different host flavors
> - Break up the current monolithic provisioning request into a request for
> each host operation. For example, install on host A, start on host A,
> install on hostB, etc. This will allow hosts to make progress even when
> another host encounters a failure.
> Changes to the API:
> Addition of "host_count" and "host_predicate" to both the cluster creation
> template and add host api. Previously a host name had to be specified for
> these api call but now a host count can be specified instead. When
> specifying a host count, a predicate can also be specified which gives fine
> grain control over which hosts are matched to which host groups.
> Cluster Create Template:
> {code}
> {
> "blueprint" : "bp1",
> "host_groups" :[
> {
> "name" : "master",
> "hosts" : [
> {
> "fqdn" : "john2.novalocal"
> }
> ]
> },
> {
> "name" : "slave",
> "hosts" : [
> {
> "host_count" : "5",
> "host_predicate" : "Hosts/cpu_count>1"
> }
> ]
> }
> ]
> }
> {code}
> Add Host API:
> {code}
> [
> {
> "blueprint" : "bp1",
> "host_group" : "slave",
> "host_count" : 5
> },
> {
> "blueprint" : "bp1",
> "host_group" : "super-slave",
> "host_count" : 5,
> "host_predicate" : "Hosts/cpu_count>2&Hosts/total_mem>3000000"
> }
> ]
> {code}
> The syntax of the host predicate is standard API query syntax which is
> described here:
> https://github.com/apache/ambari/blob/trunk/ambari-server/docs/api/v1/index.md#query-parameters
> Currently, the properties which are available to query are exactly the same
> as those available for the /api/v1/hosts endpoint.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)