ambari-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Donald Hansen <don...@hansenfamily.us>
Subject Re: Dev workflow
Date Fri, 26 Jun 2015 01:45:05 GMT
I started doing some POC work for my company using Ambari a couple months
ago. I follow a similar approach as Sumit for the most part. The one
exception is with UI changes. I have a linked folder to my UI code and use
"brunch w" to update the UI code when I make changes. Basically what is
under "Frontend Development" on this page
https://cwiki.apache.org/confluence/display/AMBARI/Quick+Start+Guide

On Thursday, June 25, 2015, Sumit Mohanty <smohanty@hortonworks.com> wrote:

> Inline ...
>
> This is what I do and by no means is the only way. So I encourage others
> to reply as well.
>
> ________________________________________
> From: Halterman, Jonathan <jonathan.halterman@hp.com <javascript:;>>
> Sent: Thursday, June 25, 2015 11:53 AM
> To: dev@ambari.apache.org <javascript:;>
> Subject: Re: Dev workflow
>
> Followup to this: Do you typically run the entire test suite on changes?
> Just the suite for a specific sub-project? I noticed that some of the
> individual test cases take 4+ minutes on my VM so I wanted to see what
> others do.
> [Sumit] If you are making changes to specific modules (e.g. view, agent,
> or stacks within ambari-server) you can only run tests for the module. The
> issue is when you make changes to ambari-server whose unit tests can take
> 20-40 minutes. You can run tests specific to files being changed if the
> changes are limited in scope. Also, adding a patch to the Apache JIRA and
> submitting the patch will also get you a test run for free - you still need
> to wait. So it might be a good idea to do so just before commit and while
> developing you can run specific tests.
>
> - jonathan
>
> From: <Halterman>, Jonathan Halterman <jonathan.halterman@hp.com
> <javascript:;><mailto:jonathan.halterman@hp.com <javascript:;>>>
> Date: Thursday, June 25, 2015 at 11:14 AM
> To: "dev@ambari.apache.org <javascript:;><mailto:dev@ambari.apache.org
> <javascript:;>>" <dev@ambari.apache.org <javascript:;><mailto:
> dev@ambari.apache.org <javascript:;>>>
> Subject: Dev workflow
>
> I just wanted to ping the community to get a sense for what dev workflow
> other developers are using. The wiki hints at a few possibilities – using
> ambari-vagrant, using the dev-tools' Docker, but since
> building/installing/running Ambari is a bit different than other projects,
> I’m curious what the end to end dev workflow looks like. Some specific
> questions:
>
>   *   What’s your general workflow for deploying and testing changes in an
> ambari-server?
> [Sumit] In my case, I deploy Ambari/Stack on a Vagrant VM and update the
> jars/scripts as needed with my fixes. I usually keep my VM updated by
> re-deploying fresh every 1-2 days. This can be troublesome if you are
> testing some scenarios that require more work than the default deployment
> such as external DB, security, AD integration, etc. In general, you can go
> a few days without having to update your VM or sync'ing.
>   *   Do you run ambari-server for development on your local machine?
> [Sumit] I do not. Running Ambari in DEBUG mode allows easy debugging from
> your dev machine (see below).
>   *   Do you run ambari-server in a VM or container? If so:
>      *   Do you use synced folders or shared volumes?
> [Sumit] Yes, I run on VMs. I do not use sync'ed folders or volume but that
> has worked for me before. For me the reason is that I switch between
> Vagrant, ec2, gce, etc. for my development.
>         *   If so, what kind of synced folders (vagrant, nfs, rsync)?
> [Sumit] Vagrant works fine.
>         *   Are you able to successfully build ambari when using synced
> folders?
> [Sumit] I have not tried it.
>         *   Are you able to successfully build an rpm/deb when using
> synced folders?
> [Sumit] I have not tried it either.
>      *   If you don’t use synced folders, what’s your workflow for testing
> code?
> [Sumit] Build on the dev machine and copy over jars. If there are changes
> to the scripts then I will use some scripts to copy them over and overlay
> them properly.
>   *   Does the ambari apt/deb package need to be installed in order to
> start ambari-server for development purposes?
> [Sumit] I assume yes. In my case, I use one of the latest builds from my
> organization and then patch it with my fixes.
>   *   How do you start ambari-server for development purposes (with the
> ability to attach a debugger)?
> [Sumit] If you look into /usr/sbin/ambari_server_main.py then you can see
> the SERVER_START_CMD_DEBUG and also how to start the server with this
> option.
>
> HTH
>
> Cheers,
> Jonathan
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message