Re: Review Request 22065: Fix /cron endpoint.

2014-05-30 Thread Suman Karumuri

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/22065/#review44341
---

Ship it!


Ship It!

- Suman Karumuri


On May 30, 2014, 1:32 a.m., Kevin Sweeney wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/22065/
 ---
 
 (Updated May 30, 2014, 1:32 a.m.)
 
 
 Review request for Aurora, David McLaughlin and Bill Farner.
 
 
 Bugs: AURORA-478
 https://issues.apache.org/jira/browse/AURORA-478
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Fix /cron endpoint.
 
 
 Diffs
 -
 
   
 src/main/java/org/apache/aurora/scheduler/cron/quartz/CronJobManagerImpl.java 
 3359425b5f19e68f33c46c5191ad100c1857d978 
   src/main/java/org/apache/aurora/scheduler/http/Cron.java 
 6ccf5833012b4282e6a0fc94db39ac4ccd5ce77f 
   
 src/test/java/org/apache/aurora/scheduler/cron/quartz/CronJobManagerImplTest.java
  efa0a583dfa63ae1240a2fff128d97497c83536e 
   src/test/java/org/apache/aurora/scheduler/http/CronTest.java PRE-CREATION 
 
 Diff: https://reviews.apache.org/r/22065/diff/
 
 
 Testing
 ---
 
 ./gradlew -Pq build
 
 ./gradlew run
 curl -s http://localhost:8081/cron | python -m json.tool
 
 
 Thanks,
 
 Kevin Sweeney
 




Re: Review Request 22008: Exclude .git from rsync copy in vagrant.

2014-05-30 Thread Mark Chu-Carroll


 On May 29, 2014, 7:58 a.m., Mark Chu-Carroll wrote:
  Why?
  
  Right now, I do a lot of debugging of the client using vagrant. My typical 
  workflow is:
  - Make the change in my git workspace.
  - Commit it to a branch.
  - vagrant ssh into the virtual cluster
  - git pull /vagrant mybranch
  - build client
  - test
  
  If we eliminate that .git file, then the aurora copy in the vagrant host 
  can no longer be used for pulls. We can't just use the /vagrant copy, 
  because that's got a ton of state.
  
  With this change, to do a similar dev workflow, I'd need to create a git 
  workspace cloned from /vagrant, and also add new stuff to copy the 
  resulting aurora/aurora2 pexes into the original /vagrant copy. It makes 
  the workflow more complicated, and I'm not clear on what benefits it 
  produces in exchange.
  
  
  
 
 
 Bill Farner wrote:
 The workflow would be slightly different than you describe.  To update 
 builds in the VM, you would run vagrant provision, and rsync will pick up 
 the changes.  Does that sound reasonable?
 
 Mark Chu-Carroll wrote:
 It's a *lot* slower. Trying it out with a simple change in the client, 
 the round-trip time for a change using git is under five seconds, for git 
 commit, git pull, and pants to build the client. 
 
 Running vagrant provision took one minute and 20 seconds for an 
 equivalent process. 
 
 It's just a minute - but between the different things I'm working on, I 
 literally did that more than 20 times today. 
 
 It's a very significant increase in time, for an uncertain benefit. What 
 do we gain by eliminating that .git from the provisioned copy of the 
 workspace? If we're really getting something out of eliminating the git 
 metadata from the provisioned vagrant image, then it might be worth the 
 price. But if not, then why are we making work harder?
 
 

 
 Bill Farner wrote:
  It's a *lot* slower. Trying it out with a simple change in the client, 
 the round-trip time for a change using git is under five seconds, for git 
 commit, git pull, and pants to build the client. 
 
 Yup, it's bound to be slower as-is given that there are more builds 
 taking place.  Looks like the only way to pass arguments to the provisioner 
 script is via environment variables.  How would you feel about that to let 
 you rebuild only specific components?
 
  If we're really getting something out of eliminating the git metadata 
 from the provisioned vagrant image, then it might be worth the price.
 
 My intent is to standardize on the workflow within the vagrant 
 environment, leaning on vagrant to hide details of copying code and building.
 


Seems like a giant kludge to work around something that isn't a problem.

We've got a clean workflow that's fast, easy, and does a good job. Why not just 
document it, instead of trying to retrofit vagrant provisioning into doing 
something that it wasn't meant to do?

If you really dislike using git for this, why not just write a companion script 
that does the rsync, instead of kludging the provisioner?


- Mark


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/22008/#review44255
---


On May 29, 2014, 12:43 a.m., Bill Farner wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/22008/
 ---
 
 (Updated May 29, 2014, 12:43 a.m.)
 
 
 Review request for Aurora and Mark Chu-Carroll.
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Exclude .git from rsync copy in vagrant.
 
 
 Diffs
 -
 
   examples/vagrant/provision-dev-cluster.sh 
 ce936c19a42f4968d4706e6ef38c25db01ae2c5d 
 
 Diff: https://reviews.apache.org/r/22008/diff/
 
 
 Testing
 ---
 
 vagrant up
 
 
 Thanks,
 
 Bill Farner
 




Re: Review Request 22008: Exclude .git from rsync copy in vagrant.

2014-05-30 Thread Bill Farner


 On May 29, 2014, 11:58 a.m., Mark Chu-Carroll wrote:
  Why?
  
  Right now, I do a lot of debugging of the client using vagrant. My typical 
  workflow is:
  - Make the change in my git workspace.
  - Commit it to a branch.
  - vagrant ssh into the virtual cluster
  - git pull /vagrant mybranch
  - build client
  - test
  
  If we eliminate that .git file, then the aurora copy in the vagrant host 
  can no longer be used for pulls. We can't just use the /vagrant copy, 
  because that's got a ton of state.
  
  With this change, to do a similar dev workflow, I'd need to create a git 
  workspace cloned from /vagrant, and also add new stuff to copy the 
  resulting aurora/aurora2 pexes into the original /vagrant copy. It makes 
  the workflow more complicated, and I'm not clear on what benefits it 
  produces in exchange.
  
  
  
 
 
 Bill Farner wrote:
 The workflow would be slightly different than you describe.  To update 
 builds in the VM, you would run vagrant provision, and rsync will pick up 
 the changes.  Does that sound reasonable?
 
 Mark Chu-Carroll wrote:
 It's a *lot* slower. Trying it out with a simple change in the client, 
 the round-trip time for a change using git is under five seconds, for git 
 commit, git pull, and pants to build the client. 
 
 Running vagrant provision took one minute and 20 seconds for an 
 equivalent process. 
 
 It's just a minute - but between the different things I'm working on, I 
 literally did that more than 20 times today. 
 
 It's a very significant increase in time, for an uncertain benefit. What 
 do we gain by eliminating that .git from the provisioned copy of the 
 workspace? If we're really getting something out of eliminating the git 
 metadata from the provisioned vagrant image, then it might be worth the 
 price. But if not, then why are we making work harder?
 
 

 
 Bill Farner wrote:
  It's a *lot* slower. Trying it out with a simple change in the client, 
 the round-trip time for a change using git is under five seconds, for git 
 commit, git pull, and pants to build the client. 
 
 Yup, it's bound to be slower as-is given that there are more builds 
 taking place.  Looks like the only way to pass arguments to the provisioner 
 script is via environment variables.  How would you feel about that to let 
 you rebuild only specific components?
 
  If we're really getting something out of eliminating the git metadata 
 from the provisioned vagrant image, then it might be worth the price.
 
 My intent is to standardize on the workflow within the vagrant 
 environment, leaning on vagrant to hide details of copying code and building.
 

 
 Mark Chu-Carroll wrote:
 Seems like a giant kludge to work around something that isn't a problem.
 
 We've got a clean workflow that's fast, easy, and does a good job. Why 
 not just document it, instead of trying to retrofit vagrant provisioning into 
 doing something that it wasn't meant to do?
 
 If you really dislike using git for this, why not just write a companion 
 script that does the rsync, instead of kludging the provisioner?


Ah, yes - i did think about pushing the rsync command into a script in the 
default PATH, i'm fine with that.

My goal is not to eradicate git, but to simplify use of the vagrant 
environment.  For example, Maxim and David tend to favor ./gradlew run 
partially because it's one command.  Meanwhile i'd like to remove ./gradlew run 
for a few reasons.  I see 'vagrant provision' as the possible replacement for 
that command.

I'm happy to proceed with setting up a command that does the code sync, but 
i'll be looking for more than that to get to a single command.


- Bill


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/22008/#review44255
---


On May 29, 2014, 4:43 a.m., Bill Farner wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/22008/
 ---
 
 (Updated May 29, 2014, 4:43 a.m.)
 
 
 Review request for Aurora and Mark Chu-Carroll.
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Exclude .git from rsync copy in vagrant.
 
 
 Diffs
 -
 
   examples/vagrant/provision-dev-cluster.sh 
 ce936c19a42f4968d4706e6ef38c25db01ae2c5d 
 
 Diff: https://reviews.apache.org/r/22008/diff/
 
 
 Testing
 ---
 
 vagrant up
 
 
 Thanks,
 
 Bill Farner
 




Re: Review Request 22008: Exclude .git from rsync copy in vagrant.

2014-05-30 Thread Bill Farner


 On May 29, 2014, 11:58 a.m., Mark Chu-Carroll wrote:
  Why?
  
  Right now, I do a lot of debugging of the client using vagrant. My typical 
  workflow is:
  - Make the change in my git workspace.
  - Commit it to a branch.
  - vagrant ssh into the virtual cluster
  - git pull /vagrant mybranch
  - build client
  - test
  
  If we eliminate that .git file, then the aurora copy in the vagrant host 
  can no longer be used for pulls. We can't just use the /vagrant copy, 
  because that's got a ton of state.
  
  With this change, to do a similar dev workflow, I'd need to create a git 
  workspace cloned from /vagrant, and also add new stuff to copy the 
  resulting aurora/aurora2 pexes into the original /vagrant copy. It makes 
  the workflow more complicated, and I'm not clear on what benefits it 
  produces in exchange.
  
  
  
 
 
 Bill Farner wrote:
 The workflow would be slightly different than you describe.  To update 
 builds in the VM, you would run vagrant provision, and rsync will pick up 
 the changes.  Does that sound reasonable?
 
 Mark Chu-Carroll wrote:
 It's a *lot* slower. Trying it out with a simple change in the client, 
 the round-trip time for a change using git is under five seconds, for git 
 commit, git pull, and pants to build the client. 
 
 Running vagrant provision took one minute and 20 seconds for an 
 equivalent process. 
 
 It's just a minute - but between the different things I'm working on, I 
 literally did that more than 20 times today. 
 
 It's a very significant increase in time, for an uncertain benefit. What 
 do we gain by eliminating that .git from the provisioned copy of the 
 workspace? If we're really getting something out of eliminating the git 
 metadata from the provisioned vagrant image, then it might be worth the 
 price. But if not, then why are we making work harder?
 
 

 
 Bill Farner wrote:
  It's a *lot* slower. Trying it out with a simple change in the client, 
 the round-trip time for a change using git is under five seconds, for git 
 commit, git pull, and pants to build the client. 
 
 Yup, it's bound to be slower as-is given that there are more builds 
 taking place.  Looks like the only way to pass arguments to the provisioner 
 script is via environment variables.  How would you feel about that to let 
 you rebuild only specific components?
 
  If we're really getting something out of eliminating the git metadata 
 from the provisioned vagrant image, then it might be worth the price.
 
 My intent is to standardize on the workflow within the vagrant 
 environment, leaning on vagrant to hide details of copying code and building.
 

 
 Mark Chu-Carroll wrote:
 Seems like a giant kludge to work around something that isn't a problem.
 
 We've got a clean workflow that's fast, easy, and does a good job. Why 
 not just document it, instead of trying to retrofit vagrant provisioning into 
 doing something that it wasn't meant to do?
 
 If you really dislike using git for this, why not just write a companion 
 script that does the rsync, instead of kludging the provisioner?

 
 Bill Farner wrote:
 Ah, yes - i did think about pushing the rsync command into a script in 
 the default PATH, i'm fine with that.
 
 My goal is not to eradicate git, but to simplify use of the vagrant 
 environment.  For example, Maxim and David tend to favor ./gradlew run 
 partially because it's one command.  Meanwhile i'd like to remove ./gradlew 
 run for a few reasons.  I see 'vagrant provision' as the possible replacement 
 for that command.
 
 I'm happy to proceed with setting up a command that does the code sync, 
 but i'll be looking for more than that to get to a single command.
 
 Mark Chu-Carroll wrote:
 I'm good with getting to a single command, so long as it isn't a big step 
 backwards for my productivity. I'm happy to help however I can - just let me 
 know what you need.


I see two workable routes, do either of these sound usable?  Do any other 
approaches come to mind?

- The environment variable approach.  Upside is that this makes vagrant 
provision the uniform interface.

  # Piecemeal rebuild
  COMPONENTS='scheduler,observer' vagrant provision

  # Rebuild everything
  vagrant provision


- A build script for each component, installed during provisioning.  Downside 
is that piecemeal and full build approaches are very different.

  # Piecemeal rebuild
  vagrant ssh -c 'rebuild client,scheduler'

  # Rebuild everything
  vagrant provision


- Bill


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/22008/#review44255
---


On May 29, 2014, 4:43 a.m., Bill Farner wrote:
 
 ---
 This is an automatically generated e-mail. To reply, 

Re: Review Request 22008: Exclude .git from rsync copy in vagrant.

2014-05-30 Thread Mark Chu-Carroll


 On May 29, 2014, 7:58 a.m., Mark Chu-Carroll wrote:
  Why?
  
  Right now, I do a lot of debugging of the client using vagrant. My typical 
  workflow is:
  - Make the change in my git workspace.
  - Commit it to a branch.
  - vagrant ssh into the virtual cluster
  - git pull /vagrant mybranch
  - build client
  - test
  
  If we eliminate that .git file, then the aurora copy in the vagrant host 
  can no longer be used for pulls. We can't just use the /vagrant copy, 
  because that's got a ton of state.
  
  With this change, to do a similar dev workflow, I'd need to create a git 
  workspace cloned from /vagrant, and also add new stuff to copy the 
  resulting aurora/aurora2 pexes into the original /vagrant copy. It makes 
  the workflow more complicated, and I'm not clear on what benefits it 
  produces in exchange.
  
  
  
 
 
 Bill Farner wrote:
 The workflow would be slightly different than you describe.  To update 
 builds in the VM, you would run vagrant provision, and rsync will pick up 
 the changes.  Does that sound reasonable?
 
 Mark Chu-Carroll wrote:
 It's a *lot* slower. Trying it out with a simple change in the client, 
 the round-trip time for a change using git is under five seconds, for git 
 commit, git pull, and pants to build the client. 
 
 Running vagrant provision took one minute and 20 seconds for an 
 equivalent process. 
 
 It's just a minute - but between the different things I'm working on, I 
 literally did that more than 20 times today. 
 
 It's a very significant increase in time, for an uncertain benefit. What 
 do we gain by eliminating that .git from the provisioned copy of the 
 workspace? If we're really getting something out of eliminating the git 
 metadata from the provisioned vagrant image, then it might be worth the 
 price. But if not, then why are we making work harder?
 
 

 
 Bill Farner wrote:
  It's a *lot* slower. Trying it out with a simple change in the client, 
 the round-trip time for a change using git is under five seconds, for git 
 commit, git pull, and pants to build the client. 
 
 Yup, it's bound to be slower as-is given that there are more builds 
 taking place.  Looks like the only way to pass arguments to the provisioner 
 script is via environment variables.  How would you feel about that to let 
 you rebuild only specific components?
 
  If we're really getting something out of eliminating the git metadata 
 from the provisioned vagrant image, then it might be worth the price.
 
 My intent is to standardize on the workflow within the vagrant 
 environment, leaning on vagrant to hide details of copying code and building.
 

 
 Mark Chu-Carroll wrote:
 Seems like a giant kludge to work around something that isn't a problem.
 
 We've got a clean workflow that's fast, easy, and does a good job. Why 
 not just document it, instead of trying to retrofit vagrant provisioning into 
 doing something that it wasn't meant to do?
 
 If you really dislike using git for this, why not just write a companion 
 script that does the rsync, instead of kludging the provisioner?

 
 Bill Farner wrote:
 Ah, yes - i did think about pushing the rsync command into a script in 
 the default PATH, i'm fine with that.
 
 My goal is not to eradicate git, but to simplify use of the vagrant 
 environment.  For example, Maxim and David tend to favor ./gradlew run 
 partially because it's one command.  Meanwhile i'd like to remove ./gradlew 
 run for a few reasons.  I see 'vagrant provision' as the possible replacement 
 for that command.
 
 I'm happy to proceed with setting up a command that does the code sync, 
 but i'll be looking for more than that to get to a single command.
 
 Mark Chu-Carroll wrote:
 I'm good with getting to a single command, so long as it isn't a big step 
 backwards for my productivity. I'm happy to help however I can - just let me 
 know what you need.

 
 Bill Farner wrote:
 I see two workable routes, do either of these sound usable?  Do any other 
 approaches come to mind?
 
 - The environment variable approach.  Upside is that this makes vagrant 
 provision the uniform interface.
 
   # Piecemeal rebuild
   COMPONENTS='scheduler,observer' vagrant provision
 
   # Rebuild everything
   vagrant provision
 
 
 - A build script for each component, installed during provisioning.  
 Downside is that piecemeal and full build approaches are very different.
 
   # Piecemeal rebuild
   vagrant ssh -c 'rebuild client,scheduler'
 
   # Rebuild everything
   vagrant provision

I strongly prefer the latter approach. My experience with using environment 
variables for this kind of thing is awful - every time I've done it, I've lived 
to regret it.


- Mark


---
This is an automatically generated e-mail. To reply, 

Re: Review Request 22082: Modify the way that config binding helpers get registered.

2014-05-30 Thread Bill Farner

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/22082/#review44394
---


Mark - would you mind adding a committer to the People line?  We don't have 
enforcement on this yet (one of these days i'll free up time to write the git 
hook), but it seems prudent to always have at least one committer as an 
explicit reviewer.

- Bill Farner


On May 30, 2014, 1:57 p.m., Mark Chu-Carroll wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/22082/
 ---
 
 (Updated May 30, 2014, 1:57 p.m.)
 
 
 Review request for Aurora, Antoine Tollenaere and David McLaughlin.
 
 
 Bugs: aurora-496
 https://issues.apache.org/jira/browse/aurora-496
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Modify the way that config binding helpers get registered.
 
 Config binding helpers (components that add macros to the pystachio
 config language) self-registered in a way that made it difficult to
 provide parameters to initialize them.
 
 This change switches to an explicit construction/registration, instead
 of auto-construction when the class is registered. (Interestingly, this
 is the way that the documentation on the binding helpers code says that
 it works!)
 
 With this change, instead of writing:
 
  FooHelper.register()
 
 You write:
 BindingHelper.register(FooHelper())
 
 Which makes it possible to do:
BindingHelper.register(FooHelper(url=bar))
 
 
 Diffs
 -
 
   src/main/python/apache/aurora/client/binding_helper.py 
 47448e061c4afd85b88ee3f106f49884e2369e8a 
 
 Diff: https://reviews.apache.org/r/22082/diff/
 
 
 Testing
 ---
 
 All client unit tests run and passed.
 
 
 Thanks,
 
 Mark Chu-Carroll
 




Re: Review Request 22082: Modify the way that config binding helpers get registered.

2014-05-30 Thread Mark Chu-Carroll

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/22082/
---

(Updated May 30, 2014, 2:09 p.m.)


Review request for Aurora, Antoine Tollenaere, David McLaughlin, and Bill 
Farner.


Changes
---

Add a committer to the reviewers.


Bugs: aurora-496
https://issues.apache.org/jira/browse/aurora-496


Repository: aurora


Description
---

Modify the way that config binding helpers get registered.

Config binding helpers (components that add macros to the pystachio
config language) self-registered in a way that made it difficult to
provide parameters to initialize them.

This change switches to an explicit construction/registration, instead
of auto-construction when the class is registered. (Interestingly, this
is the way that the documentation on the binding helpers code says that
it works!)

With this change, instead of writing:

 FooHelper.register()

You write:
BindingHelper.register(FooHelper())

Which makes it possible to do:
   BindingHelper.register(FooHelper(url=bar))


Diffs
-

  src/main/python/apache/aurora/client/binding_helper.py 
47448e061c4afd85b88ee3f106f49884e2369e8a 

Diff: https://reviews.apache.org/r/22082/diff/


Testing
---

All client unit tests run and passed.


Thanks,

Mark Chu-Carroll



Re: Review Request 22065: Fix /cron endpoint.

2014-05-30 Thread David McLaughlin

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/22065/#review44396
---

Ship it!


Ship It!

- David McLaughlin


On May 30, 2014, 1:32 a.m., Kevin Sweeney wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/22065/
 ---
 
 (Updated May 30, 2014, 1:32 a.m.)
 
 
 Review request for Aurora, David McLaughlin and Bill Farner.
 
 
 Bugs: AURORA-478
 https://issues.apache.org/jira/browse/AURORA-478
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Fix /cron endpoint.
 
 
 Diffs
 -
 
   
 src/main/java/org/apache/aurora/scheduler/cron/quartz/CronJobManagerImpl.java 
 3359425b5f19e68f33c46c5191ad100c1857d978 
   src/main/java/org/apache/aurora/scheduler/http/Cron.java 
 6ccf5833012b4282e6a0fc94db39ac4ccd5ce77f 
   
 src/test/java/org/apache/aurora/scheduler/cron/quartz/CronJobManagerImplTest.java
  efa0a583dfa63ae1240a2fff128d97497c83536e 
   src/test/java/org/apache/aurora/scheduler/http/CronTest.java PRE-CREATION 
 
 Diff: https://reviews.apache.org/r/22065/diff/
 
 
 Testing
 ---
 
 ./gradlew -Pq build
 
 ./gradlew run
 curl -s http://localhost:8081/cron | python -m json.tool
 
 
 Thanks,
 
 Kevin Sweeney
 




Re: Review Request 22082: Modify the way that config binding helpers get registered.

2014-05-30 Thread David McLaughlin

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/22082/#review44399
---

Ship it!


Ship It!

- David McLaughlin


On May 30, 2014, 6:09 p.m., Mark Chu-Carroll wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/22082/
 ---
 
 (Updated May 30, 2014, 6:09 p.m.)
 
 
 Review request for Aurora, Antoine Tollenaere, David McLaughlin, and Bill 
 Farner.
 
 
 Bugs: aurora-496
 https://issues.apache.org/jira/browse/aurora-496
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Modify the way that config binding helpers get registered.
 
 Config binding helpers (components that add macros to the pystachio
 config language) self-registered in a way that made it difficult to
 provide parameters to initialize them.
 
 This change switches to an explicit construction/registration, instead
 of auto-construction when the class is registered. (Interestingly, this
 is the way that the documentation on the binding helpers code says that
 it works!)
 
 With this change, instead of writing:
 
  FooHelper.register()
 
 You write:
 BindingHelper.register(FooHelper())
 
 Which makes it possible to do:
BindingHelper.register(FooHelper(url=bar))
 
 
 Diffs
 -
 
   src/main/python/apache/aurora/client/binding_helper.py 
 47448e061c4afd85b88ee3f106f49884e2369e8a 
 
 Diff: https://reviews.apache.org/r/22082/diff/
 
 
 Testing
 ---
 
 All client unit tests run and passed.
 
 
 Thanks,
 
 Mark Chu-Carroll
 




Review Request 22092: Added a comment to .gitignore.

2014-05-30 Thread Suman Karumuri

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/22092/
---

Review request for Aurora and Bill Farner.


Bugs: AURORA-485
https://issues.apache.org/jira/browse/AURORA-485


Repository: aurora


Description
---

Added a comment to .gitignore.


Diffs
-

  .gitignore bed5b8b8a02e957e05b8bcc8fed925f1432973cf 

Diff: https://reviews.apache.org/r/22092/diff/


Testing
---


Thanks,

Suman Karumuri



Re: Review Request 22032: first draft of a developing client v2 document.

2014-05-30 Thread Mark Chu-Carroll

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/22032/#review44415
---



docs/developing-aurora-client.md
https://reviews.apache.org/r/22032/#comment78793

The executor is an important part of aurora - but how is it part of the 
client? The executor is entirely a cluster-side thing running on the slaves.




docs/developing-aurora-client.md
https://reviews.apache.org/r/22032/#comment78794

I think it's worth being complete here.


- Mark Chu-Carroll


On May 29, 2014, 3:30 p.m., Mark Chu-Carroll wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/22032/
 ---
 
 (Updated May 29, 2014, 3:30 p.m.)
 
 
 Review request for Aurora, David McLaughlin and Henry Saputra.
 
 
 Bugs: aurora-20
 https://issues.apache.org/jira/browse/aurora-20
 
 
 Repository: aurora
 
 
 Description
 ---
 
 first draft of a developing client v2 document.
 
 
 Diffs
 -
 
   docs/developing-aurora-client.md PRE-CREATION 
 
 Diff: https://reviews.apache.org/r/22032/diff/
 
 
 Testing
 ---
 
 n/a
 
 
 Thanks,
 
 Mark Chu-Carroll
 




Re: Review Request 22032: first draft of a developing client v2 document.

2014-05-30 Thread Mark Chu-Carroll

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/22032/
---

(Updated May 30, 2014, 3:40 p.m.)


Review request for Aurora, David McLaughlin and Henry Saputra.


Changes
---

Address reviews.


Bugs: aurora-20
https://issues.apache.org/jira/browse/aurora-20


Repository: aurora


Description
---

first draft of a developing client v2 document.


Diffs (updated)
-

  docs/developing-aurora-client.md PRE-CREATION 

Diff: https://reviews.apache.org/r/22032/diff/


Testing
---

n/a


Thanks,

Mark Chu-Carroll



Re: Review Request 22092: Added a comment to .gitignore.

2014-05-30 Thread Bill Farner

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/22092/#review44417
---


It wasn't obvious, but in the last review i was subtly trying to nudge you to 
reevaluate all the directory entries in here.  Seems like they all deserve the 
same treatment.

- Bill Farner


On May 30, 2014, 7:31 p.m., Suman Karumuri wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/22092/
 ---
 
 (Updated May 30, 2014, 7:31 p.m.)
 
 
 Review request for Aurora and Bill Farner.
 
 
 Bugs: AURORA-485
 https://issues.apache.org/jira/browse/AURORA-485
 
 
 Repository: aurora
 
 
 Description
 ---
 
 Added a comment to .gitignore.
 
 
 Diffs
 -
 
   .gitignore bed5b8b8a02e957e05b8bcc8fed925f1432973cf 
 
 Diff: https://reviews.apache.org/r/22092/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Suman Karumuri
 




Re: Review Request 22032: first draft of a developing client v2 document.

2014-05-30 Thread Mark Chu-Carroll

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/22032/
---

(Updated May 30, 2014, 4:14 p.m.)


Review request for Aurora, David McLaughlin and Henry Saputra.


Changes
---

More changes.


Bugs: aurora-20
https://issues.apache.org/jira/browse/aurora-20


Repository: aurora


Description
---

first draft of a developing client v2 document.


Diffs (updated)
-

  docs/developing-aurora-client.md PRE-CREATION 

Diff: https://reviews.apache.org/r/22032/diff/


Testing
---

n/a


Thanks,

Mark Chu-Carroll



Re: Review Request 22094: Updating vagrant cleanup steps.

2014-05-30 Thread Maxim Khutornenko

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/22094/
---

(Updated May 30, 2014, 9:08 p.m.)


Review request for Aurora and Bill Farner.


Changes
---

CR comments.


Bugs: AURORA-499
https://issues.apache.org/jira/browse/AURORA-499


Repository: aurora


Description
---

Updating vagrant cleanup steps.


Diffs (updated)
-

  docs/vagrant.md 6c0876dd5a215b93c7894c3d5299cc65fd51d192 

Diff: https://reviews.apache.org/r/22094/diff/


Testing
---


Thanks,

Maxim Khutornenko



Re: Review Request 22094: Updating vagrant cleanup steps.

2014-05-30 Thread Maxim Khutornenko

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/22094/
---

(Updated May 30, 2014, 9:13 p.m.)


Review request for Aurora and Bill Farner.


Changes
---

CR comments.


Bugs: AURORA-499
https://issues.apache.org/jira/browse/AURORA-499


Repository: aurora


Description
---

Updating vagrant cleanup steps.


Diffs (updated)
-

  docs/vagrant.md 6c0876dd5a215b93c7894c3d5299cc65fd51d192 

Diff: https://reviews.apache.org/r/22094/diff/


Testing
---


Thanks,

Maxim Khutornenko



Re: Review Request 22008: Exclude .git from rsync copy in vagrant.

2014-05-30 Thread Maxim Khutornenko


 On May 29, 2014, 11:58 a.m., Mark Chu-Carroll wrote:
  Why?
  
  Right now, I do a lot of debugging of the client using vagrant. My typical 
  workflow is:
  - Make the change in my git workspace.
  - Commit it to a branch.
  - vagrant ssh into the virtual cluster
  - git pull /vagrant mybranch
  - build client
  - test
  
  If we eliminate that .git file, then the aurora copy in the vagrant host 
  can no longer be used for pulls. We can't just use the /vagrant copy, 
  because that's got a ton of state.
  
  With this change, to do a similar dev workflow, I'd need to create a git 
  workspace cloned from /vagrant, and also add new stuff to copy the 
  resulting aurora/aurora2 pexes into the original /vagrant copy. It makes 
  the workflow more complicated, and I'm not clear on what benefits it 
  produces in exchange.
  
  
  
 
 
 Bill Farner wrote:
 The workflow would be slightly different than you describe.  To update 
 builds in the VM, you would run vagrant provision, and rsync will pick up 
 the changes.  Does that sound reasonable?
 
 Mark Chu-Carroll wrote:
 It's a *lot* slower. Trying it out with a simple change in the client, 
 the round-trip time for a change using git is under five seconds, for git 
 commit, git pull, and pants to build the client. 
 
 Running vagrant provision took one minute and 20 seconds for an 
 equivalent process. 
 
 It's just a minute - but between the different things I'm working on, I 
 literally did that more than 20 times today. 
 
 It's a very significant increase in time, for an uncertain benefit. What 
 do we gain by eliminating that .git from the provisioned copy of the 
 workspace? If we're really getting something out of eliminating the git 
 metadata from the provisioned vagrant image, then it might be worth the 
 price. But if not, then why are we making work harder?
 
 

 
 Bill Farner wrote:
  It's a *lot* slower. Trying it out with a simple change in the client, 
 the round-trip time for a change using git is under five seconds, for git 
 commit, git pull, and pants to build the client. 
 
 Yup, it's bound to be slower as-is given that there are more builds 
 taking place.  Looks like the only way to pass arguments to the provisioner 
 script is via environment variables.  How would you feel about that to let 
 you rebuild only specific components?
 
  If we're really getting something out of eliminating the git metadata 
 from the provisioned vagrant image, then it might be worth the price.
 
 My intent is to standardize on the workflow within the vagrant 
 environment, leaning on vagrant to hide details of copying code and building.
 

 
 Mark Chu-Carroll wrote:
 Seems like a giant kludge to work around something that isn't a problem.
 
 We've got a clean workflow that's fast, easy, and does a good job. Why 
 not just document it, instead of trying to retrofit vagrant provisioning into 
 doing something that it wasn't meant to do?
 
 If you really dislike using git for this, why not just write a companion 
 script that does the rsync, instead of kludging the provisioner?

 
 Bill Farner wrote:
 Ah, yes - i did think about pushing the rsync command into a script in 
 the default PATH, i'm fine with that.
 
 My goal is not to eradicate git, but to simplify use of the vagrant 
 environment.  For example, Maxim and David tend to favor ./gradlew run 
 partially because it's one command.  Meanwhile i'd like to remove ./gradlew 
 run for a few reasons.  I see 'vagrant provision' as the possible replacement 
 for that command.
 
 I'm happy to proceed with setting up a command that does the code sync, 
 but i'll be looking for more than that to get to a single command.
 
 Mark Chu-Carroll wrote:
 I'm good with getting to a single command, so long as it isn't a big step 
 backwards for my productivity. I'm happy to help however I can - just let me 
 know what you need.

 
 Bill Farner wrote:
 I see two workable routes, do either of these sound usable?  Do any other 
 approaches come to mind?
 
 - The environment variable approach.  Upside is that this makes vagrant 
 provision the uniform interface.
 
   # Piecemeal rebuild
   COMPONENTS='scheduler,observer' vagrant provision
 
   # Rebuild everything
   vagrant provision
 
 
 - A build script for each component, installed during provisioning.  
 Downside is that piecemeal and full build approaches are very different.
 
   # Piecemeal rebuild
   vagrant ssh -c 'rebuild client,scheduler'
 
   # Rebuild everything
   vagrant provision
 
 Mark Chu-Carroll wrote:
 I strongly prefer the latter approach. My experience with using 
 environment variables for this kind of thing is awful - every time I've done 
 it, I've lived to regret it.


How about a set of component specific provisioning scripts? That would let us 
do 

Re: Review Request 21440: Implementing parallel updater

2014-05-30 Thread Maxim Khutornenko

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/21440/
---

(Updated May 30, 2014, 10:08 p.m.)


Review request for Aurora, Mark Chu-Carroll and Brian Wickman.


Changes
---

Rebased. Brian, ping.


Bugs: AURORA-350
https://issues.apache.org/jira/browse/AURORA-350


Repository: aurora


Description
---

The updater now spawns upto batch_size threads to process one instance per 
thread. 

All mutating calls are multiplexed by the SchedulerMux to do batch 
kill/add/restart calls. This is the first step towards a fully multiplexed 
SchedulerProxy and is intended to mitigate LDAP/scheduler load.


Diffs (updated)
-

  src/main/python/apache/aurora/client/api/instance_watcher.py 
e09aa9a6c32c17f13c9b8ff3a589919587bd839b 
  src/main/python/apache/aurora/client/api/job_monitor.py 
d176995fca68d42fcc2d3989483eaf520d0d737f 
  src/main/python/apache/aurora/client/api/scheduler_client.py 
7be974eb91089f776656ce65b64ee6d8c5b46394 
  src/main/python/apache/aurora/client/api/updater.py 
ea7285a75020a47142e1761c7ed455cdc838e37c 
  src/main/python/apache/aurora/client/api/updater_util.py 
04105de8fb2ce1cab049eb06fd313a43bdcd28db 
  src/test/python/apache/aurora/client/api/test_instance_watcher.py 
b2d0c804ae2b2095d8d2a99ea42f4da06041cec8 
  src/test/python/apache/aurora/client/api/test_job_monitor.py 
665db74475f4828af2050e98e20bbb3b1b29cf0c 
  src/test/python/apache/aurora/client/api/test_updater.py 
ba783da7c0d93bb0bfd03809f62ddcad3f98cd0a 
  src/test/python/apache/aurora/client/cli/test_create.py 
b186b52416a2fae8de28fd1d21e7eec07fea8e55 
  src/test/python/apache/aurora/client/cli/test_kill.py 
666ec3aa0745191aa1395e47728343cd0eda7115 
  src/test/python/apache/aurora/client/cli/test_restart.py 
50acc09491ac21935af78499ad66726df5a8f2ff 
  src/test/python/apache/aurora/client/cli/test_update.py 
a2abc5eb0f11f9bc563f4504c93fcf5b7520d141 
  src/test/python/apache/aurora/client/cli/util.py 
dac4928111200136a9987c9622087e8cdca7f2d2 
  src/test/python/apache/aurora/client/commands/test_create.py 
75f068250b31b656c9c87a6aa66872fbb777b0c0 
  src/test/python/apache/aurora/client/commands/test_kill.py 
3e2ac1fcea301f0ae986b61d9851d10e86996a20 
  src/test/python/apache/aurora/client/commands/test_restart.py 
6e0159f134388a251cb44cd700102d05467a9062 
  src/test/python/apache/aurora/client/commands/test_update.py 
c5afbd33d1b2f82e9603c93b967fbc942c0952d7 
  src/test/python/apache/aurora/client/commands/util.py 
84784171816797f3a4fa4c5238d19b626e68ff44 
  src/test/python/apache/aurora/client/fake_scheduler_proxy.py 
2a4773c81efb390385f675854e9631500b263a45 
  src/test/sh/org/apache/aurora/e2e/http/http_example.aurora 
80871273fc4d47558253e6b09c92724e8693bc11 
  src/test/sh/org/apache/aurora/e2e/http/http_example_updated.aurora 
fc723cf232ddbc10458fc394e37358c8523118c2 
  src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh 
9c5652829ac306dda5f7e95e164c85713e18988f 
  src/test/sh/org/apache/aurora/e2e/test_end_to_end_v2.sh 
2af256d65850bd86279dff4b5c53f234cf7a 

Diff: https://reviews.apache.org/r/21440/diff/


Testing
---

./pants src/test/python:all
src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh


Thanks,

Maxim Khutornenko



Review Request 22097: Remove unused thrift flags from scheduler

2014-05-30 Thread Kevin Sweeney

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/22097/
---

Review request for Aurora, David McLaughlin and Maxim Khutornenko.


Repository: aurora


Description
---

Remove unused thrift flags from scheduler


Diffs
-

  src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java 
321ac3a4f70d374ec794e577d7ac7fb013ca1c20 
  src/main/java/org/apache/aurora/scheduler/thrift/ThriftConfiguration.java 
6b28fa623d657a198b428ce4bb3bbeae2db461e0 
  src/test/java/org/apache/aurora/scheduler/app/SchedulerIT.java 
5e12e4ecd2029284ca864e041457d67364d4 
  src/test/java/org/apache/aurora/scheduler/thrift/ThriftIT.java 
aad18b484c80cc8e8270fa67af9cdaaa10460a9c 

Diff: https://reviews.apache.org/r/22097/diff/


Testing
---

./gradlew -Pq build


Thanks,

Kevin Sweeney



Re: Review Request 22032: first draft of a developing client v2 document.

2014-05-30 Thread Kevin Sweeney

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/22032/#review44436
---

Ship it!


Ship It!

- Kevin Sweeney


On May 30, 2014, 1:14 p.m., Mark Chu-Carroll wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/22032/
 ---
 
 (Updated May 30, 2014, 1:14 p.m.)
 
 
 Review request for Aurora, David McLaughlin and Henry Saputra.
 
 
 Bugs: aurora-20
 https://issues.apache.org/jira/browse/aurora-20
 
 
 Repository: aurora
 
 
 Description
 ---
 
 first draft of a developing client v2 document.
 
 
 Diffs
 -
 
   docs/developing-aurora-client.md PRE-CREATION 
 
 Diff: https://reviews.apache.org/r/22032/diff/
 
 
 Testing
 ---
 
 n/a
 
 
 Thanks,
 
 Mark Chu-Carroll