You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ambari.apache.org by Donald Hansen <do...@hansenfamily.us> on 2015/04/28 19:29:42 UTC

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

Re: Provisioning code

Posted by Donald Hansen <do...@hansenfamily.us>.
This is great! Thank you for the overview John.

On Wed, Apr 29, 2015 at 8:02 AM, John Speidel <js...@hortonworks.com>
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 <do...@hansenfamily.us>
> Sent: Tuesday, April 28, 2015 1:55 PM
> To: dev@ambari.apache.org
> 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 <sw...@hortonworks.com>
> 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" <
> > donald@hansenfamily.us<ma...@hansenfamily.us>> 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 <
> swagle@hortonworks.com>
> > 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 <do...@hansenfamily.us>
> > > Sent: Tuesday, April 28, 2015 10:29 AM
> > > To: dev@ambari.apache.org
> > > 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
> > >
> >
>

Re: Provisioning code

Posted by John Speidel <js...@hortonworks.com>.
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 <do...@hansenfamily.us>
Sent: Tuesday, April 28, 2015 1:55 PM
To: dev@ambari.apache.org
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 <sw...@hortonworks.com>
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" <
> donald@hansenfamily.us<ma...@hansenfamily.us>> 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 <sw...@hortonworks.com>
> 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 <do...@hansenfamily.us>
> > Sent: Tuesday, April 28, 2015 10:29 AM
> > To: dev@ambari.apache.org
> > 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
> >
>

Re: Provisioning code

Posted by Donald Hansen <do...@hansenfamily.us>.
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 <sw...@hortonworks.com>
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" <
> donald@hansenfamily.us<ma...@hansenfamily.us>> 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 <sw...@hortonworks.com>
> 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 <do...@hansenfamily.us>
> > Sent: Tuesday, April 28, 2015 10:29 AM
> > To: dev@ambari.apache.org
> > 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
> >
>

Re: Provisioning code

Posted by Siddharth Wagle <sw...@hortonworks.com>.
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" <do...@hansenfamily.us>> 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 <sw...@hortonworks.com>
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 <do...@hansenfamily.us>
> Sent: Tuesday, April 28, 2015 10:29 AM
> To: dev@ambari.apache.org
> 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
>

Re: Provisioning code

Posted by Donald Hansen <do...@hansenfamily.us>.
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 <sw...@hortonworks.com>
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 <do...@hansenfamily.us>
> Sent: Tuesday, April 28, 2015 10:29 AM
> To: dev@ambari.apache.org
> 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
>

Re: Provisioning code

Posted by Siddharth Wagle <sw...@hortonworks.com>.
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 <do...@hansenfamily.us>
Sent: Tuesday, April 28, 2015 10:29 AM
To: dev@ambari.apache.org
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