Much thanks (sorry for the delay response) between this and the other 
information you folks provided I was able to work this out.


From: Sumit Mohanty [mailto:[email protected]]
Sent: Friday, August 02, 2013 1:20 AM
To: [email protected]
Subject: Re: Ambari Cluster Install Automation

You can refer to 
https://git-wip-us.apache.org/repos/asf?p=incubator-ambari.git;a=blob_plain;f=ambari-server/src/test/resources/test_api.sh;hb=HEAD
 (test_api.sh) for sample APIs. This is a test script so I will extract out 
some calls with some explanation. All the sample calls assume default values.


Create a cluster:
curl -i -X POST -u admin:admin -d '{"Clusters": {"version" : "HDP-1.3.0"}}' 
http://localhost:8080/api/v1/clusters/c1

Create services (the following examples define only 4 services):
curl -i -X POST -u admin:admin 
http://localhost:8080/api/v1/clusters/c1/services/HDFS
curl -i -X POST -u admin:admin 
http://localhost:8080/api/v1/clusters/c1/services/MAPREDUCE
curl -i -X POST -u admin:admin 
http://localhost:8080/api/v1/clusters/c1/services/GANGLIA
curl -i -X POST -u admin:admin 
http://localhost:8080/api/v1/clusters/c1/services/NAGIOS

Add necessary configurations. This is critical. A  good way to ensure that 
necessary configuration is provided is to capture calls made through the web UI.
curl -i -X PUT -u admin:admin -d '{"Clusters": {"desired_config": {"type": 
"core-site", "tag": "version1", "properties" : { "fs.default.name" : 
"localhost:8020"}}}}' http://localhost:8080/api/v1/clusters/c1
curl -i -X PUT -u admin:admin -d '{"Clusters": {"desired_config": {"type": 
"global", "tag": "version1", "properties" : { "prop1" : "value1"}}}}' 
http://localhost:8080/api/v1/clusters/c1
curl -i -X PUT -u admin:admin -d '{"Clusters": {"desired_config": {"type": 
"mapred-site", "tag": "version1", "properties" : { "mapred.job.tracker" : 
"localhost:50300", "mapreduce.history.server.embedded": "false", 
"mapreduce.history.server.http.address": "localhost:51111"}}}}' 
http://localhost:8080/api/v1/clusters/c1
curl -i -X PUT -u admin:admin -d '{"Clusters": {"desired_config": {"type": 
"nagios-global", "tag": "version1", "properties" : { "nagios_web_login" : 
"nagiosadmin", "nagios_web_password" : "password"  }}}}' 
http://localhost:8080/api/v1/clusters/c1

Create the components for the services:
curl -i -X POST -u admin:admin 
http://localhost:8080/api/v1/clusters/c1/services/HDFS/components/NAMENODE
curl -i -X POST -u admin:admin 
http://localhost:8080/api/v1/clusters/c1/services/HDFS/components/SECONDARY_NAMENODE
curl -i -X POST -u admin:admin 
http://localhost:8080/api/v1/clusters/c1/services/HDFS/components/DATANODE
curl -i -X POST -u admin:admin 
http://localhost:8080/api/v1/clusters/c1/services/HDFS/components/HDFS_CLIENT
curl -i -X POST -u admin:admin 
http://localhost:8080/api/v1/clusters/c1/services/MAPREDUCE/components/JOBTRACKER
curl -i -X POST -u admin:admin 
http://localhost:8080/api/v1/clusters/c1/services/MAPREDUCE/components/TASKTRACKER
curl -i -X POST -u admin:admin 
http://localhost:8080/api/v1/clusters/c1/services/GANGLIA/components/GANGLIA_SERVER
curl -i -X POST -u admin:admin 
http://localhost:8080/api/v1/clusters/c1/services/GANGLIA/components/GANGLIA_MONITOR
curl -i -X POST -u admin:admin 
http://localhost:8080/api/v1/clusters/c1/services/NAGIOS/components/NAGIOS_SERVER

Add a host to the cluster (it is assumed that the host has ambari-agent 
installed and is successfully registered)
curl -i -X POST -u admin:admin 
http://localhost:8080/api/v1/clusters/c1/hosts/host1

Add host components - a mapping between components to hosts:
curl -i -X POST -u admin:admin 
http://localhost:8080/api/v1/clusters/c1/hosts/$AGENT_HOST/host_components/NAMENODE
curl -i -X POST -u admin:admin 
http://localhost:8080/api/v1/clusters/c1/hosts/$AGENT_HOST/host_components/SECONDARY_NAMENODE
curl -i -X POST -u admin:admin 
http://localhost:8080/api/v1/clusters/c1/hosts/$AGENT_HOST/host_components/JOBTRACKER
curl -i -X POST -u admin:admin 
http://localhost:8080/api/v1/clusters/c1/hosts/$AGENT_HOST/host_components/DATANODE
curl -i -X POST -u admin:admin 
http://localhost:8080/api/v1/clusters/c1/hosts/$AGENT_HOST/host_components/TASKTRACKER
curl -i -X POST -u admin:admin 
http://localhost:8080/api/v1/clusters/c1/hosts/$AGENT_HOST/host_components/GANGLIA_SERVER
curl -i -X POST -u admin:admin 
http://localhost:8080/api/v1/clusters/c1/hosts/$AGENT_HOST/host_components/GANGLIA_MONITOR
curl -i -X POST -u admin:admin 
http://localhost:8080/api/v1/clusters/c1/hosts/$AGENT_HOST/host_components/HDFS_CLIENT
curl -i -X POST -u admin:admin 
http://localhost:8080/api/v1/clusters/c1/hosts/$AGENT_HOST/host_components/NAGIOS_SERVER

Install the services:
curl -i -X PUT -u admin:admin  -d '{"ServiceInfo": {"state" : "INSTALLED"}}'   
http://localhost:8080/api/v1/clusters/c1/services?ServiceInfo/state=INIT

Start the services:
curl -i -X PUT -u admin:admin  -d '{"ServiceInfo": {"state" : "STARTED"}}'   
http://localhost:8080/api/v1/clusters/c1/services?ServiceInfo/state=INSTALLED


The API documentation is at:  
https://github.com/apache/ambari/blob/trunk/ambari-server/docs/api/v1/index.md.

From: Yusaku Sako <[email protected]<mailto:[email protected]>>
Reply-To: 
<[email protected]<mailto:[email protected]>>
Date: Thursday, August 1, 2013 4:19 PM
To: <[email protected]<mailto:[email protected]>>
Subject: Re: Ambari Cluster Install Automation

If you had built your cluster via API calls and want the Ambari Web UI to 
recognize that the cluster has been installed and that management UI should 
come up (rather than the Install Wizard), please make the following call from 
the Ambari Server host:

curl -i -u admin:admin -X POST -d '{ "CLUSTER_CURRENT_STATUS": 
"{\"clusterState\":\"CLUSTER_STARTED_5\"}" }' 
http://localhost:8080/api/v1/persist
Yusaku


On Thu, Aug 1, 2013 at 7:15 AM, Sumit Mohanty 
<[email protected]<mailto:[email protected]>> wrote:
One way to capture the API calls would be to run the wizard (e.g. Chrome, View, 
Developer, Developer Tool) and see the API calls.

Yusaku, will be able to help you out on how to get the UI past install when API 
is used to install HDP.

I will get back with regard to the list of API calls.

-Sumit

From: "Kwasnicki, Chris" 
<[email protected]<mailto:[email protected]>>
Reply-To: 
<[email protected]<mailto:[email protected]>>
Date: Thursday, August 1, 2013 6:28 AM
To: "[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[email protected]>>
Subject: RE: Ambari Cluster Install Automation

Can you please provide the list of APIs needed for a cluster build, or how one 
would capture the steps?
I've already unsuccessfully tried using the APIs to build a cluster so any 
guidance would be appreciated.
Even when I issued commands via the APIs beforehand, first time I went into the 
Ambari UI the wizard always came up.
Thanks

Chris Kwasnicki * 07D-1400 * BNYMellon / TSG / IAE
[email protected]<mailto:[email protected]> * Desk: 
(201) 395-1533<tel:%28201%29%20395-1533> * Mobile: (201) 
538-2838<tel:%28201%29%20538-2838>

From: Sumit Mohanty [mailto:[email protected]]
Sent: Thursday, August 01, 2013 1:21 AM
To: [email protected]<mailto:[email protected]>
Subject: Re: Ambari Cluster Install Automation

Ambari APIs do not support the manifest yet. Meanwhile, you can use the current 
Ambari API to perform a completely automated install. You can capture the API 
calls while you go through the wizard to see what steps are needed. Otherwise, 
I can provide you a list of API calls needed for a basic cluster install.

-Sumit

From: Yusaku Sako <[email protected]<mailto:[email protected]>>
Reply-To: 
<[email protected]<mailto:[email protected]>>
Date: Wednesday, July 31, 2013 9:42 PM
To: <[email protected]<mailto:[email protected]>>
Subject: Re: Ambari Cluster Install Automation

Hello Gordon,

You may be interested in the work going on at 
https://issues.apache.org/jira/browse/AMBARI-1783 (Specification for a cluster 
blueprint consumable by Ambari).
The idea is to be able to create a specification for the cluster (aka "cluster 
blueprint") as a json file that is fed to an Ambari API endpoint to deploy a 
cluster.

Yusaku

On Wed, Jul 24, 2013 at 9:23 AM, Gordon Bonthron 
<[email protected]<mailto:[email protected]>> wrote:
Hi all,

I've been looking into Ambari, and have successfully set up clusters using the 
web wizard.

Is there any way to have this setup automated however? I'd like to be able to 
just preprovide the answers to the wizard questions, but I don't believe this 
is possible.

Ideally something we could trigger from our Puppet server would be great.

Thanks in advance for any suggestions,
Gordon



******************************************************
IMPORTANT: Any information contained in this communication is intended for the 
use of the named individual or entity. All information contained in this 
communication is not intended or construed as an offer, solicitation, or a 
recommendation to purchase any security. Advice, suggestions or views presented 
in this communication are not necessarily those of Pershing LLC nor do they 
warrant a complete or accurate statement.

If you are not an intended party to this communication, please notify the 
sender and delete/destroy any and all copies of this communication. Unintended 
recipients shall not review, reproduce, disseminate nor disclose any 
information contained in this communication. Pershing LLC reserves the right to 
monitor and retain all incoming and outgoing communications as permitted by 
applicable law.

Email communications may contain viruses or other defects. Pershing LLC does 
not accept liability nor does it warrant that email communications are virus or 
defect free.
******************************************************


******************************************************
IMPORTANT: Any information contained in this communication is intended for the 
use of the named individual or entity. All information contained in this 
communication is not intended or construed as an offer, solicitation, or a 
recommendation to purchase any security. Advice, suggestions or views presented 
in this communication are not necessarily those of Pershing LLC nor do they 
warrant a complete or accurate statement. 

If you are not an intended party to this communication, please notify the 
sender and delete/destroy any and all copies of this communication. Unintended 
recipients shall not review, reproduce, disseminate nor disclose any 
information contained in this communication. Pershing LLC reserves the right to 
monitor and retain all incoming and outgoing communications as permitted by 
applicable law.

Email communications may contain viruses or other defects. Pershing LLC does 
not accept liability nor does it warrant that email communications are virus or 
defect free.
******************************************************

Reply via email to