This is great! Thank you for the overview John. On Wed, Apr 29, 2015 at 8:02 AM, John Speidel <[email protected]> wrote:
> Donald, > > The 1000 foot view ... > > All clusters are provisioned via the Ambari API framework, even UI > requests. > The front end of the api layer consists of services. In the case of > cluster creation, look at ClusterService. > All services extend from BaseService which contains a method handle > request which all requests are funneled through. From here a Request is > created and process() is called on the request. Requests have a common > base class called BaseRequest. This base request does some request parsing > and then invokes the appropriate request handler. In the case of a cluster > create this would be CreateHandler. > > The back end of the api layer is the query layer which consists primarily > of QueryImpl. This is responsible for parsing the query into individual > resource queries and performing the necessary aggregation. The query layer > is responsible for obtaining resource information and building a response > tree which is returned through the api layer. > > The back end primarily consists of resource providers. Resource providers > are responsible for obtaining information for a specific resource. The api > query layer invokes these resource providers to perform the request CRUD > operations. In the case of a cluster create, you would want to look at the > ClusterResourceProvider. > > Hope this gets you started. > -John > > ________________________________________ > From: Donald Hansen <[email protected]> > Sent: Tuesday, April 28, 2015 1:55 PM > To: [email protected] > Subject: Re: Provisioning code > > Thanks, I'm doing that already. I can keep trying to step through it all > and figure it out. Was just going slowly with all the abstraction and being > new to how the code all fits together. Was hoping for a little kick start > :) > > On Tue, Apr 28, 2015 at 10:52 AM, Siddharth Wagle <[email protected]> > wrote: > > > You can start ambari server with "ambari-server start -g". This will > > enabke the jdwp transport on port 5005 and you can attach to the process > > using your IDE. > > > > -Sid > > > > > > Sent by Outlook<http://taps.io/outlookmobile> for Android > > > > > > > > On Tue, Apr 28, 2015 at 10:46 AM -0700, "Donald Hansen" < > > [email protected]<mailto:[email protected]>> wrote: > > > > Yes, I've been reading through the wiki. It was a great help getting a > dev > > environment setup with vagrant so that I could attach to the process. If > > what I am asking is there, I guess I have missed it. > > > > On Tue, Apr 28, 2015 at 10:42 AM, Siddharth Wagle < > [email protected]> > > wrote: > > > > > Hi Donald, > > > > > > Have you had a chance to look through the Ambari wiki: > > > https://cwiki.apache.org/confluence/display/AMBARI/Ambari+Design ? > > > > > > BR, > > > Sid > > > > > > ________________________________________ > > > From: Donald Hansen <[email protected]> > > > Sent: Tuesday, April 28, 2015 10:29 AM > > > To: [email protected] > > > Subject: Provisioning code > > > > > > I'm new to Ambari and trying to walk through all the code. I was > curious > > if > > > someone can point me to where provisioning happens. I wanted to see > what > > > that looks likes. I have Ambari setup with Vagrant and have attached to > > the > > > process with Eclipse. I'm stepping through the code after using the API > > to > > > create a cluster from a blueprint. There is a lot of abstraction going > on > > > and is tough to follow for a newbie. It would be helpful if someone can > > > point me in the general direction. > > > > > > Thanks. > > > Donald > > > > > >
