[
https://issues.apache.org/jira/browse/AMBARI-6275?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14181934#comment-14181934
]
John Speidel commented on AMBARI-6275:
--------------------------------------
[~nalex]
Regarding your comment on the api only doing "one" thing, this is a "high"
level api that does many things under the covers. In this way, it is similar
to the blueprint api for provisioning a cluster. That api does many things
such as creating all necessary cluster resources, updating and setting
configurations, installing all components and starting all services/components.
All of these things can be done via lower level api calls but it is complex
and hard to get right. That is why we are creating higher level api's such as
the blueprint api. This proposed api will also do many things under the covers
such as creating the necessary resource objects, updating configurations,
installing and starting services/components, etc. All of these things can
already be done via the existing api, but again, it is difficult. So, in my
opinion, it makes sense to do some associated operations automatically but that
we need to not overreach. We need to only do things automatically where the
user wouldn't ever want to do manually. For tasks where a user may want to
have control such as service restart, data redistribution, etc, the goal would
be to allow the user the flexibility to execute these tasks when they want to
but to make this as easy and intuitive as possible. This would include both
identifying potentially necessary tasks and their associated api invocations as
well as possibly having the steps done automatically. This is difficult and
will take time and debate and that is why it isn't included in this 2.0 task.
Answers to your questions:
1) If a host is specified to "clone" that contains master services, the user
would get a 400 response (Bad Request) that indicated that adding of master
nodes is not currently allowed.
2) Yes, this will not affect the requirement that agents be pre-installed on
each host and that each agent has registered with the server.
3) I assume that you are asking about Kerberos. Kerberos work is being tracked
in the epic : AMBARI-7204 . So the short answer is that this add hosts api
will be kerberos aware as a result of integration with the Kerberos work
currently being done. This means that if you add hosts to a kerberos enabled
cluster that the new nodes will also be kerberos enabled after the add host
call completes.
Regarding remove hosts: AMBARI-7940. As with add hosts, it is currently
possible to remove hosts via lower level api calls but would be simplified via
a new higher level api. This Jira is pretty sparse at the moment but will be
updated in the near future and announced via a [DISCUSS] thread via dev@ambari.
> Add support for "add hosts" with Blueprints API
> -----------------------------------------------
>
> Key: AMBARI-6275
> URL: https://issues.apache.org/jira/browse/AMBARI-6275
> Project: Ambari
> Issue Type: Improvement
> Components: ambari-server
> Affects Versions: 1.7.0
> Reporter: Yusaku Sako
> Assignee: John Speidel
> Fix For: 2.0.0
>
>
> Support for "adding hosts" based on *blueprint* style *host_group* via Ambari
> REST API. There are two scenarios to consider for this JIRA:
> 1) Add hosts based on an existing host in the cluster (and it's *blueprint*
> style *host_group* component layout). This enables the user to add hosts with
> components similar to existing hosts in the cluster. For example: expand this
> cluster with these X hosts and make each of these hosts like Y host
> (components + configs) existing in the cluster.
> 2) Add hosts based on components + configs. This would be a verbose method
> that uses *blueprint* style *host_groups* and *configs* to allow you to add
> hosts to a cluster that do not necessarily have a component layout or config
> of a similar host existing in the cluster. For example: expand this cluster
> with these X hosts and make each of these hosts include Y components with Z
> configs.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)