You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@aurora.apache.org by Mark Chu-Carroll <mc...@twopensource.com> on 2014/02/03 17:30:55 UTC

Re: Review Request 17457: Initial version of an end-to-end test using vagrant

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

(Updated Feb. 3, 2014, 11:30 a.m.)


Review request for Aurora, Bill Farner and Brian Wickman.


Changes
-------

Addressed wickman's review comments.


Bugs: aurora-125 and aurora-80
    https://issues.apache.org/jira/browse/aurora-125
    https://issues.apache.org/jira/browse/aurora-80


Repository: aurora


Description
-------

Got an initial version of the end-to-end test working. 

Currently creates a job, probes it via the scheduler pages,  updates it, and kills it. 
AURORA-127 will extend this to run multiple instances; AURORA-125 will extend this to use
"aurora run" and "aurora ssh" to probe the running tasks.


Diffs (updated)
-----

  3rdparty/python/BUILD cc3e8c929e7b2b614a6ea3dbbb4e70d2f8d22586 
  Vagrantfile 98dcf439aed53da5e78440de04562baf63c7272f 
  examples/vagrant/provision-aurora-scheduler.sh e48291a8673aeb8888169747486b7d50a54f5a56 
  examples/vagrant/provision-dev-environment.sh 7fc11bf523a054f6d068cf676e87bb043d854a25 
  examples/vagrant/provision-mesos-slave.sh c2548a268e0fad7aa4f84d3fa48aea012007502b 
  src/test/sh/org/apache/aurora/e2e/flask/BUILD PRE-CREATION 
  src/test/sh/org/apache/aurora/e2e/flask/flask_example.aurora PRE-CREATION 
  src/test/sh/org/apache/aurora/e2e/flask/flask_example.py PRE-CREATION 
  src/test/sh/org/apache/aurora/e2e/flask/flask_example_updated.aurora PRE-CREATION 
  src/test/sh/org/apache/aurora/e2e/test_common.sh PRE-CREATION 
  src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh PRE-CREATION 

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


Testing
-------

[sun-wukong incubator-aurora (e2e)]$ sh src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
Bringing machine 'devtools' up with 'virtualbox' provider...
Bringing machine 'zookeeper' up with 'virtualbox' provider...
Bringing machine 'mesos-master' up with 'virtualbox' provider...
Bringing machine 'mesos-slave' up with 'virtualbox' provider...
Bringing machine 'aurora-scheduler' up with 'virtualbox' provider...
[devtools] VirtualBox VM is already running.
[zookeeper] VirtualBox VM is already running.
[mesos-master] VirtualBox VM is already running.
[mesos-slave] VirtualBox VM is already running.
[aurora-scheduler] VirtualBox VM is already running.
Cloning into '/home/vagrant/test_dev'...
done.
Already on 'e2e'
Already up-to-date.
+ VIRTUALENV_VERSION=1.10.1
+ which python2.7
++ which python2.7
+ PY=/usr/bin/python2.7
+ echo 'Using /usr/bin/python2.7'
Using /usr/bin/python2.7
+ '[' -f build-support/virtualenv-1.10.1/BOOTSTRAPPED ']'
+ pushd build-support
~/test_dev/build-support ~/test_dev
+ curl -O https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.10.1.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1294k  100 1294k    0     0  3261k      0 --:--:-- --:--:-- --:--:-- 3817k
+ tar zxvf virtualenv-1.10.1.tar.gz
virtualenv-1.10.1/
virtualenv-1.10.1/AUTHORS.txt
virtualenv-1.10.1/bin/
virtualenv-1.10.1/bin/rebuild-script.py
virtualenv-1.10.1/docs/
virtualenv-1.10.1/docs/_theme/
virtualenv-1.10.1/docs/_theme/nature/
virtualenv-1.10.1/docs/_theme/nature/static/
virtualenv-1.10.1/docs/_theme/nature/static/nature.css_t
virtualenv-1.10.1/docs/_theme/nature/static/pygments.css
virtualenv-1.10.1/docs/_theme/nature/theme.conf
virtualenv-1.10.1/docs/conf.py
virtualenv-1.10.1/docs/index.rst
virtualenv-1.10.1/docs/make.bat
virtualenv-1.10.1/docs/Makefile
virtualenv-1.10.1/docs/news.rst
virtualenv-1.10.1/LICENSE.txt
virtualenv-1.10.1/MANIFEST.in
virtualenv-1.10.1/PKG-INFO
virtualenv-1.10.1/README.rst
virtualenv-1.10.1/scripts/
virtualenv-1.10.1/scripts/virtualenv
virtualenv-1.10.1/setup.cfg
virtualenv-1.10.1/setup.py
virtualenv-1.10.1/virtualenv.egg-info/
virtualenv-1.10.1/virtualenv.egg-info/dependency_links.txt
virtualenv-1.10.1/virtualenv.egg-info/entry_points.txt
virtualenv-1.10.1/virtualenv.egg-info/not-zip-safe
virtualenv-1.10.1/virtualenv.egg-info/PKG-INFO
virtualenv-1.10.1/virtualenv.egg-info/SOURCES.txt
virtualenv-1.10.1/virtualenv.egg-info/top_level.txt
virtualenv-1.10.1/virtualenv.py
virtualenv-1.10.1/virtualenv_embedded/
virtualenv-1.10.1/virtualenv_embedded/activate.bat
virtualenv-1.10.1/virtualenv_embedded/activate.csh
virtualenv-1.10.1/virtualenv_embedded/activate.fish
virtualenv-1.10.1/virtualenv_embedded/activate.ps1
virtualenv-1.10.1/virtualenv_embedded/activate.sh
virtualenv-1.10.1/virtualenv_embedded/activate_this.py
virtualenv-1.10.1/virtualenv_embedded/deactivate.bat
virtualenv-1.10.1/virtualenv_embedded/distutils-init.py
virtualenv-1.10.1/virtualenv_embedded/distutils.cfg
virtualenv-1.10.1/virtualenv_embedded/site.py
virtualenv-1.10.1/virtualenv_support/
virtualenv-1.10.1/virtualenv_support/__init__.py
virtualenv-1.10.1/virtualenv_support/pip-1.4.1.tar.gz
virtualenv-1.10.1/virtualenv_support/setuptools-0.9.8.tar.gz
+ touch virtualenv-1.10.1/BOOTSTRAPPED
~/test_dev
+ popd
+ exec /usr/bin/python2.7 build-support/virtualenv-1.10.1/virtualenv.py /tmp/pants.BqUkIw/tcp
New python executable in /tmp/pants.BqUkIw/tcp/bin/python2.7
Also creating executable in /tmp/pants.BqUkIw/tcp/bin/python
Installing Setuptools..............................................................................................................................................................................................................................done.
Installing Pip.....................................................................................................................................................................................................................................................................................................................................done.
/tmp/pants.BqUkIw ~/test_dev
Downloading/unpacking twitter.common.python==0.2.0
  Running setup.py egg_info for package twitter.common.python

Downloading/unpacking setuptools==1.1.7 (from twitter.common.python==0.2.0)
  Running setup.py egg_info for package setuptools

Installing collected packages: twitter.common.python, setuptools
  Running setup.py install for twitter.common.python
    Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/__init__.py (namespace package)
    Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/common/__init__.py (namespace package)

    Installing /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter.common.python-0.2.0-py2.7-nspkg.pth
  Found existing installation: setuptools 0.9.8
    Uninstalling setuptools:
      Successfully uninstalled setuptools
  Running setup.py install for setuptools

    Installing easy_install script to /tmp/pants.BqUkIw/tcp/bin
    Installing easy_install-2.7 script to /tmp/pants.BqUkIw/tcp/bin
Successfully installed twitter.common.python setuptools
Cleaning up...
twitter.common.python: Obtaining twitter.pants==0.0.13
twitter.common.python: Obtaining twitter.pants==0.0.13 :: Installing twitter.pants
twitter.common.python: Obtaining twitter.pants==0.0.13 :: Distilling twitter.pants
twitter.common.python: Obtaining twitter.pants==0.0.13: 1413.4ms
twitter.common.python:   Installing twitter.pants: 0.4ms
twitter.common.python:   Distilling twitter.pants: 798.7ms
twitter.common.python: Obtaining twitter.common.quantity==0.1.0
twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Installing twitter.common.quantity
twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Distilling twitter.common.quantity
twitter.common.python: Obtaining twitter.common.quantity==0.1.0: 646.7ms
twitter.common.python:   Installing twitter.common.quantity: 0.2ms
twitter.common.python:   Distilling twitter.common.quantity: 94.6ms
twitter.common.python: Obtaining elementtree
twitter.common.python: Obtaining elementtree :: Installing elementtree
twitter.common.python: Obtaining elementtree :: Distilling elementtree
twitter.common.python: Obtaining elementtree: 1681.4ms
twitter.common.python:   Installing elementtree: 0.2ms
twitter.common.python:   Distilling elementtree: 140.7ms
twitter.common.python: Obtaining twitter.common.config==0.1.0
twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Installing twitter.common.config
twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Distilling twitter.common.config
twitter.common.python: Obtaining twitter.common.config==0.1.0: 490.8ms
twitter.common.python:   Installing twitter.common.config: 0.2ms
twitter.common.python:   Distilling twitter.common.config: 92.8ms
twitter.common.python: Obtaining ansicolors
twitter.common.python: Obtaining ansicolors :: Installing ansicolors
twitter.common.python: Obtaining ansicolors :: Distilling ansicolors
twitter.common.python: Obtaining ansicolors: 603.0ms
twitter.common.python:   Installing ansicolors: 0.2ms
twitter.common.python:   Distilling ansicolors: 86.1ms
twitter.common.python: Obtaining twitter.common.confluence==0.1.0
twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Installing twitter.common.confluence
twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Distilling twitter.common.confluence
twitter.common.python: Obtaining twitter.common.confluence==0.1.0: 759.4ms
twitter.common.python:   Installing twitter.common.confluence: 0.3ms
twitter.common.python:   Distilling twitter.common.confluence: 95.8ms
twitter.common.python: Obtaining psutil==1.1.2
twitter.common.python: Obtaining psutil==1.1.2 :: Installing psutil
twitter.common.python: Obtaining psutil==1.1.2 :: Distilling psutil
twitter.common.python: Obtaining psutil==1.1.2: 1487.2ms
twitter.common.python:   Installing psutil: 0.4ms
twitter.common.python:   Distilling psutil: 446.3ms
twitter.common.python: Obtaining pygments
twitter.common.python: Obtaining pygments: 761.2ms
twitter.common.python: Obtaining twitter.common.decorators==0.1.0
twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Installing twitter.common.decorators
twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Distilling twitter.common.decorators
twitter.common.python: Obtaining twitter.common.decorators==0.1.0: 582.7ms
twitter.common.python:   Installing twitter.common.decorators: 0.2ms
twitter.common.python:   Distilling twitter.common.decorators: 94.8ms
twitter.common.python: Obtaining pytest
twitter.common.python: Obtaining pytest :: Installing pytest
twitter.common.python: Obtaining pytest :: Distilling pytest
twitter.common.python: Obtaining pytest: 1700.3ms
twitter.common.python:   Installing pytest: 0.3ms
twitter.common.python:   Distilling pytest: 413.1ms
twitter.common.python: Obtaining pylint
twitter.common.python: Obtaining pylint :: Installing pylint
twitter.common.python: Obtaining pylint :: Distilling pylint
twitter.common.python: Obtaining pylint: 1301.7ms
twitter.common.python:   Installing pylint: 0.3ms
twitter.common.python:   Distilling pylint: 440.7ms
twitter.common.python: Obtaining pytest-cov
twitter.common.python: Obtaining pytest-cov :: Installing pytest-cov
twitter.common.python: Obtaining pytest-cov :: Distilling pytest-cov
twitter.common.python: Obtaining pytest-cov: 532.5ms
twitter.common.python:   Installing pytest-cov: 0.2ms
twitter.common.python:   Distilling pytest-cov: 88.1ms
twitter.common.python: Obtaining twitter.common.process==0.1.0
twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Installing twitter.common.process
twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Distilling twitter.common.process
twitter.common.python: Obtaining twitter.common.process==0.1.0: 519.6ms
twitter.common.python:   Installing twitter.common.process: 0.2ms
twitter.common.python:   Distilling twitter.common.process: 110.1ms
twitter.common.python: Obtaining twitter.common.util==0.1.0
twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Installing twitter.common.util
twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Distilling twitter.common.util
twitter.common.python: Obtaining twitter.common.util==0.1.0: 520.6ms
twitter.common.python:   Installing twitter.common.util: 0.2ms
twitter.common.python:   Distilling twitter.common.util: 91.9ms
twitter.common.python: Obtaining markdown
twitter.common.python: Obtaining markdown :: Installing Markdown
twitter.common.python: Obtaining markdown :: Distilling Markdown
twitter.common.python: Obtaining markdown: 1247.1ms
twitter.common.python:   Installing Markdown: 0.5ms
twitter.common.python:   Distilling Markdown: 495.1ms
twitter.common.python: Obtaining twitter.common.python==0.2.2
twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Installing twitter.common.python
twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Distilling twitter.common.python
twitter.common.python: Obtaining twitter.common.python==0.2.2: 865.8ms
twitter.common.python:   Installing twitter.common.python: 0.3ms
twitter.common.python:   Distilling twitter.common.python: 238.7ms
twitter.common.python: Obtaining mako
twitter.common.python: Obtaining mako :: Installing Mako
twitter.common.python: Obtaining mako :: Distilling Mako
twitter.common.python: Obtaining mako: 1069.3ms
twitter.common.python:   Installing Mako: 0.3ms
twitter.common.python:   Distilling Mako: 291.9ms
twitter.common.python: Obtaining twitter.common.lang==0.1.0
twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Installing twitter.common.lang
twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Distilling twitter.common.lang
twitter.common.python: Obtaining twitter.common.lang==0.1.0: 796.2ms
twitter.common.python:   Installing twitter.common.lang: 0.2ms
twitter.common.python:   Distilling twitter.common.lang: 95.4ms
twitter.common.python: Obtaining twitter.common.collections==0.1.0
twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Installing twitter.common.collections
twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Distilling twitter.common.collections
twitter.common.python: Obtaining twitter.common.collections==0.1.0: 554.6ms
twitter.common.python:   Installing twitter.common.collections: 0.2ms
twitter.common.python:   Distilling twitter.common.collections: 103.2ms
twitter.common.python: Obtaining twitter.common.options==0.1.0
twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Installing twitter.common.options
twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Distilling twitter.common.options
twitter.common.python: Obtaining twitter.common.options==0.1.0: 614.5ms
twitter.common.python:   Installing twitter.common.options: 0.2ms
twitter.common.python:   Distilling twitter.common.options: 92.8ms
twitter.common.python: Obtaining twitter.common.dirutil==0.1.0
twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Installing twitter.common.dirutil
twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Distilling twitter.common.dirutil
twitter.common.python: Obtaining twitter.common.dirutil==0.1.0: 537.3ms
twitter.common.python:   Installing twitter.common.dirutil: 0.4ms
twitter.common.python:   Distilling twitter.common.dirutil: 109.1ms
twitter.common.python: Obtaining twitter.common.log==0.1.0
twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Installing twitter.common.log
twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Distilling twitter.common.log
twitter.common.python: Obtaining twitter.common.log==0.1.0: 766.4ms
twitter.common.python:   Installing twitter.common.log: 0.2ms
twitter.common.python:   Distilling twitter.common.log: 135.2ms
twitter.common.python: Obtaining py>=1.4.19
twitter.common.python: Obtaining py>=1.4.19 :: Installing py
twitter.common.python: Obtaining py>=1.4.19 :: Distilling py
twitter.common.python: Obtaining py>=1.4.19: 871.5ms
twitter.common.python:   Installing py: 0.3ms
twitter.common.python:   Distilling py: 319.6ms
twitter.common.python: Obtaining astroid>=0.24.3
twitter.common.python: Obtaining astroid>=0.24.3 :: Installing astroid
twitter.common.python: Obtaining astroid>=0.24.3 :: Distilling astroid
twitter.common.python: Obtaining astroid>=0.24.3: 967.3ms
twitter.common.python:   Installing astroid: 0.4ms
twitter.common.python:   Distilling astroid: 399.9ms
twitter.common.python: Obtaining logilab-common>=0.53.0
twitter.common.python: Obtaining logilab-common>=0.53.0 :: Installing logilab-common
twitter.common.python: Obtaining logilab-common>=0.53.0 :: Distilling logilab-common
twitter.common.python: Obtaining logilab-common>=0.53.0: 1364.0ms
twitter.common.python:   Installing logilab-common: 0.4ms
twitter.common.python:   Distilling logilab-common: 603.8ms
twitter.common.python: Obtaining cov-core>=1.6
twitter.common.python: Obtaining cov-core>=1.6 :: Installing cov-core
twitter.common.python: Obtaining cov-core>=1.6 :: Distilling cov-core
twitter.common.python: Obtaining cov-core>=1.6: 471.0ms
twitter.common.python:   Installing cov-core: 0.4ms
twitter.common.python:   Distilling cov-core: 93.6ms
twitter.common.python: Obtaining twitter.common.string==0.1.0
twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Installing twitter.common.string
twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Distilling twitter.common.string
twitter.common.python: Obtaining twitter.common.string==0.1.0: 579.7ms
twitter.common.python:   Installing twitter.common.string: 0.2ms
twitter.common.python:   Distilling twitter.common.string: 93.8ms
twitter.common.python: Obtaining twitter.common.contextutil==0.1.0
twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Installing twitter.common.contextutil
twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Distilling twitter.common.contextutil
twitter.common.python: Obtaining twitter.common.contextutil==0.1.0: 524.2ms
twitter.common.python:   Installing twitter.common.contextutil: 0.5ms
twitter.common.python:   Distilling twitter.common.contextutil: 92.6ms
twitter.common.python: Obtaining setuptools==1.1.7
twitter.common.python: Obtaining setuptools==1.1.7 :: Installing setuptools
twitter.common.python: Obtaining setuptools==1.1.7 :: Distilling setuptools
twitter.common.python: Obtaining setuptools==1.1.7: 2212.2ms
twitter.common.python:   Installing setuptools: 0.3ms
twitter.common.python:   Distilling setuptools: 618.8ms
twitter.common.python: Obtaining MarkupSafe>=0.9.2
twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Installing MarkupSafe
twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Distilling MarkupSafe
twitter.common.python: Obtaining MarkupSafe>=0.9.2: 928.3ms
twitter.common.python:   Installing MarkupSafe: 0.3ms
twitter.common.python:   Distilling MarkupSafe: 251.4ms
twitter.common.python: Obtaining coverage>=3.4
twitter.common.python: Obtaining coverage>=3.4 :: Installing coverage
twitter.common.python: Obtaining coverage>=3.4 :: Distilling coverage
twitter.common.python: Obtaining coverage>=3.4: 1082.9ms
twitter.common.python:   Installing coverage: 0.3ms
twitter.common.python:   Distilling coverage: 425.6ms
~/test_dev
Build operating on targets: OrderedSet([PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client)])
Building PythonBinary PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client):
Wrote /home/vagrant/test_dev/dist/aurora_client.pex
Build operating on targets: OrderedSet([PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example)])
Building PythonBinary PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example):
Wrote /home/vagrant/test_dev/dist/flask_example.pex
== Creating job
 INFO] Creating job flask_example
 INFO] Response from scheduler: OK (message: 1 new tasks pending for job vagrant/test/flask_example)
 INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
== Updating test job
 INFO] Updating job: flask_example
 INFO] Starting job update.
 INFO] Examining instances: [0]
 INFO] Killing instances: [0]
 INFO] Instances killed
 INFO] Adding instances: [0]
 INFO] Instances added
 INFO] Watching instances: [0]
 INFO] Detected RUNNING instance 0
 INFO] Instance 0 has been up and healthy for at least 30 seconds
 INFO] Update successful
 INFO] Response from scheduler: OK (message: Lock has been released.)
 INFO] Killing tasks for job: example/vagrant/test/flask_example
 INFO] Response from scheduler: OK (message: Tasks killed.)
 INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
***
OK (all tests passed)
***
[sun-wukong incubator-aurora (e2e)]$


Thanks,

Mark Chu-Carroll


Re: Review Request 17457: Initial version of an end-to-end test using vagrant

Posted by Bill Farner <wf...@apache.org>.

> On Feb. 3, 2014, 8:15 p.m., Mark Chu-Carroll wrote:
> > src/test/sh/org/apache/aurora/e2e/flask/flask_example_updated.aurora, line 32
> > <https://reviews.apache.org/r/17457/diff/3/?file=463336#file463336line32>
> >
> >     Really? Shouldn't there be a newline at the end of the last line?

The file should indeed end with a newline, but reviewboard rendering a blank line at the end ~always means there's two newlines at the end IIRC.


- Bill


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


On Feb. 3, 2014, 8:16 p.m., Mark Chu-Carroll wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/17457/
> -----------------------------------------------------------
> 
> (Updated Feb. 3, 2014, 8:16 p.m.)
> 
> 
> Review request for Aurora, Bill Farner and Brian Wickman.
> 
> 
> Bugs: aurora-125 and aurora-80
>     https://issues.apache.org/jira/browse/aurora-125
>     https://issues.apache.org/jira/browse/aurora-80
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Got an initial version of the end-to-end test working. 
> 
> Currently creates a job, probes it via the scheduler pages,  updates it, and kills it. 
> AURORA-127 will extend this to run multiple instances; AURORA-125 will extend this to use
> "aurora run" and "aurora ssh" to probe the running tasks.
> 
> 
> Diffs
> -----
> 
>   3rdparty/python/BUILD cc3e8c929e7b2b614a6ea3dbbb4e70d2f8d22586 
>   Vagrantfile 98dcf439aed53da5e78440de04562baf63c7272f 
>   examples/vagrant/provision-aurora-scheduler.sh e48291a8673aeb8888169747486b7d50a54f5a56 
>   examples/vagrant/provision-dev-environment.sh 7fc11bf523a054f6d068cf676e87bb043d854a25 
>   examples/vagrant/provision-mesos-slave.sh c2548a268e0fad7aa4f84d3fa48aea012007502b 
>   src/test/sh/org/apache/aurora/e2e/flask/BUILD PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example.aurora PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example.py PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example_updated.aurora PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/test_common.sh PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/17457/diff/
> 
> 
> Testing
> -------
> 
> [sun-wukong incubator-aurora (e2e)]$ sh src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
> Bringing machine 'devtools' up with 'virtualbox' provider...
> Bringing machine 'zookeeper' up with 'virtualbox' provider...
> Bringing machine 'mesos-master' up with 'virtualbox' provider...
> Bringing machine 'mesos-slave' up with 'virtualbox' provider...
> Bringing machine 'aurora-scheduler' up with 'virtualbox' provider...
> [devtools] VirtualBox VM is already running.
> [zookeeper] VirtualBox VM is already running.
> [mesos-master] VirtualBox VM is already running.
> [mesos-slave] VirtualBox VM is already running.
> [aurora-scheduler] VirtualBox VM is already running.
> Cloning into '/home/vagrant/test_dev'...
> done.
> Already on 'e2e'
> Already up-to-date.
> + VIRTUALENV_VERSION=1.10.1
> + which python2.7
> ++ which python2.7
> + PY=/usr/bin/python2.7
> + echo 'Using /usr/bin/python2.7'
> Using /usr/bin/python2.7
> + '[' -f build-support/virtualenv-1.10.1/BOOTSTRAPPED ']'
> + pushd build-support
> ~/test_dev/build-support ~/test_dev
> + curl -O https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.10.1.tar.gz
>   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
>                                  Dload  Upload   Total   Spent    Left  Speed
> 100 1294k  100 1294k    0     0  3261k      0 --:--:-- --:--:-- --:--:-- 3817k
> + tar zxvf virtualenv-1.10.1.tar.gz
> virtualenv-1.10.1/
> virtualenv-1.10.1/AUTHORS.txt
> virtualenv-1.10.1/bin/
> virtualenv-1.10.1/bin/rebuild-script.py
> virtualenv-1.10.1/docs/
> virtualenv-1.10.1/docs/_theme/
> virtualenv-1.10.1/docs/_theme/nature/
> virtualenv-1.10.1/docs/_theme/nature/static/
> virtualenv-1.10.1/docs/_theme/nature/static/nature.css_t
> virtualenv-1.10.1/docs/_theme/nature/static/pygments.css
> virtualenv-1.10.1/docs/_theme/nature/theme.conf
> virtualenv-1.10.1/docs/conf.py
> virtualenv-1.10.1/docs/index.rst
> virtualenv-1.10.1/docs/make.bat
> virtualenv-1.10.1/docs/Makefile
> virtualenv-1.10.1/docs/news.rst
> virtualenv-1.10.1/LICENSE.txt
> virtualenv-1.10.1/MANIFEST.in
> virtualenv-1.10.1/PKG-INFO
> virtualenv-1.10.1/README.rst
> virtualenv-1.10.1/scripts/
> virtualenv-1.10.1/scripts/virtualenv
> virtualenv-1.10.1/setup.cfg
> virtualenv-1.10.1/setup.py
> virtualenv-1.10.1/virtualenv.egg-info/
> virtualenv-1.10.1/virtualenv.egg-info/dependency_links.txt
> virtualenv-1.10.1/virtualenv.egg-info/entry_points.txt
> virtualenv-1.10.1/virtualenv.egg-info/not-zip-safe
> virtualenv-1.10.1/virtualenv.egg-info/PKG-INFO
> virtualenv-1.10.1/virtualenv.egg-info/SOURCES.txt
> virtualenv-1.10.1/virtualenv.egg-info/top_level.txt
> virtualenv-1.10.1/virtualenv.py
> virtualenv-1.10.1/virtualenv_embedded/
> virtualenv-1.10.1/virtualenv_embedded/activate.bat
> virtualenv-1.10.1/virtualenv_embedded/activate.csh
> virtualenv-1.10.1/virtualenv_embedded/activate.fish
> virtualenv-1.10.1/virtualenv_embedded/activate.ps1
> virtualenv-1.10.1/virtualenv_embedded/activate.sh
> virtualenv-1.10.1/virtualenv_embedded/activate_this.py
> virtualenv-1.10.1/virtualenv_embedded/deactivate.bat
> virtualenv-1.10.1/virtualenv_embedded/distutils-init.py
> virtualenv-1.10.1/virtualenv_embedded/distutils.cfg
> virtualenv-1.10.1/virtualenv_embedded/site.py
> virtualenv-1.10.1/virtualenv_support/
> virtualenv-1.10.1/virtualenv_support/__init__.py
> virtualenv-1.10.1/virtualenv_support/pip-1.4.1.tar.gz
> virtualenv-1.10.1/virtualenv_support/setuptools-0.9.8.tar.gz
> + touch virtualenv-1.10.1/BOOTSTRAPPED
> ~/test_dev
> + popd
> + exec /usr/bin/python2.7 build-support/virtualenv-1.10.1/virtualenv.py /tmp/pants.BqUkIw/tcp
> New python executable in /tmp/pants.BqUkIw/tcp/bin/python2.7
> Also creating executable in /tmp/pants.BqUkIw/tcp/bin/python
> Installing Setuptools..............................................................................................................................................................................................................................done.
> Installing Pip.....................................................................................................................................................................................................................................................................................................................................done.
> /tmp/pants.BqUkIw ~/test_dev
> Downloading/unpacking twitter.common.python==0.2.0
>   Running setup.py egg_info for package twitter.common.python
> 
> Downloading/unpacking setuptools==1.1.7 (from twitter.common.python==0.2.0)
>   Running setup.py egg_info for package setuptools
> 
> Installing collected packages: twitter.common.python, setuptools
>   Running setup.py install for twitter.common.python
>     Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/__init__.py (namespace package)
>     Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/common/__init__.py (namespace package)
> 
>     Installing /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter.common.python-0.2.0-py2.7-nspkg.pth
>   Found existing installation: setuptools 0.9.8
>     Uninstalling setuptools:
>       Successfully uninstalled setuptools
>   Running setup.py install for setuptools
> 
>     Installing easy_install script to /tmp/pants.BqUkIw/tcp/bin
>     Installing easy_install-2.7 script to /tmp/pants.BqUkIw/tcp/bin
> Successfully installed twitter.common.python setuptools
> Cleaning up...
> twitter.common.python: Obtaining twitter.pants==0.0.13
> twitter.common.python: Obtaining twitter.pants==0.0.13 :: Installing twitter.pants
> twitter.common.python: Obtaining twitter.pants==0.0.13 :: Distilling twitter.pants
> twitter.common.python: Obtaining twitter.pants==0.0.13: 1413.4ms
> twitter.common.python:   Installing twitter.pants: 0.4ms
> twitter.common.python:   Distilling twitter.pants: 798.7ms
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Installing twitter.common.quantity
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Distilling twitter.common.quantity
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0: 646.7ms
> twitter.common.python:   Installing twitter.common.quantity: 0.2ms
> twitter.common.python:   Distilling twitter.common.quantity: 94.6ms
> twitter.common.python: Obtaining elementtree
> twitter.common.python: Obtaining elementtree :: Installing elementtree
> twitter.common.python: Obtaining elementtree :: Distilling elementtree
> twitter.common.python: Obtaining elementtree: 1681.4ms
> twitter.common.python:   Installing elementtree: 0.2ms
> twitter.common.python:   Distilling elementtree: 140.7ms
> twitter.common.python: Obtaining twitter.common.config==0.1.0
> twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Installing twitter.common.config
> twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Distilling twitter.common.config
> twitter.common.python: Obtaining twitter.common.config==0.1.0: 490.8ms
> twitter.common.python:   Installing twitter.common.config: 0.2ms
> twitter.common.python:   Distilling twitter.common.config: 92.8ms
> twitter.common.python: Obtaining ansicolors
> twitter.common.python: Obtaining ansicolors :: Installing ansicolors
> twitter.common.python: Obtaining ansicolors :: Distilling ansicolors
> twitter.common.python: Obtaining ansicolors: 603.0ms
> twitter.common.python:   Installing ansicolors: 0.2ms
> twitter.common.python:   Distilling ansicolors: 86.1ms
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Installing twitter.common.confluence
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Distilling twitter.common.confluence
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0: 759.4ms
> twitter.common.python:   Installing twitter.common.confluence: 0.3ms
> twitter.common.python:   Distilling twitter.common.confluence: 95.8ms
> twitter.common.python: Obtaining psutil==1.1.2
> twitter.common.python: Obtaining psutil==1.1.2 :: Installing psutil
> twitter.common.python: Obtaining psutil==1.1.2 :: Distilling psutil
> twitter.common.python: Obtaining psutil==1.1.2: 1487.2ms
> twitter.common.python:   Installing psutil: 0.4ms
> twitter.common.python:   Distilling psutil: 446.3ms
> twitter.common.python: Obtaining pygments
> twitter.common.python: Obtaining pygments: 761.2ms
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Installing twitter.common.decorators
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Distilling twitter.common.decorators
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0: 582.7ms
> twitter.common.python:   Installing twitter.common.decorators: 0.2ms
> twitter.common.python:   Distilling twitter.common.decorators: 94.8ms
> twitter.common.python: Obtaining pytest
> twitter.common.python: Obtaining pytest :: Installing pytest
> twitter.common.python: Obtaining pytest :: Distilling pytest
> twitter.common.python: Obtaining pytest: 1700.3ms
> twitter.common.python:   Installing pytest: 0.3ms
> twitter.common.python:   Distilling pytest: 413.1ms
> twitter.common.python: Obtaining pylint
> twitter.common.python: Obtaining pylint :: Installing pylint
> twitter.common.python: Obtaining pylint :: Distilling pylint
> twitter.common.python: Obtaining pylint: 1301.7ms
> twitter.common.python:   Installing pylint: 0.3ms
> twitter.common.python:   Distilling pylint: 440.7ms
> twitter.common.python: Obtaining pytest-cov
> twitter.common.python: Obtaining pytest-cov :: Installing pytest-cov
> twitter.common.python: Obtaining pytest-cov :: Distilling pytest-cov
> twitter.common.python: Obtaining pytest-cov: 532.5ms
> twitter.common.python:   Installing pytest-cov: 0.2ms
> twitter.common.python:   Distilling pytest-cov: 88.1ms
> twitter.common.python: Obtaining twitter.common.process==0.1.0
> twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Installing twitter.common.process
> twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Distilling twitter.common.process
> twitter.common.python: Obtaining twitter.common.process==0.1.0: 519.6ms
> twitter.common.python:   Installing twitter.common.process: 0.2ms
> twitter.common.python:   Distilling twitter.common.process: 110.1ms
> twitter.common.python: Obtaining twitter.common.util==0.1.0
> twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Installing twitter.common.util
> twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Distilling twitter.common.util
> twitter.common.python: Obtaining twitter.common.util==0.1.0: 520.6ms
> twitter.common.python:   Installing twitter.common.util: 0.2ms
> twitter.common.python:   Distilling twitter.common.util: 91.9ms
> twitter.common.python: Obtaining markdown
> twitter.common.python: Obtaining markdown :: Installing Markdown
> twitter.common.python: Obtaining markdown :: Distilling Markdown
> twitter.common.python: Obtaining markdown: 1247.1ms
> twitter.common.python:   Installing Markdown: 0.5ms
> twitter.common.python:   Distilling Markdown: 495.1ms
> twitter.common.python: Obtaining twitter.common.python==0.2.2
> twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Installing twitter.common.python
> twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Distilling twitter.common.python
> twitter.common.python: Obtaining twitter.common.python==0.2.2: 865.8ms
> twitter.common.python:   Installing twitter.common.python: 0.3ms
> twitter.common.python:   Distilling twitter.common.python: 238.7ms
> twitter.common.python: Obtaining mako
> twitter.common.python: Obtaining mako :: Installing Mako
> twitter.common.python: Obtaining mako :: Distilling Mako
> twitter.common.python: Obtaining mako: 1069.3ms
> twitter.common.python:   Installing Mako: 0.3ms
> twitter.common.python:   Distilling Mako: 291.9ms
> twitter.common.python: Obtaining twitter.common.lang==0.1.0
> twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Installing twitter.common.lang
> twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Distilling twitter.common.lang
> twitter.common.python: Obtaining twitter.common.lang==0.1.0: 796.2ms
> twitter.common.python:   Installing twitter.common.lang: 0.2ms
> twitter.common.python:   Distilling twitter.common.lang: 95.4ms
> twitter.common.python: Obtaining twitter.common.collections==0.1.0
> twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Installing twitter.common.collections
> twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Distilling twitter.common.collections
> twitter.common.python: Obtaining twitter.common.collections==0.1.0: 554.6ms
> twitter.common.python:   Installing twitter.common.collections: 0.2ms
> twitter.common.python:   Distilling twitter.common.collections: 103.2ms
> twitter.common.python: Obtaining twitter.common.options==0.1.0
> twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Installing twitter.common.options
> twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Distilling twitter.common.options
> twitter.common.python: Obtaining twitter.common.options==0.1.0: 614.5ms
> twitter.common.python:   Installing twitter.common.options: 0.2ms
> twitter.common.python:   Distilling twitter.common.options: 92.8ms
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Installing twitter.common.dirutil
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Distilling twitter.common.dirutil
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0: 537.3ms
> twitter.common.python:   Installing twitter.common.dirutil: 0.4ms
> twitter.common.python:   Distilling twitter.common.dirutil: 109.1ms
> twitter.common.python: Obtaining twitter.common.log==0.1.0
> twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Installing twitter.common.log
> twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Distilling twitter.common.log
> twitter.common.python: Obtaining twitter.common.log==0.1.0: 766.4ms
> twitter.common.python:   Installing twitter.common.log: 0.2ms
> twitter.common.python:   Distilling twitter.common.log: 135.2ms
> twitter.common.python: Obtaining py>=1.4.19
> twitter.common.python: Obtaining py>=1.4.19 :: Installing py
> twitter.common.python: Obtaining py>=1.4.19 :: Distilling py
> twitter.common.python: Obtaining py>=1.4.19: 871.5ms
> twitter.common.python:   Installing py: 0.3ms
> twitter.common.python:   Distilling py: 319.6ms
> twitter.common.python: Obtaining astroid>=0.24.3
> twitter.common.python: Obtaining astroid>=0.24.3 :: Installing astroid
> twitter.common.python: Obtaining astroid>=0.24.3 :: Distilling astroid
> twitter.common.python: Obtaining astroid>=0.24.3: 967.3ms
> twitter.common.python:   Installing astroid: 0.4ms
> twitter.common.python:   Distilling astroid: 399.9ms
> twitter.common.python: Obtaining logilab-common>=0.53.0
> twitter.common.python: Obtaining logilab-common>=0.53.0 :: Installing logilab-common
> twitter.common.python: Obtaining logilab-common>=0.53.0 :: Distilling logilab-common
> twitter.common.python: Obtaining logilab-common>=0.53.0: 1364.0ms
> twitter.common.python:   Installing logilab-common: 0.4ms
> twitter.common.python:   Distilling logilab-common: 603.8ms
> twitter.common.python: Obtaining cov-core>=1.6
> twitter.common.python: Obtaining cov-core>=1.6 :: Installing cov-core
> twitter.common.python: Obtaining cov-core>=1.6 :: Distilling cov-core
> twitter.common.python: Obtaining cov-core>=1.6: 471.0ms
> twitter.common.python:   Installing cov-core: 0.4ms
> twitter.common.python:   Distilling cov-core: 93.6ms
> twitter.common.python: Obtaining twitter.common.string==0.1.0
> twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Installing twitter.common.string
> twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Distilling twitter.common.string
> twitter.common.python: Obtaining twitter.common.string==0.1.0: 579.7ms
> twitter.common.python:   Installing twitter.common.string: 0.2ms
> twitter.common.python:   Distilling twitter.common.string: 93.8ms
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Installing twitter.common.contextutil
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Distilling twitter.common.contextutil
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0: 524.2ms
> twitter.common.python:   Installing twitter.common.contextutil: 0.5ms
> twitter.common.python:   Distilling twitter.common.contextutil: 92.6ms
> twitter.common.python: Obtaining setuptools==1.1.7
> twitter.common.python: Obtaining setuptools==1.1.7 :: Installing setuptools
> twitter.common.python: Obtaining setuptools==1.1.7 :: Distilling setuptools
> twitter.common.python: Obtaining setuptools==1.1.7: 2212.2ms
> twitter.common.python:   Installing setuptools: 0.3ms
> twitter.common.python:   Distilling setuptools: 618.8ms
> twitter.common.python: Obtaining MarkupSafe>=0.9.2
> twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Installing MarkupSafe
> twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Distilling MarkupSafe
> twitter.common.python: Obtaining MarkupSafe>=0.9.2: 928.3ms
> twitter.common.python:   Installing MarkupSafe: 0.3ms
> twitter.common.python:   Distilling MarkupSafe: 251.4ms
> twitter.common.python: Obtaining coverage>=3.4
> twitter.common.python: Obtaining coverage>=3.4 :: Installing coverage
> twitter.common.python: Obtaining coverage>=3.4 :: Distilling coverage
> twitter.common.python: Obtaining coverage>=3.4: 1082.9ms
> twitter.common.python:   Installing coverage: 0.3ms
> twitter.common.python:   Distilling coverage: 425.6ms
> ~/test_dev
> Build operating on targets: OrderedSet([PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client)])
> Building PythonBinary PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client):
> Wrote /home/vagrant/test_dev/dist/aurora_client.pex
> Build operating on targets: OrderedSet([PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example)])
> Building PythonBinary PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example):
> Wrote /home/vagrant/test_dev/dist/flask_example.pex
> == Creating job
>  INFO] Creating job flask_example
>  INFO] Response from scheduler: OK (message: 1 new tasks pending for job vagrant/test/flask_example)
>  INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
> == Updating test job
>  INFO] Updating job: flask_example
>  INFO] Starting job update.
>  INFO] Examining instances: [0]
>  INFO] Killing instances: [0]
>  INFO] Instances killed
>  INFO] Adding instances: [0]
>  INFO] Instances added
>  INFO] Watching instances: [0]
>  INFO] Detected RUNNING instance 0
>  INFO] Instance 0 has been up and healthy for at least 30 seconds
>  INFO] Update successful
>  INFO] Response from scheduler: OK (message: Lock has been released.)
>  INFO] Killing tasks for job: example/vagrant/test/flask_example
>  INFO] Response from scheduler: OK (message: Tasks killed.)
>  INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
> ***
> OK (all tests passed)
> ***
> [sun-wukong incubator-aurora (e2e)]$
> 
> 
> Thanks,
> 
> Mark Chu-Carroll
> 
>


Re: Review Request 17457: Initial version of an end-to-end test using vagrant

Posted by Mark Chu-Carroll <mc...@twopensource.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17457/#review33490
-----------------------------------------------------------



src/test/sh/org/apache/aurora/e2e/flask/flask_example_updated.aurora
<https://reviews.apache.org/r/17457/#comment62947>

    Really? Shouldn't there be a newline at the end of the last line?


- Mark Chu-Carroll


On Feb. 3, 2014, 11:30 a.m., Mark Chu-Carroll wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/17457/
> -----------------------------------------------------------
> 
> (Updated Feb. 3, 2014, 11:30 a.m.)
> 
> 
> Review request for Aurora, Bill Farner and Brian Wickman.
> 
> 
> Bugs: aurora-125 and aurora-80
>     https://issues.apache.org/jira/browse/aurora-125
>     https://issues.apache.org/jira/browse/aurora-80
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Got an initial version of the end-to-end test working. 
> 
> Currently creates a job, probes it via the scheduler pages,  updates it, and kills it. 
> AURORA-127 will extend this to run multiple instances; AURORA-125 will extend this to use
> "aurora run" and "aurora ssh" to probe the running tasks.
> 
> 
> Diffs
> -----
> 
>   3rdparty/python/BUILD cc3e8c929e7b2b614a6ea3dbbb4e70d2f8d22586 
>   Vagrantfile 98dcf439aed53da5e78440de04562baf63c7272f 
>   examples/vagrant/provision-aurora-scheduler.sh e48291a8673aeb8888169747486b7d50a54f5a56 
>   examples/vagrant/provision-dev-environment.sh 7fc11bf523a054f6d068cf676e87bb043d854a25 
>   examples/vagrant/provision-mesos-slave.sh c2548a268e0fad7aa4f84d3fa48aea012007502b 
>   src/test/sh/org/apache/aurora/e2e/flask/BUILD PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example.aurora PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example.py PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example_updated.aurora PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/test_common.sh PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/17457/diff/
> 
> 
> Testing
> -------
> 
> [sun-wukong incubator-aurora (e2e)]$ sh src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
> Bringing machine 'devtools' up with 'virtualbox' provider...
> Bringing machine 'zookeeper' up with 'virtualbox' provider...
> Bringing machine 'mesos-master' up with 'virtualbox' provider...
> Bringing machine 'mesos-slave' up with 'virtualbox' provider...
> Bringing machine 'aurora-scheduler' up with 'virtualbox' provider...
> [devtools] VirtualBox VM is already running.
> [zookeeper] VirtualBox VM is already running.
> [mesos-master] VirtualBox VM is already running.
> [mesos-slave] VirtualBox VM is already running.
> [aurora-scheduler] VirtualBox VM is already running.
> Cloning into '/home/vagrant/test_dev'...
> done.
> Already on 'e2e'
> Already up-to-date.
> + VIRTUALENV_VERSION=1.10.1
> + which python2.7
> ++ which python2.7
> + PY=/usr/bin/python2.7
> + echo 'Using /usr/bin/python2.7'
> Using /usr/bin/python2.7
> + '[' -f build-support/virtualenv-1.10.1/BOOTSTRAPPED ']'
> + pushd build-support
> ~/test_dev/build-support ~/test_dev
> + curl -O https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.10.1.tar.gz
>   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
>                                  Dload  Upload   Total   Spent    Left  Speed
> 100 1294k  100 1294k    0     0  3261k      0 --:--:-- --:--:-- --:--:-- 3817k
> + tar zxvf virtualenv-1.10.1.tar.gz
> virtualenv-1.10.1/
> virtualenv-1.10.1/AUTHORS.txt
> virtualenv-1.10.1/bin/
> virtualenv-1.10.1/bin/rebuild-script.py
> virtualenv-1.10.1/docs/
> virtualenv-1.10.1/docs/_theme/
> virtualenv-1.10.1/docs/_theme/nature/
> virtualenv-1.10.1/docs/_theme/nature/static/
> virtualenv-1.10.1/docs/_theme/nature/static/nature.css_t
> virtualenv-1.10.1/docs/_theme/nature/static/pygments.css
> virtualenv-1.10.1/docs/_theme/nature/theme.conf
> virtualenv-1.10.1/docs/conf.py
> virtualenv-1.10.1/docs/index.rst
> virtualenv-1.10.1/docs/make.bat
> virtualenv-1.10.1/docs/Makefile
> virtualenv-1.10.1/docs/news.rst
> virtualenv-1.10.1/LICENSE.txt
> virtualenv-1.10.1/MANIFEST.in
> virtualenv-1.10.1/PKG-INFO
> virtualenv-1.10.1/README.rst
> virtualenv-1.10.1/scripts/
> virtualenv-1.10.1/scripts/virtualenv
> virtualenv-1.10.1/setup.cfg
> virtualenv-1.10.1/setup.py
> virtualenv-1.10.1/virtualenv.egg-info/
> virtualenv-1.10.1/virtualenv.egg-info/dependency_links.txt
> virtualenv-1.10.1/virtualenv.egg-info/entry_points.txt
> virtualenv-1.10.1/virtualenv.egg-info/not-zip-safe
> virtualenv-1.10.1/virtualenv.egg-info/PKG-INFO
> virtualenv-1.10.1/virtualenv.egg-info/SOURCES.txt
> virtualenv-1.10.1/virtualenv.egg-info/top_level.txt
> virtualenv-1.10.1/virtualenv.py
> virtualenv-1.10.1/virtualenv_embedded/
> virtualenv-1.10.1/virtualenv_embedded/activate.bat
> virtualenv-1.10.1/virtualenv_embedded/activate.csh
> virtualenv-1.10.1/virtualenv_embedded/activate.fish
> virtualenv-1.10.1/virtualenv_embedded/activate.ps1
> virtualenv-1.10.1/virtualenv_embedded/activate.sh
> virtualenv-1.10.1/virtualenv_embedded/activate_this.py
> virtualenv-1.10.1/virtualenv_embedded/deactivate.bat
> virtualenv-1.10.1/virtualenv_embedded/distutils-init.py
> virtualenv-1.10.1/virtualenv_embedded/distutils.cfg
> virtualenv-1.10.1/virtualenv_embedded/site.py
> virtualenv-1.10.1/virtualenv_support/
> virtualenv-1.10.1/virtualenv_support/__init__.py
> virtualenv-1.10.1/virtualenv_support/pip-1.4.1.tar.gz
> virtualenv-1.10.1/virtualenv_support/setuptools-0.9.8.tar.gz
> + touch virtualenv-1.10.1/BOOTSTRAPPED
> ~/test_dev
> + popd
> + exec /usr/bin/python2.7 build-support/virtualenv-1.10.1/virtualenv.py /tmp/pants.BqUkIw/tcp
> New python executable in /tmp/pants.BqUkIw/tcp/bin/python2.7
> Also creating executable in /tmp/pants.BqUkIw/tcp/bin/python
> Installing Setuptools..............................................................................................................................................................................................................................done.
> Installing Pip.....................................................................................................................................................................................................................................................................................................................................done.
> /tmp/pants.BqUkIw ~/test_dev
> Downloading/unpacking twitter.common.python==0.2.0
>   Running setup.py egg_info for package twitter.common.python
> 
> Downloading/unpacking setuptools==1.1.7 (from twitter.common.python==0.2.0)
>   Running setup.py egg_info for package setuptools
> 
> Installing collected packages: twitter.common.python, setuptools
>   Running setup.py install for twitter.common.python
>     Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/__init__.py (namespace package)
>     Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/common/__init__.py (namespace package)
> 
>     Installing /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter.common.python-0.2.0-py2.7-nspkg.pth
>   Found existing installation: setuptools 0.9.8
>     Uninstalling setuptools:
>       Successfully uninstalled setuptools
>   Running setup.py install for setuptools
> 
>     Installing easy_install script to /tmp/pants.BqUkIw/tcp/bin
>     Installing easy_install-2.7 script to /tmp/pants.BqUkIw/tcp/bin
> Successfully installed twitter.common.python setuptools
> Cleaning up...
> twitter.common.python: Obtaining twitter.pants==0.0.13
> twitter.common.python: Obtaining twitter.pants==0.0.13 :: Installing twitter.pants
> twitter.common.python: Obtaining twitter.pants==0.0.13 :: Distilling twitter.pants
> twitter.common.python: Obtaining twitter.pants==0.0.13: 1413.4ms
> twitter.common.python:   Installing twitter.pants: 0.4ms
> twitter.common.python:   Distilling twitter.pants: 798.7ms
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Installing twitter.common.quantity
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Distilling twitter.common.quantity
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0: 646.7ms
> twitter.common.python:   Installing twitter.common.quantity: 0.2ms
> twitter.common.python:   Distilling twitter.common.quantity: 94.6ms
> twitter.common.python: Obtaining elementtree
> twitter.common.python: Obtaining elementtree :: Installing elementtree
> twitter.common.python: Obtaining elementtree :: Distilling elementtree
> twitter.common.python: Obtaining elementtree: 1681.4ms
> twitter.common.python:   Installing elementtree: 0.2ms
> twitter.common.python:   Distilling elementtree: 140.7ms
> twitter.common.python: Obtaining twitter.common.config==0.1.0
> twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Installing twitter.common.config
> twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Distilling twitter.common.config
> twitter.common.python: Obtaining twitter.common.config==0.1.0: 490.8ms
> twitter.common.python:   Installing twitter.common.config: 0.2ms
> twitter.common.python:   Distilling twitter.common.config: 92.8ms
> twitter.common.python: Obtaining ansicolors
> twitter.common.python: Obtaining ansicolors :: Installing ansicolors
> twitter.common.python: Obtaining ansicolors :: Distilling ansicolors
> twitter.common.python: Obtaining ansicolors: 603.0ms
> twitter.common.python:   Installing ansicolors: 0.2ms
> twitter.common.python:   Distilling ansicolors: 86.1ms
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Installing twitter.common.confluence
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Distilling twitter.common.confluence
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0: 759.4ms
> twitter.common.python:   Installing twitter.common.confluence: 0.3ms
> twitter.common.python:   Distilling twitter.common.confluence: 95.8ms
> twitter.common.python: Obtaining psutil==1.1.2
> twitter.common.python: Obtaining psutil==1.1.2 :: Installing psutil
> twitter.common.python: Obtaining psutil==1.1.2 :: Distilling psutil
> twitter.common.python: Obtaining psutil==1.1.2: 1487.2ms
> twitter.common.python:   Installing psutil: 0.4ms
> twitter.common.python:   Distilling psutil: 446.3ms
> twitter.common.python: Obtaining pygments
> twitter.common.python: Obtaining pygments: 761.2ms
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Installing twitter.common.decorators
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Distilling twitter.common.decorators
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0: 582.7ms
> twitter.common.python:   Installing twitter.common.decorators: 0.2ms
> twitter.common.python:   Distilling twitter.common.decorators: 94.8ms
> twitter.common.python: Obtaining pytest
> twitter.common.python: Obtaining pytest :: Installing pytest
> twitter.common.python: Obtaining pytest :: Distilling pytest
> twitter.common.python: Obtaining pytest: 1700.3ms
> twitter.common.python:   Installing pytest: 0.3ms
> twitter.common.python:   Distilling pytest: 413.1ms
> twitter.common.python: Obtaining pylint
> twitter.common.python: Obtaining pylint :: Installing pylint
> twitter.common.python: Obtaining pylint :: Distilling pylint
> twitter.common.python: Obtaining pylint: 1301.7ms
> twitter.common.python:   Installing pylint: 0.3ms
> twitter.common.python:   Distilling pylint: 440.7ms
> twitter.common.python: Obtaining pytest-cov
> twitter.common.python: Obtaining pytest-cov :: Installing pytest-cov
> twitter.common.python: Obtaining pytest-cov :: Distilling pytest-cov
> twitter.common.python: Obtaining pytest-cov: 532.5ms
> twitter.common.python:   Installing pytest-cov: 0.2ms
> twitter.common.python:   Distilling pytest-cov: 88.1ms
> twitter.common.python: Obtaining twitter.common.process==0.1.0
> twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Installing twitter.common.process
> twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Distilling twitter.common.process
> twitter.common.python: Obtaining twitter.common.process==0.1.0: 519.6ms
> twitter.common.python:   Installing twitter.common.process: 0.2ms
> twitter.common.python:   Distilling twitter.common.process: 110.1ms
> twitter.common.python: Obtaining twitter.common.util==0.1.0
> twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Installing twitter.common.util
> twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Distilling twitter.common.util
> twitter.common.python: Obtaining twitter.common.util==0.1.0: 520.6ms
> twitter.common.python:   Installing twitter.common.util: 0.2ms
> twitter.common.python:   Distilling twitter.common.util: 91.9ms
> twitter.common.python: Obtaining markdown
> twitter.common.python: Obtaining markdown :: Installing Markdown
> twitter.common.python: Obtaining markdown :: Distilling Markdown
> twitter.common.python: Obtaining markdown: 1247.1ms
> twitter.common.python:   Installing Markdown: 0.5ms
> twitter.common.python:   Distilling Markdown: 495.1ms
> twitter.common.python: Obtaining twitter.common.python==0.2.2
> twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Installing twitter.common.python
> twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Distilling twitter.common.python
> twitter.common.python: Obtaining twitter.common.python==0.2.2: 865.8ms
> twitter.common.python:   Installing twitter.common.python: 0.3ms
> twitter.common.python:   Distilling twitter.common.python: 238.7ms
> twitter.common.python: Obtaining mako
> twitter.common.python: Obtaining mako :: Installing Mako
> twitter.common.python: Obtaining mako :: Distilling Mako
> twitter.common.python: Obtaining mako: 1069.3ms
> twitter.common.python:   Installing Mako: 0.3ms
> twitter.common.python:   Distilling Mako: 291.9ms
> twitter.common.python: Obtaining twitter.common.lang==0.1.0
> twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Installing twitter.common.lang
> twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Distilling twitter.common.lang
> twitter.common.python: Obtaining twitter.common.lang==0.1.0: 796.2ms
> twitter.common.python:   Installing twitter.common.lang: 0.2ms
> twitter.common.python:   Distilling twitter.common.lang: 95.4ms
> twitter.common.python: Obtaining twitter.common.collections==0.1.0
> twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Installing twitter.common.collections
> twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Distilling twitter.common.collections
> twitter.common.python: Obtaining twitter.common.collections==0.1.0: 554.6ms
> twitter.common.python:   Installing twitter.common.collections: 0.2ms
> twitter.common.python:   Distilling twitter.common.collections: 103.2ms
> twitter.common.python: Obtaining twitter.common.options==0.1.0
> twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Installing twitter.common.options
> twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Distilling twitter.common.options
> twitter.common.python: Obtaining twitter.common.options==0.1.0: 614.5ms
> twitter.common.python:   Installing twitter.common.options: 0.2ms
> twitter.common.python:   Distilling twitter.common.options: 92.8ms
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Installing twitter.common.dirutil
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Distilling twitter.common.dirutil
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0: 537.3ms
> twitter.common.python:   Installing twitter.common.dirutil: 0.4ms
> twitter.common.python:   Distilling twitter.common.dirutil: 109.1ms
> twitter.common.python: Obtaining twitter.common.log==0.1.0
> twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Installing twitter.common.log
> twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Distilling twitter.common.log
> twitter.common.python: Obtaining twitter.common.log==0.1.0: 766.4ms
> twitter.common.python:   Installing twitter.common.log: 0.2ms
> twitter.common.python:   Distilling twitter.common.log: 135.2ms
> twitter.common.python: Obtaining py>=1.4.19
> twitter.common.python: Obtaining py>=1.4.19 :: Installing py
> twitter.common.python: Obtaining py>=1.4.19 :: Distilling py
> twitter.common.python: Obtaining py>=1.4.19: 871.5ms
> twitter.common.python:   Installing py: 0.3ms
> twitter.common.python:   Distilling py: 319.6ms
> twitter.common.python: Obtaining astroid>=0.24.3
> twitter.common.python: Obtaining astroid>=0.24.3 :: Installing astroid
> twitter.common.python: Obtaining astroid>=0.24.3 :: Distilling astroid
> twitter.common.python: Obtaining astroid>=0.24.3: 967.3ms
> twitter.common.python:   Installing astroid: 0.4ms
> twitter.common.python:   Distilling astroid: 399.9ms
> twitter.common.python: Obtaining logilab-common>=0.53.0
> twitter.common.python: Obtaining logilab-common>=0.53.0 :: Installing logilab-common
> twitter.common.python: Obtaining logilab-common>=0.53.0 :: Distilling logilab-common
> twitter.common.python: Obtaining logilab-common>=0.53.0: 1364.0ms
> twitter.common.python:   Installing logilab-common: 0.4ms
> twitter.common.python:   Distilling logilab-common: 603.8ms
> twitter.common.python: Obtaining cov-core>=1.6
> twitter.common.python: Obtaining cov-core>=1.6 :: Installing cov-core
> twitter.common.python: Obtaining cov-core>=1.6 :: Distilling cov-core
> twitter.common.python: Obtaining cov-core>=1.6: 471.0ms
> twitter.common.python:   Installing cov-core: 0.4ms
> twitter.common.python:   Distilling cov-core: 93.6ms
> twitter.common.python: Obtaining twitter.common.string==0.1.0
> twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Installing twitter.common.string
> twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Distilling twitter.common.string
> twitter.common.python: Obtaining twitter.common.string==0.1.0: 579.7ms
> twitter.common.python:   Installing twitter.common.string: 0.2ms
> twitter.common.python:   Distilling twitter.common.string: 93.8ms
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Installing twitter.common.contextutil
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Distilling twitter.common.contextutil
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0: 524.2ms
> twitter.common.python:   Installing twitter.common.contextutil: 0.5ms
> twitter.common.python:   Distilling twitter.common.contextutil: 92.6ms
> twitter.common.python: Obtaining setuptools==1.1.7
> twitter.common.python: Obtaining setuptools==1.1.7 :: Installing setuptools
> twitter.common.python: Obtaining setuptools==1.1.7 :: Distilling setuptools
> twitter.common.python: Obtaining setuptools==1.1.7: 2212.2ms
> twitter.common.python:   Installing setuptools: 0.3ms
> twitter.common.python:   Distilling setuptools: 618.8ms
> twitter.common.python: Obtaining MarkupSafe>=0.9.2
> twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Installing MarkupSafe
> twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Distilling MarkupSafe
> twitter.common.python: Obtaining MarkupSafe>=0.9.2: 928.3ms
> twitter.common.python:   Installing MarkupSafe: 0.3ms
> twitter.common.python:   Distilling MarkupSafe: 251.4ms
> twitter.common.python: Obtaining coverage>=3.4
> twitter.common.python: Obtaining coverage>=3.4 :: Installing coverage
> twitter.common.python: Obtaining coverage>=3.4 :: Distilling coverage
> twitter.common.python: Obtaining coverage>=3.4: 1082.9ms
> twitter.common.python:   Installing coverage: 0.3ms
> twitter.common.python:   Distilling coverage: 425.6ms
> ~/test_dev
> Build operating on targets: OrderedSet([PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client)])
> Building PythonBinary PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client):
> Wrote /home/vagrant/test_dev/dist/aurora_client.pex
> Build operating on targets: OrderedSet([PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example)])
> Building PythonBinary PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example):
> Wrote /home/vagrant/test_dev/dist/flask_example.pex
> == Creating job
>  INFO] Creating job flask_example
>  INFO] Response from scheduler: OK (message: 1 new tasks pending for job vagrant/test/flask_example)
>  INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
> == Updating test job
>  INFO] Updating job: flask_example
>  INFO] Starting job update.
>  INFO] Examining instances: [0]
>  INFO] Killing instances: [0]
>  INFO] Instances killed
>  INFO] Adding instances: [0]
>  INFO] Instances added
>  INFO] Watching instances: [0]
>  INFO] Detected RUNNING instance 0
>  INFO] Instance 0 has been up and healthy for at least 30 seconds
>  INFO] Update successful
>  INFO] Response from scheduler: OK (message: Lock has been released.)
>  INFO] Killing tasks for job: example/vagrant/test/flask_example
>  INFO] Response from scheduler: OK (message: Tasks killed.)
>  INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
> ***
> OK (all tests passed)
> ***
> [sun-wukong incubator-aurora (e2e)]$
> 
> 
> Thanks,
> 
> Mark Chu-Carroll
> 
>


Re: Review Request 17457: Initial version of an end-to-end test using vagrant

Posted by Mark Chu-Carroll <mc...@twopensource.com>.

> On Feb. 3, 2014, 2:31 p.m., Kevin Sweeney wrote:
> > examples/vagrant/provision-mesos-slave.sh, line 9
> > <https://reviews.apache.org/r/17457/diff/3/?file=463332#file463332line9>
> >
> >     Rather than using sed here you can use interpolation as follows:
> >     
> >     eager expansion with $SLAVE_IP_ADDRESS
> >     lazy expansion with \$?
> 
> Mark Chu-Carroll wrote:
>     Interpolation doesn't work in a here doc in a script. Try putting the following into a shell script file:
>     
>     export SLAVE_IP_ADDRESS="INTERPOLATE"
>     cat >testfile <<"EOF"
>     #!/bin/bash
>     export LD_LIBRARY_PATH=/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/server
>     (
>       while true
>       do
>         # TODO(ksweeney): Scheduler assumes 'rack' and 'host' are present. Make them optional.
>         /usr/local/sbin/mesos-slave --master=zk://192.168.33.2:2181/mesos/master --ip=$SLAVE_IP_ADDRESS \
>           --attributes='host:$SLAVE_IP_ADDRESS;rack:a' --resources="cpus:4;mem:1024;disk:20000"
>         echo "Master exited with $?, restarting."
>       done
>     ) & disown
>     EOF
>     
>     
>     -- Running that, and then looking in testfile:
>     
>     
>     
>     #!/bin/bash
>     export LD_LIBRARY_PATH=/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/server
>     (
>       while true
>       do
>         # TODO(ksweeney): Scheduler assumes 'rack' and 'host' are present. Make them optional.
>         /usr/local/sbin/mesos-slave --master=zk://192.168.33.2:2181/mesos/master --ip=$SLAVE_IP_ADDRESS \
>           --attributes='host:$SLAVE_IP_ADDRESS;rack:a' --resources="cpus:4;mem:1024;disk:20000"
>         echo "Master exited with $?, restarting."
>       done
>     ) & disown
>
> 
> Kevin Sweeney wrote:
>     Sorry I forgot to mention - "EOF" should be changed to just EOF.
>     
>     From [1], "Quoting or escaping the 'limit string' at the head of a here document disables parameter substitution within its body."
>     
>     [1] http://tldp.org/LDP/abs/html/here-docs.html

God, how I hate shell programming! :-)


- Mark


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


On Feb. 3, 2014, 3:16 p.m., Mark Chu-Carroll wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/17457/
> -----------------------------------------------------------
> 
> (Updated Feb. 3, 2014, 3:16 p.m.)
> 
> 
> Review request for Aurora, Bill Farner and Brian Wickman.
> 
> 
> Bugs: aurora-125 and aurora-80
>     https://issues.apache.org/jira/browse/aurora-125
>     https://issues.apache.org/jira/browse/aurora-80
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Got an initial version of the end-to-end test working. 
> 
> Currently creates a job, probes it via the scheduler pages,  updates it, and kills it. 
> AURORA-127 will extend this to run multiple instances; AURORA-125 will extend this to use
> "aurora run" and "aurora ssh" to probe the running tasks.
> 
> 
> Diffs
> -----
> 
>   3rdparty/python/BUILD cc3e8c929e7b2b614a6ea3dbbb4e70d2f8d22586 
>   Vagrantfile 98dcf439aed53da5e78440de04562baf63c7272f 
>   examples/vagrant/provision-aurora-scheduler.sh e48291a8673aeb8888169747486b7d50a54f5a56 
>   examples/vagrant/provision-dev-environment.sh 7fc11bf523a054f6d068cf676e87bb043d854a25 
>   examples/vagrant/provision-mesos-slave.sh c2548a268e0fad7aa4f84d3fa48aea012007502b 
>   src/test/sh/org/apache/aurora/e2e/flask/BUILD PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example.aurora PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example.py PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example_updated.aurora PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/test_common.sh PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/17457/diff/
> 
> 
> Testing
> -------
> 
> [sun-wukong incubator-aurora (e2e)]$ sh src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
> Bringing machine 'devtools' up with 'virtualbox' provider...
> Bringing machine 'zookeeper' up with 'virtualbox' provider...
> Bringing machine 'mesos-master' up with 'virtualbox' provider...
> Bringing machine 'mesos-slave' up with 'virtualbox' provider...
> Bringing machine 'aurora-scheduler' up with 'virtualbox' provider...
> [devtools] VirtualBox VM is already running.
> [zookeeper] VirtualBox VM is already running.
> [mesos-master] VirtualBox VM is already running.
> [mesos-slave] VirtualBox VM is already running.
> [aurora-scheduler] VirtualBox VM is already running.
> Cloning into '/home/vagrant/test_dev'...
> done.
> Already on 'e2e'
> Already up-to-date.
> + VIRTUALENV_VERSION=1.10.1
> + which python2.7
> ++ which python2.7
> + PY=/usr/bin/python2.7
> + echo 'Using /usr/bin/python2.7'
> Using /usr/bin/python2.7
> + '[' -f build-support/virtualenv-1.10.1/BOOTSTRAPPED ']'
> + pushd build-support
> ~/test_dev/build-support ~/test_dev
> + curl -O https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.10.1.tar.gz
>   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
>                                  Dload  Upload   Total   Spent    Left  Speed
> 100 1294k  100 1294k    0     0  3261k      0 --:--:-- --:--:-- --:--:-- 3817k
> + tar zxvf virtualenv-1.10.1.tar.gz
> virtualenv-1.10.1/
> virtualenv-1.10.1/AUTHORS.txt
> virtualenv-1.10.1/bin/
> virtualenv-1.10.1/bin/rebuild-script.py
> virtualenv-1.10.1/docs/
> virtualenv-1.10.1/docs/_theme/
> virtualenv-1.10.1/docs/_theme/nature/
> virtualenv-1.10.1/docs/_theme/nature/static/
> virtualenv-1.10.1/docs/_theme/nature/static/nature.css_t
> virtualenv-1.10.1/docs/_theme/nature/static/pygments.css
> virtualenv-1.10.1/docs/_theme/nature/theme.conf
> virtualenv-1.10.1/docs/conf.py
> virtualenv-1.10.1/docs/index.rst
> virtualenv-1.10.1/docs/make.bat
> virtualenv-1.10.1/docs/Makefile
> virtualenv-1.10.1/docs/news.rst
> virtualenv-1.10.1/LICENSE.txt
> virtualenv-1.10.1/MANIFEST.in
> virtualenv-1.10.1/PKG-INFO
> virtualenv-1.10.1/README.rst
> virtualenv-1.10.1/scripts/
> virtualenv-1.10.1/scripts/virtualenv
> virtualenv-1.10.1/setup.cfg
> virtualenv-1.10.1/setup.py
> virtualenv-1.10.1/virtualenv.egg-info/
> virtualenv-1.10.1/virtualenv.egg-info/dependency_links.txt
> virtualenv-1.10.1/virtualenv.egg-info/entry_points.txt
> virtualenv-1.10.1/virtualenv.egg-info/not-zip-safe
> virtualenv-1.10.1/virtualenv.egg-info/PKG-INFO
> virtualenv-1.10.1/virtualenv.egg-info/SOURCES.txt
> virtualenv-1.10.1/virtualenv.egg-info/top_level.txt
> virtualenv-1.10.1/virtualenv.py
> virtualenv-1.10.1/virtualenv_embedded/
> virtualenv-1.10.1/virtualenv_embedded/activate.bat
> virtualenv-1.10.1/virtualenv_embedded/activate.csh
> virtualenv-1.10.1/virtualenv_embedded/activate.fish
> virtualenv-1.10.1/virtualenv_embedded/activate.ps1
> virtualenv-1.10.1/virtualenv_embedded/activate.sh
> virtualenv-1.10.1/virtualenv_embedded/activate_this.py
> virtualenv-1.10.1/virtualenv_embedded/deactivate.bat
> virtualenv-1.10.1/virtualenv_embedded/distutils-init.py
> virtualenv-1.10.1/virtualenv_embedded/distutils.cfg
> virtualenv-1.10.1/virtualenv_embedded/site.py
> virtualenv-1.10.1/virtualenv_support/
> virtualenv-1.10.1/virtualenv_support/__init__.py
> virtualenv-1.10.1/virtualenv_support/pip-1.4.1.tar.gz
> virtualenv-1.10.1/virtualenv_support/setuptools-0.9.8.tar.gz
> + touch virtualenv-1.10.1/BOOTSTRAPPED
> ~/test_dev
> + popd
> + exec /usr/bin/python2.7 build-support/virtualenv-1.10.1/virtualenv.py /tmp/pants.BqUkIw/tcp
> New python executable in /tmp/pants.BqUkIw/tcp/bin/python2.7
> Also creating executable in /tmp/pants.BqUkIw/tcp/bin/python
> Installing Setuptools..............................................................................................................................................................................................................................done.
> Installing Pip.....................................................................................................................................................................................................................................................................................................................................done.
> /tmp/pants.BqUkIw ~/test_dev
> Downloading/unpacking twitter.common.python==0.2.0
>   Running setup.py egg_info for package twitter.common.python
> 
> Downloading/unpacking setuptools==1.1.7 (from twitter.common.python==0.2.0)
>   Running setup.py egg_info for package setuptools
> 
> Installing collected packages: twitter.common.python, setuptools
>   Running setup.py install for twitter.common.python
>     Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/__init__.py (namespace package)
>     Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/common/__init__.py (namespace package)
> 
>     Installing /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter.common.python-0.2.0-py2.7-nspkg.pth
>   Found existing installation: setuptools 0.9.8
>     Uninstalling setuptools:
>       Successfully uninstalled setuptools
>   Running setup.py install for setuptools
> 
>     Installing easy_install script to /tmp/pants.BqUkIw/tcp/bin
>     Installing easy_install-2.7 script to /tmp/pants.BqUkIw/tcp/bin
> Successfully installed twitter.common.python setuptools
> Cleaning up...
> twitter.common.python: Obtaining twitter.pants==0.0.13
> twitter.common.python: Obtaining twitter.pants==0.0.13 :: Installing twitter.pants
> twitter.common.python: Obtaining twitter.pants==0.0.13 :: Distilling twitter.pants
> twitter.common.python: Obtaining twitter.pants==0.0.13: 1413.4ms
> twitter.common.python:   Installing twitter.pants: 0.4ms
> twitter.common.python:   Distilling twitter.pants: 798.7ms
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Installing twitter.common.quantity
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Distilling twitter.common.quantity
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0: 646.7ms
> twitter.common.python:   Installing twitter.common.quantity: 0.2ms
> twitter.common.python:   Distilling twitter.common.quantity: 94.6ms
> twitter.common.python: Obtaining elementtree
> twitter.common.python: Obtaining elementtree :: Installing elementtree
> twitter.common.python: Obtaining elementtree :: Distilling elementtree
> twitter.common.python: Obtaining elementtree: 1681.4ms
> twitter.common.python:   Installing elementtree: 0.2ms
> twitter.common.python:   Distilling elementtree: 140.7ms
> twitter.common.python: Obtaining twitter.common.config==0.1.0
> twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Installing twitter.common.config
> twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Distilling twitter.common.config
> twitter.common.python: Obtaining twitter.common.config==0.1.0: 490.8ms
> twitter.common.python:   Installing twitter.common.config: 0.2ms
> twitter.common.python:   Distilling twitter.common.config: 92.8ms
> twitter.common.python: Obtaining ansicolors
> twitter.common.python: Obtaining ansicolors :: Installing ansicolors
> twitter.common.python: Obtaining ansicolors :: Distilling ansicolors
> twitter.common.python: Obtaining ansicolors: 603.0ms
> twitter.common.python:   Installing ansicolors: 0.2ms
> twitter.common.python:   Distilling ansicolors: 86.1ms
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Installing twitter.common.confluence
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Distilling twitter.common.confluence
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0: 759.4ms
> twitter.common.python:   Installing twitter.common.confluence: 0.3ms
> twitter.common.python:   Distilling twitter.common.confluence: 95.8ms
> twitter.common.python: Obtaining psutil==1.1.2
> twitter.common.python: Obtaining psutil==1.1.2 :: Installing psutil
> twitter.common.python: Obtaining psutil==1.1.2 :: Distilling psutil
> twitter.common.python: Obtaining psutil==1.1.2: 1487.2ms
> twitter.common.python:   Installing psutil: 0.4ms
> twitter.common.python:   Distilling psutil: 446.3ms
> twitter.common.python: Obtaining pygments
> twitter.common.python: Obtaining pygments: 761.2ms
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Installing twitter.common.decorators
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Distilling twitter.common.decorators
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0: 582.7ms
> twitter.common.python:   Installing twitter.common.decorators: 0.2ms
> twitter.common.python:   Distilling twitter.common.decorators: 94.8ms
> twitter.common.python: Obtaining pytest
> twitter.common.python: Obtaining pytest :: Installing pytest
> twitter.common.python: Obtaining pytest :: Distilling pytest
> twitter.common.python: Obtaining pytest: 1700.3ms
> twitter.common.python:   Installing pytest: 0.3ms
> twitter.common.python:   Distilling pytest: 413.1ms
> twitter.common.python: Obtaining pylint
> twitter.common.python: Obtaining pylint :: Installing pylint
> twitter.common.python: Obtaining pylint :: Distilling pylint
> twitter.common.python: Obtaining pylint: 1301.7ms
> twitter.common.python:   Installing pylint: 0.3ms
> twitter.common.python:   Distilling pylint: 440.7ms
> twitter.common.python: Obtaining pytest-cov
> twitter.common.python: Obtaining pytest-cov :: Installing pytest-cov
> twitter.common.python: Obtaining pytest-cov :: Distilling pytest-cov
> twitter.common.python: Obtaining pytest-cov: 532.5ms
> twitter.common.python:   Installing pytest-cov: 0.2ms
> twitter.common.python:   Distilling pytest-cov: 88.1ms
> twitter.common.python: Obtaining twitter.common.process==0.1.0
> twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Installing twitter.common.process
> twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Distilling twitter.common.process
> twitter.common.python: Obtaining twitter.common.process==0.1.0: 519.6ms
> twitter.common.python:   Installing twitter.common.process: 0.2ms
> twitter.common.python:   Distilling twitter.common.process: 110.1ms
> twitter.common.python: Obtaining twitter.common.util==0.1.0
> twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Installing twitter.common.util
> twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Distilling twitter.common.util
> twitter.common.python: Obtaining twitter.common.util==0.1.0: 520.6ms
> twitter.common.python:   Installing twitter.common.util: 0.2ms
> twitter.common.python:   Distilling twitter.common.util: 91.9ms
> twitter.common.python: Obtaining markdown
> twitter.common.python: Obtaining markdown :: Installing Markdown
> twitter.common.python: Obtaining markdown :: Distilling Markdown
> twitter.common.python: Obtaining markdown: 1247.1ms
> twitter.common.python:   Installing Markdown: 0.5ms
> twitter.common.python:   Distilling Markdown: 495.1ms
> twitter.common.python: Obtaining twitter.common.python==0.2.2
> twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Installing twitter.common.python
> twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Distilling twitter.common.python
> twitter.common.python: Obtaining twitter.common.python==0.2.2: 865.8ms
> twitter.common.python:   Installing twitter.common.python: 0.3ms
> twitter.common.python:   Distilling twitter.common.python: 238.7ms
> twitter.common.python: Obtaining mako
> twitter.common.python: Obtaining mako :: Installing Mako
> twitter.common.python: Obtaining mako :: Distilling Mako
> twitter.common.python: Obtaining mako: 1069.3ms
> twitter.common.python:   Installing Mako: 0.3ms
> twitter.common.python:   Distilling Mako: 291.9ms
> twitter.common.python: Obtaining twitter.common.lang==0.1.0
> twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Installing twitter.common.lang
> twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Distilling twitter.common.lang
> twitter.common.python: Obtaining twitter.common.lang==0.1.0: 796.2ms
> twitter.common.python:   Installing twitter.common.lang: 0.2ms
> twitter.common.python:   Distilling twitter.common.lang: 95.4ms
> twitter.common.python: Obtaining twitter.common.collections==0.1.0
> twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Installing twitter.common.collections
> twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Distilling twitter.common.collections
> twitter.common.python: Obtaining twitter.common.collections==0.1.0: 554.6ms
> twitter.common.python:   Installing twitter.common.collections: 0.2ms
> twitter.common.python:   Distilling twitter.common.collections: 103.2ms
> twitter.common.python: Obtaining twitter.common.options==0.1.0
> twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Installing twitter.common.options
> twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Distilling twitter.common.options
> twitter.common.python: Obtaining twitter.common.options==0.1.0: 614.5ms
> twitter.common.python:   Installing twitter.common.options: 0.2ms
> twitter.common.python:   Distilling twitter.common.options: 92.8ms
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Installing twitter.common.dirutil
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Distilling twitter.common.dirutil
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0: 537.3ms
> twitter.common.python:   Installing twitter.common.dirutil: 0.4ms
> twitter.common.python:   Distilling twitter.common.dirutil: 109.1ms
> twitter.common.python: Obtaining twitter.common.log==0.1.0
> twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Installing twitter.common.log
> twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Distilling twitter.common.log
> twitter.common.python: Obtaining twitter.common.log==0.1.0: 766.4ms
> twitter.common.python:   Installing twitter.common.log: 0.2ms
> twitter.common.python:   Distilling twitter.common.log: 135.2ms
> twitter.common.python: Obtaining py>=1.4.19
> twitter.common.python: Obtaining py>=1.4.19 :: Installing py
> twitter.common.python: Obtaining py>=1.4.19 :: Distilling py
> twitter.common.python: Obtaining py>=1.4.19: 871.5ms
> twitter.common.python:   Installing py: 0.3ms
> twitter.common.python:   Distilling py: 319.6ms
> twitter.common.python: Obtaining astroid>=0.24.3
> twitter.common.python: Obtaining astroid>=0.24.3 :: Installing astroid
> twitter.common.python: Obtaining astroid>=0.24.3 :: Distilling astroid
> twitter.common.python: Obtaining astroid>=0.24.3: 967.3ms
> twitter.common.python:   Installing astroid: 0.4ms
> twitter.common.python:   Distilling astroid: 399.9ms
> twitter.common.python: Obtaining logilab-common>=0.53.0
> twitter.common.python: Obtaining logilab-common>=0.53.0 :: Installing logilab-common
> twitter.common.python: Obtaining logilab-common>=0.53.0 :: Distilling logilab-common
> twitter.common.python: Obtaining logilab-common>=0.53.0: 1364.0ms
> twitter.common.python:   Installing logilab-common: 0.4ms
> twitter.common.python:   Distilling logilab-common: 603.8ms
> twitter.common.python: Obtaining cov-core>=1.6
> twitter.common.python: Obtaining cov-core>=1.6 :: Installing cov-core
> twitter.common.python: Obtaining cov-core>=1.6 :: Distilling cov-core
> twitter.common.python: Obtaining cov-core>=1.6: 471.0ms
> twitter.common.python:   Installing cov-core: 0.4ms
> twitter.common.python:   Distilling cov-core: 93.6ms
> twitter.common.python: Obtaining twitter.common.string==0.1.0
> twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Installing twitter.common.string
> twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Distilling twitter.common.string
> twitter.common.python: Obtaining twitter.common.string==0.1.0: 579.7ms
> twitter.common.python:   Installing twitter.common.string: 0.2ms
> twitter.common.python:   Distilling twitter.common.string: 93.8ms
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Installing twitter.common.contextutil
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Distilling twitter.common.contextutil
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0: 524.2ms
> twitter.common.python:   Installing twitter.common.contextutil: 0.5ms
> twitter.common.python:   Distilling twitter.common.contextutil: 92.6ms
> twitter.common.python: Obtaining setuptools==1.1.7
> twitter.common.python: Obtaining setuptools==1.1.7 :: Installing setuptools
> twitter.common.python: Obtaining setuptools==1.1.7 :: Distilling setuptools
> twitter.common.python: Obtaining setuptools==1.1.7: 2212.2ms
> twitter.common.python:   Installing setuptools: 0.3ms
> twitter.common.python:   Distilling setuptools: 618.8ms
> twitter.common.python: Obtaining MarkupSafe>=0.9.2
> twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Installing MarkupSafe
> twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Distilling MarkupSafe
> twitter.common.python: Obtaining MarkupSafe>=0.9.2: 928.3ms
> twitter.common.python:   Installing MarkupSafe: 0.3ms
> twitter.common.python:   Distilling MarkupSafe: 251.4ms
> twitter.common.python: Obtaining coverage>=3.4
> twitter.common.python: Obtaining coverage>=3.4 :: Installing coverage
> twitter.common.python: Obtaining coverage>=3.4 :: Distilling coverage
> twitter.common.python: Obtaining coverage>=3.4: 1082.9ms
> twitter.common.python:   Installing coverage: 0.3ms
> twitter.common.python:   Distilling coverage: 425.6ms
> ~/test_dev
> Build operating on targets: OrderedSet([PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client)])
> Building PythonBinary PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client):
> Wrote /home/vagrant/test_dev/dist/aurora_client.pex
> Build operating on targets: OrderedSet([PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example)])
> Building PythonBinary PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example):
> Wrote /home/vagrant/test_dev/dist/flask_example.pex
> == Creating job
>  INFO] Creating job flask_example
>  INFO] Response from scheduler: OK (message: 1 new tasks pending for job vagrant/test/flask_example)
>  INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
> == Updating test job
>  INFO] Updating job: flask_example
>  INFO] Starting job update.
>  INFO] Examining instances: [0]
>  INFO] Killing instances: [0]
>  INFO] Instances killed
>  INFO] Adding instances: [0]
>  INFO] Instances added
>  INFO] Watching instances: [0]
>  INFO] Detected RUNNING instance 0
>  INFO] Instance 0 has been up and healthy for at least 30 seconds
>  INFO] Update successful
>  INFO] Response from scheduler: OK (message: Lock has been released.)
>  INFO] Killing tasks for job: example/vagrant/test/flask_example
>  INFO] Response from scheduler: OK (message: Tasks killed.)
>  INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
> ***
> OK (all tests passed)
> ***
> [sun-wukong incubator-aurora (e2e)]$
> 
> 
> Thanks,
> 
> Mark Chu-Carroll
> 
>


Re: Review Request 17457: Initial version of an end-to-end test using vagrant

Posted by Mark Chu-Carroll <mc...@twopensource.com>.

> On Feb. 3, 2014, 2:31 p.m., Kevin Sweeney wrote:
> > examples/vagrant/provision-mesos-slave.sh, line 9
> > <https://reviews.apache.org/r/17457/diff/3/?file=463332#file463332line9>
> >
> >     Rather than using sed here you can use interpolation as follows:
> >     
> >     eager expansion with $SLAVE_IP_ADDRESS
> >     lazy expansion with \$?

Interpolation doesn't work in a here doc in a script. Try putting the following into a shell script file:

export SLAVE_IP_ADDRESS="INTERPOLATE"
cat >testfile <<"EOF"
#!/bin/bash
export LD_LIBRARY_PATH=/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/server
(
  while true
  do
    # TODO(ksweeney): Scheduler assumes 'rack' and 'host' are present. Make them optional.
    /usr/local/sbin/mesos-slave --master=zk://192.168.33.2:2181/mesos/master --ip=$SLAVE_IP_ADDRESS \
      --attributes='host:$SLAVE_IP_ADDRESS;rack:a' --resources="cpus:4;mem:1024;disk:20000"
    echo "Master exited with $?, restarting."
  done
) & disown
EOF


-- Running that, and then looking in testfile:


#!/bin/bash
export LD_LIBRARY_PATH=/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/server
(
  while true
  do
    # TODO(ksweeney): Scheduler assumes 'rack' and 'host' are present. Make them optional.
    /usr/local/sbin/mesos-slave --master=zk://192.168.33.2:2181/mesos/master --ip=$SLAVE_IP_ADDRESS \
      --attributes='host:$SLAVE_IP_ADDRESS;rack:a' --resources="cpus:4;mem:1024;disk:20000"
    echo "Master exited with $?, restarting."
  done
) & disown


- Mark


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


On Feb. 3, 2014, 3:16 p.m., Mark Chu-Carroll wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/17457/
> -----------------------------------------------------------
> 
> (Updated Feb. 3, 2014, 3:16 p.m.)
> 
> 
> Review request for Aurora, Bill Farner and Brian Wickman.
> 
> 
> Bugs: aurora-125 and aurora-80
>     https://issues.apache.org/jira/browse/aurora-125
>     https://issues.apache.org/jira/browse/aurora-80
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Got an initial version of the end-to-end test working. 
> 
> Currently creates a job, probes it via the scheduler pages,  updates it, and kills it. 
> AURORA-127 will extend this to run multiple instances; AURORA-125 will extend this to use
> "aurora run" and "aurora ssh" to probe the running tasks.
> 
> 
> Diffs
> -----
> 
>   3rdparty/python/BUILD cc3e8c929e7b2b614a6ea3dbbb4e70d2f8d22586 
>   Vagrantfile 98dcf439aed53da5e78440de04562baf63c7272f 
>   examples/vagrant/provision-aurora-scheduler.sh e48291a8673aeb8888169747486b7d50a54f5a56 
>   examples/vagrant/provision-dev-environment.sh 7fc11bf523a054f6d068cf676e87bb043d854a25 
>   examples/vagrant/provision-mesos-slave.sh c2548a268e0fad7aa4f84d3fa48aea012007502b 
>   src/test/sh/org/apache/aurora/e2e/flask/BUILD PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example.aurora PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example.py PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example_updated.aurora PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/test_common.sh PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/17457/diff/
> 
> 
> Testing
> -------
> 
> [sun-wukong incubator-aurora (e2e)]$ sh src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
> Bringing machine 'devtools' up with 'virtualbox' provider...
> Bringing machine 'zookeeper' up with 'virtualbox' provider...
> Bringing machine 'mesos-master' up with 'virtualbox' provider...
> Bringing machine 'mesos-slave' up with 'virtualbox' provider...
> Bringing machine 'aurora-scheduler' up with 'virtualbox' provider...
> [devtools] VirtualBox VM is already running.
> [zookeeper] VirtualBox VM is already running.
> [mesos-master] VirtualBox VM is already running.
> [mesos-slave] VirtualBox VM is already running.
> [aurora-scheduler] VirtualBox VM is already running.
> Cloning into '/home/vagrant/test_dev'...
> done.
> Already on 'e2e'
> Already up-to-date.
> + VIRTUALENV_VERSION=1.10.1
> + which python2.7
> ++ which python2.7
> + PY=/usr/bin/python2.7
> + echo 'Using /usr/bin/python2.7'
> Using /usr/bin/python2.7
> + '[' -f build-support/virtualenv-1.10.1/BOOTSTRAPPED ']'
> + pushd build-support
> ~/test_dev/build-support ~/test_dev
> + curl -O https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.10.1.tar.gz
>   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
>                                  Dload  Upload   Total   Spent    Left  Speed
> 100 1294k  100 1294k    0     0  3261k      0 --:--:-- --:--:-- --:--:-- 3817k
> + tar zxvf virtualenv-1.10.1.tar.gz
> virtualenv-1.10.1/
> virtualenv-1.10.1/AUTHORS.txt
> virtualenv-1.10.1/bin/
> virtualenv-1.10.1/bin/rebuild-script.py
> virtualenv-1.10.1/docs/
> virtualenv-1.10.1/docs/_theme/
> virtualenv-1.10.1/docs/_theme/nature/
> virtualenv-1.10.1/docs/_theme/nature/static/
> virtualenv-1.10.1/docs/_theme/nature/static/nature.css_t
> virtualenv-1.10.1/docs/_theme/nature/static/pygments.css
> virtualenv-1.10.1/docs/_theme/nature/theme.conf
> virtualenv-1.10.1/docs/conf.py
> virtualenv-1.10.1/docs/index.rst
> virtualenv-1.10.1/docs/make.bat
> virtualenv-1.10.1/docs/Makefile
> virtualenv-1.10.1/docs/news.rst
> virtualenv-1.10.1/LICENSE.txt
> virtualenv-1.10.1/MANIFEST.in
> virtualenv-1.10.1/PKG-INFO
> virtualenv-1.10.1/README.rst
> virtualenv-1.10.1/scripts/
> virtualenv-1.10.1/scripts/virtualenv
> virtualenv-1.10.1/setup.cfg
> virtualenv-1.10.1/setup.py
> virtualenv-1.10.1/virtualenv.egg-info/
> virtualenv-1.10.1/virtualenv.egg-info/dependency_links.txt
> virtualenv-1.10.1/virtualenv.egg-info/entry_points.txt
> virtualenv-1.10.1/virtualenv.egg-info/not-zip-safe
> virtualenv-1.10.1/virtualenv.egg-info/PKG-INFO
> virtualenv-1.10.1/virtualenv.egg-info/SOURCES.txt
> virtualenv-1.10.1/virtualenv.egg-info/top_level.txt
> virtualenv-1.10.1/virtualenv.py
> virtualenv-1.10.1/virtualenv_embedded/
> virtualenv-1.10.1/virtualenv_embedded/activate.bat
> virtualenv-1.10.1/virtualenv_embedded/activate.csh
> virtualenv-1.10.1/virtualenv_embedded/activate.fish
> virtualenv-1.10.1/virtualenv_embedded/activate.ps1
> virtualenv-1.10.1/virtualenv_embedded/activate.sh
> virtualenv-1.10.1/virtualenv_embedded/activate_this.py
> virtualenv-1.10.1/virtualenv_embedded/deactivate.bat
> virtualenv-1.10.1/virtualenv_embedded/distutils-init.py
> virtualenv-1.10.1/virtualenv_embedded/distutils.cfg
> virtualenv-1.10.1/virtualenv_embedded/site.py
> virtualenv-1.10.1/virtualenv_support/
> virtualenv-1.10.1/virtualenv_support/__init__.py
> virtualenv-1.10.1/virtualenv_support/pip-1.4.1.tar.gz
> virtualenv-1.10.1/virtualenv_support/setuptools-0.9.8.tar.gz
> + touch virtualenv-1.10.1/BOOTSTRAPPED
> ~/test_dev
> + popd
> + exec /usr/bin/python2.7 build-support/virtualenv-1.10.1/virtualenv.py /tmp/pants.BqUkIw/tcp
> New python executable in /tmp/pants.BqUkIw/tcp/bin/python2.7
> Also creating executable in /tmp/pants.BqUkIw/tcp/bin/python
> Installing Setuptools..............................................................................................................................................................................................................................done.
> Installing Pip.....................................................................................................................................................................................................................................................................................................................................done.
> /tmp/pants.BqUkIw ~/test_dev
> Downloading/unpacking twitter.common.python==0.2.0
>   Running setup.py egg_info for package twitter.common.python
> 
> Downloading/unpacking setuptools==1.1.7 (from twitter.common.python==0.2.0)
>   Running setup.py egg_info for package setuptools
> 
> Installing collected packages: twitter.common.python, setuptools
>   Running setup.py install for twitter.common.python
>     Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/__init__.py (namespace package)
>     Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/common/__init__.py (namespace package)
> 
>     Installing /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter.common.python-0.2.0-py2.7-nspkg.pth
>   Found existing installation: setuptools 0.9.8
>     Uninstalling setuptools:
>       Successfully uninstalled setuptools
>   Running setup.py install for setuptools
> 
>     Installing easy_install script to /tmp/pants.BqUkIw/tcp/bin
>     Installing easy_install-2.7 script to /tmp/pants.BqUkIw/tcp/bin
> Successfully installed twitter.common.python setuptools
> Cleaning up...
> twitter.common.python: Obtaining twitter.pants==0.0.13
> twitter.common.python: Obtaining twitter.pants==0.0.13 :: Installing twitter.pants
> twitter.common.python: Obtaining twitter.pants==0.0.13 :: Distilling twitter.pants
> twitter.common.python: Obtaining twitter.pants==0.0.13: 1413.4ms
> twitter.common.python:   Installing twitter.pants: 0.4ms
> twitter.common.python:   Distilling twitter.pants: 798.7ms
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Installing twitter.common.quantity
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Distilling twitter.common.quantity
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0: 646.7ms
> twitter.common.python:   Installing twitter.common.quantity: 0.2ms
> twitter.common.python:   Distilling twitter.common.quantity: 94.6ms
> twitter.common.python: Obtaining elementtree
> twitter.common.python: Obtaining elementtree :: Installing elementtree
> twitter.common.python: Obtaining elementtree :: Distilling elementtree
> twitter.common.python: Obtaining elementtree: 1681.4ms
> twitter.common.python:   Installing elementtree: 0.2ms
> twitter.common.python:   Distilling elementtree: 140.7ms
> twitter.common.python: Obtaining twitter.common.config==0.1.0
> twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Installing twitter.common.config
> twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Distilling twitter.common.config
> twitter.common.python: Obtaining twitter.common.config==0.1.0: 490.8ms
> twitter.common.python:   Installing twitter.common.config: 0.2ms
> twitter.common.python:   Distilling twitter.common.config: 92.8ms
> twitter.common.python: Obtaining ansicolors
> twitter.common.python: Obtaining ansicolors :: Installing ansicolors
> twitter.common.python: Obtaining ansicolors :: Distilling ansicolors
> twitter.common.python: Obtaining ansicolors: 603.0ms
> twitter.common.python:   Installing ansicolors: 0.2ms
> twitter.common.python:   Distilling ansicolors: 86.1ms
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Installing twitter.common.confluence
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Distilling twitter.common.confluence
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0: 759.4ms
> twitter.common.python:   Installing twitter.common.confluence: 0.3ms
> twitter.common.python:   Distilling twitter.common.confluence: 95.8ms
> twitter.common.python: Obtaining psutil==1.1.2
> twitter.common.python: Obtaining psutil==1.1.2 :: Installing psutil
> twitter.common.python: Obtaining psutil==1.1.2 :: Distilling psutil
> twitter.common.python: Obtaining psutil==1.1.2: 1487.2ms
> twitter.common.python:   Installing psutil: 0.4ms
> twitter.common.python:   Distilling psutil: 446.3ms
> twitter.common.python: Obtaining pygments
> twitter.common.python: Obtaining pygments: 761.2ms
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Installing twitter.common.decorators
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Distilling twitter.common.decorators
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0: 582.7ms
> twitter.common.python:   Installing twitter.common.decorators: 0.2ms
> twitter.common.python:   Distilling twitter.common.decorators: 94.8ms
> twitter.common.python: Obtaining pytest
> twitter.common.python: Obtaining pytest :: Installing pytest
> twitter.common.python: Obtaining pytest :: Distilling pytest
> twitter.common.python: Obtaining pytest: 1700.3ms
> twitter.common.python:   Installing pytest: 0.3ms
> twitter.common.python:   Distilling pytest: 413.1ms
> twitter.common.python: Obtaining pylint
> twitter.common.python: Obtaining pylint :: Installing pylint
> twitter.common.python: Obtaining pylint :: Distilling pylint
> twitter.common.python: Obtaining pylint: 1301.7ms
> twitter.common.python:   Installing pylint: 0.3ms
> twitter.common.python:   Distilling pylint: 440.7ms
> twitter.common.python: Obtaining pytest-cov
> twitter.common.python: Obtaining pytest-cov :: Installing pytest-cov
> twitter.common.python: Obtaining pytest-cov :: Distilling pytest-cov
> twitter.common.python: Obtaining pytest-cov: 532.5ms
> twitter.common.python:   Installing pytest-cov: 0.2ms
> twitter.common.python:   Distilling pytest-cov: 88.1ms
> twitter.common.python: Obtaining twitter.common.process==0.1.0
> twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Installing twitter.common.process
> twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Distilling twitter.common.process
> twitter.common.python: Obtaining twitter.common.process==0.1.0: 519.6ms
> twitter.common.python:   Installing twitter.common.process: 0.2ms
> twitter.common.python:   Distilling twitter.common.process: 110.1ms
> twitter.common.python: Obtaining twitter.common.util==0.1.0
> twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Installing twitter.common.util
> twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Distilling twitter.common.util
> twitter.common.python: Obtaining twitter.common.util==0.1.0: 520.6ms
> twitter.common.python:   Installing twitter.common.util: 0.2ms
> twitter.common.python:   Distilling twitter.common.util: 91.9ms
> twitter.common.python: Obtaining markdown
> twitter.common.python: Obtaining markdown :: Installing Markdown
> twitter.common.python: Obtaining markdown :: Distilling Markdown
> twitter.common.python: Obtaining markdown: 1247.1ms
> twitter.common.python:   Installing Markdown: 0.5ms
> twitter.common.python:   Distilling Markdown: 495.1ms
> twitter.common.python: Obtaining twitter.common.python==0.2.2
> twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Installing twitter.common.python
> twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Distilling twitter.common.python
> twitter.common.python: Obtaining twitter.common.python==0.2.2: 865.8ms
> twitter.common.python:   Installing twitter.common.python: 0.3ms
> twitter.common.python:   Distilling twitter.common.python: 238.7ms
> twitter.common.python: Obtaining mako
> twitter.common.python: Obtaining mako :: Installing Mako
> twitter.common.python: Obtaining mako :: Distilling Mako
> twitter.common.python: Obtaining mako: 1069.3ms
> twitter.common.python:   Installing Mako: 0.3ms
> twitter.common.python:   Distilling Mako: 291.9ms
> twitter.common.python: Obtaining twitter.common.lang==0.1.0
> twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Installing twitter.common.lang
> twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Distilling twitter.common.lang
> twitter.common.python: Obtaining twitter.common.lang==0.1.0: 796.2ms
> twitter.common.python:   Installing twitter.common.lang: 0.2ms
> twitter.common.python:   Distilling twitter.common.lang: 95.4ms
> twitter.common.python: Obtaining twitter.common.collections==0.1.0
> twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Installing twitter.common.collections
> twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Distilling twitter.common.collections
> twitter.common.python: Obtaining twitter.common.collections==0.1.0: 554.6ms
> twitter.common.python:   Installing twitter.common.collections: 0.2ms
> twitter.common.python:   Distilling twitter.common.collections: 103.2ms
> twitter.common.python: Obtaining twitter.common.options==0.1.0
> twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Installing twitter.common.options
> twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Distilling twitter.common.options
> twitter.common.python: Obtaining twitter.common.options==0.1.0: 614.5ms
> twitter.common.python:   Installing twitter.common.options: 0.2ms
> twitter.common.python:   Distilling twitter.common.options: 92.8ms
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Installing twitter.common.dirutil
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Distilling twitter.common.dirutil
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0: 537.3ms
> twitter.common.python:   Installing twitter.common.dirutil: 0.4ms
> twitter.common.python:   Distilling twitter.common.dirutil: 109.1ms
> twitter.common.python: Obtaining twitter.common.log==0.1.0
> twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Installing twitter.common.log
> twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Distilling twitter.common.log
> twitter.common.python: Obtaining twitter.common.log==0.1.0: 766.4ms
> twitter.common.python:   Installing twitter.common.log: 0.2ms
> twitter.common.python:   Distilling twitter.common.log: 135.2ms
> twitter.common.python: Obtaining py>=1.4.19
> twitter.common.python: Obtaining py>=1.4.19 :: Installing py
> twitter.common.python: Obtaining py>=1.4.19 :: Distilling py
> twitter.common.python: Obtaining py>=1.4.19: 871.5ms
> twitter.common.python:   Installing py: 0.3ms
> twitter.common.python:   Distilling py: 319.6ms
> twitter.common.python: Obtaining astroid>=0.24.3
> twitter.common.python: Obtaining astroid>=0.24.3 :: Installing astroid
> twitter.common.python: Obtaining astroid>=0.24.3 :: Distilling astroid
> twitter.common.python: Obtaining astroid>=0.24.3: 967.3ms
> twitter.common.python:   Installing astroid: 0.4ms
> twitter.common.python:   Distilling astroid: 399.9ms
> twitter.common.python: Obtaining logilab-common>=0.53.0
> twitter.common.python: Obtaining logilab-common>=0.53.0 :: Installing logilab-common
> twitter.common.python: Obtaining logilab-common>=0.53.0 :: Distilling logilab-common
> twitter.common.python: Obtaining logilab-common>=0.53.0: 1364.0ms
> twitter.common.python:   Installing logilab-common: 0.4ms
> twitter.common.python:   Distilling logilab-common: 603.8ms
> twitter.common.python: Obtaining cov-core>=1.6
> twitter.common.python: Obtaining cov-core>=1.6 :: Installing cov-core
> twitter.common.python: Obtaining cov-core>=1.6 :: Distilling cov-core
> twitter.common.python: Obtaining cov-core>=1.6: 471.0ms
> twitter.common.python:   Installing cov-core: 0.4ms
> twitter.common.python:   Distilling cov-core: 93.6ms
> twitter.common.python: Obtaining twitter.common.string==0.1.0
> twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Installing twitter.common.string
> twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Distilling twitter.common.string
> twitter.common.python: Obtaining twitter.common.string==0.1.0: 579.7ms
> twitter.common.python:   Installing twitter.common.string: 0.2ms
> twitter.common.python:   Distilling twitter.common.string: 93.8ms
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Installing twitter.common.contextutil
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Distilling twitter.common.contextutil
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0: 524.2ms
> twitter.common.python:   Installing twitter.common.contextutil: 0.5ms
> twitter.common.python:   Distilling twitter.common.contextutil: 92.6ms
> twitter.common.python: Obtaining setuptools==1.1.7
> twitter.common.python: Obtaining setuptools==1.1.7 :: Installing setuptools
> twitter.common.python: Obtaining setuptools==1.1.7 :: Distilling setuptools
> twitter.common.python: Obtaining setuptools==1.1.7: 2212.2ms
> twitter.common.python:   Installing setuptools: 0.3ms
> twitter.common.python:   Distilling setuptools: 618.8ms
> twitter.common.python: Obtaining MarkupSafe>=0.9.2
> twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Installing MarkupSafe
> twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Distilling MarkupSafe
> twitter.common.python: Obtaining MarkupSafe>=0.9.2: 928.3ms
> twitter.common.python:   Installing MarkupSafe: 0.3ms
> twitter.common.python:   Distilling MarkupSafe: 251.4ms
> twitter.common.python: Obtaining coverage>=3.4
> twitter.common.python: Obtaining coverage>=3.4 :: Installing coverage
> twitter.common.python: Obtaining coverage>=3.4 :: Distilling coverage
> twitter.common.python: Obtaining coverage>=3.4: 1082.9ms
> twitter.common.python:   Installing coverage: 0.3ms
> twitter.common.python:   Distilling coverage: 425.6ms
> ~/test_dev
> Build operating on targets: OrderedSet([PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client)])
> Building PythonBinary PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client):
> Wrote /home/vagrant/test_dev/dist/aurora_client.pex
> Build operating on targets: OrderedSet([PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example)])
> Building PythonBinary PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example):
> Wrote /home/vagrant/test_dev/dist/flask_example.pex
> == Creating job
>  INFO] Creating job flask_example
>  INFO] Response from scheduler: OK (message: 1 new tasks pending for job vagrant/test/flask_example)
>  INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
> == Updating test job
>  INFO] Updating job: flask_example
>  INFO] Starting job update.
>  INFO] Examining instances: [0]
>  INFO] Killing instances: [0]
>  INFO] Instances killed
>  INFO] Adding instances: [0]
>  INFO] Instances added
>  INFO] Watching instances: [0]
>  INFO] Detected RUNNING instance 0
>  INFO] Instance 0 has been up and healthy for at least 30 seconds
>  INFO] Update successful
>  INFO] Response from scheduler: OK (message: Lock has been released.)
>  INFO] Killing tasks for job: example/vagrant/test/flask_example
>  INFO] Response from scheduler: OK (message: Tasks killed.)
>  INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
> ***
> OK (all tests passed)
> ***
> [sun-wukong incubator-aurora (e2e)]$
> 
> 
> Thanks,
> 
> Mark Chu-Carroll
> 
>


Re: Review Request 17457: Initial version of an end-to-end test using vagrant

Posted by Kevin Sweeney <ke...@apache.org>.

> On Feb. 3, 2014, 11:31 a.m., Kevin Sweeney wrote:
> > examples/vagrant/provision-mesos-slave.sh, line 9
> > <https://reviews.apache.org/r/17457/diff/3/?file=463332#file463332line9>
> >
> >     Rather than using sed here you can use interpolation as follows:
> >     
> >     eager expansion with $SLAVE_IP_ADDRESS
> >     lazy expansion with \$?
> 
> Mark Chu-Carroll wrote:
>     Interpolation doesn't work in a here doc in a script. Try putting the following into a shell script file:
>     
>     export SLAVE_IP_ADDRESS="INTERPOLATE"
>     cat >testfile <<"EOF"
>     #!/bin/bash
>     export LD_LIBRARY_PATH=/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/server
>     (
>       while true
>       do
>         # TODO(ksweeney): Scheduler assumes 'rack' and 'host' are present. Make them optional.
>         /usr/local/sbin/mesos-slave --master=zk://192.168.33.2:2181/mesos/master --ip=$SLAVE_IP_ADDRESS \
>           --attributes='host:$SLAVE_IP_ADDRESS;rack:a' --resources="cpus:4;mem:1024;disk:20000"
>         echo "Master exited with $?, restarting."
>       done
>     ) & disown
>     EOF
>     
>     
>     -- Running that, and then looking in testfile:
>     
>     
>     
>     #!/bin/bash
>     export LD_LIBRARY_PATH=/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/server
>     (
>       while true
>       do
>         # TODO(ksweeney): Scheduler assumes 'rack' and 'host' are present. Make them optional.
>         /usr/local/sbin/mesos-slave --master=zk://192.168.33.2:2181/mesos/master --ip=$SLAVE_IP_ADDRESS \
>           --attributes='host:$SLAVE_IP_ADDRESS;rack:a' --resources="cpus:4;mem:1024;disk:20000"
>         echo "Master exited with $?, restarting."
>       done
>     ) & disown
>

Sorry I forgot to mention - "EOF" should be changed to just EOF.

>From [1], "Quoting or escaping the 'limit string' at the head of a here document disables parameter substitution within its body."

[1] http://tldp.org/LDP/abs/html/here-docs.html


- Kevin


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


On Feb. 3, 2014, 12:16 p.m., Mark Chu-Carroll wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/17457/
> -----------------------------------------------------------
> 
> (Updated Feb. 3, 2014, 12:16 p.m.)
> 
> 
> Review request for Aurora, Bill Farner and Brian Wickman.
> 
> 
> Bugs: aurora-125 and aurora-80
>     https://issues.apache.org/jira/browse/aurora-125
>     https://issues.apache.org/jira/browse/aurora-80
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Got an initial version of the end-to-end test working. 
> 
> Currently creates a job, probes it via the scheduler pages,  updates it, and kills it. 
> AURORA-127 will extend this to run multiple instances; AURORA-125 will extend this to use
> "aurora run" and "aurora ssh" to probe the running tasks.
> 
> 
> Diffs
> -----
> 
>   3rdparty/python/BUILD cc3e8c929e7b2b614a6ea3dbbb4e70d2f8d22586 
>   Vagrantfile 98dcf439aed53da5e78440de04562baf63c7272f 
>   examples/vagrant/provision-aurora-scheduler.sh e48291a8673aeb8888169747486b7d50a54f5a56 
>   examples/vagrant/provision-dev-environment.sh 7fc11bf523a054f6d068cf676e87bb043d854a25 
>   examples/vagrant/provision-mesos-slave.sh c2548a268e0fad7aa4f84d3fa48aea012007502b 
>   src/test/sh/org/apache/aurora/e2e/flask/BUILD PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example.aurora PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example.py PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example_updated.aurora PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/test_common.sh PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/17457/diff/
> 
> 
> Testing
> -------
> 
> [sun-wukong incubator-aurora (e2e)]$ sh src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
> Bringing machine 'devtools' up with 'virtualbox' provider...
> Bringing machine 'zookeeper' up with 'virtualbox' provider...
> Bringing machine 'mesos-master' up with 'virtualbox' provider...
> Bringing machine 'mesos-slave' up with 'virtualbox' provider...
> Bringing machine 'aurora-scheduler' up with 'virtualbox' provider...
> [devtools] VirtualBox VM is already running.
> [zookeeper] VirtualBox VM is already running.
> [mesos-master] VirtualBox VM is already running.
> [mesos-slave] VirtualBox VM is already running.
> [aurora-scheduler] VirtualBox VM is already running.
> Cloning into '/home/vagrant/test_dev'...
> done.
> Already on 'e2e'
> Already up-to-date.
> + VIRTUALENV_VERSION=1.10.1
> + which python2.7
> ++ which python2.7
> + PY=/usr/bin/python2.7
> + echo 'Using /usr/bin/python2.7'
> Using /usr/bin/python2.7
> + '[' -f build-support/virtualenv-1.10.1/BOOTSTRAPPED ']'
> + pushd build-support
> ~/test_dev/build-support ~/test_dev
> + curl -O https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.10.1.tar.gz
>   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
>                                  Dload  Upload   Total   Spent    Left  Speed
> 100 1294k  100 1294k    0     0  3261k      0 --:--:-- --:--:-- --:--:-- 3817k
> + tar zxvf virtualenv-1.10.1.tar.gz
> virtualenv-1.10.1/
> virtualenv-1.10.1/AUTHORS.txt
> virtualenv-1.10.1/bin/
> virtualenv-1.10.1/bin/rebuild-script.py
> virtualenv-1.10.1/docs/
> virtualenv-1.10.1/docs/_theme/
> virtualenv-1.10.1/docs/_theme/nature/
> virtualenv-1.10.1/docs/_theme/nature/static/
> virtualenv-1.10.1/docs/_theme/nature/static/nature.css_t
> virtualenv-1.10.1/docs/_theme/nature/static/pygments.css
> virtualenv-1.10.1/docs/_theme/nature/theme.conf
> virtualenv-1.10.1/docs/conf.py
> virtualenv-1.10.1/docs/index.rst
> virtualenv-1.10.1/docs/make.bat
> virtualenv-1.10.1/docs/Makefile
> virtualenv-1.10.1/docs/news.rst
> virtualenv-1.10.1/LICENSE.txt
> virtualenv-1.10.1/MANIFEST.in
> virtualenv-1.10.1/PKG-INFO
> virtualenv-1.10.1/README.rst
> virtualenv-1.10.1/scripts/
> virtualenv-1.10.1/scripts/virtualenv
> virtualenv-1.10.1/setup.cfg
> virtualenv-1.10.1/setup.py
> virtualenv-1.10.1/virtualenv.egg-info/
> virtualenv-1.10.1/virtualenv.egg-info/dependency_links.txt
> virtualenv-1.10.1/virtualenv.egg-info/entry_points.txt
> virtualenv-1.10.1/virtualenv.egg-info/not-zip-safe
> virtualenv-1.10.1/virtualenv.egg-info/PKG-INFO
> virtualenv-1.10.1/virtualenv.egg-info/SOURCES.txt
> virtualenv-1.10.1/virtualenv.egg-info/top_level.txt
> virtualenv-1.10.1/virtualenv.py
> virtualenv-1.10.1/virtualenv_embedded/
> virtualenv-1.10.1/virtualenv_embedded/activate.bat
> virtualenv-1.10.1/virtualenv_embedded/activate.csh
> virtualenv-1.10.1/virtualenv_embedded/activate.fish
> virtualenv-1.10.1/virtualenv_embedded/activate.ps1
> virtualenv-1.10.1/virtualenv_embedded/activate.sh
> virtualenv-1.10.1/virtualenv_embedded/activate_this.py
> virtualenv-1.10.1/virtualenv_embedded/deactivate.bat
> virtualenv-1.10.1/virtualenv_embedded/distutils-init.py
> virtualenv-1.10.1/virtualenv_embedded/distutils.cfg
> virtualenv-1.10.1/virtualenv_embedded/site.py
> virtualenv-1.10.1/virtualenv_support/
> virtualenv-1.10.1/virtualenv_support/__init__.py
> virtualenv-1.10.1/virtualenv_support/pip-1.4.1.tar.gz
> virtualenv-1.10.1/virtualenv_support/setuptools-0.9.8.tar.gz
> + touch virtualenv-1.10.1/BOOTSTRAPPED
> ~/test_dev
> + popd
> + exec /usr/bin/python2.7 build-support/virtualenv-1.10.1/virtualenv.py /tmp/pants.BqUkIw/tcp
> New python executable in /tmp/pants.BqUkIw/tcp/bin/python2.7
> Also creating executable in /tmp/pants.BqUkIw/tcp/bin/python
> Installing Setuptools..............................................................................................................................................................................................................................done.
> Installing Pip.....................................................................................................................................................................................................................................................................................................................................done.
> /tmp/pants.BqUkIw ~/test_dev
> Downloading/unpacking twitter.common.python==0.2.0
>   Running setup.py egg_info for package twitter.common.python
> 
> Downloading/unpacking setuptools==1.1.7 (from twitter.common.python==0.2.0)
>   Running setup.py egg_info for package setuptools
> 
> Installing collected packages: twitter.common.python, setuptools
>   Running setup.py install for twitter.common.python
>     Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/__init__.py (namespace package)
>     Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/common/__init__.py (namespace package)
> 
>     Installing /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter.common.python-0.2.0-py2.7-nspkg.pth
>   Found existing installation: setuptools 0.9.8
>     Uninstalling setuptools:
>       Successfully uninstalled setuptools
>   Running setup.py install for setuptools
> 
>     Installing easy_install script to /tmp/pants.BqUkIw/tcp/bin
>     Installing easy_install-2.7 script to /tmp/pants.BqUkIw/tcp/bin
> Successfully installed twitter.common.python setuptools
> Cleaning up...
> twitter.common.python: Obtaining twitter.pants==0.0.13
> twitter.common.python: Obtaining twitter.pants==0.0.13 :: Installing twitter.pants
> twitter.common.python: Obtaining twitter.pants==0.0.13 :: Distilling twitter.pants
> twitter.common.python: Obtaining twitter.pants==0.0.13: 1413.4ms
> twitter.common.python:   Installing twitter.pants: 0.4ms
> twitter.common.python:   Distilling twitter.pants: 798.7ms
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Installing twitter.common.quantity
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Distilling twitter.common.quantity
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0: 646.7ms
> twitter.common.python:   Installing twitter.common.quantity: 0.2ms
> twitter.common.python:   Distilling twitter.common.quantity: 94.6ms
> twitter.common.python: Obtaining elementtree
> twitter.common.python: Obtaining elementtree :: Installing elementtree
> twitter.common.python: Obtaining elementtree :: Distilling elementtree
> twitter.common.python: Obtaining elementtree: 1681.4ms
> twitter.common.python:   Installing elementtree: 0.2ms
> twitter.common.python:   Distilling elementtree: 140.7ms
> twitter.common.python: Obtaining twitter.common.config==0.1.0
> twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Installing twitter.common.config
> twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Distilling twitter.common.config
> twitter.common.python: Obtaining twitter.common.config==0.1.0: 490.8ms
> twitter.common.python:   Installing twitter.common.config: 0.2ms
> twitter.common.python:   Distilling twitter.common.config: 92.8ms
> twitter.common.python: Obtaining ansicolors
> twitter.common.python: Obtaining ansicolors :: Installing ansicolors
> twitter.common.python: Obtaining ansicolors :: Distilling ansicolors
> twitter.common.python: Obtaining ansicolors: 603.0ms
> twitter.common.python:   Installing ansicolors: 0.2ms
> twitter.common.python:   Distilling ansicolors: 86.1ms
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Installing twitter.common.confluence
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Distilling twitter.common.confluence
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0: 759.4ms
> twitter.common.python:   Installing twitter.common.confluence: 0.3ms
> twitter.common.python:   Distilling twitter.common.confluence: 95.8ms
> twitter.common.python: Obtaining psutil==1.1.2
> twitter.common.python: Obtaining psutil==1.1.2 :: Installing psutil
> twitter.common.python: Obtaining psutil==1.1.2 :: Distilling psutil
> twitter.common.python: Obtaining psutil==1.1.2: 1487.2ms
> twitter.common.python:   Installing psutil: 0.4ms
> twitter.common.python:   Distilling psutil: 446.3ms
> twitter.common.python: Obtaining pygments
> twitter.common.python: Obtaining pygments: 761.2ms
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Installing twitter.common.decorators
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Distilling twitter.common.decorators
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0: 582.7ms
> twitter.common.python:   Installing twitter.common.decorators: 0.2ms
> twitter.common.python:   Distilling twitter.common.decorators: 94.8ms
> twitter.common.python: Obtaining pytest
> twitter.common.python: Obtaining pytest :: Installing pytest
> twitter.common.python: Obtaining pytest :: Distilling pytest
> twitter.common.python: Obtaining pytest: 1700.3ms
> twitter.common.python:   Installing pytest: 0.3ms
> twitter.common.python:   Distilling pytest: 413.1ms
> twitter.common.python: Obtaining pylint
> twitter.common.python: Obtaining pylint :: Installing pylint
> twitter.common.python: Obtaining pylint :: Distilling pylint
> twitter.common.python: Obtaining pylint: 1301.7ms
> twitter.common.python:   Installing pylint: 0.3ms
> twitter.common.python:   Distilling pylint: 440.7ms
> twitter.common.python: Obtaining pytest-cov
> twitter.common.python: Obtaining pytest-cov :: Installing pytest-cov
> twitter.common.python: Obtaining pytest-cov :: Distilling pytest-cov
> twitter.common.python: Obtaining pytest-cov: 532.5ms
> twitter.common.python:   Installing pytest-cov: 0.2ms
> twitter.common.python:   Distilling pytest-cov: 88.1ms
> twitter.common.python: Obtaining twitter.common.process==0.1.0
> twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Installing twitter.common.process
> twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Distilling twitter.common.process
> twitter.common.python: Obtaining twitter.common.process==0.1.0: 519.6ms
> twitter.common.python:   Installing twitter.common.process: 0.2ms
> twitter.common.python:   Distilling twitter.common.process: 110.1ms
> twitter.common.python: Obtaining twitter.common.util==0.1.0
> twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Installing twitter.common.util
> twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Distilling twitter.common.util
> twitter.common.python: Obtaining twitter.common.util==0.1.0: 520.6ms
> twitter.common.python:   Installing twitter.common.util: 0.2ms
> twitter.common.python:   Distilling twitter.common.util: 91.9ms
> twitter.common.python: Obtaining markdown
> twitter.common.python: Obtaining markdown :: Installing Markdown
> twitter.common.python: Obtaining markdown :: Distilling Markdown
> twitter.common.python: Obtaining markdown: 1247.1ms
> twitter.common.python:   Installing Markdown: 0.5ms
> twitter.common.python:   Distilling Markdown: 495.1ms
> twitter.common.python: Obtaining twitter.common.python==0.2.2
> twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Installing twitter.common.python
> twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Distilling twitter.common.python
> twitter.common.python: Obtaining twitter.common.python==0.2.2: 865.8ms
> twitter.common.python:   Installing twitter.common.python: 0.3ms
> twitter.common.python:   Distilling twitter.common.python: 238.7ms
> twitter.common.python: Obtaining mako
> twitter.common.python: Obtaining mako :: Installing Mako
> twitter.common.python: Obtaining mako :: Distilling Mako
> twitter.common.python: Obtaining mako: 1069.3ms
> twitter.common.python:   Installing Mako: 0.3ms
> twitter.common.python:   Distilling Mako: 291.9ms
> twitter.common.python: Obtaining twitter.common.lang==0.1.0
> twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Installing twitter.common.lang
> twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Distilling twitter.common.lang
> twitter.common.python: Obtaining twitter.common.lang==0.1.0: 796.2ms
> twitter.common.python:   Installing twitter.common.lang: 0.2ms
> twitter.common.python:   Distilling twitter.common.lang: 95.4ms
> twitter.common.python: Obtaining twitter.common.collections==0.1.0
> twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Installing twitter.common.collections
> twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Distilling twitter.common.collections
> twitter.common.python: Obtaining twitter.common.collections==0.1.0: 554.6ms
> twitter.common.python:   Installing twitter.common.collections: 0.2ms
> twitter.common.python:   Distilling twitter.common.collections: 103.2ms
> twitter.common.python: Obtaining twitter.common.options==0.1.0
> twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Installing twitter.common.options
> twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Distilling twitter.common.options
> twitter.common.python: Obtaining twitter.common.options==0.1.0: 614.5ms
> twitter.common.python:   Installing twitter.common.options: 0.2ms
> twitter.common.python:   Distilling twitter.common.options: 92.8ms
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Installing twitter.common.dirutil
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Distilling twitter.common.dirutil
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0: 537.3ms
> twitter.common.python:   Installing twitter.common.dirutil: 0.4ms
> twitter.common.python:   Distilling twitter.common.dirutil: 109.1ms
> twitter.common.python: Obtaining twitter.common.log==0.1.0
> twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Installing twitter.common.log
> twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Distilling twitter.common.log
> twitter.common.python: Obtaining twitter.common.log==0.1.0: 766.4ms
> twitter.common.python:   Installing twitter.common.log: 0.2ms
> twitter.common.python:   Distilling twitter.common.log: 135.2ms
> twitter.common.python: Obtaining py>=1.4.19
> twitter.common.python: Obtaining py>=1.4.19 :: Installing py
> twitter.common.python: Obtaining py>=1.4.19 :: Distilling py
> twitter.common.python: Obtaining py>=1.4.19: 871.5ms
> twitter.common.python:   Installing py: 0.3ms
> twitter.common.python:   Distilling py: 319.6ms
> twitter.common.python: Obtaining astroid>=0.24.3
> twitter.common.python: Obtaining astroid>=0.24.3 :: Installing astroid
> twitter.common.python: Obtaining astroid>=0.24.3 :: Distilling astroid
> twitter.common.python: Obtaining astroid>=0.24.3: 967.3ms
> twitter.common.python:   Installing astroid: 0.4ms
> twitter.common.python:   Distilling astroid: 399.9ms
> twitter.common.python: Obtaining logilab-common>=0.53.0
> twitter.common.python: Obtaining logilab-common>=0.53.0 :: Installing logilab-common
> twitter.common.python: Obtaining logilab-common>=0.53.0 :: Distilling logilab-common
> twitter.common.python: Obtaining logilab-common>=0.53.0: 1364.0ms
> twitter.common.python:   Installing logilab-common: 0.4ms
> twitter.common.python:   Distilling logilab-common: 603.8ms
> twitter.common.python: Obtaining cov-core>=1.6
> twitter.common.python: Obtaining cov-core>=1.6 :: Installing cov-core
> twitter.common.python: Obtaining cov-core>=1.6 :: Distilling cov-core
> twitter.common.python: Obtaining cov-core>=1.6: 471.0ms
> twitter.common.python:   Installing cov-core: 0.4ms
> twitter.common.python:   Distilling cov-core: 93.6ms
> twitter.common.python: Obtaining twitter.common.string==0.1.0
> twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Installing twitter.common.string
> twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Distilling twitter.common.string
> twitter.common.python: Obtaining twitter.common.string==0.1.0: 579.7ms
> twitter.common.python:   Installing twitter.common.string: 0.2ms
> twitter.common.python:   Distilling twitter.common.string: 93.8ms
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Installing twitter.common.contextutil
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Distilling twitter.common.contextutil
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0: 524.2ms
> twitter.common.python:   Installing twitter.common.contextutil: 0.5ms
> twitter.common.python:   Distilling twitter.common.contextutil: 92.6ms
> twitter.common.python: Obtaining setuptools==1.1.7
> twitter.common.python: Obtaining setuptools==1.1.7 :: Installing setuptools
> twitter.common.python: Obtaining setuptools==1.1.7 :: Distilling setuptools
> twitter.common.python: Obtaining setuptools==1.1.7: 2212.2ms
> twitter.common.python:   Installing setuptools: 0.3ms
> twitter.common.python:   Distilling setuptools: 618.8ms
> twitter.common.python: Obtaining MarkupSafe>=0.9.2
> twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Installing MarkupSafe
> twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Distilling MarkupSafe
> twitter.common.python: Obtaining MarkupSafe>=0.9.2: 928.3ms
> twitter.common.python:   Installing MarkupSafe: 0.3ms
> twitter.common.python:   Distilling MarkupSafe: 251.4ms
> twitter.common.python: Obtaining coverage>=3.4
> twitter.common.python: Obtaining coverage>=3.4 :: Installing coverage
> twitter.common.python: Obtaining coverage>=3.4 :: Distilling coverage
> twitter.common.python: Obtaining coverage>=3.4: 1082.9ms
> twitter.common.python:   Installing coverage: 0.3ms
> twitter.common.python:   Distilling coverage: 425.6ms
> ~/test_dev
> Build operating on targets: OrderedSet([PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client)])
> Building PythonBinary PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client):
> Wrote /home/vagrant/test_dev/dist/aurora_client.pex
> Build operating on targets: OrderedSet([PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example)])
> Building PythonBinary PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example):
> Wrote /home/vagrant/test_dev/dist/flask_example.pex
> == Creating job
>  INFO] Creating job flask_example
>  INFO] Response from scheduler: OK (message: 1 new tasks pending for job vagrant/test/flask_example)
>  INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
> == Updating test job
>  INFO] Updating job: flask_example
>  INFO] Starting job update.
>  INFO] Examining instances: [0]
>  INFO] Killing instances: [0]
>  INFO] Instances killed
>  INFO] Adding instances: [0]
>  INFO] Instances added
>  INFO] Watching instances: [0]
>  INFO] Detected RUNNING instance 0
>  INFO] Instance 0 has been up and healthy for at least 30 seconds
>  INFO] Update successful
>  INFO] Response from scheduler: OK (message: Lock has been released.)
>  INFO] Killing tasks for job: example/vagrant/test/flask_example
>  INFO] Response from scheduler: OK (message: Tasks killed.)
>  INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
> ***
> OK (all tests passed)
> ***
> [sun-wukong incubator-aurora (e2e)]$
> 
> 
> Thanks,
> 
> Mark Chu-Carroll
> 
>


Re: Review Request 17457: Initial version of an end-to-end test using vagrant

Posted by Kevin Sweeney <ke...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17457/#review33475
-----------------------------------------------------------



examples/vagrant/provision-mesos-slave.sh
<https://reviews.apache.org/r/17457/#comment62916>

    Revert. Looks like you might need to rebase?



examples/vagrant/provision-mesos-slave.sh
<https://reviews.apache.org/r/17457/#comment62918>

    Rather than using sed here you can use interpolation as follows:
    
    eager expansion with $SLAVE_IP_ADDRESS
    lazy expansion with \$?


- Kevin Sweeney


On Feb. 3, 2014, 8:30 a.m., Mark Chu-Carroll wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/17457/
> -----------------------------------------------------------
> 
> (Updated Feb. 3, 2014, 8:30 a.m.)
> 
> 
> Review request for Aurora, Bill Farner and Brian Wickman.
> 
> 
> Bugs: aurora-125 and aurora-80
>     https://issues.apache.org/jira/browse/aurora-125
>     https://issues.apache.org/jira/browse/aurora-80
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Got an initial version of the end-to-end test working. 
> 
> Currently creates a job, probes it via the scheduler pages,  updates it, and kills it. 
> AURORA-127 will extend this to run multiple instances; AURORA-125 will extend this to use
> "aurora run" and "aurora ssh" to probe the running tasks.
> 
> 
> Diffs
> -----
> 
>   3rdparty/python/BUILD cc3e8c929e7b2b614a6ea3dbbb4e70d2f8d22586 
>   Vagrantfile 98dcf439aed53da5e78440de04562baf63c7272f 
>   examples/vagrant/provision-aurora-scheduler.sh e48291a8673aeb8888169747486b7d50a54f5a56 
>   examples/vagrant/provision-dev-environment.sh 7fc11bf523a054f6d068cf676e87bb043d854a25 
>   examples/vagrant/provision-mesos-slave.sh c2548a268e0fad7aa4f84d3fa48aea012007502b 
>   src/test/sh/org/apache/aurora/e2e/flask/BUILD PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example.aurora PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example.py PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example_updated.aurora PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/test_common.sh PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/17457/diff/
> 
> 
> Testing
> -------
> 
> [sun-wukong incubator-aurora (e2e)]$ sh src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
> Bringing machine 'devtools' up with 'virtualbox' provider...
> Bringing machine 'zookeeper' up with 'virtualbox' provider...
> Bringing machine 'mesos-master' up with 'virtualbox' provider...
> Bringing machine 'mesos-slave' up with 'virtualbox' provider...
> Bringing machine 'aurora-scheduler' up with 'virtualbox' provider...
> [devtools] VirtualBox VM is already running.
> [zookeeper] VirtualBox VM is already running.
> [mesos-master] VirtualBox VM is already running.
> [mesos-slave] VirtualBox VM is already running.
> [aurora-scheduler] VirtualBox VM is already running.
> Cloning into '/home/vagrant/test_dev'...
> done.
> Already on 'e2e'
> Already up-to-date.
> + VIRTUALENV_VERSION=1.10.1
> + which python2.7
> ++ which python2.7
> + PY=/usr/bin/python2.7
> + echo 'Using /usr/bin/python2.7'
> Using /usr/bin/python2.7
> + '[' -f build-support/virtualenv-1.10.1/BOOTSTRAPPED ']'
> + pushd build-support
> ~/test_dev/build-support ~/test_dev
> + curl -O https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.10.1.tar.gz
>   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
>                                  Dload  Upload   Total   Spent    Left  Speed
> 100 1294k  100 1294k    0     0  3261k      0 --:--:-- --:--:-- --:--:-- 3817k
> + tar zxvf virtualenv-1.10.1.tar.gz
> virtualenv-1.10.1/
> virtualenv-1.10.1/AUTHORS.txt
> virtualenv-1.10.1/bin/
> virtualenv-1.10.1/bin/rebuild-script.py
> virtualenv-1.10.1/docs/
> virtualenv-1.10.1/docs/_theme/
> virtualenv-1.10.1/docs/_theme/nature/
> virtualenv-1.10.1/docs/_theme/nature/static/
> virtualenv-1.10.1/docs/_theme/nature/static/nature.css_t
> virtualenv-1.10.1/docs/_theme/nature/static/pygments.css
> virtualenv-1.10.1/docs/_theme/nature/theme.conf
> virtualenv-1.10.1/docs/conf.py
> virtualenv-1.10.1/docs/index.rst
> virtualenv-1.10.1/docs/make.bat
> virtualenv-1.10.1/docs/Makefile
> virtualenv-1.10.1/docs/news.rst
> virtualenv-1.10.1/LICENSE.txt
> virtualenv-1.10.1/MANIFEST.in
> virtualenv-1.10.1/PKG-INFO
> virtualenv-1.10.1/README.rst
> virtualenv-1.10.1/scripts/
> virtualenv-1.10.1/scripts/virtualenv
> virtualenv-1.10.1/setup.cfg
> virtualenv-1.10.1/setup.py
> virtualenv-1.10.1/virtualenv.egg-info/
> virtualenv-1.10.1/virtualenv.egg-info/dependency_links.txt
> virtualenv-1.10.1/virtualenv.egg-info/entry_points.txt
> virtualenv-1.10.1/virtualenv.egg-info/not-zip-safe
> virtualenv-1.10.1/virtualenv.egg-info/PKG-INFO
> virtualenv-1.10.1/virtualenv.egg-info/SOURCES.txt
> virtualenv-1.10.1/virtualenv.egg-info/top_level.txt
> virtualenv-1.10.1/virtualenv.py
> virtualenv-1.10.1/virtualenv_embedded/
> virtualenv-1.10.1/virtualenv_embedded/activate.bat
> virtualenv-1.10.1/virtualenv_embedded/activate.csh
> virtualenv-1.10.1/virtualenv_embedded/activate.fish
> virtualenv-1.10.1/virtualenv_embedded/activate.ps1
> virtualenv-1.10.1/virtualenv_embedded/activate.sh
> virtualenv-1.10.1/virtualenv_embedded/activate_this.py
> virtualenv-1.10.1/virtualenv_embedded/deactivate.bat
> virtualenv-1.10.1/virtualenv_embedded/distutils-init.py
> virtualenv-1.10.1/virtualenv_embedded/distutils.cfg
> virtualenv-1.10.1/virtualenv_embedded/site.py
> virtualenv-1.10.1/virtualenv_support/
> virtualenv-1.10.1/virtualenv_support/__init__.py
> virtualenv-1.10.1/virtualenv_support/pip-1.4.1.tar.gz
> virtualenv-1.10.1/virtualenv_support/setuptools-0.9.8.tar.gz
> + touch virtualenv-1.10.1/BOOTSTRAPPED
> ~/test_dev
> + popd
> + exec /usr/bin/python2.7 build-support/virtualenv-1.10.1/virtualenv.py /tmp/pants.BqUkIw/tcp
> New python executable in /tmp/pants.BqUkIw/tcp/bin/python2.7
> Also creating executable in /tmp/pants.BqUkIw/tcp/bin/python
> Installing Setuptools..............................................................................................................................................................................................................................done.
> Installing Pip.....................................................................................................................................................................................................................................................................................................................................done.
> /tmp/pants.BqUkIw ~/test_dev
> Downloading/unpacking twitter.common.python==0.2.0
>   Running setup.py egg_info for package twitter.common.python
> 
> Downloading/unpacking setuptools==1.1.7 (from twitter.common.python==0.2.0)
>   Running setup.py egg_info for package setuptools
> 
> Installing collected packages: twitter.common.python, setuptools
>   Running setup.py install for twitter.common.python
>     Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/__init__.py (namespace package)
>     Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/common/__init__.py (namespace package)
> 
>     Installing /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter.common.python-0.2.0-py2.7-nspkg.pth
>   Found existing installation: setuptools 0.9.8
>     Uninstalling setuptools:
>       Successfully uninstalled setuptools
>   Running setup.py install for setuptools
> 
>     Installing easy_install script to /tmp/pants.BqUkIw/tcp/bin
>     Installing easy_install-2.7 script to /tmp/pants.BqUkIw/tcp/bin
> Successfully installed twitter.common.python setuptools
> Cleaning up...
> twitter.common.python: Obtaining twitter.pants==0.0.13
> twitter.common.python: Obtaining twitter.pants==0.0.13 :: Installing twitter.pants
> twitter.common.python: Obtaining twitter.pants==0.0.13 :: Distilling twitter.pants
> twitter.common.python: Obtaining twitter.pants==0.0.13: 1413.4ms
> twitter.common.python:   Installing twitter.pants: 0.4ms
> twitter.common.python:   Distilling twitter.pants: 798.7ms
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Installing twitter.common.quantity
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Distilling twitter.common.quantity
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0: 646.7ms
> twitter.common.python:   Installing twitter.common.quantity: 0.2ms
> twitter.common.python:   Distilling twitter.common.quantity: 94.6ms
> twitter.common.python: Obtaining elementtree
> twitter.common.python: Obtaining elementtree :: Installing elementtree
> twitter.common.python: Obtaining elementtree :: Distilling elementtree
> twitter.common.python: Obtaining elementtree: 1681.4ms
> twitter.common.python:   Installing elementtree: 0.2ms
> twitter.common.python:   Distilling elementtree: 140.7ms
> twitter.common.python: Obtaining twitter.common.config==0.1.0
> twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Installing twitter.common.config
> twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Distilling twitter.common.config
> twitter.common.python: Obtaining twitter.common.config==0.1.0: 490.8ms
> twitter.common.python:   Installing twitter.common.config: 0.2ms
> twitter.common.python:   Distilling twitter.common.config: 92.8ms
> twitter.common.python: Obtaining ansicolors
> twitter.common.python: Obtaining ansicolors :: Installing ansicolors
> twitter.common.python: Obtaining ansicolors :: Distilling ansicolors
> twitter.common.python: Obtaining ansicolors: 603.0ms
> twitter.common.python:   Installing ansicolors: 0.2ms
> twitter.common.python:   Distilling ansicolors: 86.1ms
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Installing twitter.common.confluence
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Distilling twitter.common.confluence
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0: 759.4ms
> twitter.common.python:   Installing twitter.common.confluence: 0.3ms
> twitter.common.python:   Distilling twitter.common.confluence: 95.8ms
> twitter.common.python: Obtaining psutil==1.1.2
> twitter.common.python: Obtaining psutil==1.1.2 :: Installing psutil
> twitter.common.python: Obtaining psutil==1.1.2 :: Distilling psutil
> twitter.common.python: Obtaining psutil==1.1.2: 1487.2ms
> twitter.common.python:   Installing psutil: 0.4ms
> twitter.common.python:   Distilling psutil: 446.3ms
> twitter.common.python: Obtaining pygments
> twitter.common.python: Obtaining pygments: 761.2ms
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Installing twitter.common.decorators
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Distilling twitter.common.decorators
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0: 582.7ms
> twitter.common.python:   Installing twitter.common.decorators: 0.2ms
> twitter.common.python:   Distilling twitter.common.decorators: 94.8ms
> twitter.common.python: Obtaining pytest
> twitter.common.python: Obtaining pytest :: Installing pytest
> twitter.common.python: Obtaining pytest :: Distilling pytest
> twitter.common.python: Obtaining pytest: 1700.3ms
> twitter.common.python:   Installing pytest: 0.3ms
> twitter.common.python:   Distilling pytest: 413.1ms
> twitter.common.python: Obtaining pylint
> twitter.common.python: Obtaining pylint :: Installing pylint
> twitter.common.python: Obtaining pylint :: Distilling pylint
> twitter.common.python: Obtaining pylint: 1301.7ms
> twitter.common.python:   Installing pylint: 0.3ms
> twitter.common.python:   Distilling pylint: 440.7ms
> twitter.common.python: Obtaining pytest-cov
> twitter.common.python: Obtaining pytest-cov :: Installing pytest-cov
> twitter.common.python: Obtaining pytest-cov :: Distilling pytest-cov
> twitter.common.python: Obtaining pytest-cov: 532.5ms
> twitter.common.python:   Installing pytest-cov: 0.2ms
> twitter.common.python:   Distilling pytest-cov: 88.1ms
> twitter.common.python: Obtaining twitter.common.process==0.1.0
> twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Installing twitter.common.process
> twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Distilling twitter.common.process
> twitter.common.python: Obtaining twitter.common.process==0.1.0: 519.6ms
> twitter.common.python:   Installing twitter.common.process: 0.2ms
> twitter.common.python:   Distilling twitter.common.process: 110.1ms
> twitter.common.python: Obtaining twitter.common.util==0.1.0
> twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Installing twitter.common.util
> twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Distilling twitter.common.util
> twitter.common.python: Obtaining twitter.common.util==0.1.0: 520.6ms
> twitter.common.python:   Installing twitter.common.util: 0.2ms
> twitter.common.python:   Distilling twitter.common.util: 91.9ms
> twitter.common.python: Obtaining markdown
> twitter.common.python: Obtaining markdown :: Installing Markdown
> twitter.common.python: Obtaining markdown :: Distilling Markdown
> twitter.common.python: Obtaining markdown: 1247.1ms
> twitter.common.python:   Installing Markdown: 0.5ms
> twitter.common.python:   Distilling Markdown: 495.1ms
> twitter.common.python: Obtaining twitter.common.python==0.2.2
> twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Installing twitter.common.python
> twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Distilling twitter.common.python
> twitter.common.python: Obtaining twitter.common.python==0.2.2: 865.8ms
> twitter.common.python:   Installing twitter.common.python: 0.3ms
> twitter.common.python:   Distilling twitter.common.python: 238.7ms
> twitter.common.python: Obtaining mako
> twitter.common.python: Obtaining mako :: Installing Mako
> twitter.common.python: Obtaining mako :: Distilling Mako
> twitter.common.python: Obtaining mako: 1069.3ms
> twitter.common.python:   Installing Mako: 0.3ms
> twitter.common.python:   Distilling Mako: 291.9ms
> twitter.common.python: Obtaining twitter.common.lang==0.1.0
> twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Installing twitter.common.lang
> twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Distilling twitter.common.lang
> twitter.common.python: Obtaining twitter.common.lang==0.1.0: 796.2ms
> twitter.common.python:   Installing twitter.common.lang: 0.2ms
> twitter.common.python:   Distilling twitter.common.lang: 95.4ms
> twitter.common.python: Obtaining twitter.common.collections==0.1.0
> twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Installing twitter.common.collections
> twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Distilling twitter.common.collections
> twitter.common.python: Obtaining twitter.common.collections==0.1.0: 554.6ms
> twitter.common.python:   Installing twitter.common.collections: 0.2ms
> twitter.common.python:   Distilling twitter.common.collections: 103.2ms
> twitter.common.python: Obtaining twitter.common.options==0.1.0
> twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Installing twitter.common.options
> twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Distilling twitter.common.options
> twitter.common.python: Obtaining twitter.common.options==0.1.0: 614.5ms
> twitter.common.python:   Installing twitter.common.options: 0.2ms
> twitter.common.python:   Distilling twitter.common.options: 92.8ms
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Installing twitter.common.dirutil
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Distilling twitter.common.dirutil
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0: 537.3ms
> twitter.common.python:   Installing twitter.common.dirutil: 0.4ms
> twitter.common.python:   Distilling twitter.common.dirutil: 109.1ms
> twitter.common.python: Obtaining twitter.common.log==0.1.0
> twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Installing twitter.common.log
> twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Distilling twitter.common.log
> twitter.common.python: Obtaining twitter.common.log==0.1.0: 766.4ms
> twitter.common.python:   Installing twitter.common.log: 0.2ms
> twitter.common.python:   Distilling twitter.common.log: 135.2ms
> twitter.common.python: Obtaining py>=1.4.19
> twitter.common.python: Obtaining py>=1.4.19 :: Installing py
> twitter.common.python: Obtaining py>=1.4.19 :: Distilling py
> twitter.common.python: Obtaining py>=1.4.19: 871.5ms
> twitter.common.python:   Installing py: 0.3ms
> twitter.common.python:   Distilling py: 319.6ms
> twitter.common.python: Obtaining astroid>=0.24.3
> twitter.common.python: Obtaining astroid>=0.24.3 :: Installing astroid
> twitter.common.python: Obtaining astroid>=0.24.3 :: Distilling astroid
> twitter.common.python: Obtaining astroid>=0.24.3: 967.3ms
> twitter.common.python:   Installing astroid: 0.4ms
> twitter.common.python:   Distilling astroid: 399.9ms
> twitter.common.python: Obtaining logilab-common>=0.53.0
> twitter.common.python: Obtaining logilab-common>=0.53.0 :: Installing logilab-common
> twitter.common.python: Obtaining logilab-common>=0.53.0 :: Distilling logilab-common
> twitter.common.python: Obtaining logilab-common>=0.53.0: 1364.0ms
> twitter.common.python:   Installing logilab-common: 0.4ms
> twitter.common.python:   Distilling logilab-common: 603.8ms
> twitter.common.python: Obtaining cov-core>=1.6
> twitter.common.python: Obtaining cov-core>=1.6 :: Installing cov-core
> twitter.common.python: Obtaining cov-core>=1.6 :: Distilling cov-core
> twitter.common.python: Obtaining cov-core>=1.6: 471.0ms
> twitter.common.python:   Installing cov-core: 0.4ms
> twitter.common.python:   Distilling cov-core: 93.6ms
> twitter.common.python: Obtaining twitter.common.string==0.1.0
> twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Installing twitter.common.string
> twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Distilling twitter.common.string
> twitter.common.python: Obtaining twitter.common.string==0.1.0: 579.7ms
> twitter.common.python:   Installing twitter.common.string: 0.2ms
> twitter.common.python:   Distilling twitter.common.string: 93.8ms
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Installing twitter.common.contextutil
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Distilling twitter.common.contextutil
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0: 524.2ms
> twitter.common.python:   Installing twitter.common.contextutil: 0.5ms
> twitter.common.python:   Distilling twitter.common.contextutil: 92.6ms
> twitter.common.python: Obtaining setuptools==1.1.7
> twitter.common.python: Obtaining setuptools==1.1.7 :: Installing setuptools
> twitter.common.python: Obtaining setuptools==1.1.7 :: Distilling setuptools
> twitter.common.python: Obtaining setuptools==1.1.7: 2212.2ms
> twitter.common.python:   Installing setuptools: 0.3ms
> twitter.common.python:   Distilling setuptools: 618.8ms
> twitter.common.python: Obtaining MarkupSafe>=0.9.2
> twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Installing MarkupSafe
> twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Distilling MarkupSafe
> twitter.common.python: Obtaining MarkupSafe>=0.9.2: 928.3ms
> twitter.common.python:   Installing MarkupSafe: 0.3ms
> twitter.common.python:   Distilling MarkupSafe: 251.4ms
> twitter.common.python: Obtaining coverage>=3.4
> twitter.common.python: Obtaining coverage>=3.4 :: Installing coverage
> twitter.common.python: Obtaining coverage>=3.4 :: Distilling coverage
> twitter.common.python: Obtaining coverage>=3.4: 1082.9ms
> twitter.common.python:   Installing coverage: 0.3ms
> twitter.common.python:   Distilling coverage: 425.6ms
> ~/test_dev
> Build operating on targets: OrderedSet([PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client)])
> Building PythonBinary PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client):
> Wrote /home/vagrant/test_dev/dist/aurora_client.pex
> Build operating on targets: OrderedSet([PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example)])
> Building PythonBinary PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example):
> Wrote /home/vagrant/test_dev/dist/flask_example.pex
> == Creating job
>  INFO] Creating job flask_example
>  INFO] Response from scheduler: OK (message: 1 new tasks pending for job vagrant/test/flask_example)
>  INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
> == Updating test job
>  INFO] Updating job: flask_example
>  INFO] Starting job update.
>  INFO] Examining instances: [0]
>  INFO] Killing instances: [0]
>  INFO] Instances killed
>  INFO] Adding instances: [0]
>  INFO] Instances added
>  INFO] Watching instances: [0]
>  INFO] Detected RUNNING instance 0
>  INFO] Instance 0 has been up and healthy for at least 30 seconds
>  INFO] Update successful
>  INFO] Response from scheduler: OK (message: Lock has been released.)
>  INFO] Killing tasks for job: example/vagrant/test/flask_example
>  INFO] Response from scheduler: OK (message: Tasks killed.)
>  INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
> ***
> OK (all tests passed)
> ***
> [sun-wukong incubator-aurora (e2e)]$
> 
> 
> Thanks,
> 
> Mark Chu-Carroll
> 
>


Re: Review Request 17457: Initial version of an end-to-end test using vagrant

Posted by Bill Farner <wf...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17457/#review33452
-----------------------------------------------------------



src/test/sh/org/apache/aurora/e2e/flask/flask_example.aurora
<https://reviews.apache.org/r/17457/#comment62888>

    extra newline



src/test/sh/org/apache/aurora/e2e/flask/flask_example_updated.aurora
<https://reviews.apache.org/r/17457/#comment62889>

    extra newline



src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
<https://reviews.apache.org/r/17457/#comment62887>

    Please limit to 100 cols throughout



src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
<https://reviews.apache.org/r/17457/#comment62890>

    extra newline


- Bill Farner


On Feb. 3, 2014, 4:30 p.m., Mark Chu-Carroll wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/17457/
> -----------------------------------------------------------
> 
> (Updated Feb. 3, 2014, 4:30 p.m.)
> 
> 
> Review request for Aurora, Bill Farner and Brian Wickman.
> 
> 
> Bugs: aurora-125 and aurora-80
>     https://issues.apache.org/jira/browse/aurora-125
>     https://issues.apache.org/jira/browse/aurora-80
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Got an initial version of the end-to-end test working. 
> 
> Currently creates a job, probes it via the scheduler pages,  updates it, and kills it. 
> AURORA-127 will extend this to run multiple instances; AURORA-125 will extend this to use
> "aurora run" and "aurora ssh" to probe the running tasks.
> 
> 
> Diffs
> -----
> 
>   3rdparty/python/BUILD cc3e8c929e7b2b614a6ea3dbbb4e70d2f8d22586 
>   Vagrantfile 98dcf439aed53da5e78440de04562baf63c7272f 
>   examples/vagrant/provision-aurora-scheduler.sh e48291a8673aeb8888169747486b7d50a54f5a56 
>   examples/vagrant/provision-dev-environment.sh 7fc11bf523a054f6d068cf676e87bb043d854a25 
>   examples/vagrant/provision-mesos-slave.sh c2548a268e0fad7aa4f84d3fa48aea012007502b 
>   src/test/sh/org/apache/aurora/e2e/flask/BUILD PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example.aurora PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example.py PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example_updated.aurora PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/test_common.sh PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/17457/diff/
> 
> 
> Testing
> -------
> 
> [sun-wukong incubator-aurora (e2e)]$ sh src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
> Bringing machine 'devtools' up with 'virtualbox' provider...
> Bringing machine 'zookeeper' up with 'virtualbox' provider...
> Bringing machine 'mesos-master' up with 'virtualbox' provider...
> Bringing machine 'mesos-slave' up with 'virtualbox' provider...
> Bringing machine 'aurora-scheduler' up with 'virtualbox' provider...
> [devtools] VirtualBox VM is already running.
> [zookeeper] VirtualBox VM is already running.
> [mesos-master] VirtualBox VM is already running.
> [mesos-slave] VirtualBox VM is already running.
> [aurora-scheduler] VirtualBox VM is already running.
> Cloning into '/home/vagrant/test_dev'...
> done.
> Already on 'e2e'
> Already up-to-date.
> + VIRTUALENV_VERSION=1.10.1
> + which python2.7
> ++ which python2.7
> + PY=/usr/bin/python2.7
> + echo 'Using /usr/bin/python2.7'
> Using /usr/bin/python2.7
> + '[' -f build-support/virtualenv-1.10.1/BOOTSTRAPPED ']'
> + pushd build-support
> ~/test_dev/build-support ~/test_dev
> + curl -O https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.10.1.tar.gz
>   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
>                                  Dload  Upload   Total   Spent    Left  Speed
> 100 1294k  100 1294k    0     0  3261k      0 --:--:-- --:--:-- --:--:-- 3817k
> + tar zxvf virtualenv-1.10.1.tar.gz
> virtualenv-1.10.1/
> virtualenv-1.10.1/AUTHORS.txt
> virtualenv-1.10.1/bin/
> virtualenv-1.10.1/bin/rebuild-script.py
> virtualenv-1.10.1/docs/
> virtualenv-1.10.1/docs/_theme/
> virtualenv-1.10.1/docs/_theme/nature/
> virtualenv-1.10.1/docs/_theme/nature/static/
> virtualenv-1.10.1/docs/_theme/nature/static/nature.css_t
> virtualenv-1.10.1/docs/_theme/nature/static/pygments.css
> virtualenv-1.10.1/docs/_theme/nature/theme.conf
> virtualenv-1.10.1/docs/conf.py
> virtualenv-1.10.1/docs/index.rst
> virtualenv-1.10.1/docs/make.bat
> virtualenv-1.10.1/docs/Makefile
> virtualenv-1.10.1/docs/news.rst
> virtualenv-1.10.1/LICENSE.txt
> virtualenv-1.10.1/MANIFEST.in
> virtualenv-1.10.1/PKG-INFO
> virtualenv-1.10.1/README.rst
> virtualenv-1.10.1/scripts/
> virtualenv-1.10.1/scripts/virtualenv
> virtualenv-1.10.1/setup.cfg
> virtualenv-1.10.1/setup.py
> virtualenv-1.10.1/virtualenv.egg-info/
> virtualenv-1.10.1/virtualenv.egg-info/dependency_links.txt
> virtualenv-1.10.1/virtualenv.egg-info/entry_points.txt
> virtualenv-1.10.1/virtualenv.egg-info/not-zip-safe
> virtualenv-1.10.1/virtualenv.egg-info/PKG-INFO
> virtualenv-1.10.1/virtualenv.egg-info/SOURCES.txt
> virtualenv-1.10.1/virtualenv.egg-info/top_level.txt
> virtualenv-1.10.1/virtualenv.py
> virtualenv-1.10.1/virtualenv_embedded/
> virtualenv-1.10.1/virtualenv_embedded/activate.bat
> virtualenv-1.10.1/virtualenv_embedded/activate.csh
> virtualenv-1.10.1/virtualenv_embedded/activate.fish
> virtualenv-1.10.1/virtualenv_embedded/activate.ps1
> virtualenv-1.10.1/virtualenv_embedded/activate.sh
> virtualenv-1.10.1/virtualenv_embedded/activate_this.py
> virtualenv-1.10.1/virtualenv_embedded/deactivate.bat
> virtualenv-1.10.1/virtualenv_embedded/distutils-init.py
> virtualenv-1.10.1/virtualenv_embedded/distutils.cfg
> virtualenv-1.10.1/virtualenv_embedded/site.py
> virtualenv-1.10.1/virtualenv_support/
> virtualenv-1.10.1/virtualenv_support/__init__.py
> virtualenv-1.10.1/virtualenv_support/pip-1.4.1.tar.gz
> virtualenv-1.10.1/virtualenv_support/setuptools-0.9.8.tar.gz
> + touch virtualenv-1.10.1/BOOTSTRAPPED
> ~/test_dev
> + popd
> + exec /usr/bin/python2.7 build-support/virtualenv-1.10.1/virtualenv.py /tmp/pants.BqUkIw/tcp
> New python executable in /tmp/pants.BqUkIw/tcp/bin/python2.7
> Also creating executable in /tmp/pants.BqUkIw/tcp/bin/python
> Installing Setuptools..............................................................................................................................................................................................................................done.
> Installing Pip.....................................................................................................................................................................................................................................................................................................................................done.
> /tmp/pants.BqUkIw ~/test_dev
> Downloading/unpacking twitter.common.python==0.2.0
>   Running setup.py egg_info for package twitter.common.python
> 
> Downloading/unpacking setuptools==1.1.7 (from twitter.common.python==0.2.0)
>   Running setup.py egg_info for package setuptools
> 
> Installing collected packages: twitter.common.python, setuptools
>   Running setup.py install for twitter.common.python
>     Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/__init__.py (namespace package)
>     Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/common/__init__.py (namespace package)
> 
>     Installing /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter.common.python-0.2.0-py2.7-nspkg.pth
>   Found existing installation: setuptools 0.9.8
>     Uninstalling setuptools:
>       Successfully uninstalled setuptools
>   Running setup.py install for setuptools
> 
>     Installing easy_install script to /tmp/pants.BqUkIw/tcp/bin
>     Installing easy_install-2.7 script to /tmp/pants.BqUkIw/tcp/bin
> Successfully installed twitter.common.python setuptools
> Cleaning up...
> twitter.common.python: Obtaining twitter.pants==0.0.13
> twitter.common.python: Obtaining twitter.pants==0.0.13 :: Installing twitter.pants
> twitter.common.python: Obtaining twitter.pants==0.0.13 :: Distilling twitter.pants
> twitter.common.python: Obtaining twitter.pants==0.0.13: 1413.4ms
> twitter.common.python:   Installing twitter.pants: 0.4ms
> twitter.common.python:   Distilling twitter.pants: 798.7ms
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Installing twitter.common.quantity
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Distilling twitter.common.quantity
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0: 646.7ms
> twitter.common.python:   Installing twitter.common.quantity: 0.2ms
> twitter.common.python:   Distilling twitter.common.quantity: 94.6ms
> twitter.common.python: Obtaining elementtree
> twitter.common.python: Obtaining elementtree :: Installing elementtree
> twitter.common.python: Obtaining elementtree :: Distilling elementtree
> twitter.common.python: Obtaining elementtree: 1681.4ms
> twitter.common.python:   Installing elementtree: 0.2ms
> twitter.common.python:   Distilling elementtree: 140.7ms
> twitter.common.python: Obtaining twitter.common.config==0.1.0
> twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Installing twitter.common.config
> twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Distilling twitter.common.config
> twitter.common.python: Obtaining twitter.common.config==0.1.0: 490.8ms
> twitter.common.python:   Installing twitter.common.config: 0.2ms
> twitter.common.python:   Distilling twitter.common.config: 92.8ms
> twitter.common.python: Obtaining ansicolors
> twitter.common.python: Obtaining ansicolors :: Installing ansicolors
> twitter.common.python: Obtaining ansicolors :: Distilling ansicolors
> twitter.common.python: Obtaining ansicolors: 603.0ms
> twitter.common.python:   Installing ansicolors: 0.2ms
> twitter.common.python:   Distilling ansicolors: 86.1ms
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Installing twitter.common.confluence
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Distilling twitter.common.confluence
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0: 759.4ms
> twitter.common.python:   Installing twitter.common.confluence: 0.3ms
> twitter.common.python:   Distilling twitter.common.confluence: 95.8ms
> twitter.common.python: Obtaining psutil==1.1.2
> twitter.common.python: Obtaining psutil==1.1.2 :: Installing psutil
> twitter.common.python: Obtaining psutil==1.1.2 :: Distilling psutil
> twitter.common.python: Obtaining psutil==1.1.2: 1487.2ms
> twitter.common.python:   Installing psutil: 0.4ms
> twitter.common.python:   Distilling psutil: 446.3ms
> twitter.common.python: Obtaining pygments
> twitter.common.python: Obtaining pygments: 761.2ms
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Installing twitter.common.decorators
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Distilling twitter.common.decorators
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0: 582.7ms
> twitter.common.python:   Installing twitter.common.decorators: 0.2ms
> twitter.common.python:   Distilling twitter.common.decorators: 94.8ms
> twitter.common.python: Obtaining pytest
> twitter.common.python: Obtaining pytest :: Installing pytest
> twitter.common.python: Obtaining pytest :: Distilling pytest
> twitter.common.python: Obtaining pytest: 1700.3ms
> twitter.common.python:   Installing pytest: 0.3ms
> twitter.common.python:   Distilling pytest: 413.1ms
> twitter.common.python: Obtaining pylint
> twitter.common.python: Obtaining pylint :: Installing pylint
> twitter.common.python: Obtaining pylint :: Distilling pylint
> twitter.common.python: Obtaining pylint: 1301.7ms
> twitter.common.python:   Installing pylint: 0.3ms
> twitter.common.python:   Distilling pylint: 440.7ms
> twitter.common.python: Obtaining pytest-cov
> twitter.common.python: Obtaining pytest-cov :: Installing pytest-cov
> twitter.common.python: Obtaining pytest-cov :: Distilling pytest-cov
> twitter.common.python: Obtaining pytest-cov: 532.5ms
> twitter.common.python:   Installing pytest-cov: 0.2ms
> twitter.common.python:   Distilling pytest-cov: 88.1ms
> twitter.common.python: Obtaining twitter.common.process==0.1.0
> twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Installing twitter.common.process
> twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Distilling twitter.common.process
> twitter.common.python: Obtaining twitter.common.process==0.1.0: 519.6ms
> twitter.common.python:   Installing twitter.common.process: 0.2ms
> twitter.common.python:   Distilling twitter.common.process: 110.1ms
> twitter.common.python: Obtaining twitter.common.util==0.1.0
> twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Installing twitter.common.util
> twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Distilling twitter.common.util
> twitter.common.python: Obtaining twitter.common.util==0.1.0: 520.6ms
> twitter.common.python:   Installing twitter.common.util: 0.2ms
> twitter.common.python:   Distilling twitter.common.util: 91.9ms
> twitter.common.python: Obtaining markdown
> twitter.common.python: Obtaining markdown :: Installing Markdown
> twitter.common.python: Obtaining markdown :: Distilling Markdown
> twitter.common.python: Obtaining markdown: 1247.1ms
> twitter.common.python:   Installing Markdown: 0.5ms
> twitter.common.python:   Distilling Markdown: 495.1ms
> twitter.common.python: Obtaining twitter.common.python==0.2.2
> twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Installing twitter.common.python
> twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Distilling twitter.common.python
> twitter.common.python: Obtaining twitter.common.python==0.2.2: 865.8ms
> twitter.common.python:   Installing twitter.common.python: 0.3ms
> twitter.common.python:   Distilling twitter.common.python: 238.7ms
> twitter.common.python: Obtaining mako
> twitter.common.python: Obtaining mako :: Installing Mako
> twitter.common.python: Obtaining mako :: Distilling Mako
> twitter.common.python: Obtaining mako: 1069.3ms
> twitter.common.python:   Installing Mako: 0.3ms
> twitter.common.python:   Distilling Mako: 291.9ms
> twitter.common.python: Obtaining twitter.common.lang==0.1.0
> twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Installing twitter.common.lang
> twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Distilling twitter.common.lang
> twitter.common.python: Obtaining twitter.common.lang==0.1.0: 796.2ms
> twitter.common.python:   Installing twitter.common.lang: 0.2ms
> twitter.common.python:   Distilling twitter.common.lang: 95.4ms
> twitter.common.python: Obtaining twitter.common.collections==0.1.0
> twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Installing twitter.common.collections
> twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Distilling twitter.common.collections
> twitter.common.python: Obtaining twitter.common.collections==0.1.0: 554.6ms
> twitter.common.python:   Installing twitter.common.collections: 0.2ms
> twitter.common.python:   Distilling twitter.common.collections: 103.2ms
> twitter.common.python: Obtaining twitter.common.options==0.1.0
> twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Installing twitter.common.options
> twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Distilling twitter.common.options
> twitter.common.python: Obtaining twitter.common.options==0.1.0: 614.5ms
> twitter.common.python:   Installing twitter.common.options: 0.2ms
> twitter.common.python:   Distilling twitter.common.options: 92.8ms
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Installing twitter.common.dirutil
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Distilling twitter.common.dirutil
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0: 537.3ms
> twitter.common.python:   Installing twitter.common.dirutil: 0.4ms
> twitter.common.python:   Distilling twitter.common.dirutil: 109.1ms
> twitter.common.python: Obtaining twitter.common.log==0.1.0
> twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Installing twitter.common.log
> twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Distilling twitter.common.log
> twitter.common.python: Obtaining twitter.common.log==0.1.0: 766.4ms
> twitter.common.python:   Installing twitter.common.log: 0.2ms
> twitter.common.python:   Distilling twitter.common.log: 135.2ms
> twitter.common.python: Obtaining py>=1.4.19
> twitter.common.python: Obtaining py>=1.4.19 :: Installing py
> twitter.common.python: Obtaining py>=1.4.19 :: Distilling py
> twitter.common.python: Obtaining py>=1.4.19: 871.5ms
> twitter.common.python:   Installing py: 0.3ms
> twitter.common.python:   Distilling py: 319.6ms
> twitter.common.python: Obtaining astroid>=0.24.3
> twitter.common.python: Obtaining astroid>=0.24.3 :: Installing astroid
> twitter.common.python: Obtaining astroid>=0.24.3 :: Distilling astroid
> twitter.common.python: Obtaining astroid>=0.24.3: 967.3ms
> twitter.common.python:   Installing astroid: 0.4ms
> twitter.common.python:   Distilling astroid: 399.9ms
> twitter.common.python: Obtaining logilab-common>=0.53.0
> twitter.common.python: Obtaining logilab-common>=0.53.0 :: Installing logilab-common
> twitter.common.python: Obtaining logilab-common>=0.53.0 :: Distilling logilab-common
> twitter.common.python: Obtaining logilab-common>=0.53.0: 1364.0ms
> twitter.common.python:   Installing logilab-common: 0.4ms
> twitter.common.python:   Distilling logilab-common: 603.8ms
> twitter.common.python: Obtaining cov-core>=1.6
> twitter.common.python: Obtaining cov-core>=1.6 :: Installing cov-core
> twitter.common.python: Obtaining cov-core>=1.6 :: Distilling cov-core
> twitter.common.python: Obtaining cov-core>=1.6: 471.0ms
> twitter.common.python:   Installing cov-core: 0.4ms
> twitter.common.python:   Distilling cov-core: 93.6ms
> twitter.common.python: Obtaining twitter.common.string==0.1.0
> twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Installing twitter.common.string
> twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Distilling twitter.common.string
> twitter.common.python: Obtaining twitter.common.string==0.1.0: 579.7ms
> twitter.common.python:   Installing twitter.common.string: 0.2ms
> twitter.common.python:   Distilling twitter.common.string: 93.8ms
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Installing twitter.common.contextutil
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Distilling twitter.common.contextutil
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0: 524.2ms
> twitter.common.python:   Installing twitter.common.contextutil: 0.5ms
> twitter.common.python:   Distilling twitter.common.contextutil: 92.6ms
> twitter.common.python: Obtaining setuptools==1.1.7
> twitter.common.python: Obtaining setuptools==1.1.7 :: Installing setuptools
> twitter.common.python: Obtaining setuptools==1.1.7 :: Distilling setuptools
> twitter.common.python: Obtaining setuptools==1.1.7: 2212.2ms
> twitter.common.python:   Installing setuptools: 0.3ms
> twitter.common.python:   Distilling setuptools: 618.8ms
> twitter.common.python: Obtaining MarkupSafe>=0.9.2
> twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Installing MarkupSafe
> twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Distilling MarkupSafe
> twitter.common.python: Obtaining MarkupSafe>=0.9.2: 928.3ms
> twitter.common.python:   Installing MarkupSafe: 0.3ms
> twitter.common.python:   Distilling MarkupSafe: 251.4ms
> twitter.common.python: Obtaining coverage>=3.4
> twitter.common.python: Obtaining coverage>=3.4 :: Installing coverage
> twitter.common.python: Obtaining coverage>=3.4 :: Distilling coverage
> twitter.common.python: Obtaining coverage>=3.4: 1082.9ms
> twitter.common.python:   Installing coverage: 0.3ms
> twitter.common.python:   Distilling coverage: 425.6ms
> ~/test_dev
> Build operating on targets: OrderedSet([PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client)])
> Building PythonBinary PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client):
> Wrote /home/vagrant/test_dev/dist/aurora_client.pex
> Build operating on targets: OrderedSet([PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example)])
> Building PythonBinary PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example):
> Wrote /home/vagrant/test_dev/dist/flask_example.pex
> == Creating job
>  INFO] Creating job flask_example
>  INFO] Response from scheduler: OK (message: 1 new tasks pending for job vagrant/test/flask_example)
>  INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
> == Updating test job
>  INFO] Updating job: flask_example
>  INFO] Starting job update.
>  INFO] Examining instances: [0]
>  INFO] Killing instances: [0]
>  INFO] Instances killed
>  INFO] Adding instances: [0]
>  INFO] Instances added
>  INFO] Watching instances: [0]
>  INFO] Detected RUNNING instance 0
>  INFO] Instance 0 has been up and healthy for at least 30 seconds
>  INFO] Update successful
>  INFO] Response from scheduler: OK (message: Lock has been released.)
>  INFO] Killing tasks for job: example/vagrant/test/flask_example
>  INFO] Response from scheduler: OK (message: Tasks killed.)
>  INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
> ***
> OK (all tests passed)
> ***
> [sun-wukong incubator-aurora (e2e)]$
> 
> 
> Thanks,
> 
> Mark Chu-Carroll
> 
>


Re: Review Request 17457: Initial version of an end-to-end test using vagrant

Posted by Kevin Sweeney <ke...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17457/#review33474
-----------------------------------------------------------



Vagrantfile
<https://reviews.apache.org/r/17457/#comment62914>

    can you name these like mesos-slave1 and mesos-slave2? It's likely we'll want to perform operations on both frequently.



examples/vagrant/provision-dev-environment.sh
<https://reviews.apache.org/r/17457/#comment62915>

    Why is python-setuptools being included here? The version that ships with ubuntu12.04 is old and buggy.


- Kevin Sweeney


On Feb. 3, 2014, 8:30 a.m., Mark Chu-Carroll wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/17457/
> -----------------------------------------------------------
> 
> (Updated Feb. 3, 2014, 8:30 a.m.)
> 
> 
> Review request for Aurora, Bill Farner and Brian Wickman.
> 
> 
> Bugs: aurora-125 and aurora-80
>     https://issues.apache.org/jira/browse/aurora-125
>     https://issues.apache.org/jira/browse/aurora-80
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Got an initial version of the end-to-end test working. 
> 
> Currently creates a job, probes it via the scheduler pages,  updates it, and kills it. 
> AURORA-127 will extend this to run multiple instances; AURORA-125 will extend this to use
> "aurora run" and "aurora ssh" to probe the running tasks.
> 
> 
> Diffs
> -----
> 
>   3rdparty/python/BUILD cc3e8c929e7b2b614a6ea3dbbb4e70d2f8d22586 
>   Vagrantfile 98dcf439aed53da5e78440de04562baf63c7272f 
>   examples/vagrant/provision-aurora-scheduler.sh e48291a8673aeb8888169747486b7d50a54f5a56 
>   examples/vagrant/provision-dev-environment.sh 7fc11bf523a054f6d068cf676e87bb043d854a25 
>   examples/vagrant/provision-mesos-slave.sh c2548a268e0fad7aa4f84d3fa48aea012007502b 
>   src/test/sh/org/apache/aurora/e2e/flask/BUILD PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example.aurora PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example.py PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example_updated.aurora PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/test_common.sh PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/17457/diff/
> 
> 
> Testing
> -------
> 
> [sun-wukong incubator-aurora (e2e)]$ sh src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
> Bringing machine 'devtools' up with 'virtualbox' provider...
> Bringing machine 'zookeeper' up with 'virtualbox' provider...
> Bringing machine 'mesos-master' up with 'virtualbox' provider...
> Bringing machine 'mesos-slave' up with 'virtualbox' provider...
> Bringing machine 'aurora-scheduler' up with 'virtualbox' provider...
> [devtools] VirtualBox VM is already running.
> [zookeeper] VirtualBox VM is already running.
> [mesos-master] VirtualBox VM is already running.
> [mesos-slave] VirtualBox VM is already running.
> [aurora-scheduler] VirtualBox VM is already running.
> Cloning into '/home/vagrant/test_dev'...
> done.
> Already on 'e2e'
> Already up-to-date.
> + VIRTUALENV_VERSION=1.10.1
> + which python2.7
> ++ which python2.7
> + PY=/usr/bin/python2.7
> + echo 'Using /usr/bin/python2.7'
> Using /usr/bin/python2.7
> + '[' -f build-support/virtualenv-1.10.1/BOOTSTRAPPED ']'
> + pushd build-support
> ~/test_dev/build-support ~/test_dev
> + curl -O https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.10.1.tar.gz
>   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
>                                  Dload  Upload   Total   Spent    Left  Speed
> 100 1294k  100 1294k    0     0  3261k      0 --:--:-- --:--:-- --:--:-- 3817k
> + tar zxvf virtualenv-1.10.1.tar.gz
> virtualenv-1.10.1/
> virtualenv-1.10.1/AUTHORS.txt
> virtualenv-1.10.1/bin/
> virtualenv-1.10.1/bin/rebuild-script.py
> virtualenv-1.10.1/docs/
> virtualenv-1.10.1/docs/_theme/
> virtualenv-1.10.1/docs/_theme/nature/
> virtualenv-1.10.1/docs/_theme/nature/static/
> virtualenv-1.10.1/docs/_theme/nature/static/nature.css_t
> virtualenv-1.10.1/docs/_theme/nature/static/pygments.css
> virtualenv-1.10.1/docs/_theme/nature/theme.conf
> virtualenv-1.10.1/docs/conf.py
> virtualenv-1.10.1/docs/index.rst
> virtualenv-1.10.1/docs/make.bat
> virtualenv-1.10.1/docs/Makefile
> virtualenv-1.10.1/docs/news.rst
> virtualenv-1.10.1/LICENSE.txt
> virtualenv-1.10.1/MANIFEST.in
> virtualenv-1.10.1/PKG-INFO
> virtualenv-1.10.1/README.rst
> virtualenv-1.10.1/scripts/
> virtualenv-1.10.1/scripts/virtualenv
> virtualenv-1.10.1/setup.cfg
> virtualenv-1.10.1/setup.py
> virtualenv-1.10.1/virtualenv.egg-info/
> virtualenv-1.10.1/virtualenv.egg-info/dependency_links.txt
> virtualenv-1.10.1/virtualenv.egg-info/entry_points.txt
> virtualenv-1.10.1/virtualenv.egg-info/not-zip-safe
> virtualenv-1.10.1/virtualenv.egg-info/PKG-INFO
> virtualenv-1.10.1/virtualenv.egg-info/SOURCES.txt
> virtualenv-1.10.1/virtualenv.egg-info/top_level.txt
> virtualenv-1.10.1/virtualenv.py
> virtualenv-1.10.1/virtualenv_embedded/
> virtualenv-1.10.1/virtualenv_embedded/activate.bat
> virtualenv-1.10.1/virtualenv_embedded/activate.csh
> virtualenv-1.10.1/virtualenv_embedded/activate.fish
> virtualenv-1.10.1/virtualenv_embedded/activate.ps1
> virtualenv-1.10.1/virtualenv_embedded/activate.sh
> virtualenv-1.10.1/virtualenv_embedded/activate_this.py
> virtualenv-1.10.1/virtualenv_embedded/deactivate.bat
> virtualenv-1.10.1/virtualenv_embedded/distutils-init.py
> virtualenv-1.10.1/virtualenv_embedded/distutils.cfg
> virtualenv-1.10.1/virtualenv_embedded/site.py
> virtualenv-1.10.1/virtualenv_support/
> virtualenv-1.10.1/virtualenv_support/__init__.py
> virtualenv-1.10.1/virtualenv_support/pip-1.4.1.tar.gz
> virtualenv-1.10.1/virtualenv_support/setuptools-0.9.8.tar.gz
> + touch virtualenv-1.10.1/BOOTSTRAPPED
> ~/test_dev
> + popd
> + exec /usr/bin/python2.7 build-support/virtualenv-1.10.1/virtualenv.py /tmp/pants.BqUkIw/tcp
> New python executable in /tmp/pants.BqUkIw/tcp/bin/python2.7
> Also creating executable in /tmp/pants.BqUkIw/tcp/bin/python
> Installing Setuptools..............................................................................................................................................................................................................................done.
> Installing Pip.....................................................................................................................................................................................................................................................................................................................................done.
> /tmp/pants.BqUkIw ~/test_dev
> Downloading/unpacking twitter.common.python==0.2.0
>   Running setup.py egg_info for package twitter.common.python
> 
> Downloading/unpacking setuptools==1.1.7 (from twitter.common.python==0.2.0)
>   Running setup.py egg_info for package setuptools
> 
> Installing collected packages: twitter.common.python, setuptools
>   Running setup.py install for twitter.common.python
>     Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/__init__.py (namespace package)
>     Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/common/__init__.py (namespace package)
> 
>     Installing /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter.common.python-0.2.0-py2.7-nspkg.pth
>   Found existing installation: setuptools 0.9.8
>     Uninstalling setuptools:
>       Successfully uninstalled setuptools
>   Running setup.py install for setuptools
> 
>     Installing easy_install script to /tmp/pants.BqUkIw/tcp/bin
>     Installing easy_install-2.7 script to /tmp/pants.BqUkIw/tcp/bin
> Successfully installed twitter.common.python setuptools
> Cleaning up...
> twitter.common.python: Obtaining twitter.pants==0.0.13
> twitter.common.python: Obtaining twitter.pants==0.0.13 :: Installing twitter.pants
> twitter.common.python: Obtaining twitter.pants==0.0.13 :: Distilling twitter.pants
> twitter.common.python: Obtaining twitter.pants==0.0.13: 1413.4ms
> twitter.common.python:   Installing twitter.pants: 0.4ms
> twitter.common.python:   Distilling twitter.pants: 798.7ms
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Installing twitter.common.quantity
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Distilling twitter.common.quantity
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0: 646.7ms
> twitter.common.python:   Installing twitter.common.quantity: 0.2ms
> twitter.common.python:   Distilling twitter.common.quantity: 94.6ms
> twitter.common.python: Obtaining elementtree
> twitter.common.python: Obtaining elementtree :: Installing elementtree
> twitter.common.python: Obtaining elementtree :: Distilling elementtree
> twitter.common.python: Obtaining elementtree: 1681.4ms
> twitter.common.python:   Installing elementtree: 0.2ms
> twitter.common.python:   Distilling elementtree: 140.7ms
> twitter.common.python: Obtaining twitter.common.config==0.1.0
> twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Installing twitter.common.config
> twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Distilling twitter.common.config
> twitter.common.python: Obtaining twitter.common.config==0.1.0: 490.8ms
> twitter.common.python:   Installing twitter.common.config: 0.2ms
> twitter.common.python:   Distilling twitter.common.config: 92.8ms
> twitter.common.python: Obtaining ansicolors
> twitter.common.python: Obtaining ansicolors :: Installing ansicolors
> twitter.common.python: Obtaining ansicolors :: Distilling ansicolors
> twitter.common.python: Obtaining ansicolors: 603.0ms
> twitter.common.python:   Installing ansicolors: 0.2ms
> twitter.common.python:   Distilling ansicolors: 86.1ms
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Installing twitter.common.confluence
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Distilling twitter.common.confluence
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0: 759.4ms
> twitter.common.python:   Installing twitter.common.confluence: 0.3ms
> twitter.common.python:   Distilling twitter.common.confluence: 95.8ms
> twitter.common.python: Obtaining psutil==1.1.2
> twitter.common.python: Obtaining psutil==1.1.2 :: Installing psutil
> twitter.common.python: Obtaining psutil==1.1.2 :: Distilling psutil
> twitter.common.python: Obtaining psutil==1.1.2: 1487.2ms
> twitter.common.python:   Installing psutil: 0.4ms
> twitter.common.python:   Distilling psutil: 446.3ms
> twitter.common.python: Obtaining pygments
> twitter.common.python: Obtaining pygments: 761.2ms
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Installing twitter.common.decorators
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Distilling twitter.common.decorators
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0: 582.7ms
> twitter.common.python:   Installing twitter.common.decorators: 0.2ms
> twitter.common.python:   Distilling twitter.common.decorators: 94.8ms
> twitter.common.python: Obtaining pytest
> twitter.common.python: Obtaining pytest :: Installing pytest
> twitter.common.python: Obtaining pytest :: Distilling pytest
> twitter.common.python: Obtaining pytest: 1700.3ms
> twitter.common.python:   Installing pytest: 0.3ms
> twitter.common.python:   Distilling pytest: 413.1ms
> twitter.common.python: Obtaining pylint
> twitter.common.python: Obtaining pylint :: Installing pylint
> twitter.common.python: Obtaining pylint :: Distilling pylint
> twitter.common.python: Obtaining pylint: 1301.7ms
> twitter.common.python:   Installing pylint: 0.3ms
> twitter.common.python:   Distilling pylint: 440.7ms
> twitter.common.python: Obtaining pytest-cov
> twitter.common.python: Obtaining pytest-cov :: Installing pytest-cov
> twitter.common.python: Obtaining pytest-cov :: Distilling pytest-cov
> twitter.common.python: Obtaining pytest-cov: 532.5ms
> twitter.common.python:   Installing pytest-cov: 0.2ms
> twitter.common.python:   Distilling pytest-cov: 88.1ms
> twitter.common.python: Obtaining twitter.common.process==0.1.0
> twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Installing twitter.common.process
> twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Distilling twitter.common.process
> twitter.common.python: Obtaining twitter.common.process==0.1.0: 519.6ms
> twitter.common.python:   Installing twitter.common.process: 0.2ms
> twitter.common.python:   Distilling twitter.common.process: 110.1ms
> twitter.common.python: Obtaining twitter.common.util==0.1.0
> twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Installing twitter.common.util
> twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Distilling twitter.common.util
> twitter.common.python: Obtaining twitter.common.util==0.1.0: 520.6ms
> twitter.common.python:   Installing twitter.common.util: 0.2ms
> twitter.common.python:   Distilling twitter.common.util: 91.9ms
> twitter.common.python: Obtaining markdown
> twitter.common.python: Obtaining markdown :: Installing Markdown
> twitter.common.python: Obtaining markdown :: Distilling Markdown
> twitter.common.python: Obtaining markdown: 1247.1ms
> twitter.common.python:   Installing Markdown: 0.5ms
> twitter.common.python:   Distilling Markdown: 495.1ms
> twitter.common.python: Obtaining twitter.common.python==0.2.2
> twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Installing twitter.common.python
> twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Distilling twitter.common.python
> twitter.common.python: Obtaining twitter.common.python==0.2.2: 865.8ms
> twitter.common.python:   Installing twitter.common.python: 0.3ms
> twitter.common.python:   Distilling twitter.common.python: 238.7ms
> twitter.common.python: Obtaining mako
> twitter.common.python: Obtaining mako :: Installing Mako
> twitter.common.python: Obtaining mako :: Distilling Mako
> twitter.common.python: Obtaining mako: 1069.3ms
> twitter.common.python:   Installing Mako: 0.3ms
> twitter.common.python:   Distilling Mako: 291.9ms
> twitter.common.python: Obtaining twitter.common.lang==0.1.0
> twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Installing twitter.common.lang
> twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Distilling twitter.common.lang
> twitter.common.python: Obtaining twitter.common.lang==0.1.0: 796.2ms
> twitter.common.python:   Installing twitter.common.lang: 0.2ms
> twitter.common.python:   Distilling twitter.common.lang: 95.4ms
> twitter.common.python: Obtaining twitter.common.collections==0.1.0
> twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Installing twitter.common.collections
> twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Distilling twitter.common.collections
> twitter.common.python: Obtaining twitter.common.collections==0.1.0: 554.6ms
> twitter.common.python:   Installing twitter.common.collections: 0.2ms
> twitter.common.python:   Distilling twitter.common.collections: 103.2ms
> twitter.common.python: Obtaining twitter.common.options==0.1.0
> twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Installing twitter.common.options
> twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Distilling twitter.common.options
> twitter.common.python: Obtaining twitter.common.options==0.1.0: 614.5ms
> twitter.common.python:   Installing twitter.common.options: 0.2ms
> twitter.common.python:   Distilling twitter.common.options: 92.8ms
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Installing twitter.common.dirutil
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Distilling twitter.common.dirutil
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0: 537.3ms
> twitter.common.python:   Installing twitter.common.dirutil: 0.4ms
> twitter.common.python:   Distilling twitter.common.dirutil: 109.1ms
> twitter.common.python: Obtaining twitter.common.log==0.1.0
> twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Installing twitter.common.log
> twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Distilling twitter.common.log
> twitter.common.python: Obtaining twitter.common.log==0.1.0: 766.4ms
> twitter.common.python:   Installing twitter.common.log: 0.2ms
> twitter.common.python:   Distilling twitter.common.log: 135.2ms
> twitter.common.python: Obtaining py>=1.4.19
> twitter.common.python: Obtaining py>=1.4.19 :: Installing py
> twitter.common.python: Obtaining py>=1.4.19 :: Distilling py
> twitter.common.python: Obtaining py>=1.4.19: 871.5ms
> twitter.common.python:   Installing py: 0.3ms
> twitter.common.python:   Distilling py: 319.6ms
> twitter.common.python: Obtaining astroid>=0.24.3
> twitter.common.python: Obtaining astroid>=0.24.3 :: Installing astroid
> twitter.common.python: Obtaining astroid>=0.24.3 :: Distilling astroid
> twitter.common.python: Obtaining astroid>=0.24.3: 967.3ms
> twitter.common.python:   Installing astroid: 0.4ms
> twitter.common.python:   Distilling astroid: 399.9ms
> twitter.common.python: Obtaining logilab-common>=0.53.0
> twitter.common.python: Obtaining logilab-common>=0.53.0 :: Installing logilab-common
> twitter.common.python: Obtaining logilab-common>=0.53.0 :: Distilling logilab-common
> twitter.common.python: Obtaining logilab-common>=0.53.0: 1364.0ms
> twitter.common.python:   Installing logilab-common: 0.4ms
> twitter.common.python:   Distilling logilab-common: 603.8ms
> twitter.common.python: Obtaining cov-core>=1.6
> twitter.common.python: Obtaining cov-core>=1.6 :: Installing cov-core
> twitter.common.python: Obtaining cov-core>=1.6 :: Distilling cov-core
> twitter.common.python: Obtaining cov-core>=1.6: 471.0ms
> twitter.common.python:   Installing cov-core: 0.4ms
> twitter.common.python:   Distilling cov-core: 93.6ms
> twitter.common.python: Obtaining twitter.common.string==0.1.0
> twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Installing twitter.common.string
> twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Distilling twitter.common.string
> twitter.common.python: Obtaining twitter.common.string==0.1.0: 579.7ms
> twitter.common.python:   Installing twitter.common.string: 0.2ms
> twitter.common.python:   Distilling twitter.common.string: 93.8ms
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Installing twitter.common.contextutil
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Distilling twitter.common.contextutil
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0: 524.2ms
> twitter.common.python:   Installing twitter.common.contextutil: 0.5ms
> twitter.common.python:   Distilling twitter.common.contextutil: 92.6ms
> twitter.common.python: Obtaining setuptools==1.1.7
> twitter.common.python: Obtaining setuptools==1.1.7 :: Installing setuptools
> twitter.common.python: Obtaining setuptools==1.1.7 :: Distilling setuptools
> twitter.common.python: Obtaining setuptools==1.1.7: 2212.2ms
> twitter.common.python:   Installing setuptools: 0.3ms
> twitter.common.python:   Distilling setuptools: 618.8ms
> twitter.common.python: Obtaining MarkupSafe>=0.9.2
> twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Installing MarkupSafe
> twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Distilling MarkupSafe
> twitter.common.python: Obtaining MarkupSafe>=0.9.2: 928.3ms
> twitter.common.python:   Installing MarkupSafe: 0.3ms
> twitter.common.python:   Distilling MarkupSafe: 251.4ms
> twitter.common.python: Obtaining coverage>=3.4
> twitter.common.python: Obtaining coverage>=3.4 :: Installing coverage
> twitter.common.python: Obtaining coverage>=3.4 :: Distilling coverage
> twitter.common.python: Obtaining coverage>=3.4: 1082.9ms
> twitter.common.python:   Installing coverage: 0.3ms
> twitter.common.python:   Distilling coverage: 425.6ms
> ~/test_dev
> Build operating on targets: OrderedSet([PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client)])
> Building PythonBinary PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client):
> Wrote /home/vagrant/test_dev/dist/aurora_client.pex
> Build operating on targets: OrderedSet([PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example)])
> Building PythonBinary PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example):
> Wrote /home/vagrant/test_dev/dist/flask_example.pex
> == Creating job
>  INFO] Creating job flask_example
>  INFO] Response from scheduler: OK (message: 1 new tasks pending for job vagrant/test/flask_example)
>  INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
> == Updating test job
>  INFO] Updating job: flask_example
>  INFO] Starting job update.
>  INFO] Examining instances: [0]
>  INFO] Killing instances: [0]
>  INFO] Instances killed
>  INFO] Adding instances: [0]
>  INFO] Instances added
>  INFO] Watching instances: [0]
>  INFO] Detected RUNNING instance 0
>  INFO] Instance 0 has been up and healthy for at least 30 seconds
>  INFO] Update successful
>  INFO] Response from scheduler: OK (message: Lock has been released.)
>  INFO] Killing tasks for job: example/vagrant/test/flask_example
>  INFO] Response from scheduler: OK (message: Tasks killed.)
>  INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
> ***
> OK (all tests passed)
> ***
> [sun-wukong incubator-aurora (e2e)]$
> 
> 
> Thanks,
> 
> Mark Chu-Carroll
> 
>


Re: Review Request 17457: Initial version of an end-to-end test using vagrant

Posted by Bill Farner <wf...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17457/#review33453
-----------------------------------------------------------

Ship it!


LGTM mod formatting nits

- Bill Farner


On Feb. 3, 2014, 4:30 p.m., Mark Chu-Carroll wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/17457/
> -----------------------------------------------------------
> 
> (Updated Feb. 3, 2014, 4:30 p.m.)
> 
> 
> Review request for Aurora, Bill Farner and Brian Wickman.
> 
> 
> Bugs: aurora-125 and aurora-80
>     https://issues.apache.org/jira/browse/aurora-125
>     https://issues.apache.org/jira/browse/aurora-80
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Got an initial version of the end-to-end test working. 
> 
> Currently creates a job, probes it via the scheduler pages,  updates it, and kills it. 
> AURORA-127 will extend this to run multiple instances; AURORA-125 will extend this to use
> "aurora run" and "aurora ssh" to probe the running tasks.
> 
> 
> Diffs
> -----
> 
>   3rdparty/python/BUILD cc3e8c929e7b2b614a6ea3dbbb4e70d2f8d22586 
>   Vagrantfile 98dcf439aed53da5e78440de04562baf63c7272f 
>   examples/vagrant/provision-aurora-scheduler.sh e48291a8673aeb8888169747486b7d50a54f5a56 
>   examples/vagrant/provision-dev-environment.sh 7fc11bf523a054f6d068cf676e87bb043d854a25 
>   examples/vagrant/provision-mesos-slave.sh c2548a268e0fad7aa4f84d3fa48aea012007502b 
>   src/test/sh/org/apache/aurora/e2e/flask/BUILD PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example.aurora PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example.py PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example_updated.aurora PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/test_common.sh PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/17457/diff/
> 
> 
> Testing
> -------
> 
> [sun-wukong incubator-aurora (e2e)]$ sh src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
> Bringing machine 'devtools' up with 'virtualbox' provider...
> Bringing machine 'zookeeper' up with 'virtualbox' provider...
> Bringing machine 'mesos-master' up with 'virtualbox' provider...
> Bringing machine 'mesos-slave' up with 'virtualbox' provider...
> Bringing machine 'aurora-scheduler' up with 'virtualbox' provider...
> [devtools] VirtualBox VM is already running.
> [zookeeper] VirtualBox VM is already running.
> [mesos-master] VirtualBox VM is already running.
> [mesos-slave] VirtualBox VM is already running.
> [aurora-scheduler] VirtualBox VM is already running.
> Cloning into '/home/vagrant/test_dev'...
> done.
> Already on 'e2e'
> Already up-to-date.
> + VIRTUALENV_VERSION=1.10.1
> + which python2.7
> ++ which python2.7
> + PY=/usr/bin/python2.7
> + echo 'Using /usr/bin/python2.7'
> Using /usr/bin/python2.7
> + '[' -f build-support/virtualenv-1.10.1/BOOTSTRAPPED ']'
> + pushd build-support
> ~/test_dev/build-support ~/test_dev
> + curl -O https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.10.1.tar.gz
>   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
>                                  Dload  Upload   Total   Spent    Left  Speed
> 100 1294k  100 1294k    0     0  3261k      0 --:--:-- --:--:-- --:--:-- 3817k
> + tar zxvf virtualenv-1.10.1.tar.gz
> virtualenv-1.10.1/
> virtualenv-1.10.1/AUTHORS.txt
> virtualenv-1.10.1/bin/
> virtualenv-1.10.1/bin/rebuild-script.py
> virtualenv-1.10.1/docs/
> virtualenv-1.10.1/docs/_theme/
> virtualenv-1.10.1/docs/_theme/nature/
> virtualenv-1.10.1/docs/_theme/nature/static/
> virtualenv-1.10.1/docs/_theme/nature/static/nature.css_t
> virtualenv-1.10.1/docs/_theme/nature/static/pygments.css
> virtualenv-1.10.1/docs/_theme/nature/theme.conf
> virtualenv-1.10.1/docs/conf.py
> virtualenv-1.10.1/docs/index.rst
> virtualenv-1.10.1/docs/make.bat
> virtualenv-1.10.1/docs/Makefile
> virtualenv-1.10.1/docs/news.rst
> virtualenv-1.10.1/LICENSE.txt
> virtualenv-1.10.1/MANIFEST.in
> virtualenv-1.10.1/PKG-INFO
> virtualenv-1.10.1/README.rst
> virtualenv-1.10.1/scripts/
> virtualenv-1.10.1/scripts/virtualenv
> virtualenv-1.10.1/setup.cfg
> virtualenv-1.10.1/setup.py
> virtualenv-1.10.1/virtualenv.egg-info/
> virtualenv-1.10.1/virtualenv.egg-info/dependency_links.txt
> virtualenv-1.10.1/virtualenv.egg-info/entry_points.txt
> virtualenv-1.10.1/virtualenv.egg-info/not-zip-safe
> virtualenv-1.10.1/virtualenv.egg-info/PKG-INFO
> virtualenv-1.10.1/virtualenv.egg-info/SOURCES.txt
> virtualenv-1.10.1/virtualenv.egg-info/top_level.txt
> virtualenv-1.10.1/virtualenv.py
> virtualenv-1.10.1/virtualenv_embedded/
> virtualenv-1.10.1/virtualenv_embedded/activate.bat
> virtualenv-1.10.1/virtualenv_embedded/activate.csh
> virtualenv-1.10.1/virtualenv_embedded/activate.fish
> virtualenv-1.10.1/virtualenv_embedded/activate.ps1
> virtualenv-1.10.1/virtualenv_embedded/activate.sh
> virtualenv-1.10.1/virtualenv_embedded/activate_this.py
> virtualenv-1.10.1/virtualenv_embedded/deactivate.bat
> virtualenv-1.10.1/virtualenv_embedded/distutils-init.py
> virtualenv-1.10.1/virtualenv_embedded/distutils.cfg
> virtualenv-1.10.1/virtualenv_embedded/site.py
> virtualenv-1.10.1/virtualenv_support/
> virtualenv-1.10.1/virtualenv_support/__init__.py
> virtualenv-1.10.1/virtualenv_support/pip-1.4.1.tar.gz
> virtualenv-1.10.1/virtualenv_support/setuptools-0.9.8.tar.gz
> + touch virtualenv-1.10.1/BOOTSTRAPPED
> ~/test_dev
> + popd
> + exec /usr/bin/python2.7 build-support/virtualenv-1.10.1/virtualenv.py /tmp/pants.BqUkIw/tcp
> New python executable in /tmp/pants.BqUkIw/tcp/bin/python2.7
> Also creating executable in /tmp/pants.BqUkIw/tcp/bin/python
> Installing Setuptools..............................................................................................................................................................................................................................done.
> Installing Pip.....................................................................................................................................................................................................................................................................................................................................done.
> /tmp/pants.BqUkIw ~/test_dev
> Downloading/unpacking twitter.common.python==0.2.0
>   Running setup.py egg_info for package twitter.common.python
> 
> Downloading/unpacking setuptools==1.1.7 (from twitter.common.python==0.2.0)
>   Running setup.py egg_info for package setuptools
> 
> Installing collected packages: twitter.common.python, setuptools
>   Running setup.py install for twitter.common.python
>     Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/__init__.py (namespace package)
>     Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/common/__init__.py (namespace package)
> 
>     Installing /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter.common.python-0.2.0-py2.7-nspkg.pth
>   Found existing installation: setuptools 0.9.8
>     Uninstalling setuptools:
>       Successfully uninstalled setuptools
>   Running setup.py install for setuptools
> 
>     Installing easy_install script to /tmp/pants.BqUkIw/tcp/bin
>     Installing easy_install-2.7 script to /tmp/pants.BqUkIw/tcp/bin
> Successfully installed twitter.common.python setuptools
> Cleaning up...
> twitter.common.python: Obtaining twitter.pants==0.0.13
> twitter.common.python: Obtaining twitter.pants==0.0.13 :: Installing twitter.pants
> twitter.common.python: Obtaining twitter.pants==0.0.13 :: Distilling twitter.pants
> twitter.common.python: Obtaining twitter.pants==0.0.13: 1413.4ms
> twitter.common.python:   Installing twitter.pants: 0.4ms
> twitter.common.python:   Distilling twitter.pants: 798.7ms
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Installing twitter.common.quantity
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Distilling twitter.common.quantity
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0: 646.7ms
> twitter.common.python:   Installing twitter.common.quantity: 0.2ms
> twitter.common.python:   Distilling twitter.common.quantity: 94.6ms
> twitter.common.python: Obtaining elementtree
> twitter.common.python: Obtaining elementtree :: Installing elementtree
> twitter.common.python: Obtaining elementtree :: Distilling elementtree
> twitter.common.python: Obtaining elementtree: 1681.4ms
> twitter.common.python:   Installing elementtree: 0.2ms
> twitter.common.python:   Distilling elementtree: 140.7ms
> twitter.common.python: Obtaining twitter.common.config==0.1.0
> twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Installing twitter.common.config
> twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Distilling twitter.common.config
> twitter.common.python: Obtaining twitter.common.config==0.1.0: 490.8ms
> twitter.common.python:   Installing twitter.common.config: 0.2ms
> twitter.common.python:   Distilling twitter.common.config: 92.8ms
> twitter.common.python: Obtaining ansicolors
> twitter.common.python: Obtaining ansicolors :: Installing ansicolors
> twitter.common.python: Obtaining ansicolors :: Distilling ansicolors
> twitter.common.python: Obtaining ansicolors: 603.0ms
> twitter.common.python:   Installing ansicolors: 0.2ms
> twitter.common.python:   Distilling ansicolors: 86.1ms
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Installing twitter.common.confluence
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Distilling twitter.common.confluence
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0: 759.4ms
> twitter.common.python:   Installing twitter.common.confluence: 0.3ms
> twitter.common.python:   Distilling twitter.common.confluence: 95.8ms
> twitter.common.python: Obtaining psutil==1.1.2
> twitter.common.python: Obtaining psutil==1.1.2 :: Installing psutil
> twitter.common.python: Obtaining psutil==1.1.2 :: Distilling psutil
> twitter.common.python: Obtaining psutil==1.1.2: 1487.2ms
> twitter.common.python:   Installing psutil: 0.4ms
> twitter.common.python:   Distilling psutil: 446.3ms
> twitter.common.python: Obtaining pygments
> twitter.common.python: Obtaining pygments: 761.2ms
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Installing twitter.common.decorators
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Distilling twitter.common.decorators
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0: 582.7ms
> twitter.common.python:   Installing twitter.common.decorators: 0.2ms
> twitter.common.python:   Distilling twitter.common.decorators: 94.8ms
> twitter.common.python: Obtaining pytest
> twitter.common.python: Obtaining pytest :: Installing pytest
> twitter.common.python: Obtaining pytest :: Distilling pytest
> twitter.common.python: Obtaining pytest: 1700.3ms
> twitter.common.python:   Installing pytest: 0.3ms
> twitter.common.python:   Distilling pytest: 413.1ms
> twitter.common.python: Obtaining pylint
> twitter.common.python: Obtaining pylint :: Installing pylint
> twitter.common.python: Obtaining pylint :: Distilling pylint
> twitter.common.python: Obtaining pylint: 1301.7ms
> twitter.common.python:   Installing pylint: 0.3ms
> twitter.common.python:   Distilling pylint: 440.7ms
> twitter.common.python: Obtaining pytest-cov
> twitter.common.python: Obtaining pytest-cov :: Installing pytest-cov
> twitter.common.python: Obtaining pytest-cov :: Distilling pytest-cov
> twitter.common.python: Obtaining pytest-cov: 532.5ms
> twitter.common.python:   Installing pytest-cov: 0.2ms
> twitter.common.python:   Distilling pytest-cov: 88.1ms
> twitter.common.python: Obtaining twitter.common.process==0.1.0
> twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Installing twitter.common.process
> twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Distilling twitter.common.process
> twitter.common.python: Obtaining twitter.common.process==0.1.0: 519.6ms
> twitter.common.python:   Installing twitter.common.process: 0.2ms
> twitter.common.python:   Distilling twitter.common.process: 110.1ms
> twitter.common.python: Obtaining twitter.common.util==0.1.0
> twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Installing twitter.common.util
> twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Distilling twitter.common.util
> twitter.common.python: Obtaining twitter.common.util==0.1.0: 520.6ms
> twitter.common.python:   Installing twitter.common.util: 0.2ms
> twitter.common.python:   Distilling twitter.common.util: 91.9ms
> twitter.common.python: Obtaining markdown
> twitter.common.python: Obtaining markdown :: Installing Markdown
> twitter.common.python: Obtaining markdown :: Distilling Markdown
> twitter.common.python: Obtaining markdown: 1247.1ms
> twitter.common.python:   Installing Markdown: 0.5ms
> twitter.common.python:   Distilling Markdown: 495.1ms
> twitter.common.python: Obtaining twitter.common.python==0.2.2
> twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Installing twitter.common.python
> twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Distilling twitter.common.python
> twitter.common.python: Obtaining twitter.common.python==0.2.2: 865.8ms
> twitter.common.python:   Installing twitter.common.python: 0.3ms
> twitter.common.python:   Distilling twitter.common.python: 238.7ms
> twitter.common.python: Obtaining mako
> twitter.common.python: Obtaining mako :: Installing Mako
> twitter.common.python: Obtaining mako :: Distilling Mako
> twitter.common.python: Obtaining mako: 1069.3ms
> twitter.common.python:   Installing Mako: 0.3ms
> twitter.common.python:   Distilling Mako: 291.9ms
> twitter.common.python: Obtaining twitter.common.lang==0.1.0
> twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Installing twitter.common.lang
> twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Distilling twitter.common.lang
> twitter.common.python: Obtaining twitter.common.lang==0.1.0: 796.2ms
> twitter.common.python:   Installing twitter.common.lang: 0.2ms
> twitter.common.python:   Distilling twitter.common.lang: 95.4ms
> twitter.common.python: Obtaining twitter.common.collections==0.1.0
> twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Installing twitter.common.collections
> twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Distilling twitter.common.collections
> twitter.common.python: Obtaining twitter.common.collections==0.1.0: 554.6ms
> twitter.common.python:   Installing twitter.common.collections: 0.2ms
> twitter.common.python:   Distilling twitter.common.collections: 103.2ms
> twitter.common.python: Obtaining twitter.common.options==0.1.0
> twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Installing twitter.common.options
> twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Distilling twitter.common.options
> twitter.common.python: Obtaining twitter.common.options==0.1.0: 614.5ms
> twitter.common.python:   Installing twitter.common.options: 0.2ms
> twitter.common.python:   Distilling twitter.common.options: 92.8ms
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Installing twitter.common.dirutil
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Distilling twitter.common.dirutil
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0: 537.3ms
> twitter.common.python:   Installing twitter.common.dirutil: 0.4ms
> twitter.common.python:   Distilling twitter.common.dirutil: 109.1ms
> twitter.common.python: Obtaining twitter.common.log==0.1.0
> twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Installing twitter.common.log
> twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Distilling twitter.common.log
> twitter.common.python: Obtaining twitter.common.log==0.1.0: 766.4ms
> twitter.common.python:   Installing twitter.common.log: 0.2ms
> twitter.common.python:   Distilling twitter.common.log: 135.2ms
> twitter.common.python: Obtaining py>=1.4.19
> twitter.common.python: Obtaining py>=1.4.19 :: Installing py
> twitter.common.python: Obtaining py>=1.4.19 :: Distilling py
> twitter.common.python: Obtaining py>=1.4.19: 871.5ms
> twitter.common.python:   Installing py: 0.3ms
> twitter.common.python:   Distilling py: 319.6ms
> twitter.common.python: Obtaining astroid>=0.24.3
> twitter.common.python: Obtaining astroid>=0.24.3 :: Installing astroid
> twitter.common.python: Obtaining astroid>=0.24.3 :: Distilling astroid
> twitter.common.python: Obtaining astroid>=0.24.3: 967.3ms
> twitter.common.python:   Installing astroid: 0.4ms
> twitter.common.python:   Distilling astroid: 399.9ms
> twitter.common.python: Obtaining logilab-common>=0.53.0
> twitter.common.python: Obtaining logilab-common>=0.53.0 :: Installing logilab-common
> twitter.common.python: Obtaining logilab-common>=0.53.0 :: Distilling logilab-common
> twitter.common.python: Obtaining logilab-common>=0.53.0: 1364.0ms
> twitter.common.python:   Installing logilab-common: 0.4ms
> twitter.common.python:   Distilling logilab-common: 603.8ms
> twitter.common.python: Obtaining cov-core>=1.6
> twitter.common.python: Obtaining cov-core>=1.6 :: Installing cov-core
> twitter.common.python: Obtaining cov-core>=1.6 :: Distilling cov-core
> twitter.common.python: Obtaining cov-core>=1.6: 471.0ms
> twitter.common.python:   Installing cov-core: 0.4ms
> twitter.common.python:   Distilling cov-core: 93.6ms
> twitter.common.python: Obtaining twitter.common.string==0.1.0
> twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Installing twitter.common.string
> twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Distilling twitter.common.string
> twitter.common.python: Obtaining twitter.common.string==0.1.0: 579.7ms
> twitter.common.python:   Installing twitter.common.string: 0.2ms
> twitter.common.python:   Distilling twitter.common.string: 93.8ms
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Installing twitter.common.contextutil
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Distilling twitter.common.contextutil
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0: 524.2ms
> twitter.common.python:   Installing twitter.common.contextutil: 0.5ms
> twitter.common.python:   Distilling twitter.common.contextutil: 92.6ms
> twitter.common.python: Obtaining setuptools==1.1.7
> twitter.common.python: Obtaining setuptools==1.1.7 :: Installing setuptools
> twitter.common.python: Obtaining setuptools==1.1.7 :: Distilling setuptools
> twitter.common.python: Obtaining setuptools==1.1.7: 2212.2ms
> twitter.common.python:   Installing setuptools: 0.3ms
> twitter.common.python:   Distilling setuptools: 618.8ms
> twitter.common.python: Obtaining MarkupSafe>=0.9.2
> twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Installing MarkupSafe
> twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Distilling MarkupSafe
> twitter.common.python: Obtaining MarkupSafe>=0.9.2: 928.3ms
> twitter.common.python:   Installing MarkupSafe: 0.3ms
> twitter.common.python:   Distilling MarkupSafe: 251.4ms
> twitter.common.python: Obtaining coverage>=3.4
> twitter.common.python: Obtaining coverage>=3.4 :: Installing coverage
> twitter.common.python: Obtaining coverage>=3.4 :: Distilling coverage
> twitter.common.python: Obtaining coverage>=3.4: 1082.9ms
> twitter.common.python:   Installing coverage: 0.3ms
> twitter.common.python:   Distilling coverage: 425.6ms
> ~/test_dev
> Build operating on targets: OrderedSet([PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client)])
> Building PythonBinary PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client):
> Wrote /home/vagrant/test_dev/dist/aurora_client.pex
> Build operating on targets: OrderedSet([PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example)])
> Building PythonBinary PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example):
> Wrote /home/vagrant/test_dev/dist/flask_example.pex
> == Creating job
>  INFO] Creating job flask_example
>  INFO] Response from scheduler: OK (message: 1 new tasks pending for job vagrant/test/flask_example)
>  INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
> == Updating test job
>  INFO] Updating job: flask_example
>  INFO] Starting job update.
>  INFO] Examining instances: [0]
>  INFO] Killing instances: [0]
>  INFO] Instances killed
>  INFO] Adding instances: [0]
>  INFO] Instances added
>  INFO] Watching instances: [0]
>  INFO] Detected RUNNING instance 0
>  INFO] Instance 0 has been up and healthy for at least 30 seconds
>  INFO] Update successful
>  INFO] Response from scheduler: OK (message: Lock has been released.)
>  INFO] Killing tasks for job: example/vagrant/test/flask_example
>  INFO] Response from scheduler: OK (message: Tasks killed.)
>  INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
> ***
> OK (all tests passed)
> ***
> [sun-wukong incubator-aurora (e2e)]$
> 
> 
> Thanks,
> 
> Mark Chu-Carroll
> 
>


Re: Review Request 17457: Initial version of an end-to-end test using vagrant

Posted by Kevin Sweeney <ke...@apache.org>.

> On Feb. 3, 2014, 1:47 p.m., Kevin Sweeney wrote:
> > examples/vagrant/provision-dev-environment.sh, line 5
> > <https://reviews.apache.org/r/17457/diff/4/?file=463503#file463503line5>
> >
> >     git is already on this commandline and setuptools shouldn't be needed. From the virtualbox environment
> >     
> >     % vagrant ssh devtools
> >     Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-23-generic x86_64)
> >     
> >      * Documentation:  https://help.ubuntu.com/
> >     Welcome to your Vagrant-built virtual machine.
> >     Last login: Fri Sep 14 06:23:18 2012 from 10.0.2.2
> >     vagrant@precise64:~$ python
> >     Python 2.7.3 (default, Sep 26 2013, 20:03:06)
> >     [GCC 4.6.3] on linux2
> >     Type "help", "copyright", "credits" or "license" for more information.
> >     >>> import setuptools
> >     Traceback (most recent call last):
> >       File "<stdin>", line 1, in <module>
> >     ImportError: No module named setuptools
> >     >>>
> >     vagrant@precise64:~$ dpkg -L python-setuptools
> >     Package `python-setuptools' is not installed.
> >     Use dpkg --info (= dpkg-deb --info) to examine archive files,
> >     and dpkg --contents (= dpkg-deb --contents) to list their contents.
> 
> Mark Chu-Carroll wrote:
>     I'll fix the double-git. 
>     
>     But setuptools is necessary for vmware. In the vmware precise64 image default, pants doesn't work due to missing python packages. With setuptools, pants is able to bootstrap itself.
>     
>

system-wide setuptools isn't necessary - pants downloads a bootstrap distribution of virtualenv directly.

vagrant@precise64:~/aurora$ ./pants
+ VIRTUALENV_VERSION=1.10.1
+ which python2.7
++ which python2.7
+ PY=/usr/bin/python2.7
+ echo 'Using /usr/bin/python2.7'
Using /usr/bin/python2.7
+ '[' -f build-support/virtualenv-1.10.1/BOOTSTRAPPED ']'
+ pushd build-support
~/aurora/build-support ~/aurora
+ curl -O https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.10.1.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1294k  100 1294k    0     0   411k      0  0:00:03  0:00:03 --:--:--  413k
+ tar zxvf virtualenv-1.10.1.tar.gz
[...]
virtualenv-1.10.1/virtualenv_support/pip-1.4.1.tar.gz
virtualenv-1.10.1/virtualenv_support/setuptools-0.9.8.tar.gz
[...]
+ exec /usr/bin/python2.7 build-support/virtualenv-1.10.1/virtualenv.py /tmp/pants.NR8A1C/tcp
New python executable in /tmp/pants.NR8A1C/tcp/bin/python2.7
Also creating executable in /tmp/pants.NR8A1C/tcp/bin/python
Installing Setuptools..............................................................................................................................................................................................................................done.
Installing Pip.....................................................................................................................................................................................................................................................................................................................................done.
[...]
Pants 0.0.13 @ PANTS_BUILD_ROOT: /home/vagrant/aurora

Available subcommands:
	py	Python chroot manipulation.
	help	Provides help for available commands or a single specified command.
	build	Builds a specified target.
	setup_py	Generate setup.py-based Python projects from python_library targets.
	goal	Lists installed goals or else executes a named goal.

Default subcommand flags can be stored in ~/.pantsrc using the 'options' key of a
section named for the subcommand in ini style format, ie:
  [build]
  options: --log-exit


- Kevin


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


On Feb. 3, 2014, 12:16 p.m., Mark Chu-Carroll wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/17457/
> -----------------------------------------------------------
> 
> (Updated Feb. 3, 2014, 12:16 p.m.)
> 
> 
> Review request for Aurora, Bill Farner and Brian Wickman.
> 
> 
> Bugs: aurora-125 and aurora-80
>     https://issues.apache.org/jira/browse/aurora-125
>     https://issues.apache.org/jira/browse/aurora-80
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Got an initial version of the end-to-end test working. 
> 
> Currently creates a job, probes it via the scheduler pages,  updates it, and kills it. 
> AURORA-127 will extend this to run multiple instances; AURORA-125 will extend this to use
> "aurora run" and "aurora ssh" to probe the running tasks.
> 
> 
> Diffs
> -----
> 
>   3rdparty/python/BUILD cc3e8c929e7b2b614a6ea3dbbb4e70d2f8d22586 
>   Vagrantfile 98dcf439aed53da5e78440de04562baf63c7272f 
>   examples/vagrant/provision-aurora-scheduler.sh e48291a8673aeb8888169747486b7d50a54f5a56 
>   examples/vagrant/provision-dev-environment.sh 7fc11bf523a054f6d068cf676e87bb043d854a25 
>   examples/vagrant/provision-mesos-slave.sh c2548a268e0fad7aa4f84d3fa48aea012007502b 
>   src/test/sh/org/apache/aurora/e2e/flask/BUILD PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example.aurora PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example.py PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example_updated.aurora PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/test_common.sh PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/17457/diff/
> 
> 
> Testing
> -------
> 
> [sun-wukong incubator-aurora (e2e)]$ sh src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
> Bringing machine 'devtools' up with 'virtualbox' provider...
> Bringing machine 'zookeeper' up with 'virtualbox' provider...
> Bringing machine 'mesos-master' up with 'virtualbox' provider...
> Bringing machine 'mesos-slave' up with 'virtualbox' provider...
> Bringing machine 'aurora-scheduler' up with 'virtualbox' provider...
> [devtools] VirtualBox VM is already running.
> [zookeeper] VirtualBox VM is already running.
> [mesos-master] VirtualBox VM is already running.
> [mesos-slave] VirtualBox VM is already running.
> [aurora-scheduler] VirtualBox VM is already running.
> Cloning into '/home/vagrant/test_dev'...
> done.
> Already on 'e2e'
> Already up-to-date.
> + VIRTUALENV_VERSION=1.10.1
> + which python2.7
> ++ which python2.7
> + PY=/usr/bin/python2.7
> + echo 'Using /usr/bin/python2.7'
> Using /usr/bin/python2.7
> + '[' -f build-support/virtualenv-1.10.1/BOOTSTRAPPED ']'
> + pushd build-support
> ~/test_dev/build-support ~/test_dev
> + curl -O https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.10.1.tar.gz
>   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
>                                  Dload  Upload   Total   Spent    Left  Speed
> 100 1294k  100 1294k    0     0  3261k      0 --:--:-- --:--:-- --:--:-- 3817k
> + tar zxvf virtualenv-1.10.1.tar.gz
> virtualenv-1.10.1/
> virtualenv-1.10.1/AUTHORS.txt
> virtualenv-1.10.1/bin/
> virtualenv-1.10.1/bin/rebuild-script.py
> virtualenv-1.10.1/docs/
> virtualenv-1.10.1/docs/_theme/
> virtualenv-1.10.1/docs/_theme/nature/
> virtualenv-1.10.1/docs/_theme/nature/static/
> virtualenv-1.10.1/docs/_theme/nature/static/nature.css_t
> virtualenv-1.10.1/docs/_theme/nature/static/pygments.css
> virtualenv-1.10.1/docs/_theme/nature/theme.conf
> virtualenv-1.10.1/docs/conf.py
> virtualenv-1.10.1/docs/index.rst
> virtualenv-1.10.1/docs/make.bat
> virtualenv-1.10.1/docs/Makefile
> virtualenv-1.10.1/docs/news.rst
> virtualenv-1.10.1/LICENSE.txt
> virtualenv-1.10.1/MANIFEST.in
> virtualenv-1.10.1/PKG-INFO
> virtualenv-1.10.1/README.rst
> virtualenv-1.10.1/scripts/
> virtualenv-1.10.1/scripts/virtualenv
> virtualenv-1.10.1/setup.cfg
> virtualenv-1.10.1/setup.py
> virtualenv-1.10.1/virtualenv.egg-info/
> virtualenv-1.10.1/virtualenv.egg-info/dependency_links.txt
> virtualenv-1.10.1/virtualenv.egg-info/entry_points.txt
> virtualenv-1.10.1/virtualenv.egg-info/not-zip-safe
> virtualenv-1.10.1/virtualenv.egg-info/PKG-INFO
> virtualenv-1.10.1/virtualenv.egg-info/SOURCES.txt
> virtualenv-1.10.1/virtualenv.egg-info/top_level.txt
> virtualenv-1.10.1/virtualenv.py
> virtualenv-1.10.1/virtualenv_embedded/
> virtualenv-1.10.1/virtualenv_embedded/activate.bat
> virtualenv-1.10.1/virtualenv_embedded/activate.csh
> virtualenv-1.10.1/virtualenv_embedded/activate.fish
> virtualenv-1.10.1/virtualenv_embedded/activate.ps1
> virtualenv-1.10.1/virtualenv_embedded/activate.sh
> virtualenv-1.10.1/virtualenv_embedded/activate_this.py
> virtualenv-1.10.1/virtualenv_embedded/deactivate.bat
> virtualenv-1.10.1/virtualenv_embedded/distutils-init.py
> virtualenv-1.10.1/virtualenv_embedded/distutils.cfg
> virtualenv-1.10.1/virtualenv_embedded/site.py
> virtualenv-1.10.1/virtualenv_support/
> virtualenv-1.10.1/virtualenv_support/__init__.py
> virtualenv-1.10.1/virtualenv_support/pip-1.4.1.tar.gz
> virtualenv-1.10.1/virtualenv_support/setuptools-0.9.8.tar.gz
> + touch virtualenv-1.10.1/BOOTSTRAPPED
> ~/test_dev
> + popd
> + exec /usr/bin/python2.7 build-support/virtualenv-1.10.1/virtualenv.py /tmp/pants.BqUkIw/tcp
> New python executable in /tmp/pants.BqUkIw/tcp/bin/python2.7
> Also creating executable in /tmp/pants.BqUkIw/tcp/bin/python
> Installing Setuptools..............................................................................................................................................................................................................................done.
> Installing Pip.....................................................................................................................................................................................................................................................................................................................................done.
> /tmp/pants.BqUkIw ~/test_dev
> Downloading/unpacking twitter.common.python==0.2.0
>   Running setup.py egg_info for package twitter.common.python
> 
> Downloading/unpacking setuptools==1.1.7 (from twitter.common.python==0.2.0)
>   Running setup.py egg_info for package setuptools
> 
> Installing collected packages: twitter.common.python, setuptools
>   Running setup.py install for twitter.common.python
>     Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/__init__.py (namespace package)
>     Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/common/__init__.py (namespace package)
> 
>     Installing /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter.common.python-0.2.0-py2.7-nspkg.pth
>   Found existing installation: setuptools 0.9.8
>     Uninstalling setuptools:
>       Successfully uninstalled setuptools
>   Running setup.py install for setuptools
> 
>     Installing easy_install script to /tmp/pants.BqUkIw/tcp/bin
>     Installing easy_install-2.7 script to /tmp/pants.BqUkIw/tcp/bin
> Successfully installed twitter.common.python setuptools
> Cleaning up...
> twitter.common.python: Obtaining twitter.pants==0.0.13
> twitter.common.python: Obtaining twitter.pants==0.0.13 :: Installing twitter.pants
> twitter.common.python: Obtaining twitter.pants==0.0.13 :: Distilling twitter.pants
> twitter.common.python: Obtaining twitter.pants==0.0.13: 1413.4ms
> twitter.common.python:   Installing twitter.pants: 0.4ms
> twitter.common.python:   Distilling twitter.pants: 798.7ms
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Installing twitter.common.quantity
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Distilling twitter.common.quantity
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0: 646.7ms
> twitter.common.python:   Installing twitter.common.quantity: 0.2ms
> twitter.common.python:   Distilling twitter.common.quantity: 94.6ms
> twitter.common.python: Obtaining elementtree
> twitter.common.python: Obtaining elementtree :: Installing elementtree
> twitter.common.python: Obtaining elementtree :: Distilling elementtree
> twitter.common.python: Obtaining elementtree: 1681.4ms
> twitter.common.python:   Installing elementtree: 0.2ms
> twitter.common.python:   Distilling elementtree: 140.7ms
> twitter.common.python: Obtaining twitter.common.config==0.1.0
> twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Installing twitter.common.config
> twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Distilling twitter.common.config
> twitter.common.python: Obtaining twitter.common.config==0.1.0: 490.8ms
> twitter.common.python:   Installing twitter.common.config: 0.2ms
> twitter.common.python:   Distilling twitter.common.config: 92.8ms
> twitter.common.python: Obtaining ansicolors
> twitter.common.python: Obtaining ansicolors :: Installing ansicolors
> twitter.common.python: Obtaining ansicolors :: Distilling ansicolors
> twitter.common.python: Obtaining ansicolors: 603.0ms
> twitter.common.python:   Installing ansicolors: 0.2ms
> twitter.common.python:   Distilling ansicolors: 86.1ms
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Installing twitter.common.confluence
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Distilling twitter.common.confluence
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0: 759.4ms
> twitter.common.python:   Installing twitter.common.confluence: 0.3ms
> twitter.common.python:   Distilling twitter.common.confluence: 95.8ms
> twitter.common.python: Obtaining psutil==1.1.2
> twitter.common.python: Obtaining psutil==1.1.2 :: Installing psutil
> twitter.common.python: Obtaining psutil==1.1.2 :: Distilling psutil
> twitter.common.python: Obtaining psutil==1.1.2: 1487.2ms
> twitter.common.python:   Installing psutil: 0.4ms
> twitter.common.python:   Distilling psutil: 446.3ms
> twitter.common.python: Obtaining pygments
> twitter.common.python: Obtaining pygments: 761.2ms
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Installing twitter.common.decorators
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Distilling twitter.common.decorators
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0: 582.7ms
> twitter.common.python:   Installing twitter.common.decorators: 0.2ms
> twitter.common.python:   Distilling twitter.common.decorators: 94.8ms
> twitter.common.python: Obtaining pytest
> twitter.common.python: Obtaining pytest :: Installing pytest
> twitter.common.python: Obtaining pytest :: Distilling pytest
> twitter.common.python: Obtaining pytest: 1700.3ms
> twitter.common.python:   Installing pytest: 0.3ms
> twitter.common.python:   Distilling pytest: 413.1ms
> twitter.common.python: Obtaining pylint
> twitter.common.python: Obtaining pylint :: Installing pylint
> twitter.common.python: Obtaining pylint :: Distilling pylint
> twitter.common.python: Obtaining pylint: 1301.7ms
> twitter.common.python:   Installing pylint: 0.3ms
> twitter.common.python:   Distilling pylint: 440.7ms
> twitter.common.python: Obtaining pytest-cov
> twitter.common.python: Obtaining pytest-cov :: Installing pytest-cov
> twitter.common.python: Obtaining pytest-cov :: Distilling pytest-cov
> twitter.common.python: Obtaining pytest-cov: 532.5ms
> twitter.common.python:   Installing pytest-cov: 0.2ms
> twitter.common.python:   Distilling pytest-cov: 88.1ms
> twitter.common.python: Obtaining twitter.common.process==0.1.0
> twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Installing twitter.common.process
> twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Distilling twitter.common.process
> twitter.common.python: Obtaining twitter.common.process==0.1.0: 519.6ms
> twitter.common.python:   Installing twitter.common.process: 0.2ms
> twitter.common.python:   Distilling twitter.common.process: 110.1ms
> twitter.common.python: Obtaining twitter.common.util==0.1.0
> twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Installing twitter.common.util
> twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Distilling twitter.common.util
> twitter.common.python: Obtaining twitter.common.util==0.1.0: 520.6ms
> twitter.common.python:   Installing twitter.common.util: 0.2ms
> twitter.common.python:   Distilling twitter.common.util: 91.9ms
> twitter.common.python: Obtaining markdown
> twitter.common.python: Obtaining markdown :: Installing Markdown
> twitter.common.python: Obtaining markdown :: Distilling Markdown
> twitter.common.python: Obtaining markdown: 1247.1ms
> twitter.common.python:   Installing Markdown: 0.5ms
> twitter.common.python:   Distilling Markdown: 495.1ms
> twitter.common.python: Obtaining twitter.common.python==0.2.2
> twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Installing twitter.common.python
> twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Distilling twitter.common.python
> twitter.common.python: Obtaining twitter.common.python==0.2.2: 865.8ms
> twitter.common.python:   Installing twitter.common.python: 0.3ms
> twitter.common.python:   Distilling twitter.common.python: 238.7ms
> twitter.common.python: Obtaining mako
> twitter.common.python: Obtaining mako :: Installing Mako
> twitter.common.python: Obtaining mako :: Distilling Mako
> twitter.common.python: Obtaining mako: 1069.3ms
> twitter.common.python:   Installing Mako: 0.3ms
> twitter.common.python:   Distilling Mako: 291.9ms
> twitter.common.python: Obtaining twitter.common.lang==0.1.0
> twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Installing twitter.common.lang
> twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Distilling twitter.common.lang
> twitter.common.python: Obtaining twitter.common.lang==0.1.0: 796.2ms
> twitter.common.python:   Installing twitter.common.lang: 0.2ms
> twitter.common.python:   Distilling twitter.common.lang: 95.4ms
> twitter.common.python: Obtaining twitter.common.collections==0.1.0
> twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Installing twitter.common.collections
> twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Distilling twitter.common.collections
> twitter.common.python: Obtaining twitter.common.collections==0.1.0: 554.6ms
> twitter.common.python:   Installing twitter.common.collections: 0.2ms
> twitter.common.python:   Distilling twitter.common.collections: 103.2ms
> twitter.common.python: Obtaining twitter.common.options==0.1.0
> twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Installing twitter.common.options
> twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Distilling twitter.common.options
> twitter.common.python: Obtaining twitter.common.options==0.1.0: 614.5ms
> twitter.common.python:   Installing twitter.common.options: 0.2ms
> twitter.common.python:   Distilling twitter.common.options: 92.8ms
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Installing twitter.common.dirutil
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Distilling twitter.common.dirutil
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0: 537.3ms
> twitter.common.python:   Installing twitter.common.dirutil: 0.4ms
> twitter.common.python:   Distilling twitter.common.dirutil: 109.1ms
> twitter.common.python: Obtaining twitter.common.log==0.1.0
> twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Installing twitter.common.log
> twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Distilling twitter.common.log
> twitter.common.python: Obtaining twitter.common.log==0.1.0: 766.4ms
> twitter.common.python:   Installing twitter.common.log: 0.2ms
> twitter.common.python:   Distilling twitter.common.log: 135.2ms
> twitter.common.python: Obtaining py>=1.4.19
> twitter.common.python: Obtaining py>=1.4.19 :: Installing py
> twitter.common.python: Obtaining py>=1.4.19 :: Distilling py
> twitter.common.python: Obtaining py>=1.4.19: 871.5ms
> twitter.common.python:   Installing py: 0.3ms
> twitter.common.python:   Distilling py: 319.6ms
> twitter.common.python: Obtaining astroid>=0.24.3
> twitter.common.python: Obtaining astroid>=0.24.3 :: Installing astroid
> twitter.common.python: Obtaining astroid>=0.24.3 :: Distilling astroid
> twitter.common.python: Obtaining astroid>=0.24.3: 967.3ms
> twitter.common.python:   Installing astroid: 0.4ms
> twitter.common.python:   Distilling astroid: 399.9ms
> twitter.common.python: Obtaining logilab-common>=0.53.0
> twitter.common.python: Obtaining logilab-common>=0.53.0 :: Installing logilab-common
> twitter.common.python: Obtaining logilab-common>=0.53.0 :: Distilling logilab-common
> twitter.common.python: Obtaining logilab-common>=0.53.0: 1364.0ms
> twitter.common.python:   Installing logilab-common: 0.4ms
> twitter.common.python:   Distilling logilab-common: 603.8ms
> twitter.common.python: Obtaining cov-core>=1.6
> twitter.common.python: Obtaining cov-core>=1.6 :: Installing cov-core
> twitter.common.python: Obtaining cov-core>=1.6 :: Distilling cov-core
> twitter.common.python: Obtaining cov-core>=1.6: 471.0ms
> twitter.common.python:   Installing cov-core: 0.4ms
> twitter.common.python:   Distilling cov-core: 93.6ms
> twitter.common.python: Obtaining twitter.common.string==0.1.0
> twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Installing twitter.common.string
> twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Distilling twitter.common.string
> twitter.common.python: Obtaining twitter.common.string==0.1.0: 579.7ms
> twitter.common.python:   Installing twitter.common.string: 0.2ms
> twitter.common.python:   Distilling twitter.common.string: 93.8ms
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Installing twitter.common.contextutil
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Distilling twitter.common.contextutil
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0: 524.2ms
> twitter.common.python:   Installing twitter.common.contextutil: 0.5ms
> twitter.common.python:   Distilling twitter.common.contextutil: 92.6ms
> twitter.common.python: Obtaining setuptools==1.1.7
> twitter.common.python: Obtaining setuptools==1.1.7 :: Installing setuptools
> twitter.common.python: Obtaining setuptools==1.1.7 :: Distilling setuptools
> twitter.common.python: Obtaining setuptools==1.1.7: 2212.2ms
> twitter.common.python:   Installing setuptools: 0.3ms
> twitter.common.python:   Distilling setuptools: 618.8ms
> twitter.common.python: Obtaining MarkupSafe>=0.9.2
> twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Installing MarkupSafe
> twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Distilling MarkupSafe
> twitter.common.python: Obtaining MarkupSafe>=0.9.2: 928.3ms
> twitter.common.python:   Installing MarkupSafe: 0.3ms
> twitter.common.python:   Distilling MarkupSafe: 251.4ms
> twitter.common.python: Obtaining coverage>=3.4
> twitter.common.python: Obtaining coverage>=3.4 :: Installing coverage
> twitter.common.python: Obtaining coverage>=3.4 :: Distilling coverage
> twitter.common.python: Obtaining coverage>=3.4: 1082.9ms
> twitter.common.python:   Installing coverage: 0.3ms
> twitter.common.python:   Distilling coverage: 425.6ms
> ~/test_dev
> Build operating on targets: OrderedSet([PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client)])
> Building PythonBinary PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client):
> Wrote /home/vagrant/test_dev/dist/aurora_client.pex
> Build operating on targets: OrderedSet([PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example)])
> Building PythonBinary PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example):
> Wrote /home/vagrant/test_dev/dist/flask_example.pex
> == Creating job
>  INFO] Creating job flask_example
>  INFO] Response from scheduler: OK (message: 1 new tasks pending for job vagrant/test/flask_example)
>  INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
> == Updating test job
>  INFO] Updating job: flask_example
>  INFO] Starting job update.
>  INFO] Examining instances: [0]
>  INFO] Killing instances: [0]
>  INFO] Instances killed
>  INFO] Adding instances: [0]
>  INFO] Instances added
>  INFO] Watching instances: [0]
>  INFO] Detected RUNNING instance 0
>  INFO] Instance 0 has been up and healthy for at least 30 seconds
>  INFO] Update successful
>  INFO] Response from scheduler: OK (message: Lock has been released.)
>  INFO] Killing tasks for job: example/vagrant/test/flask_example
>  INFO] Response from scheduler: OK (message: Tasks killed.)
>  INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
> ***
> OK (all tests passed)
> ***
> [sun-wukong incubator-aurora (e2e)]$
> 
> 
> Thanks,
> 
> Mark Chu-Carroll
> 
>


Re: Review Request 17457: Initial version of an end-to-end test using vagrant

Posted by Mark Chu-Carroll <mc...@twopensource.com>.

> On Feb. 3, 2014, 4:47 p.m., Kevin Sweeney wrote:
> > examples/vagrant/provision-dev-environment.sh, line 5
> > <https://reviews.apache.org/r/17457/diff/4/?file=463503#file463503line5>
> >
> >     git is already on this commandline and setuptools shouldn't be needed. From the virtualbox environment
> >     
> >     % vagrant ssh devtools
> >     Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-23-generic x86_64)
> >     
> >      * Documentation:  https://help.ubuntu.com/
> >     Welcome to your Vagrant-built virtual machine.
> >     Last login: Fri Sep 14 06:23:18 2012 from 10.0.2.2
> >     vagrant@precise64:~$ python
> >     Python 2.7.3 (default, Sep 26 2013, 20:03:06)
> >     [GCC 4.6.3] on linux2
> >     Type "help", "copyright", "credits" or "license" for more information.
> >     >>> import setuptools
> >     Traceback (most recent call last):
> >       File "<stdin>", line 1, in <module>
> >     ImportError: No module named setuptools
> >     >>>
> >     vagrant@precise64:~$ dpkg -L python-setuptools
> >     Package `python-setuptools' is not installed.
> >     Use dpkg --info (= dpkg-deb --info) to examine archive files,
> >     and dpkg --contents (= dpkg-deb --contents) to list their contents.

I'll fix the double-git. 

But setuptools is necessary for vmware. In the vmware precise64 image default, pants doesn't work due to missing python packages. With setuptools, pants is able to bootstrap itself.


- Mark


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


On Feb. 3, 2014, 3:16 p.m., Mark Chu-Carroll wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/17457/
> -----------------------------------------------------------
> 
> (Updated Feb. 3, 2014, 3:16 p.m.)
> 
> 
> Review request for Aurora, Bill Farner and Brian Wickman.
> 
> 
> Bugs: aurora-125 and aurora-80
>     https://issues.apache.org/jira/browse/aurora-125
>     https://issues.apache.org/jira/browse/aurora-80
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Got an initial version of the end-to-end test working. 
> 
> Currently creates a job, probes it via the scheduler pages,  updates it, and kills it. 
> AURORA-127 will extend this to run multiple instances; AURORA-125 will extend this to use
> "aurora run" and "aurora ssh" to probe the running tasks.
> 
> 
> Diffs
> -----
> 
>   3rdparty/python/BUILD cc3e8c929e7b2b614a6ea3dbbb4e70d2f8d22586 
>   Vagrantfile 98dcf439aed53da5e78440de04562baf63c7272f 
>   examples/vagrant/provision-aurora-scheduler.sh e48291a8673aeb8888169747486b7d50a54f5a56 
>   examples/vagrant/provision-dev-environment.sh 7fc11bf523a054f6d068cf676e87bb043d854a25 
>   examples/vagrant/provision-mesos-slave.sh c2548a268e0fad7aa4f84d3fa48aea012007502b 
>   src/test/sh/org/apache/aurora/e2e/flask/BUILD PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example.aurora PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example.py PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example_updated.aurora PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/test_common.sh PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/17457/diff/
> 
> 
> Testing
> -------
> 
> [sun-wukong incubator-aurora (e2e)]$ sh src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
> Bringing machine 'devtools' up with 'virtualbox' provider...
> Bringing machine 'zookeeper' up with 'virtualbox' provider...
> Bringing machine 'mesos-master' up with 'virtualbox' provider...
> Bringing machine 'mesos-slave' up with 'virtualbox' provider...
> Bringing machine 'aurora-scheduler' up with 'virtualbox' provider...
> [devtools] VirtualBox VM is already running.
> [zookeeper] VirtualBox VM is already running.
> [mesos-master] VirtualBox VM is already running.
> [mesos-slave] VirtualBox VM is already running.
> [aurora-scheduler] VirtualBox VM is already running.
> Cloning into '/home/vagrant/test_dev'...
> done.
> Already on 'e2e'
> Already up-to-date.
> + VIRTUALENV_VERSION=1.10.1
> + which python2.7
> ++ which python2.7
> + PY=/usr/bin/python2.7
> + echo 'Using /usr/bin/python2.7'
> Using /usr/bin/python2.7
> + '[' -f build-support/virtualenv-1.10.1/BOOTSTRAPPED ']'
> + pushd build-support
> ~/test_dev/build-support ~/test_dev
> + curl -O https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.10.1.tar.gz
>   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
>                                  Dload  Upload   Total   Spent    Left  Speed
> 100 1294k  100 1294k    0     0  3261k      0 --:--:-- --:--:-- --:--:-- 3817k
> + tar zxvf virtualenv-1.10.1.tar.gz
> virtualenv-1.10.1/
> virtualenv-1.10.1/AUTHORS.txt
> virtualenv-1.10.1/bin/
> virtualenv-1.10.1/bin/rebuild-script.py
> virtualenv-1.10.1/docs/
> virtualenv-1.10.1/docs/_theme/
> virtualenv-1.10.1/docs/_theme/nature/
> virtualenv-1.10.1/docs/_theme/nature/static/
> virtualenv-1.10.1/docs/_theme/nature/static/nature.css_t
> virtualenv-1.10.1/docs/_theme/nature/static/pygments.css
> virtualenv-1.10.1/docs/_theme/nature/theme.conf
> virtualenv-1.10.1/docs/conf.py
> virtualenv-1.10.1/docs/index.rst
> virtualenv-1.10.1/docs/make.bat
> virtualenv-1.10.1/docs/Makefile
> virtualenv-1.10.1/docs/news.rst
> virtualenv-1.10.1/LICENSE.txt
> virtualenv-1.10.1/MANIFEST.in
> virtualenv-1.10.1/PKG-INFO
> virtualenv-1.10.1/README.rst
> virtualenv-1.10.1/scripts/
> virtualenv-1.10.1/scripts/virtualenv
> virtualenv-1.10.1/setup.cfg
> virtualenv-1.10.1/setup.py
> virtualenv-1.10.1/virtualenv.egg-info/
> virtualenv-1.10.1/virtualenv.egg-info/dependency_links.txt
> virtualenv-1.10.1/virtualenv.egg-info/entry_points.txt
> virtualenv-1.10.1/virtualenv.egg-info/not-zip-safe
> virtualenv-1.10.1/virtualenv.egg-info/PKG-INFO
> virtualenv-1.10.1/virtualenv.egg-info/SOURCES.txt
> virtualenv-1.10.1/virtualenv.egg-info/top_level.txt
> virtualenv-1.10.1/virtualenv.py
> virtualenv-1.10.1/virtualenv_embedded/
> virtualenv-1.10.1/virtualenv_embedded/activate.bat
> virtualenv-1.10.1/virtualenv_embedded/activate.csh
> virtualenv-1.10.1/virtualenv_embedded/activate.fish
> virtualenv-1.10.1/virtualenv_embedded/activate.ps1
> virtualenv-1.10.1/virtualenv_embedded/activate.sh
> virtualenv-1.10.1/virtualenv_embedded/activate_this.py
> virtualenv-1.10.1/virtualenv_embedded/deactivate.bat
> virtualenv-1.10.1/virtualenv_embedded/distutils-init.py
> virtualenv-1.10.1/virtualenv_embedded/distutils.cfg
> virtualenv-1.10.1/virtualenv_embedded/site.py
> virtualenv-1.10.1/virtualenv_support/
> virtualenv-1.10.1/virtualenv_support/__init__.py
> virtualenv-1.10.1/virtualenv_support/pip-1.4.1.tar.gz
> virtualenv-1.10.1/virtualenv_support/setuptools-0.9.8.tar.gz
> + touch virtualenv-1.10.1/BOOTSTRAPPED
> ~/test_dev
> + popd
> + exec /usr/bin/python2.7 build-support/virtualenv-1.10.1/virtualenv.py /tmp/pants.BqUkIw/tcp
> New python executable in /tmp/pants.BqUkIw/tcp/bin/python2.7
> Also creating executable in /tmp/pants.BqUkIw/tcp/bin/python
> Installing Setuptools..............................................................................................................................................................................................................................done.
> Installing Pip.....................................................................................................................................................................................................................................................................................................................................done.
> /tmp/pants.BqUkIw ~/test_dev
> Downloading/unpacking twitter.common.python==0.2.0
>   Running setup.py egg_info for package twitter.common.python
> 
> Downloading/unpacking setuptools==1.1.7 (from twitter.common.python==0.2.0)
>   Running setup.py egg_info for package setuptools
> 
> Installing collected packages: twitter.common.python, setuptools
>   Running setup.py install for twitter.common.python
>     Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/__init__.py (namespace package)
>     Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/common/__init__.py (namespace package)
> 
>     Installing /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter.common.python-0.2.0-py2.7-nspkg.pth
>   Found existing installation: setuptools 0.9.8
>     Uninstalling setuptools:
>       Successfully uninstalled setuptools
>   Running setup.py install for setuptools
> 
>     Installing easy_install script to /tmp/pants.BqUkIw/tcp/bin
>     Installing easy_install-2.7 script to /tmp/pants.BqUkIw/tcp/bin
> Successfully installed twitter.common.python setuptools
> Cleaning up...
> twitter.common.python: Obtaining twitter.pants==0.0.13
> twitter.common.python: Obtaining twitter.pants==0.0.13 :: Installing twitter.pants
> twitter.common.python: Obtaining twitter.pants==0.0.13 :: Distilling twitter.pants
> twitter.common.python: Obtaining twitter.pants==0.0.13: 1413.4ms
> twitter.common.python:   Installing twitter.pants: 0.4ms
> twitter.common.python:   Distilling twitter.pants: 798.7ms
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Installing twitter.common.quantity
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Distilling twitter.common.quantity
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0: 646.7ms
> twitter.common.python:   Installing twitter.common.quantity: 0.2ms
> twitter.common.python:   Distilling twitter.common.quantity: 94.6ms
> twitter.common.python: Obtaining elementtree
> twitter.common.python: Obtaining elementtree :: Installing elementtree
> twitter.common.python: Obtaining elementtree :: Distilling elementtree
> twitter.common.python: Obtaining elementtree: 1681.4ms
> twitter.common.python:   Installing elementtree: 0.2ms
> twitter.common.python:   Distilling elementtree: 140.7ms
> twitter.common.python: Obtaining twitter.common.config==0.1.0
> twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Installing twitter.common.config
> twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Distilling twitter.common.config
> twitter.common.python: Obtaining twitter.common.config==0.1.0: 490.8ms
> twitter.common.python:   Installing twitter.common.config: 0.2ms
> twitter.common.python:   Distilling twitter.common.config: 92.8ms
> twitter.common.python: Obtaining ansicolors
> twitter.common.python: Obtaining ansicolors :: Installing ansicolors
> twitter.common.python: Obtaining ansicolors :: Distilling ansicolors
> twitter.common.python: Obtaining ansicolors: 603.0ms
> twitter.common.python:   Installing ansicolors: 0.2ms
> twitter.common.python:   Distilling ansicolors: 86.1ms
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Installing twitter.common.confluence
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Distilling twitter.common.confluence
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0: 759.4ms
> twitter.common.python:   Installing twitter.common.confluence: 0.3ms
> twitter.common.python:   Distilling twitter.common.confluence: 95.8ms
> twitter.common.python: Obtaining psutil==1.1.2
> twitter.common.python: Obtaining psutil==1.1.2 :: Installing psutil
> twitter.common.python: Obtaining psutil==1.1.2 :: Distilling psutil
> twitter.common.python: Obtaining psutil==1.1.2: 1487.2ms
> twitter.common.python:   Installing psutil: 0.4ms
> twitter.common.python:   Distilling psutil: 446.3ms
> twitter.common.python: Obtaining pygments
> twitter.common.python: Obtaining pygments: 761.2ms
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Installing twitter.common.decorators
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Distilling twitter.common.decorators
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0: 582.7ms
> twitter.common.python:   Installing twitter.common.decorators: 0.2ms
> twitter.common.python:   Distilling twitter.common.decorators: 94.8ms
> twitter.common.python: Obtaining pytest
> twitter.common.python: Obtaining pytest :: Installing pytest
> twitter.common.python: Obtaining pytest :: Distilling pytest
> twitter.common.python: Obtaining pytest: 1700.3ms
> twitter.common.python:   Installing pytest: 0.3ms
> twitter.common.python:   Distilling pytest: 413.1ms
> twitter.common.python: Obtaining pylint
> twitter.common.python: Obtaining pylint :: Installing pylint
> twitter.common.python: Obtaining pylint :: Distilling pylint
> twitter.common.python: Obtaining pylint: 1301.7ms
> twitter.common.python:   Installing pylint: 0.3ms
> twitter.common.python:   Distilling pylint: 440.7ms
> twitter.common.python: Obtaining pytest-cov
> twitter.common.python: Obtaining pytest-cov :: Installing pytest-cov
> twitter.common.python: Obtaining pytest-cov :: Distilling pytest-cov
> twitter.common.python: Obtaining pytest-cov: 532.5ms
> twitter.common.python:   Installing pytest-cov: 0.2ms
> twitter.common.python:   Distilling pytest-cov: 88.1ms
> twitter.common.python: Obtaining twitter.common.process==0.1.0
> twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Installing twitter.common.process
> twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Distilling twitter.common.process
> twitter.common.python: Obtaining twitter.common.process==0.1.0: 519.6ms
> twitter.common.python:   Installing twitter.common.process: 0.2ms
> twitter.common.python:   Distilling twitter.common.process: 110.1ms
> twitter.common.python: Obtaining twitter.common.util==0.1.0
> twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Installing twitter.common.util
> twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Distilling twitter.common.util
> twitter.common.python: Obtaining twitter.common.util==0.1.0: 520.6ms
> twitter.common.python:   Installing twitter.common.util: 0.2ms
> twitter.common.python:   Distilling twitter.common.util: 91.9ms
> twitter.common.python: Obtaining markdown
> twitter.common.python: Obtaining markdown :: Installing Markdown
> twitter.common.python: Obtaining markdown :: Distilling Markdown
> twitter.common.python: Obtaining markdown: 1247.1ms
> twitter.common.python:   Installing Markdown: 0.5ms
> twitter.common.python:   Distilling Markdown: 495.1ms
> twitter.common.python: Obtaining twitter.common.python==0.2.2
> twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Installing twitter.common.python
> twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Distilling twitter.common.python
> twitter.common.python: Obtaining twitter.common.python==0.2.2: 865.8ms
> twitter.common.python:   Installing twitter.common.python: 0.3ms
> twitter.common.python:   Distilling twitter.common.python: 238.7ms
> twitter.common.python: Obtaining mako
> twitter.common.python: Obtaining mako :: Installing Mako
> twitter.common.python: Obtaining mako :: Distilling Mako
> twitter.common.python: Obtaining mako: 1069.3ms
> twitter.common.python:   Installing Mako: 0.3ms
> twitter.common.python:   Distilling Mako: 291.9ms
> twitter.common.python: Obtaining twitter.common.lang==0.1.0
> twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Installing twitter.common.lang
> twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Distilling twitter.common.lang
> twitter.common.python: Obtaining twitter.common.lang==0.1.0: 796.2ms
> twitter.common.python:   Installing twitter.common.lang: 0.2ms
> twitter.common.python:   Distilling twitter.common.lang: 95.4ms
> twitter.common.python: Obtaining twitter.common.collections==0.1.0
> twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Installing twitter.common.collections
> twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Distilling twitter.common.collections
> twitter.common.python: Obtaining twitter.common.collections==0.1.0: 554.6ms
> twitter.common.python:   Installing twitter.common.collections: 0.2ms
> twitter.common.python:   Distilling twitter.common.collections: 103.2ms
> twitter.common.python: Obtaining twitter.common.options==0.1.0
> twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Installing twitter.common.options
> twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Distilling twitter.common.options
> twitter.common.python: Obtaining twitter.common.options==0.1.0: 614.5ms
> twitter.common.python:   Installing twitter.common.options: 0.2ms
> twitter.common.python:   Distilling twitter.common.options: 92.8ms
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Installing twitter.common.dirutil
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Distilling twitter.common.dirutil
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0: 537.3ms
> twitter.common.python:   Installing twitter.common.dirutil: 0.4ms
> twitter.common.python:   Distilling twitter.common.dirutil: 109.1ms
> twitter.common.python: Obtaining twitter.common.log==0.1.0
> twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Installing twitter.common.log
> twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Distilling twitter.common.log
> twitter.common.python: Obtaining twitter.common.log==0.1.0: 766.4ms
> twitter.common.python:   Installing twitter.common.log: 0.2ms
> twitter.common.python:   Distilling twitter.common.log: 135.2ms
> twitter.common.python: Obtaining py>=1.4.19
> twitter.common.python: Obtaining py>=1.4.19 :: Installing py
> twitter.common.python: Obtaining py>=1.4.19 :: Distilling py
> twitter.common.python: Obtaining py>=1.4.19: 871.5ms
> twitter.common.python:   Installing py: 0.3ms
> twitter.common.python:   Distilling py: 319.6ms
> twitter.common.python: Obtaining astroid>=0.24.3
> twitter.common.python: Obtaining astroid>=0.24.3 :: Installing astroid
> twitter.common.python: Obtaining astroid>=0.24.3 :: Distilling astroid
> twitter.common.python: Obtaining astroid>=0.24.3: 967.3ms
> twitter.common.python:   Installing astroid: 0.4ms
> twitter.common.python:   Distilling astroid: 399.9ms
> twitter.common.python: Obtaining logilab-common>=0.53.0
> twitter.common.python: Obtaining logilab-common>=0.53.0 :: Installing logilab-common
> twitter.common.python: Obtaining logilab-common>=0.53.0 :: Distilling logilab-common
> twitter.common.python: Obtaining logilab-common>=0.53.0: 1364.0ms
> twitter.common.python:   Installing logilab-common: 0.4ms
> twitter.common.python:   Distilling logilab-common: 603.8ms
> twitter.common.python: Obtaining cov-core>=1.6
> twitter.common.python: Obtaining cov-core>=1.6 :: Installing cov-core
> twitter.common.python: Obtaining cov-core>=1.6 :: Distilling cov-core
> twitter.common.python: Obtaining cov-core>=1.6: 471.0ms
> twitter.common.python:   Installing cov-core: 0.4ms
> twitter.common.python:   Distilling cov-core: 93.6ms
> twitter.common.python: Obtaining twitter.common.string==0.1.0
> twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Installing twitter.common.string
> twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Distilling twitter.common.string
> twitter.common.python: Obtaining twitter.common.string==0.1.0: 579.7ms
> twitter.common.python:   Installing twitter.common.string: 0.2ms
> twitter.common.python:   Distilling twitter.common.string: 93.8ms
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Installing twitter.common.contextutil
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Distilling twitter.common.contextutil
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0: 524.2ms
> twitter.common.python:   Installing twitter.common.contextutil: 0.5ms
> twitter.common.python:   Distilling twitter.common.contextutil: 92.6ms
> twitter.common.python: Obtaining setuptools==1.1.7
> twitter.common.python: Obtaining setuptools==1.1.7 :: Installing setuptools
> twitter.common.python: Obtaining setuptools==1.1.7 :: Distilling setuptools
> twitter.common.python: Obtaining setuptools==1.1.7: 2212.2ms
> twitter.common.python:   Installing setuptools: 0.3ms
> twitter.common.python:   Distilling setuptools: 618.8ms
> twitter.common.python: Obtaining MarkupSafe>=0.9.2
> twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Installing MarkupSafe
> twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Distilling MarkupSafe
> twitter.common.python: Obtaining MarkupSafe>=0.9.2: 928.3ms
> twitter.common.python:   Installing MarkupSafe: 0.3ms
> twitter.common.python:   Distilling MarkupSafe: 251.4ms
> twitter.common.python: Obtaining coverage>=3.4
> twitter.common.python: Obtaining coverage>=3.4 :: Installing coverage
> twitter.common.python: Obtaining coverage>=3.4 :: Distilling coverage
> twitter.common.python: Obtaining coverage>=3.4: 1082.9ms
> twitter.common.python:   Installing coverage: 0.3ms
> twitter.common.python:   Distilling coverage: 425.6ms
> ~/test_dev
> Build operating on targets: OrderedSet([PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client)])
> Building PythonBinary PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client):
> Wrote /home/vagrant/test_dev/dist/aurora_client.pex
> Build operating on targets: OrderedSet([PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example)])
> Building PythonBinary PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example):
> Wrote /home/vagrant/test_dev/dist/flask_example.pex
> == Creating job
>  INFO] Creating job flask_example
>  INFO] Response from scheduler: OK (message: 1 new tasks pending for job vagrant/test/flask_example)
>  INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
> == Updating test job
>  INFO] Updating job: flask_example
>  INFO] Starting job update.
>  INFO] Examining instances: [0]
>  INFO] Killing instances: [0]
>  INFO] Instances killed
>  INFO] Adding instances: [0]
>  INFO] Instances added
>  INFO] Watching instances: [0]
>  INFO] Detected RUNNING instance 0
>  INFO] Instance 0 has been up and healthy for at least 30 seconds
>  INFO] Update successful
>  INFO] Response from scheduler: OK (message: Lock has been released.)
>  INFO] Killing tasks for job: example/vagrant/test/flask_example
>  INFO] Response from scheduler: OK (message: Tasks killed.)
>  INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
> ***
> OK (all tests passed)
> ***
> [sun-wukong incubator-aurora (e2e)]$
> 
> 
> Thanks,
> 
> Mark Chu-Carroll
> 
>


Re: Review Request 17457: Initial version of an end-to-end test using vagrant

Posted by Kevin Sweeney <ke...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17457/#review33510
-----------------------------------------------------------



examples/vagrant/provision-dev-environment.sh
<https://reviews.apache.org/r/17457/#comment62992>

    git is already on this commandline and setuptools shouldn't be needed. From the virtualbox environment
    
    % vagrant ssh devtools
    Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-23-generic x86_64)
    
     * Documentation:  https://help.ubuntu.com/
    Welcome to your Vagrant-built virtual machine.
    Last login: Fri Sep 14 06:23:18 2012 from 10.0.2.2
    vagrant@precise64:~$ python
    Python 2.7.3 (default, Sep 26 2013, 20:03:06)
    [GCC 4.6.3] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import setuptools
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ImportError: No module named setuptools
    >>>
    vagrant@precise64:~$ dpkg -L python-setuptools
    Package `python-setuptools' is not installed.
    Use dpkg --info (= dpkg-deb --info) to examine archive files,
    and dpkg --contents (= dpkg-deb --contents) to list their contents.


- Kevin Sweeney


On Feb. 3, 2014, 12:16 p.m., Mark Chu-Carroll wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/17457/
> -----------------------------------------------------------
> 
> (Updated Feb. 3, 2014, 12:16 p.m.)
> 
> 
> Review request for Aurora, Bill Farner and Brian Wickman.
> 
> 
> Bugs: aurora-125 and aurora-80
>     https://issues.apache.org/jira/browse/aurora-125
>     https://issues.apache.org/jira/browse/aurora-80
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Got an initial version of the end-to-end test working. 
> 
> Currently creates a job, probes it via the scheduler pages,  updates it, and kills it. 
> AURORA-127 will extend this to run multiple instances; AURORA-125 will extend this to use
> "aurora run" and "aurora ssh" to probe the running tasks.
> 
> 
> Diffs
> -----
> 
>   3rdparty/python/BUILD cc3e8c929e7b2b614a6ea3dbbb4e70d2f8d22586 
>   Vagrantfile 98dcf439aed53da5e78440de04562baf63c7272f 
>   examples/vagrant/provision-aurora-scheduler.sh e48291a8673aeb8888169747486b7d50a54f5a56 
>   examples/vagrant/provision-dev-environment.sh 7fc11bf523a054f6d068cf676e87bb043d854a25 
>   examples/vagrant/provision-mesos-slave.sh c2548a268e0fad7aa4f84d3fa48aea012007502b 
>   src/test/sh/org/apache/aurora/e2e/flask/BUILD PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example.aurora PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example.py PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example_updated.aurora PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/test_common.sh PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/17457/diff/
> 
> 
> Testing
> -------
> 
> [sun-wukong incubator-aurora (e2e)]$ sh src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
> Bringing machine 'devtools' up with 'virtualbox' provider...
> Bringing machine 'zookeeper' up with 'virtualbox' provider...
> Bringing machine 'mesos-master' up with 'virtualbox' provider...
> Bringing machine 'mesos-slave' up with 'virtualbox' provider...
> Bringing machine 'aurora-scheduler' up with 'virtualbox' provider...
> [devtools] VirtualBox VM is already running.
> [zookeeper] VirtualBox VM is already running.
> [mesos-master] VirtualBox VM is already running.
> [mesos-slave] VirtualBox VM is already running.
> [aurora-scheduler] VirtualBox VM is already running.
> Cloning into '/home/vagrant/test_dev'...
> done.
> Already on 'e2e'
> Already up-to-date.
> + VIRTUALENV_VERSION=1.10.1
> + which python2.7
> ++ which python2.7
> + PY=/usr/bin/python2.7
> + echo 'Using /usr/bin/python2.7'
> Using /usr/bin/python2.7
> + '[' -f build-support/virtualenv-1.10.1/BOOTSTRAPPED ']'
> + pushd build-support
> ~/test_dev/build-support ~/test_dev
> + curl -O https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.10.1.tar.gz
>   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
>                                  Dload  Upload   Total   Spent    Left  Speed
> 100 1294k  100 1294k    0     0  3261k      0 --:--:-- --:--:-- --:--:-- 3817k
> + tar zxvf virtualenv-1.10.1.tar.gz
> virtualenv-1.10.1/
> virtualenv-1.10.1/AUTHORS.txt
> virtualenv-1.10.1/bin/
> virtualenv-1.10.1/bin/rebuild-script.py
> virtualenv-1.10.1/docs/
> virtualenv-1.10.1/docs/_theme/
> virtualenv-1.10.1/docs/_theme/nature/
> virtualenv-1.10.1/docs/_theme/nature/static/
> virtualenv-1.10.1/docs/_theme/nature/static/nature.css_t
> virtualenv-1.10.1/docs/_theme/nature/static/pygments.css
> virtualenv-1.10.1/docs/_theme/nature/theme.conf
> virtualenv-1.10.1/docs/conf.py
> virtualenv-1.10.1/docs/index.rst
> virtualenv-1.10.1/docs/make.bat
> virtualenv-1.10.1/docs/Makefile
> virtualenv-1.10.1/docs/news.rst
> virtualenv-1.10.1/LICENSE.txt
> virtualenv-1.10.1/MANIFEST.in
> virtualenv-1.10.1/PKG-INFO
> virtualenv-1.10.1/README.rst
> virtualenv-1.10.1/scripts/
> virtualenv-1.10.1/scripts/virtualenv
> virtualenv-1.10.1/setup.cfg
> virtualenv-1.10.1/setup.py
> virtualenv-1.10.1/virtualenv.egg-info/
> virtualenv-1.10.1/virtualenv.egg-info/dependency_links.txt
> virtualenv-1.10.1/virtualenv.egg-info/entry_points.txt
> virtualenv-1.10.1/virtualenv.egg-info/not-zip-safe
> virtualenv-1.10.1/virtualenv.egg-info/PKG-INFO
> virtualenv-1.10.1/virtualenv.egg-info/SOURCES.txt
> virtualenv-1.10.1/virtualenv.egg-info/top_level.txt
> virtualenv-1.10.1/virtualenv.py
> virtualenv-1.10.1/virtualenv_embedded/
> virtualenv-1.10.1/virtualenv_embedded/activate.bat
> virtualenv-1.10.1/virtualenv_embedded/activate.csh
> virtualenv-1.10.1/virtualenv_embedded/activate.fish
> virtualenv-1.10.1/virtualenv_embedded/activate.ps1
> virtualenv-1.10.1/virtualenv_embedded/activate.sh
> virtualenv-1.10.1/virtualenv_embedded/activate_this.py
> virtualenv-1.10.1/virtualenv_embedded/deactivate.bat
> virtualenv-1.10.1/virtualenv_embedded/distutils-init.py
> virtualenv-1.10.1/virtualenv_embedded/distutils.cfg
> virtualenv-1.10.1/virtualenv_embedded/site.py
> virtualenv-1.10.1/virtualenv_support/
> virtualenv-1.10.1/virtualenv_support/__init__.py
> virtualenv-1.10.1/virtualenv_support/pip-1.4.1.tar.gz
> virtualenv-1.10.1/virtualenv_support/setuptools-0.9.8.tar.gz
> + touch virtualenv-1.10.1/BOOTSTRAPPED
> ~/test_dev
> + popd
> + exec /usr/bin/python2.7 build-support/virtualenv-1.10.1/virtualenv.py /tmp/pants.BqUkIw/tcp
> New python executable in /tmp/pants.BqUkIw/tcp/bin/python2.7
> Also creating executable in /tmp/pants.BqUkIw/tcp/bin/python
> Installing Setuptools..............................................................................................................................................................................................................................done.
> Installing Pip.....................................................................................................................................................................................................................................................................................................................................done.
> /tmp/pants.BqUkIw ~/test_dev
> Downloading/unpacking twitter.common.python==0.2.0
>   Running setup.py egg_info for package twitter.common.python
> 
> Downloading/unpacking setuptools==1.1.7 (from twitter.common.python==0.2.0)
>   Running setup.py egg_info for package setuptools
> 
> Installing collected packages: twitter.common.python, setuptools
>   Running setup.py install for twitter.common.python
>     Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/__init__.py (namespace package)
>     Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/common/__init__.py (namespace package)
> 
>     Installing /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter.common.python-0.2.0-py2.7-nspkg.pth
>   Found existing installation: setuptools 0.9.8
>     Uninstalling setuptools:
>       Successfully uninstalled setuptools
>   Running setup.py install for setuptools
> 
>     Installing easy_install script to /tmp/pants.BqUkIw/tcp/bin
>     Installing easy_install-2.7 script to /tmp/pants.BqUkIw/tcp/bin
> Successfully installed twitter.common.python setuptools
> Cleaning up...
> twitter.common.python: Obtaining twitter.pants==0.0.13
> twitter.common.python: Obtaining twitter.pants==0.0.13 :: Installing twitter.pants
> twitter.common.python: Obtaining twitter.pants==0.0.13 :: Distilling twitter.pants
> twitter.common.python: Obtaining twitter.pants==0.0.13: 1413.4ms
> twitter.common.python:   Installing twitter.pants: 0.4ms
> twitter.common.python:   Distilling twitter.pants: 798.7ms
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Installing twitter.common.quantity
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Distilling twitter.common.quantity
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0: 646.7ms
> twitter.common.python:   Installing twitter.common.quantity: 0.2ms
> twitter.common.python:   Distilling twitter.common.quantity: 94.6ms
> twitter.common.python: Obtaining elementtree
> twitter.common.python: Obtaining elementtree :: Installing elementtree
> twitter.common.python: Obtaining elementtree :: Distilling elementtree
> twitter.common.python: Obtaining elementtree: 1681.4ms
> twitter.common.python:   Installing elementtree: 0.2ms
> twitter.common.python:   Distilling elementtree: 140.7ms
> twitter.common.python: Obtaining twitter.common.config==0.1.0
> twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Installing twitter.common.config
> twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Distilling twitter.common.config
> twitter.common.python: Obtaining twitter.common.config==0.1.0: 490.8ms
> twitter.common.python:   Installing twitter.common.config: 0.2ms
> twitter.common.python:   Distilling twitter.common.config: 92.8ms
> twitter.common.python: Obtaining ansicolors
> twitter.common.python: Obtaining ansicolors :: Installing ansicolors
> twitter.common.python: Obtaining ansicolors :: Distilling ansicolors
> twitter.common.python: Obtaining ansicolors: 603.0ms
> twitter.common.python:   Installing ansicolors: 0.2ms
> twitter.common.python:   Distilling ansicolors: 86.1ms
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Installing twitter.common.confluence
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Distilling twitter.common.confluence
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0: 759.4ms
> twitter.common.python:   Installing twitter.common.confluence: 0.3ms
> twitter.common.python:   Distilling twitter.common.confluence: 95.8ms
> twitter.common.python: Obtaining psutil==1.1.2
> twitter.common.python: Obtaining psutil==1.1.2 :: Installing psutil
> twitter.common.python: Obtaining psutil==1.1.2 :: Distilling psutil
> twitter.common.python: Obtaining psutil==1.1.2: 1487.2ms
> twitter.common.python:   Installing psutil: 0.4ms
> twitter.common.python:   Distilling psutil: 446.3ms
> twitter.common.python: Obtaining pygments
> twitter.common.python: Obtaining pygments: 761.2ms
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Installing twitter.common.decorators
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Distilling twitter.common.decorators
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0: 582.7ms
> twitter.common.python:   Installing twitter.common.decorators: 0.2ms
> twitter.common.python:   Distilling twitter.common.decorators: 94.8ms
> twitter.common.python: Obtaining pytest
> twitter.common.python: Obtaining pytest :: Installing pytest
> twitter.common.python: Obtaining pytest :: Distilling pytest
> twitter.common.python: Obtaining pytest: 1700.3ms
> twitter.common.python:   Installing pytest: 0.3ms
> twitter.common.python:   Distilling pytest: 413.1ms
> twitter.common.python: Obtaining pylint
> twitter.common.python: Obtaining pylint :: Installing pylint
> twitter.common.python: Obtaining pylint :: Distilling pylint
> twitter.common.python: Obtaining pylint: 1301.7ms
> twitter.common.python:   Installing pylint: 0.3ms
> twitter.common.python:   Distilling pylint: 440.7ms
> twitter.common.python: Obtaining pytest-cov
> twitter.common.python: Obtaining pytest-cov :: Installing pytest-cov
> twitter.common.python: Obtaining pytest-cov :: Distilling pytest-cov
> twitter.common.python: Obtaining pytest-cov: 532.5ms
> twitter.common.python:   Installing pytest-cov: 0.2ms
> twitter.common.python:   Distilling pytest-cov: 88.1ms
> twitter.common.python: Obtaining twitter.common.process==0.1.0
> twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Installing twitter.common.process
> twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Distilling twitter.common.process
> twitter.common.python: Obtaining twitter.common.process==0.1.0: 519.6ms
> twitter.common.python:   Installing twitter.common.process: 0.2ms
> twitter.common.python:   Distilling twitter.common.process: 110.1ms
> twitter.common.python: Obtaining twitter.common.util==0.1.0
> twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Installing twitter.common.util
> twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Distilling twitter.common.util
> twitter.common.python: Obtaining twitter.common.util==0.1.0: 520.6ms
> twitter.common.python:   Installing twitter.common.util: 0.2ms
> twitter.common.python:   Distilling twitter.common.util: 91.9ms
> twitter.common.python: Obtaining markdown
> twitter.common.python: Obtaining markdown :: Installing Markdown
> twitter.common.python: Obtaining markdown :: Distilling Markdown
> twitter.common.python: Obtaining markdown: 1247.1ms
> twitter.common.python:   Installing Markdown: 0.5ms
> twitter.common.python:   Distilling Markdown: 495.1ms
> twitter.common.python: Obtaining twitter.common.python==0.2.2
> twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Installing twitter.common.python
> twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Distilling twitter.common.python
> twitter.common.python: Obtaining twitter.common.python==0.2.2: 865.8ms
> twitter.common.python:   Installing twitter.common.python: 0.3ms
> twitter.common.python:   Distilling twitter.common.python: 238.7ms
> twitter.common.python: Obtaining mako
> twitter.common.python: Obtaining mako :: Installing Mako
> twitter.common.python: Obtaining mako :: Distilling Mako
> twitter.common.python: Obtaining mako: 1069.3ms
> twitter.common.python:   Installing Mako: 0.3ms
> twitter.common.python:   Distilling Mako: 291.9ms
> twitter.common.python: Obtaining twitter.common.lang==0.1.0
> twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Installing twitter.common.lang
> twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Distilling twitter.common.lang
> twitter.common.python: Obtaining twitter.common.lang==0.1.0: 796.2ms
> twitter.common.python:   Installing twitter.common.lang: 0.2ms
> twitter.common.python:   Distilling twitter.common.lang: 95.4ms
> twitter.common.python: Obtaining twitter.common.collections==0.1.0
> twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Installing twitter.common.collections
> twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Distilling twitter.common.collections
> twitter.common.python: Obtaining twitter.common.collections==0.1.0: 554.6ms
> twitter.common.python:   Installing twitter.common.collections: 0.2ms
> twitter.common.python:   Distilling twitter.common.collections: 103.2ms
> twitter.common.python: Obtaining twitter.common.options==0.1.0
> twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Installing twitter.common.options
> twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Distilling twitter.common.options
> twitter.common.python: Obtaining twitter.common.options==0.1.0: 614.5ms
> twitter.common.python:   Installing twitter.common.options: 0.2ms
> twitter.common.python:   Distilling twitter.common.options: 92.8ms
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Installing twitter.common.dirutil
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Distilling twitter.common.dirutil
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0: 537.3ms
> twitter.common.python:   Installing twitter.common.dirutil: 0.4ms
> twitter.common.python:   Distilling twitter.common.dirutil: 109.1ms
> twitter.common.python: Obtaining twitter.common.log==0.1.0
> twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Installing twitter.common.log
> twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Distilling twitter.common.log
> twitter.common.python: Obtaining twitter.common.log==0.1.0: 766.4ms
> twitter.common.python:   Installing twitter.common.log: 0.2ms
> twitter.common.python:   Distilling twitter.common.log: 135.2ms
> twitter.common.python: Obtaining py>=1.4.19
> twitter.common.python: Obtaining py>=1.4.19 :: Installing py
> twitter.common.python: Obtaining py>=1.4.19 :: Distilling py
> twitter.common.python: Obtaining py>=1.4.19: 871.5ms
> twitter.common.python:   Installing py: 0.3ms
> twitter.common.python:   Distilling py: 319.6ms
> twitter.common.python: Obtaining astroid>=0.24.3
> twitter.common.python: Obtaining astroid>=0.24.3 :: Installing astroid
> twitter.common.python: Obtaining astroid>=0.24.3 :: Distilling astroid
> twitter.common.python: Obtaining astroid>=0.24.3: 967.3ms
> twitter.common.python:   Installing astroid: 0.4ms
> twitter.common.python:   Distilling astroid: 399.9ms
> twitter.common.python: Obtaining logilab-common>=0.53.0
> twitter.common.python: Obtaining logilab-common>=0.53.0 :: Installing logilab-common
> twitter.common.python: Obtaining logilab-common>=0.53.0 :: Distilling logilab-common
> twitter.common.python: Obtaining logilab-common>=0.53.0: 1364.0ms
> twitter.common.python:   Installing logilab-common: 0.4ms
> twitter.common.python:   Distilling logilab-common: 603.8ms
> twitter.common.python: Obtaining cov-core>=1.6
> twitter.common.python: Obtaining cov-core>=1.6 :: Installing cov-core
> twitter.common.python: Obtaining cov-core>=1.6 :: Distilling cov-core
> twitter.common.python: Obtaining cov-core>=1.6: 471.0ms
> twitter.common.python:   Installing cov-core: 0.4ms
> twitter.common.python:   Distilling cov-core: 93.6ms
> twitter.common.python: Obtaining twitter.common.string==0.1.0
> twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Installing twitter.common.string
> twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Distilling twitter.common.string
> twitter.common.python: Obtaining twitter.common.string==0.1.0: 579.7ms
> twitter.common.python:   Installing twitter.common.string: 0.2ms
> twitter.common.python:   Distilling twitter.common.string: 93.8ms
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Installing twitter.common.contextutil
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Distilling twitter.common.contextutil
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0: 524.2ms
> twitter.common.python:   Installing twitter.common.contextutil: 0.5ms
> twitter.common.python:   Distilling twitter.common.contextutil: 92.6ms
> twitter.common.python: Obtaining setuptools==1.1.7
> twitter.common.python: Obtaining setuptools==1.1.7 :: Installing setuptools
> twitter.common.python: Obtaining setuptools==1.1.7 :: Distilling setuptools
> twitter.common.python: Obtaining setuptools==1.1.7: 2212.2ms
> twitter.common.python:   Installing setuptools: 0.3ms
> twitter.common.python:   Distilling setuptools: 618.8ms
> twitter.common.python: Obtaining MarkupSafe>=0.9.2
> twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Installing MarkupSafe
> twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Distilling MarkupSafe
> twitter.common.python: Obtaining MarkupSafe>=0.9.2: 928.3ms
> twitter.common.python:   Installing MarkupSafe: 0.3ms
> twitter.common.python:   Distilling MarkupSafe: 251.4ms
> twitter.common.python: Obtaining coverage>=3.4
> twitter.common.python: Obtaining coverage>=3.4 :: Installing coverage
> twitter.common.python: Obtaining coverage>=3.4 :: Distilling coverage
> twitter.common.python: Obtaining coverage>=3.4: 1082.9ms
> twitter.common.python:   Installing coverage: 0.3ms
> twitter.common.python:   Distilling coverage: 425.6ms
> ~/test_dev
> Build operating on targets: OrderedSet([PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client)])
> Building PythonBinary PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client):
> Wrote /home/vagrant/test_dev/dist/aurora_client.pex
> Build operating on targets: OrderedSet([PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example)])
> Building PythonBinary PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example):
> Wrote /home/vagrant/test_dev/dist/flask_example.pex
> == Creating job
>  INFO] Creating job flask_example
>  INFO] Response from scheduler: OK (message: 1 new tasks pending for job vagrant/test/flask_example)
>  INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
> == Updating test job
>  INFO] Updating job: flask_example
>  INFO] Starting job update.
>  INFO] Examining instances: [0]
>  INFO] Killing instances: [0]
>  INFO] Instances killed
>  INFO] Adding instances: [0]
>  INFO] Instances added
>  INFO] Watching instances: [0]
>  INFO] Detected RUNNING instance 0
>  INFO] Instance 0 has been up and healthy for at least 30 seconds
>  INFO] Update successful
>  INFO] Response from scheduler: OK (message: Lock has been released.)
>  INFO] Killing tasks for job: example/vagrant/test/flask_example
>  INFO] Response from scheduler: OK (message: Tasks killed.)
>  INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
> ***
> OK (all tests passed)
> ***
> [sun-wukong incubator-aurora (e2e)]$
> 
> 
> Thanks,
> 
> Mark Chu-Carroll
> 
>


Re: Review Request 17457: Initial version of an end-to-end test using vagrant

Posted by Kevin Sweeney <ke...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17457/#review33523
-----------------------------------------------------------


Almost there, just one issue remaining.


examples/vagrant/provision-dev-environment.sh
<https://reviews.apache.org/r/17457/#comment63025>

    kill eol whitespace



examples/vagrant/provision-mesos-slave.sh
<https://reviews.apache.org/r/17457/#comment63026>

    Escape exit status with \$? for lazy interpolation.


- Kevin Sweeney


On Feb. 3, 2014, 2:55 p.m., Mark Chu-Carroll wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/17457/
> -----------------------------------------------------------
> 
> (Updated Feb. 3, 2014, 2:55 p.m.)
> 
> 
> Review request for Aurora, Bill Farner and Brian Wickman.
> 
> 
> Bugs: aurora-125 and aurora-80
>     https://issues.apache.org/jira/browse/aurora-125
>     https://issues.apache.org/jira/browse/aurora-80
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Got an initial version of the end-to-end test working. 
> 
> Currently creates a job, probes it via the scheduler pages,  updates it, and kills it. 
> AURORA-127 will extend this to run multiple instances; AURORA-125 will extend this to use
> "aurora run" and "aurora ssh" to probe the running tasks.
> 
> 
> Diffs
> -----
> 
>   3rdparty/python/BUILD cc3e8c929e7b2b614a6ea3dbbb4e70d2f8d22586 
>   Vagrantfile 98dcf439aed53da5e78440de04562baf63c7272f 
>   examples/vagrant/provision-aurora-scheduler.sh e48291a8673aeb8888169747486b7d50a54f5a56 
>   examples/vagrant/provision-dev-environment.sh 7fc11bf523a054f6d068cf676e87bb043d854a25 
>   examples/vagrant/provision-mesos-slave.sh c2548a268e0fad7aa4f84d3fa48aea012007502b 
>   src/test/sh/org/apache/aurora/e2e/flask/BUILD PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example.aurora PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example.py PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example_updated.aurora PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/test_common.sh PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/17457/diff/
> 
> 
> Testing
> -------
> 
> [sun-wukong incubator-aurora (e2e)]$ sh src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
> Bringing machine 'devtools' up with 'virtualbox' provider...
> Bringing machine 'zookeeper' up with 'virtualbox' provider...
> Bringing machine 'mesos-master' up with 'virtualbox' provider...
> Bringing machine 'mesos-slave' up with 'virtualbox' provider...
> Bringing machine 'aurora-scheduler' up with 'virtualbox' provider...
> [devtools] VirtualBox VM is already running.
> [zookeeper] VirtualBox VM is already running.
> [mesos-master] VirtualBox VM is already running.
> [mesos-slave] VirtualBox VM is already running.
> [aurora-scheduler] VirtualBox VM is already running.
> Cloning into '/home/vagrant/test_dev'...
> done.
> Already on 'e2e'
> Already up-to-date.
> + VIRTUALENV_VERSION=1.10.1
> + which python2.7
> ++ which python2.7
> + PY=/usr/bin/python2.7
> + echo 'Using /usr/bin/python2.7'
> Using /usr/bin/python2.7
> + '[' -f build-support/virtualenv-1.10.1/BOOTSTRAPPED ']'
> + pushd build-support
> ~/test_dev/build-support ~/test_dev
> + curl -O https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.10.1.tar.gz
>   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
>                                  Dload  Upload   Total   Spent    Left  Speed
> 100 1294k  100 1294k    0     0  3261k      0 --:--:-- --:--:-- --:--:-- 3817k
> + tar zxvf virtualenv-1.10.1.tar.gz
> virtualenv-1.10.1/
> virtualenv-1.10.1/AUTHORS.txt
> virtualenv-1.10.1/bin/
> virtualenv-1.10.1/bin/rebuild-script.py
> virtualenv-1.10.1/docs/
> virtualenv-1.10.1/docs/_theme/
> virtualenv-1.10.1/docs/_theme/nature/
> virtualenv-1.10.1/docs/_theme/nature/static/
> virtualenv-1.10.1/docs/_theme/nature/static/nature.css_t
> virtualenv-1.10.1/docs/_theme/nature/static/pygments.css
> virtualenv-1.10.1/docs/_theme/nature/theme.conf
> virtualenv-1.10.1/docs/conf.py
> virtualenv-1.10.1/docs/index.rst
> virtualenv-1.10.1/docs/make.bat
> virtualenv-1.10.1/docs/Makefile
> virtualenv-1.10.1/docs/news.rst
> virtualenv-1.10.1/LICENSE.txt
> virtualenv-1.10.1/MANIFEST.in
> virtualenv-1.10.1/PKG-INFO
> virtualenv-1.10.1/README.rst
> virtualenv-1.10.1/scripts/
> virtualenv-1.10.1/scripts/virtualenv
> virtualenv-1.10.1/setup.cfg
> virtualenv-1.10.1/setup.py
> virtualenv-1.10.1/virtualenv.egg-info/
> virtualenv-1.10.1/virtualenv.egg-info/dependency_links.txt
> virtualenv-1.10.1/virtualenv.egg-info/entry_points.txt
> virtualenv-1.10.1/virtualenv.egg-info/not-zip-safe
> virtualenv-1.10.1/virtualenv.egg-info/PKG-INFO
> virtualenv-1.10.1/virtualenv.egg-info/SOURCES.txt
> virtualenv-1.10.1/virtualenv.egg-info/top_level.txt
> virtualenv-1.10.1/virtualenv.py
> virtualenv-1.10.1/virtualenv_embedded/
> virtualenv-1.10.1/virtualenv_embedded/activate.bat
> virtualenv-1.10.1/virtualenv_embedded/activate.csh
> virtualenv-1.10.1/virtualenv_embedded/activate.fish
> virtualenv-1.10.1/virtualenv_embedded/activate.ps1
> virtualenv-1.10.1/virtualenv_embedded/activate.sh
> virtualenv-1.10.1/virtualenv_embedded/activate_this.py
> virtualenv-1.10.1/virtualenv_embedded/deactivate.bat
> virtualenv-1.10.1/virtualenv_embedded/distutils-init.py
> virtualenv-1.10.1/virtualenv_embedded/distutils.cfg
> virtualenv-1.10.1/virtualenv_embedded/site.py
> virtualenv-1.10.1/virtualenv_support/
> virtualenv-1.10.1/virtualenv_support/__init__.py
> virtualenv-1.10.1/virtualenv_support/pip-1.4.1.tar.gz
> virtualenv-1.10.1/virtualenv_support/setuptools-0.9.8.tar.gz
> + touch virtualenv-1.10.1/BOOTSTRAPPED
> ~/test_dev
> + popd
> + exec /usr/bin/python2.7 build-support/virtualenv-1.10.1/virtualenv.py /tmp/pants.BqUkIw/tcp
> New python executable in /tmp/pants.BqUkIw/tcp/bin/python2.7
> Also creating executable in /tmp/pants.BqUkIw/tcp/bin/python
> Installing Setuptools..............................................................................................................................................................................................................................done.
> Installing Pip.....................................................................................................................................................................................................................................................................................................................................done.
> /tmp/pants.BqUkIw ~/test_dev
> Downloading/unpacking twitter.common.python==0.2.0
>   Running setup.py egg_info for package twitter.common.python
> 
> Downloading/unpacking setuptools==1.1.7 (from twitter.common.python==0.2.0)
>   Running setup.py egg_info for package setuptools
> 
> Installing collected packages: twitter.common.python, setuptools
>   Running setup.py install for twitter.common.python
>     Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/__init__.py (namespace package)
>     Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/common/__init__.py (namespace package)
> 
>     Installing /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter.common.python-0.2.0-py2.7-nspkg.pth
>   Found existing installation: setuptools 0.9.8
>     Uninstalling setuptools:
>       Successfully uninstalled setuptools
>   Running setup.py install for setuptools
> 
>     Installing easy_install script to /tmp/pants.BqUkIw/tcp/bin
>     Installing easy_install-2.7 script to /tmp/pants.BqUkIw/tcp/bin
> Successfully installed twitter.common.python setuptools
> Cleaning up...
> twitter.common.python: Obtaining twitter.pants==0.0.13
> twitter.common.python: Obtaining twitter.pants==0.0.13 :: Installing twitter.pants
> twitter.common.python: Obtaining twitter.pants==0.0.13 :: Distilling twitter.pants
> twitter.common.python: Obtaining twitter.pants==0.0.13: 1413.4ms
> twitter.common.python:   Installing twitter.pants: 0.4ms
> twitter.common.python:   Distilling twitter.pants: 798.7ms
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Installing twitter.common.quantity
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Distilling twitter.common.quantity
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0: 646.7ms
> twitter.common.python:   Installing twitter.common.quantity: 0.2ms
> twitter.common.python:   Distilling twitter.common.quantity: 94.6ms
> twitter.common.python: Obtaining elementtree
> twitter.common.python: Obtaining elementtree :: Installing elementtree
> twitter.common.python: Obtaining elementtree :: Distilling elementtree
> twitter.common.python: Obtaining elementtree: 1681.4ms
> twitter.common.python:   Installing elementtree: 0.2ms
> twitter.common.python:   Distilling elementtree: 140.7ms
> twitter.common.python: Obtaining twitter.common.config==0.1.0
> twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Installing twitter.common.config
> twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Distilling twitter.common.config
> twitter.common.python: Obtaining twitter.common.config==0.1.0: 490.8ms
> twitter.common.python:   Installing twitter.common.config: 0.2ms
> twitter.common.python:   Distilling twitter.common.config: 92.8ms
> twitter.common.python: Obtaining ansicolors
> twitter.common.python: Obtaining ansicolors :: Installing ansicolors
> twitter.common.python: Obtaining ansicolors :: Distilling ansicolors
> twitter.common.python: Obtaining ansicolors: 603.0ms
> twitter.common.python:   Installing ansicolors: 0.2ms
> twitter.common.python:   Distilling ansicolors: 86.1ms
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Installing twitter.common.confluence
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Distilling twitter.common.confluence
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0: 759.4ms
> twitter.common.python:   Installing twitter.common.confluence: 0.3ms
> twitter.common.python:   Distilling twitter.common.confluence: 95.8ms
> twitter.common.python: Obtaining psutil==1.1.2
> twitter.common.python: Obtaining psutil==1.1.2 :: Installing psutil
> twitter.common.python: Obtaining psutil==1.1.2 :: Distilling psutil
> twitter.common.python: Obtaining psutil==1.1.2: 1487.2ms
> twitter.common.python:   Installing psutil: 0.4ms
> twitter.common.python:   Distilling psutil: 446.3ms
> twitter.common.python: Obtaining pygments
> twitter.common.python: Obtaining pygments: 761.2ms
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Installing twitter.common.decorators
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Distilling twitter.common.decorators
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0: 582.7ms
> twitter.common.python:   Installing twitter.common.decorators: 0.2ms
> twitter.common.python:   Distilling twitter.common.decorators: 94.8ms
> twitter.common.python: Obtaining pytest
> twitter.common.python: Obtaining pytest :: Installing pytest
> twitter.common.python: Obtaining pytest :: Distilling pytest
> twitter.common.python: Obtaining pytest: 1700.3ms
> twitter.common.python:   Installing pytest: 0.3ms
> twitter.common.python:   Distilling pytest: 413.1ms
> twitter.common.python: Obtaining pylint
> twitter.common.python: Obtaining pylint :: Installing pylint
> twitter.common.python: Obtaining pylint :: Distilling pylint
> twitter.common.python: Obtaining pylint: 1301.7ms
> twitter.common.python:   Installing pylint: 0.3ms
> twitter.common.python:   Distilling pylint: 440.7ms
> twitter.common.python: Obtaining pytest-cov
> twitter.common.python: Obtaining pytest-cov :: Installing pytest-cov
> twitter.common.python: Obtaining pytest-cov :: Distilling pytest-cov
> twitter.common.python: Obtaining pytest-cov: 532.5ms
> twitter.common.python:   Installing pytest-cov: 0.2ms
> twitter.common.python:   Distilling pytest-cov: 88.1ms
> twitter.common.python: Obtaining twitter.common.process==0.1.0
> twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Installing twitter.common.process
> twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Distilling twitter.common.process
> twitter.common.python: Obtaining twitter.common.process==0.1.0: 519.6ms
> twitter.common.python:   Installing twitter.common.process: 0.2ms
> twitter.common.python:   Distilling twitter.common.process: 110.1ms
> twitter.common.python: Obtaining twitter.common.util==0.1.0
> twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Installing twitter.common.util
> twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Distilling twitter.common.util
> twitter.common.python: Obtaining twitter.common.util==0.1.0: 520.6ms
> twitter.common.python:   Installing twitter.common.util: 0.2ms
> twitter.common.python:   Distilling twitter.common.util: 91.9ms
> twitter.common.python: Obtaining markdown
> twitter.common.python: Obtaining markdown :: Installing Markdown
> twitter.common.python: Obtaining markdown :: Distilling Markdown
> twitter.common.python: Obtaining markdown: 1247.1ms
> twitter.common.python:   Installing Markdown: 0.5ms
> twitter.common.python:   Distilling Markdown: 495.1ms
> twitter.common.python: Obtaining twitter.common.python==0.2.2
> twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Installing twitter.common.python
> twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Distilling twitter.common.python
> twitter.common.python: Obtaining twitter.common.python==0.2.2: 865.8ms
> twitter.common.python:   Installing twitter.common.python: 0.3ms
> twitter.common.python:   Distilling twitter.common.python: 238.7ms
> twitter.common.python: Obtaining mako
> twitter.common.python: Obtaining mako :: Installing Mako
> twitter.common.python: Obtaining mako :: Distilling Mako
> twitter.common.python: Obtaining mako: 1069.3ms
> twitter.common.python:   Installing Mako: 0.3ms
> twitter.common.python:   Distilling Mako: 291.9ms
> twitter.common.python: Obtaining twitter.common.lang==0.1.0
> twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Installing twitter.common.lang
> twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Distilling twitter.common.lang
> twitter.common.python: Obtaining twitter.common.lang==0.1.0: 796.2ms
> twitter.common.python:   Installing twitter.common.lang: 0.2ms
> twitter.common.python:   Distilling twitter.common.lang: 95.4ms
> twitter.common.python: Obtaining twitter.common.collections==0.1.0
> twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Installing twitter.common.collections
> twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Distilling twitter.common.collections
> twitter.common.python: Obtaining twitter.common.collections==0.1.0: 554.6ms
> twitter.common.python:   Installing twitter.common.collections: 0.2ms
> twitter.common.python:   Distilling twitter.common.collections: 103.2ms
> twitter.common.python: Obtaining twitter.common.options==0.1.0
> twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Installing twitter.common.options
> twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Distilling twitter.common.options
> twitter.common.python: Obtaining twitter.common.options==0.1.0: 614.5ms
> twitter.common.python:   Installing twitter.common.options: 0.2ms
> twitter.common.python:   Distilling twitter.common.options: 92.8ms
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Installing twitter.common.dirutil
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Distilling twitter.common.dirutil
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0: 537.3ms
> twitter.common.python:   Installing twitter.common.dirutil: 0.4ms
> twitter.common.python:   Distilling twitter.common.dirutil: 109.1ms
> twitter.common.python: Obtaining twitter.common.log==0.1.0
> twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Installing twitter.common.log
> twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Distilling twitter.common.log
> twitter.common.python: Obtaining twitter.common.log==0.1.0: 766.4ms
> twitter.common.python:   Installing twitter.common.log: 0.2ms
> twitter.common.python:   Distilling twitter.common.log: 135.2ms
> twitter.common.python: Obtaining py>=1.4.19
> twitter.common.python: Obtaining py>=1.4.19 :: Installing py
> twitter.common.python: Obtaining py>=1.4.19 :: Distilling py
> twitter.common.python: Obtaining py>=1.4.19: 871.5ms
> twitter.common.python:   Installing py: 0.3ms
> twitter.common.python:   Distilling py: 319.6ms
> twitter.common.python: Obtaining astroid>=0.24.3
> twitter.common.python: Obtaining astroid>=0.24.3 :: Installing astroid
> twitter.common.python: Obtaining astroid>=0.24.3 :: Distilling astroid
> twitter.common.python: Obtaining astroid>=0.24.3: 967.3ms
> twitter.common.python:   Installing astroid: 0.4ms
> twitter.common.python:   Distilling astroid: 399.9ms
> twitter.common.python: Obtaining logilab-common>=0.53.0
> twitter.common.python: Obtaining logilab-common>=0.53.0 :: Installing logilab-common
> twitter.common.python: Obtaining logilab-common>=0.53.0 :: Distilling logilab-common
> twitter.common.python: Obtaining logilab-common>=0.53.0: 1364.0ms
> twitter.common.python:   Installing logilab-common: 0.4ms
> twitter.common.python:   Distilling logilab-common: 603.8ms
> twitter.common.python: Obtaining cov-core>=1.6
> twitter.common.python: Obtaining cov-core>=1.6 :: Installing cov-core
> twitter.common.python: Obtaining cov-core>=1.6 :: Distilling cov-core
> twitter.common.python: Obtaining cov-core>=1.6: 471.0ms
> twitter.common.python:   Installing cov-core: 0.4ms
> twitter.common.python:   Distilling cov-core: 93.6ms
> twitter.common.python: Obtaining twitter.common.string==0.1.0
> twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Installing twitter.common.string
> twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Distilling twitter.common.string
> twitter.common.python: Obtaining twitter.common.string==0.1.0: 579.7ms
> twitter.common.python:   Installing twitter.common.string: 0.2ms
> twitter.common.python:   Distilling twitter.common.string: 93.8ms
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Installing twitter.common.contextutil
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Distilling twitter.common.contextutil
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0: 524.2ms
> twitter.common.python:   Installing twitter.common.contextutil: 0.5ms
> twitter.common.python:   Distilling twitter.common.contextutil: 92.6ms
> twitter.common.python: Obtaining setuptools==1.1.7
> twitter.common.python: Obtaining setuptools==1.1.7 :: Installing setuptools
> twitter.common.python: Obtaining setuptools==1.1.7 :: Distilling setuptools
> twitter.common.python: Obtaining setuptools==1.1.7: 2212.2ms
> twitter.common.python:   Installing setuptools: 0.3ms
> twitter.common.python:   Distilling setuptools: 618.8ms
> twitter.common.python: Obtaining MarkupSafe>=0.9.2
> twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Installing MarkupSafe
> twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Distilling MarkupSafe
> twitter.common.python: Obtaining MarkupSafe>=0.9.2: 928.3ms
> twitter.common.python:   Installing MarkupSafe: 0.3ms
> twitter.common.python:   Distilling MarkupSafe: 251.4ms
> twitter.common.python: Obtaining coverage>=3.4
> twitter.common.python: Obtaining coverage>=3.4 :: Installing coverage
> twitter.common.python: Obtaining coverage>=3.4 :: Distilling coverage
> twitter.common.python: Obtaining coverage>=3.4: 1082.9ms
> twitter.common.python:   Installing coverage: 0.3ms
> twitter.common.python:   Distilling coverage: 425.6ms
> ~/test_dev
> Build operating on targets: OrderedSet([PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client)])
> Building PythonBinary PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client):
> Wrote /home/vagrant/test_dev/dist/aurora_client.pex
> Build operating on targets: OrderedSet([PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example)])
> Building PythonBinary PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example):
> Wrote /home/vagrant/test_dev/dist/flask_example.pex
> == Creating job
>  INFO] Creating job flask_example
>  INFO] Response from scheduler: OK (message: 1 new tasks pending for job vagrant/test/flask_example)
>  INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
> == Updating test job
>  INFO] Updating job: flask_example
>  INFO] Starting job update.
>  INFO] Examining instances: [0]
>  INFO] Killing instances: [0]
>  INFO] Instances killed
>  INFO] Adding instances: [0]
>  INFO] Instances added
>  INFO] Watching instances: [0]
>  INFO] Detected RUNNING instance 0
>  INFO] Instance 0 has been up and healthy for at least 30 seconds
>  INFO] Update successful
>  INFO] Response from scheduler: OK (message: Lock has been released.)
>  INFO] Killing tasks for job: example/vagrant/test/flask_example
>  INFO] Response from scheduler: OK (message: Tasks killed.)
>  INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
> ***
> OK (all tests passed)
> ***
> [sun-wukong incubator-aurora (e2e)]$
> 
> 
> Thanks,
> 
> Mark Chu-Carroll
> 
>


Re: Review Request 17457: Initial version of an end-to-end test using vagrant

Posted by Mark Chu-Carroll <mc...@apache.org>.
Pushed.


On Mon, Feb 3, 2014 at 6:48 PM, Kevin Sweeney <ke...@apache.org> wrote:

>    This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/17457/
>
> Ship it!
>
> Ship It!
>
>
> - Kevin Sweeney
>
> On February 3rd, 2014, 3:43 p.m. PST, Mark Chu-Carroll wrote:
>   Review request for Aurora, Bill Farner and Brian Wickman.
> By Mark Chu-Carroll.
>
> *Updated Feb. 3, 2014, 3:43 p.m.*
>  *Bugs: * aurora-125 <https://issues.apache.org/jira/browse/aurora-125>,
> aurora-80 <https://issues.apache.org/jira/browse/aurora-80>
>  *Repository: * aurora
> Description
>
> Got an initial version of the end-to-end test working.
>
> Currently creates a job, probes it via the scheduler pages,  updates it, and kills it.
> AURORA-127 will extend this to run multiple instances; AURORA-125 will extend this to use
> "aurora run" and "aurora ssh" to probe the running tasks.
>
>   Testing
>
> [sun-wukong incubator-aurora (e2e)]$ sh src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
> Bringing machine 'devtools' up with 'virtualbox' provider...
> Bringing machine 'zookeeper' up with 'virtualbox' provider...
> Bringing machine 'mesos-master' up with 'virtualbox' provider...
> Bringing machine 'mesos-slave' up with 'virtualbox' provider...
> Bringing machine 'aurora-scheduler' up with 'virtualbox' provider...
> [devtools] VirtualBox VM is already running.
> [zookeeper] VirtualBox VM is already running.
> [mesos-master] VirtualBox VM is already running.
> [mesos-slave] VirtualBox VM is already running.
> [aurora-scheduler] VirtualBox VM is already running.
> Cloning into '/home/vagrant/test_dev'...
> done.
> Already on 'e2e'
> Already up-to-date.
> + VIRTUALENV_VERSION=1.10.1
> + which python2.7
> ++ which python2.7
> + PY=/usr/bin/python2.7
> + echo 'Using /usr/bin/python2.7'
> Using /usr/bin/python2.7
> + '[' -f build-support/virtualenv-1.10.1/BOOTSTRAPPED ']'
> + pushd build-support
> ~/test_dev/build-support ~/test_dev
> + curl -O https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.10.1.tar.gz
>   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
>                                  Dload  Upload   Total   Spent    Left  Speed
> 100 1294k  100 1294k    0     0  3261k      0 --:--:-- --:--:-- --:--:-- 3817k
> + tar zxvf virtualenv-1.10.1.tar.gz
> virtualenv-1.10.1/
> virtualenv-1.10.1/AUTHORS.txt
> virtualenv-1.10.1/bin/
> virtualenv-1.10.1/bin/rebuild-script.py
> virtualenv-1.10.1/docs/
> virtualenv-1.10.1/docs/_theme/
> virtualenv-1.10.1/docs/_theme/nature/
> virtualenv-1.10.1/docs/_theme/nature/static/
> virtualenv-1.10.1/docs/_theme/nature/static/nature.css_t
> virtualenv-1.10.1/docs/_theme/nature/static/pygments.css
> virtualenv-1.10.1/docs/_theme/nature/theme.conf
> virtualenv-1.10.1/docs/conf.py
> virtualenv-1.10.1/docs/index.rst
> virtualenv-1.10.1/docs/make.bat
> virtualenv-1.10.1/docs/Makefile
> virtualenv-1.10.1/docs/news.rst
> virtualenv-1.10.1/LICENSE.txt
> virtualenv-1.10.1/MANIFEST.in
> virtualenv-1.10.1/PKG-INFO
> virtualenv-1.10.1/README.rst
> virtualenv-1.10.1/scripts/
> virtualenv-1.10.1/scripts/virtualenv
> virtualenv-1.10.1/setup.cfg
> virtualenv-1.10.1/setup.py
> virtualenv-1.10.1/virtualenv.egg-info/
> virtualenv-1.10.1/virtualenv.egg-info/dependency_links.txt
> virtualenv-1.10.1/virtualenv.egg-info/entry_points.txt
> virtualenv-1.10.1/virtualenv.egg-info/not-zip-safe
> virtualenv-1.10.1/virtualenv.egg-info/PKG-INFO
> virtualenv-1.10.1/virtualenv.egg-info/SOURCES.txt
> virtualenv-1.10.1/virtualenv.egg-info/top_level.txt
> virtualenv-1.10.1/virtualenv.py
> virtualenv-1.10.1/virtualenv_embedded/
> virtualenv-1.10.1/virtualenv_embedded/activate.bat
> virtualenv-1.10.1/virtualenv_embedded/activate.csh
> virtualenv-1.10.1/virtualenv_embedded/activate.fish
> virtualenv-1.10.1/virtualenv_embedded/activate.ps1
> virtualenv-1.10.1/virtualenv_embedded/activate.sh
> virtualenv-1.10.1/virtualenv_embedded/activate_this.py
> virtualenv-1.10.1/virtualenv_embedded/deactivate.bat
> virtualenv-1.10.1/virtualenv_embedded/distutils-init.py
> virtualenv-1.10.1/virtualenv_embedded/distutils.cfg
> virtualenv-1.10.1/virtualenv_embedded/site.py
> virtualenv-1.10.1/virtualenv_support/
> virtualenv-1.10.1/virtualenv_support/__init__.py
> virtualenv-1.10.1/virtualenv_support/pip-1.4.1.tar.gz
> virtualenv-1.10.1/virtualenv_support/setuptools-0.9.8.tar.gz
> + touch virtualenv-1.10.1/BOOTSTRAPPED
> ~/test_dev
> + popd
> + exec /usr/bin/python2.7 build-support/virtualenv-1.10.1/virtualenv.py /tmp/pants.BqUkIw/tcp
> New python executable in /tmp/pants.BqUkIw/tcp/bin/python2.7
> Also creating executable in /tmp/pants.BqUkIw/tcp/bin/python
> Installing Setuptools..............................................................................................................................................................................................................................done.
> Installing Pip.....................................................................................................................................................................................................................................................................................................................................done.
> /tmp/pants.BqUkIw ~/test_dev
> Downloading/unpacking twitter.common.python==0.2.0
>   Running setup.py egg_info for package twitter.common.python
>
> Downloading/unpacking setuptools==1.1.7 (from twitter.common.python==0.2.0)
>   Running setup.py egg_info for package setuptools
>
> Installing collected packages: twitter.common.python, setuptools
>   Running setup.py install for twitter.common.python
>     Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/__init__.py (namespace package)
>     Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/common/__init__.py (namespace package)
>
>     Installing /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter.common.python-0.2.0-py2.7-nspkg.pth
>   Found existing installation: setuptools 0.9.8
>     Uninstalling setuptools:
>       Successfully uninstalled setuptools
>   Running setup.py install for setuptools
>
>     Installing easy_install script to /tmp/pants.BqUkIw/tcp/bin
>     Installing easy_install-2.7 script to /tmp/pants.BqUkIw/tcp/bin
> Successfully installed twitter.common.python setuptools
> Cleaning up...
> twitter.common.python: Obtaining twitter.pants==0.0.13
> twitter.common.python: Obtaining twitter.pants==0.0.13 :: Installing twitter.pants
> twitter.common.python: Obtaining twitter.pants==0.0.13 :: Distilling twitter.pants
> twitter.common.python: Obtaining twitter.pants==0.0.13: 1413.4ms
> twitter.common.python:   Installing twitter.pants: 0.4ms
> twitter.common.python:   Distilling twitter.pants: 798.7ms
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Installing twitter.common.quantity
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Distilling twitter.common.quantity
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0: 646.7ms
> twitter.common.python:   Installing twitter.common.quantity: 0.2ms
> twitter.common.python:   Distilling twitter.common.quantity: 94.6ms
> twitter.common.python: Obtaining elementtree
> twitter.common.python: Obtaining elementtree :: Installing elementtree
> twitter.common.python: Obtaining elementtree :: Distilling elementtree
> twitter.common.python: Obtaining elementtree: 1681.4ms
> twitter.common.python:   Installing elementtree: 0.2ms
> twitter.common.python:   Distilling elementtree: 140.7ms
> twitter.common.python: Obtaining twitter.common.config==0.1.0
> twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Installing twitter.common.config
> twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Distilling twitter.common.config
> twitter.common.python: Obtaining twitter.common.config==0.1.0: 490.8ms
> twitter.common.python:   Installing twitter.common.config: 0.2ms
> twitter.common.python:   Distilling twitter.common.config: 92.8ms
> twitter.common.python: Obtaining ansicolors
> twitter.common.python: Obtaining ansicolors :: Installing ansicolors
> twitter.common.python: Obtaining ansicolors :: Distilling ansicolors
> twitter.common.python: Obtaining ansicolors: 603.0ms
> twitter.common.python:   Installing ansicolors: 0.2ms
> twitter.common.python:   Distilling ansicolors: 86.1ms
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Installing twitter.common.confluence
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Distilling twitter.common.confluence
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0: 759.4ms
> twitter.common.python:   Installing twitter.common.confluence: 0.3ms
> twitter.common.python:   Distilling twitter.common.confluence: 95.8ms
> twitter.common.python: Obtaining psutil==1.1.2
> twitter.common.python: Obtaining psutil==1.1.2 :: Installing psutil
> twitter.common.python: Obtaining psutil==1.1.2 :: Distilling psutil
> twitter.common.python: Obtaining psutil==1.1.2: 1487.2ms
> twitter.common.python:   Installing psutil: 0.4ms
> twitter.common.python:   Distilling psutil: 446.3ms
> twitter.common.python: Obtaining pygments
> twitter.common.python: Obtaining pygments: 761.2ms
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Installing twitter.common.decorators
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Distilling twitter.common.decorators
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0: 582.7ms
> twitter.common.python:   Installing twitter.common.decorators: 0.2ms
> twitter.common.python:   Distilling twitter.common.decorators: 94.8ms
> twitter.common.python: Obtaining pytest
> twitter.common.python: Obtaining pytest :: Installing pytest
> twitter.common.python: Obtaining pytest :: Distilling pytest
> twitter.common.python: Obtaining pytest: 1700.3ms
> twitter.common.python:   Installing pytest: 0.3ms
> twitter.common.python:   Distilling pytest: 413.1ms
> twitter.common.python: Obtaining pylint
> twitter.common.python: Obtaining pylint :: Installing pylint
> twitter.common.python: Obtaining pylint :: Distilling pylint
> twitter.common.python: Obtaining pylint: 1301.7ms
> twitter.common.python:   Installing pylint: 0.3ms
> twitter.common.python:   Distilling pylint: 440.7ms
> twitter.common.python: Obtaining pytest-cov
> twitter.common.python: Obtaining pytest-cov :: Installing pytest-cov
> twitter.common.python: Obtaining pytest-cov :: Distilling pytest-cov
> twitter.common.python: Obtaining pytest-cov: 532.5ms
> twitter.common.python:   Installing pytest-cov: 0.2ms
> twitter.common.python:   Distilling pytest-cov: 88.1ms
> twitter.common.python: Obtaining twitter.common.process==0.1.0
> twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Installing twitter.common.process
> twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Distilling twitter.common.process
> twitter.common.python: Obtaining twitter.common.process==0.1.0: 519.6ms
> twitter.common.python:   Installing twitter.common.process: 0.2ms
> twitter.common.python:   Distilling twitter.common.process: 110.1ms
> twitter.common.python: Obtaining twitter.common.util==0.1.0
> twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Installing twitter.common.util
> twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Distilling twitter.common.util
> twitter.common.python: Obtaining twitter.common.util==0.1.0: 520.6ms
> twitter.common.python:   Installing twitter.common.util: 0.2ms
> twitter.common.python:   Distilling twitter.common.util: 91.9ms
> twitter.common.python: Obtaining markdown
> twitter.common.python: Obtaining markdown :: Installing Markdown
> twitter.common.python: Obtaining markdown :: Distilling Markdown
> twitter.common.python: Obtaining markdown: 1247.1ms
> twitter.common.python:   Installing Markdown: 0.5ms
> twitter.common.python:   Distilling Markdown: 495.1ms
> twitter.common.python: Obtaining twitter.common.python==0.2.2
> twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Installing twitter.common.python
> twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Distilling twitter.common.python
> twitter.common.python: Obtaining twitter.common.python==0.2.2: 865.8ms
> twitter.common.python:   Installing twitter.common.python: 0.3ms
> twitter.common.python:   Distilling twitter.common.python: 238.7ms
> twitter.common.python: Obtaining mako
> twitter.common.python: Obtaining mako :: Installing Mako
> twitter.common.python: Obtaining mako :: Distilling Mako
> twitter.common.python: Obtaining mako: 1069.3ms
> twitter.common.python:   Installing Mako: 0.3ms
> twitter.common.python:   Distilling Mako: 291.9ms
> twitter.common.python: Obtaining twitter.common.lang==0.1.0
> twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Installing twitter.common.lang
> twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Distilling twitter.common.lang
> twitter.common.python: Obtaining twitter.common.lang==0.1.0: 796.2ms
> twitter.common.python:   Installing twitter.common.lang: 0.2ms
> twitter.common.python:   Distilling twitter.common.lang: 95.4ms
> twitter.common.python: Obtaining twitter.common.collections==0.1.0
> twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Installing twitter.common.collections
> twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Distilling twitter.common.collections
> twitter.common.python: Obtaining twitter.common.collections==0.1.0: 554.6ms
> twitter.common.python:   Installing twitter.common.collections: 0.2ms
> twitter.common.python:   Distilling twitter.common.collections: 103.2ms
> twitter.common.python: Obtaining twitter.common.options==0.1.0
> twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Installing twitter.common.options
> twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Distilling twitter.common.options
> twitter.common.python: Obtaining twitter.common.options==0.1.0: 614.5ms
> twitter.common.python:   Installing twitter.common.options: 0.2ms
> twitter.common.python:   Distilling twitter.common.options: 92.8ms
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Installing twitter.common.dirutil
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Distilling twitter.common.dirutil
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0: 537.3ms
> twitter.common.python:   Installing twitter.common.dirutil: 0.4ms
> twitter.common.python:   Distilling twitter.common.dirutil: 109.1ms
> twitter.common.python: Obtaining twitter.common.log==0.1.0
> twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Installing twitter.common.log
> twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Distilling twitter.common.log
> twitter.common.python: Obtaining twitter.common.log==0.1.0: 766.4ms
> twitter.common.python:   Installing twitter.common.log: 0.2ms
> twitter.common.python:   Distilling twitter.common.log: 135.2ms
> twitter.common.python: Obtaining py>=1.4.19
> twitter.common.python: Obtaining py>=1.4.19 :: Installing py
> twitter.common.python: Obtaining py>=1.4.19 :: Distilling py
> twitter.common.python: Obtaining py>=1.4.19: 871.5ms
> twitter.common.python:   Installing py: 0.3ms
> twitter.common.python:   Distilling py: 319.6ms
> twitter.common.python: Obtaining astroid>=0.24.3
> twitter.common.python: Obtaining astroid>=0.24.3 :: Installing astroid
> twitter.common.python: Obtaining astroid>=0.24.3 :: Distilling astroid
> twitter.common.python: Obtaining astroid>=0.24.3: 967.3ms
> twitter.common.python:   Installing astroid: 0.4ms
> twitter.common.python:   Distilling astroid: 399.9ms
> twitter.common.python: Obtaining logilab-common>=0.53.0
> twitter.common.python: Obtaining logilab-common>=0.53.0 :: Installing logilab-common
> twitter.common.python: Obtaining logilab-common>=0.53.0 :: Distilling logilab-common
> twitter.common.python: Obtaining logilab-common>=0.53.0: 1364.0ms
> twitter.common.python:   Installing logilab-common: 0.4ms
> twitter.common.python:   Distilling logilab-common: 603.8ms
> twitter.common.python: Obtaining cov-core>=1.6
> twitter.common.python: Obtaining cov-core>=1.6 :: Installing cov-core
> twitter.common.python: Obtaining cov-core>=1.6 :: Distilling cov-core
> twitter.common.python: Obtaining cov-core>=1.6: 471.0ms
> twitter.common.python:   Installing cov-core: 0.4ms
> twitter.common.python:   Distilling cov-core: 93.6ms
> twitter.common.python: Obtaining twitter.common.string==0.1.0
> twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Installing twitter.common.string
> twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Distilling twitter.common.string
> twitter.common.python: Obtaining twitter.common.string==0.1.0: 579.7ms
> twitter.common.python:   Installing twitter.common.string: 0.2ms
> twitter.common.python:   Distilling twitter.common.string: 93.8ms
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Installing twitter.common.contextutil
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Distilling twitter.common.contextutil
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0: 524.2ms
> twitter.common.python:   Installing twitter.common.contextutil: 0.5ms
> twitter.common.python:   Distilling twitter.common.contextutil: 92.6ms
> twitter.common.python: Obtaining setuptools==1.1.7
> twitter.common.python: Obtaining setuptools==1.1.7 :: Installing setuptools
> twitter.common.python: Obtaining setuptools==1.1.7 :: Distilling setuptools
> twitter.common.python: Obtaining setuptools==1.1.7: 2212.2ms
> twitter.common.python:   Installing setuptools: 0.3ms
> twitter.common.python:   Distilling setuptools: 618.8ms
> twitter.common.python: Obtaining MarkupSafe>=0.9.2
> twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Installing MarkupSafe
> twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Distilling MarkupSafe
> twitter.common.python: Obtaining MarkupSafe>=0.9.2: 928.3ms
> twitter.common.python:   Installing MarkupSafe: 0.3ms
> twitter.common.python:   Distilling MarkupSafe: 251.4ms
> twitter.common.python: Obtaining coverage>=3.4
> twitter.common.python: Obtaining coverage>=3.4 :: Installing coverage
> twitter.common.python: Obtaining coverage>=3.4 :: Distilling coverage
> twitter.common.python: Obtaining coverage>=3.4: 1082.9ms
> twitter.common.python:   Installing coverage: 0.3ms
> twitter.common.python:   Distilling coverage: 425.6ms
> ~/test_dev
> Build operating on targets: OrderedSet([PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client)])
> Building PythonBinary PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client):
> Wrote /home/vagrant/test_dev/dist/aurora_client.pex
> Build operating on targets: OrderedSet([PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example)])
> Building PythonBinary PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example):
> Wrote /home/vagrant/test_dev/dist/flask_example.pex
> == Creating job
>  INFO] Creating job flask_example
>  INFO] Response from scheduler: OK (message: 1 new tasks pending for job vagrant/test/flask_example)
>  INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
> == Updating test job
>  INFO] Updating job: flask_example
>  INFO] Starting job update.
>  INFO] Examining instances: [0]
>  INFO] Killing instances: [0]
>  INFO] Instances killed
>  INFO] Adding instances: [0]
>  INFO] Instances added
>  INFO] Watching instances: [0]
>  INFO] Detected RUNNING instance 0
>  INFO] Instance 0 has been up and healthy for at least 30 seconds
>  INFO] Update successful
>  INFO] Response from scheduler: OK (message: Lock has been released.)
>  INFO] Killing tasks for job: example/vagrant/test/flask_example
>  INFO] Response from scheduler: OK (message: Tasks killed.)
>  INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
> ***
> OK (all tests passed)
> ***
> [sun-wukong incubator-aurora (e2e)]$
>
>   Diffs
>
>    - 3rdparty/python/BUILD (cc3e8c929e7b2b614a6ea3dbbb4e70d2f8d22586)
>    - Vagrantfile (98dcf439aed53da5e78440de04562baf63c7272f)
>    - examples/vagrant/provision-aurora-scheduler.sh
>    (e48291a8673aeb8888169747486b7d50a54f5a56)
>    - examples/vagrant/provision-mesos-slave.sh
>    (c2548a268e0fad7aa4f84d3fa48aea012007502b)
>    - src/test/sh/org/apache/aurora/e2e/flask/BUILD (PRE-CREATION)
>    - src/test/sh/org/apache/aurora/e2e/flask/flask_example.aurora
>    (PRE-CREATION)
>    - src/test/sh/org/apache/aurora/e2e/flask/flask_example.py
>    (PRE-CREATION)
>    - src/test/sh/org/apache/aurora/e2e/flask/flask_example_updated.aurora
>    (PRE-CREATION)
>    - src/test/sh/org/apache/aurora/e2e/test_common.sh (PRE-CREATION)
>    - src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh (PRE-CREATION)
>
> View Diff <https://reviews.apache.org/r/17457/diff/>
>

Re: Review Request 17457: Initial version of an end-to-end test using vagrant

Posted by Kevin Sweeney <ke...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17457/#review33530
-----------------------------------------------------------

Ship it!


Ship It!

- Kevin Sweeney


On Feb. 3, 2014, 3:43 p.m., Mark Chu-Carroll wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/17457/
> -----------------------------------------------------------
> 
> (Updated Feb. 3, 2014, 3:43 p.m.)
> 
> 
> Review request for Aurora, Bill Farner and Brian Wickman.
> 
> 
> Bugs: aurora-125 and aurora-80
>     https://issues.apache.org/jira/browse/aurora-125
>     https://issues.apache.org/jira/browse/aurora-80
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Got an initial version of the end-to-end test working. 
> 
> Currently creates a job, probes it via the scheduler pages,  updates it, and kills it. 
> AURORA-127 will extend this to run multiple instances; AURORA-125 will extend this to use
> "aurora run" and "aurora ssh" to probe the running tasks.
> 
> 
> Diffs
> -----
> 
>   3rdparty/python/BUILD cc3e8c929e7b2b614a6ea3dbbb4e70d2f8d22586 
>   Vagrantfile 98dcf439aed53da5e78440de04562baf63c7272f 
>   examples/vagrant/provision-aurora-scheduler.sh e48291a8673aeb8888169747486b7d50a54f5a56 
>   examples/vagrant/provision-mesos-slave.sh c2548a268e0fad7aa4f84d3fa48aea012007502b 
>   src/test/sh/org/apache/aurora/e2e/flask/BUILD PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example.aurora PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example.py PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example_updated.aurora PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/test_common.sh PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/17457/diff/
> 
> 
> Testing
> -------
> 
> [sun-wukong incubator-aurora (e2e)]$ sh src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
> Bringing machine 'devtools' up with 'virtualbox' provider...
> Bringing machine 'zookeeper' up with 'virtualbox' provider...
> Bringing machine 'mesos-master' up with 'virtualbox' provider...
> Bringing machine 'mesos-slave' up with 'virtualbox' provider...
> Bringing machine 'aurora-scheduler' up with 'virtualbox' provider...
> [devtools] VirtualBox VM is already running.
> [zookeeper] VirtualBox VM is already running.
> [mesos-master] VirtualBox VM is already running.
> [mesos-slave] VirtualBox VM is already running.
> [aurora-scheduler] VirtualBox VM is already running.
> Cloning into '/home/vagrant/test_dev'...
> done.
> Already on 'e2e'
> Already up-to-date.
> + VIRTUALENV_VERSION=1.10.1
> + which python2.7
> ++ which python2.7
> + PY=/usr/bin/python2.7
> + echo 'Using /usr/bin/python2.7'
> Using /usr/bin/python2.7
> + '[' -f build-support/virtualenv-1.10.1/BOOTSTRAPPED ']'
> + pushd build-support
> ~/test_dev/build-support ~/test_dev
> + curl -O https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.10.1.tar.gz
>   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
>                                  Dload  Upload   Total   Spent    Left  Speed
> 100 1294k  100 1294k    0     0  3261k      0 --:--:-- --:--:-- --:--:-- 3817k
> + tar zxvf virtualenv-1.10.1.tar.gz
> virtualenv-1.10.1/
> virtualenv-1.10.1/AUTHORS.txt
> virtualenv-1.10.1/bin/
> virtualenv-1.10.1/bin/rebuild-script.py
> virtualenv-1.10.1/docs/
> virtualenv-1.10.1/docs/_theme/
> virtualenv-1.10.1/docs/_theme/nature/
> virtualenv-1.10.1/docs/_theme/nature/static/
> virtualenv-1.10.1/docs/_theme/nature/static/nature.css_t
> virtualenv-1.10.1/docs/_theme/nature/static/pygments.css
> virtualenv-1.10.1/docs/_theme/nature/theme.conf
> virtualenv-1.10.1/docs/conf.py
> virtualenv-1.10.1/docs/index.rst
> virtualenv-1.10.1/docs/make.bat
> virtualenv-1.10.1/docs/Makefile
> virtualenv-1.10.1/docs/news.rst
> virtualenv-1.10.1/LICENSE.txt
> virtualenv-1.10.1/MANIFEST.in
> virtualenv-1.10.1/PKG-INFO
> virtualenv-1.10.1/README.rst
> virtualenv-1.10.1/scripts/
> virtualenv-1.10.1/scripts/virtualenv
> virtualenv-1.10.1/setup.cfg
> virtualenv-1.10.1/setup.py
> virtualenv-1.10.1/virtualenv.egg-info/
> virtualenv-1.10.1/virtualenv.egg-info/dependency_links.txt
> virtualenv-1.10.1/virtualenv.egg-info/entry_points.txt
> virtualenv-1.10.1/virtualenv.egg-info/not-zip-safe
> virtualenv-1.10.1/virtualenv.egg-info/PKG-INFO
> virtualenv-1.10.1/virtualenv.egg-info/SOURCES.txt
> virtualenv-1.10.1/virtualenv.egg-info/top_level.txt
> virtualenv-1.10.1/virtualenv.py
> virtualenv-1.10.1/virtualenv_embedded/
> virtualenv-1.10.1/virtualenv_embedded/activate.bat
> virtualenv-1.10.1/virtualenv_embedded/activate.csh
> virtualenv-1.10.1/virtualenv_embedded/activate.fish
> virtualenv-1.10.1/virtualenv_embedded/activate.ps1
> virtualenv-1.10.1/virtualenv_embedded/activate.sh
> virtualenv-1.10.1/virtualenv_embedded/activate_this.py
> virtualenv-1.10.1/virtualenv_embedded/deactivate.bat
> virtualenv-1.10.1/virtualenv_embedded/distutils-init.py
> virtualenv-1.10.1/virtualenv_embedded/distutils.cfg
> virtualenv-1.10.1/virtualenv_embedded/site.py
> virtualenv-1.10.1/virtualenv_support/
> virtualenv-1.10.1/virtualenv_support/__init__.py
> virtualenv-1.10.1/virtualenv_support/pip-1.4.1.tar.gz
> virtualenv-1.10.1/virtualenv_support/setuptools-0.9.8.tar.gz
> + touch virtualenv-1.10.1/BOOTSTRAPPED
> ~/test_dev
> + popd
> + exec /usr/bin/python2.7 build-support/virtualenv-1.10.1/virtualenv.py /tmp/pants.BqUkIw/tcp
> New python executable in /tmp/pants.BqUkIw/tcp/bin/python2.7
> Also creating executable in /tmp/pants.BqUkIw/tcp/bin/python
> Installing Setuptools..............................................................................................................................................................................................................................done.
> Installing Pip.....................................................................................................................................................................................................................................................................................................................................done.
> /tmp/pants.BqUkIw ~/test_dev
> Downloading/unpacking twitter.common.python==0.2.0
>   Running setup.py egg_info for package twitter.common.python
> 
> Downloading/unpacking setuptools==1.1.7 (from twitter.common.python==0.2.0)
>   Running setup.py egg_info for package setuptools
> 
> Installing collected packages: twitter.common.python, setuptools
>   Running setup.py install for twitter.common.python
>     Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/__init__.py (namespace package)
>     Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/common/__init__.py (namespace package)
> 
>     Installing /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter.common.python-0.2.0-py2.7-nspkg.pth
>   Found existing installation: setuptools 0.9.8
>     Uninstalling setuptools:
>       Successfully uninstalled setuptools
>   Running setup.py install for setuptools
> 
>     Installing easy_install script to /tmp/pants.BqUkIw/tcp/bin
>     Installing easy_install-2.7 script to /tmp/pants.BqUkIw/tcp/bin
> Successfully installed twitter.common.python setuptools
> Cleaning up...
> twitter.common.python: Obtaining twitter.pants==0.0.13
> twitter.common.python: Obtaining twitter.pants==0.0.13 :: Installing twitter.pants
> twitter.common.python: Obtaining twitter.pants==0.0.13 :: Distilling twitter.pants
> twitter.common.python: Obtaining twitter.pants==0.0.13: 1413.4ms
> twitter.common.python:   Installing twitter.pants: 0.4ms
> twitter.common.python:   Distilling twitter.pants: 798.7ms
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Installing twitter.common.quantity
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Distilling twitter.common.quantity
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0: 646.7ms
> twitter.common.python:   Installing twitter.common.quantity: 0.2ms
> twitter.common.python:   Distilling twitter.common.quantity: 94.6ms
> twitter.common.python: Obtaining elementtree
> twitter.common.python: Obtaining elementtree :: Installing elementtree
> twitter.common.python: Obtaining elementtree :: Distilling elementtree
> twitter.common.python: Obtaining elementtree: 1681.4ms
> twitter.common.python:   Installing elementtree: 0.2ms
> twitter.common.python:   Distilling elementtree: 140.7ms
> twitter.common.python: Obtaining twitter.common.config==0.1.0
> twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Installing twitter.common.config
> twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Distilling twitter.common.config
> twitter.common.python: Obtaining twitter.common.config==0.1.0: 490.8ms
> twitter.common.python:   Installing twitter.common.config: 0.2ms
> twitter.common.python:   Distilling twitter.common.config: 92.8ms
> twitter.common.python: Obtaining ansicolors
> twitter.common.python: Obtaining ansicolors :: Installing ansicolors
> twitter.common.python: Obtaining ansicolors :: Distilling ansicolors
> twitter.common.python: Obtaining ansicolors: 603.0ms
> twitter.common.python:   Installing ansicolors: 0.2ms
> twitter.common.python:   Distilling ansicolors: 86.1ms
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Installing twitter.common.confluence
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Distilling twitter.common.confluence
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0: 759.4ms
> twitter.common.python:   Installing twitter.common.confluence: 0.3ms
> twitter.common.python:   Distilling twitter.common.confluence: 95.8ms
> twitter.common.python: Obtaining psutil==1.1.2
> twitter.common.python: Obtaining psutil==1.1.2 :: Installing psutil
> twitter.common.python: Obtaining psutil==1.1.2 :: Distilling psutil
> twitter.common.python: Obtaining psutil==1.1.2: 1487.2ms
> twitter.common.python:   Installing psutil: 0.4ms
> twitter.common.python:   Distilling psutil: 446.3ms
> twitter.common.python: Obtaining pygments
> twitter.common.python: Obtaining pygments: 761.2ms
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Installing twitter.common.decorators
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Distilling twitter.common.decorators
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0: 582.7ms
> twitter.common.python:   Installing twitter.common.decorators: 0.2ms
> twitter.common.python:   Distilling twitter.common.decorators: 94.8ms
> twitter.common.python: Obtaining pytest
> twitter.common.python: Obtaining pytest :: Installing pytest
> twitter.common.python: Obtaining pytest :: Distilling pytest
> twitter.common.python: Obtaining pytest: 1700.3ms
> twitter.common.python:   Installing pytest: 0.3ms
> twitter.common.python:   Distilling pytest: 413.1ms
> twitter.common.python: Obtaining pylint
> twitter.common.python: Obtaining pylint :: Installing pylint
> twitter.common.python: Obtaining pylint :: Distilling pylint
> twitter.common.python: Obtaining pylint: 1301.7ms
> twitter.common.python:   Installing pylint: 0.3ms
> twitter.common.python:   Distilling pylint: 440.7ms
> twitter.common.python: Obtaining pytest-cov
> twitter.common.python: Obtaining pytest-cov :: Installing pytest-cov
> twitter.common.python: Obtaining pytest-cov :: Distilling pytest-cov
> twitter.common.python: Obtaining pytest-cov: 532.5ms
> twitter.common.python:   Installing pytest-cov: 0.2ms
> twitter.common.python:   Distilling pytest-cov: 88.1ms
> twitter.common.python: Obtaining twitter.common.process==0.1.0
> twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Installing twitter.common.process
> twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Distilling twitter.common.process
> twitter.common.python: Obtaining twitter.common.process==0.1.0: 519.6ms
> twitter.common.python:   Installing twitter.common.process: 0.2ms
> twitter.common.python:   Distilling twitter.common.process: 110.1ms
> twitter.common.python: Obtaining twitter.common.util==0.1.0
> twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Installing twitter.common.util
> twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Distilling twitter.common.util
> twitter.common.python: Obtaining twitter.common.util==0.1.0: 520.6ms
> twitter.common.python:   Installing twitter.common.util: 0.2ms
> twitter.common.python:   Distilling twitter.common.util: 91.9ms
> twitter.common.python: Obtaining markdown
> twitter.common.python: Obtaining markdown :: Installing Markdown
> twitter.common.python: Obtaining markdown :: Distilling Markdown
> twitter.common.python: Obtaining markdown: 1247.1ms
> twitter.common.python:   Installing Markdown: 0.5ms
> twitter.common.python:   Distilling Markdown: 495.1ms
> twitter.common.python: Obtaining twitter.common.python==0.2.2
> twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Installing twitter.common.python
> twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Distilling twitter.common.python
> twitter.common.python: Obtaining twitter.common.python==0.2.2: 865.8ms
> twitter.common.python:   Installing twitter.common.python: 0.3ms
> twitter.common.python:   Distilling twitter.common.python: 238.7ms
> twitter.common.python: Obtaining mako
> twitter.common.python: Obtaining mako :: Installing Mako
> twitter.common.python: Obtaining mako :: Distilling Mako
> twitter.common.python: Obtaining mako: 1069.3ms
> twitter.common.python:   Installing Mako: 0.3ms
> twitter.common.python:   Distilling Mako: 291.9ms
> twitter.common.python: Obtaining twitter.common.lang==0.1.0
> twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Installing twitter.common.lang
> twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Distilling twitter.common.lang
> twitter.common.python: Obtaining twitter.common.lang==0.1.0: 796.2ms
> twitter.common.python:   Installing twitter.common.lang: 0.2ms
> twitter.common.python:   Distilling twitter.common.lang: 95.4ms
> twitter.common.python: Obtaining twitter.common.collections==0.1.0
> twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Installing twitter.common.collections
> twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Distilling twitter.common.collections
> twitter.common.python: Obtaining twitter.common.collections==0.1.0: 554.6ms
> twitter.common.python:   Installing twitter.common.collections: 0.2ms
> twitter.common.python:   Distilling twitter.common.collections: 103.2ms
> twitter.common.python: Obtaining twitter.common.options==0.1.0
> twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Installing twitter.common.options
> twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Distilling twitter.common.options
> twitter.common.python: Obtaining twitter.common.options==0.1.0: 614.5ms
> twitter.common.python:   Installing twitter.common.options: 0.2ms
> twitter.common.python:   Distilling twitter.common.options: 92.8ms
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Installing twitter.common.dirutil
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Distilling twitter.common.dirutil
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0: 537.3ms
> twitter.common.python:   Installing twitter.common.dirutil: 0.4ms
> twitter.common.python:   Distilling twitter.common.dirutil: 109.1ms
> twitter.common.python: Obtaining twitter.common.log==0.1.0
> twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Installing twitter.common.log
> twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Distilling twitter.common.log
> twitter.common.python: Obtaining twitter.common.log==0.1.0: 766.4ms
> twitter.common.python:   Installing twitter.common.log: 0.2ms
> twitter.common.python:   Distilling twitter.common.log: 135.2ms
> twitter.common.python: Obtaining py>=1.4.19
> twitter.common.python: Obtaining py>=1.4.19 :: Installing py
> twitter.common.python: Obtaining py>=1.4.19 :: Distilling py
> twitter.common.python: Obtaining py>=1.4.19: 871.5ms
> twitter.common.python:   Installing py: 0.3ms
> twitter.common.python:   Distilling py: 319.6ms
> twitter.common.python: Obtaining astroid>=0.24.3
> twitter.common.python: Obtaining astroid>=0.24.3 :: Installing astroid
> twitter.common.python: Obtaining astroid>=0.24.3 :: Distilling astroid
> twitter.common.python: Obtaining astroid>=0.24.3: 967.3ms
> twitter.common.python:   Installing astroid: 0.4ms
> twitter.common.python:   Distilling astroid: 399.9ms
> twitter.common.python: Obtaining logilab-common>=0.53.0
> twitter.common.python: Obtaining logilab-common>=0.53.0 :: Installing logilab-common
> twitter.common.python: Obtaining logilab-common>=0.53.0 :: Distilling logilab-common
> twitter.common.python: Obtaining logilab-common>=0.53.0: 1364.0ms
> twitter.common.python:   Installing logilab-common: 0.4ms
> twitter.common.python:   Distilling logilab-common: 603.8ms
> twitter.common.python: Obtaining cov-core>=1.6
> twitter.common.python: Obtaining cov-core>=1.6 :: Installing cov-core
> twitter.common.python: Obtaining cov-core>=1.6 :: Distilling cov-core
> twitter.common.python: Obtaining cov-core>=1.6: 471.0ms
> twitter.common.python:   Installing cov-core: 0.4ms
> twitter.common.python:   Distilling cov-core: 93.6ms
> twitter.common.python: Obtaining twitter.common.string==0.1.0
> twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Installing twitter.common.string
> twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Distilling twitter.common.string
> twitter.common.python: Obtaining twitter.common.string==0.1.0: 579.7ms
> twitter.common.python:   Installing twitter.common.string: 0.2ms
> twitter.common.python:   Distilling twitter.common.string: 93.8ms
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Installing twitter.common.contextutil
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Distilling twitter.common.contextutil
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0: 524.2ms
> twitter.common.python:   Installing twitter.common.contextutil: 0.5ms
> twitter.common.python:   Distilling twitter.common.contextutil: 92.6ms
> twitter.common.python: Obtaining setuptools==1.1.7
> twitter.common.python: Obtaining setuptools==1.1.7 :: Installing setuptools
> twitter.common.python: Obtaining setuptools==1.1.7 :: Distilling setuptools
> twitter.common.python: Obtaining setuptools==1.1.7: 2212.2ms
> twitter.common.python:   Installing setuptools: 0.3ms
> twitter.common.python:   Distilling setuptools: 618.8ms
> twitter.common.python: Obtaining MarkupSafe>=0.9.2
> twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Installing MarkupSafe
> twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Distilling MarkupSafe
> twitter.common.python: Obtaining MarkupSafe>=0.9.2: 928.3ms
> twitter.common.python:   Installing MarkupSafe: 0.3ms
> twitter.common.python:   Distilling MarkupSafe: 251.4ms
> twitter.common.python: Obtaining coverage>=3.4
> twitter.common.python: Obtaining coverage>=3.4 :: Installing coverage
> twitter.common.python: Obtaining coverage>=3.4 :: Distilling coverage
> twitter.common.python: Obtaining coverage>=3.4: 1082.9ms
> twitter.common.python:   Installing coverage: 0.3ms
> twitter.common.python:   Distilling coverage: 425.6ms
> ~/test_dev
> Build operating on targets: OrderedSet([PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client)])
> Building PythonBinary PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client):
> Wrote /home/vagrant/test_dev/dist/aurora_client.pex
> Build operating on targets: OrderedSet([PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example)])
> Building PythonBinary PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example):
> Wrote /home/vagrant/test_dev/dist/flask_example.pex
> == Creating job
>  INFO] Creating job flask_example
>  INFO] Response from scheduler: OK (message: 1 new tasks pending for job vagrant/test/flask_example)
>  INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
> == Updating test job
>  INFO] Updating job: flask_example
>  INFO] Starting job update.
>  INFO] Examining instances: [0]
>  INFO] Killing instances: [0]
>  INFO] Instances killed
>  INFO] Adding instances: [0]
>  INFO] Instances added
>  INFO] Watching instances: [0]
>  INFO] Detected RUNNING instance 0
>  INFO] Instance 0 has been up and healthy for at least 30 seconds
>  INFO] Update successful
>  INFO] Response from scheduler: OK (message: Lock has been released.)
>  INFO] Killing tasks for job: example/vagrant/test/flask_example
>  INFO] Response from scheduler: OK (message: Tasks killed.)
>  INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
> ***
> OK (all tests passed)
> ***
> [sun-wukong incubator-aurora (e2e)]$
> 
> 
> Thanks,
> 
> Mark Chu-Carroll
> 
>


Re: Review Request 17457: Initial version of an end-to-end test using vagrant

Posted by Mark Chu-Carroll <mc...@twopensource.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17457/
-----------------------------------------------------------

(Updated Feb. 3, 2014, 6:43 p.m.)


Review request for Aurora, Bill Farner and Brian Wickman.


Changes
-------

hopefully, last round of review changes!


Bugs: aurora-125 and aurora-80
    https://issues.apache.org/jira/browse/aurora-125
    https://issues.apache.org/jira/browse/aurora-80


Repository: aurora


Description
-------

Got an initial version of the end-to-end test working. 

Currently creates a job, probes it via the scheduler pages,  updates it, and kills it. 
AURORA-127 will extend this to run multiple instances; AURORA-125 will extend this to use
"aurora run" and "aurora ssh" to probe the running tasks.


Diffs (updated)
-----

  3rdparty/python/BUILD cc3e8c929e7b2b614a6ea3dbbb4e70d2f8d22586 
  Vagrantfile 98dcf439aed53da5e78440de04562baf63c7272f 
  examples/vagrant/provision-aurora-scheduler.sh e48291a8673aeb8888169747486b7d50a54f5a56 
  examples/vagrant/provision-mesos-slave.sh c2548a268e0fad7aa4f84d3fa48aea012007502b 
  src/test/sh/org/apache/aurora/e2e/flask/BUILD PRE-CREATION 
  src/test/sh/org/apache/aurora/e2e/flask/flask_example.aurora PRE-CREATION 
  src/test/sh/org/apache/aurora/e2e/flask/flask_example.py PRE-CREATION 
  src/test/sh/org/apache/aurora/e2e/flask/flask_example_updated.aurora PRE-CREATION 
  src/test/sh/org/apache/aurora/e2e/test_common.sh PRE-CREATION 
  src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh PRE-CREATION 

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


Testing
-------

[sun-wukong incubator-aurora (e2e)]$ sh src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
Bringing machine 'devtools' up with 'virtualbox' provider...
Bringing machine 'zookeeper' up with 'virtualbox' provider...
Bringing machine 'mesos-master' up with 'virtualbox' provider...
Bringing machine 'mesos-slave' up with 'virtualbox' provider...
Bringing machine 'aurora-scheduler' up with 'virtualbox' provider...
[devtools] VirtualBox VM is already running.
[zookeeper] VirtualBox VM is already running.
[mesos-master] VirtualBox VM is already running.
[mesos-slave] VirtualBox VM is already running.
[aurora-scheduler] VirtualBox VM is already running.
Cloning into '/home/vagrant/test_dev'...
done.
Already on 'e2e'
Already up-to-date.
+ VIRTUALENV_VERSION=1.10.1
+ which python2.7
++ which python2.7
+ PY=/usr/bin/python2.7
+ echo 'Using /usr/bin/python2.7'
Using /usr/bin/python2.7
+ '[' -f build-support/virtualenv-1.10.1/BOOTSTRAPPED ']'
+ pushd build-support
~/test_dev/build-support ~/test_dev
+ curl -O https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.10.1.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1294k  100 1294k    0     0  3261k      0 --:--:-- --:--:-- --:--:-- 3817k
+ tar zxvf virtualenv-1.10.1.tar.gz
virtualenv-1.10.1/
virtualenv-1.10.1/AUTHORS.txt
virtualenv-1.10.1/bin/
virtualenv-1.10.1/bin/rebuild-script.py
virtualenv-1.10.1/docs/
virtualenv-1.10.1/docs/_theme/
virtualenv-1.10.1/docs/_theme/nature/
virtualenv-1.10.1/docs/_theme/nature/static/
virtualenv-1.10.1/docs/_theme/nature/static/nature.css_t
virtualenv-1.10.1/docs/_theme/nature/static/pygments.css
virtualenv-1.10.1/docs/_theme/nature/theme.conf
virtualenv-1.10.1/docs/conf.py
virtualenv-1.10.1/docs/index.rst
virtualenv-1.10.1/docs/make.bat
virtualenv-1.10.1/docs/Makefile
virtualenv-1.10.1/docs/news.rst
virtualenv-1.10.1/LICENSE.txt
virtualenv-1.10.1/MANIFEST.in
virtualenv-1.10.1/PKG-INFO
virtualenv-1.10.1/README.rst
virtualenv-1.10.1/scripts/
virtualenv-1.10.1/scripts/virtualenv
virtualenv-1.10.1/setup.cfg
virtualenv-1.10.1/setup.py
virtualenv-1.10.1/virtualenv.egg-info/
virtualenv-1.10.1/virtualenv.egg-info/dependency_links.txt
virtualenv-1.10.1/virtualenv.egg-info/entry_points.txt
virtualenv-1.10.1/virtualenv.egg-info/not-zip-safe
virtualenv-1.10.1/virtualenv.egg-info/PKG-INFO
virtualenv-1.10.1/virtualenv.egg-info/SOURCES.txt
virtualenv-1.10.1/virtualenv.egg-info/top_level.txt
virtualenv-1.10.1/virtualenv.py
virtualenv-1.10.1/virtualenv_embedded/
virtualenv-1.10.1/virtualenv_embedded/activate.bat
virtualenv-1.10.1/virtualenv_embedded/activate.csh
virtualenv-1.10.1/virtualenv_embedded/activate.fish
virtualenv-1.10.1/virtualenv_embedded/activate.ps1
virtualenv-1.10.1/virtualenv_embedded/activate.sh
virtualenv-1.10.1/virtualenv_embedded/activate_this.py
virtualenv-1.10.1/virtualenv_embedded/deactivate.bat
virtualenv-1.10.1/virtualenv_embedded/distutils-init.py
virtualenv-1.10.1/virtualenv_embedded/distutils.cfg
virtualenv-1.10.1/virtualenv_embedded/site.py
virtualenv-1.10.1/virtualenv_support/
virtualenv-1.10.1/virtualenv_support/__init__.py
virtualenv-1.10.1/virtualenv_support/pip-1.4.1.tar.gz
virtualenv-1.10.1/virtualenv_support/setuptools-0.9.8.tar.gz
+ touch virtualenv-1.10.1/BOOTSTRAPPED
~/test_dev
+ popd
+ exec /usr/bin/python2.7 build-support/virtualenv-1.10.1/virtualenv.py /tmp/pants.BqUkIw/tcp
New python executable in /tmp/pants.BqUkIw/tcp/bin/python2.7
Also creating executable in /tmp/pants.BqUkIw/tcp/bin/python
Installing Setuptools..............................................................................................................................................................................................................................done.
Installing Pip.....................................................................................................................................................................................................................................................................................................................................done.
/tmp/pants.BqUkIw ~/test_dev
Downloading/unpacking twitter.common.python==0.2.0
  Running setup.py egg_info for package twitter.common.python

Downloading/unpacking setuptools==1.1.7 (from twitter.common.python==0.2.0)
  Running setup.py egg_info for package setuptools

Installing collected packages: twitter.common.python, setuptools
  Running setup.py install for twitter.common.python
    Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/__init__.py (namespace package)
    Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/common/__init__.py (namespace package)

    Installing /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter.common.python-0.2.0-py2.7-nspkg.pth
  Found existing installation: setuptools 0.9.8
    Uninstalling setuptools:
      Successfully uninstalled setuptools
  Running setup.py install for setuptools

    Installing easy_install script to /tmp/pants.BqUkIw/tcp/bin
    Installing easy_install-2.7 script to /tmp/pants.BqUkIw/tcp/bin
Successfully installed twitter.common.python setuptools
Cleaning up...
twitter.common.python: Obtaining twitter.pants==0.0.13
twitter.common.python: Obtaining twitter.pants==0.0.13 :: Installing twitter.pants
twitter.common.python: Obtaining twitter.pants==0.0.13 :: Distilling twitter.pants
twitter.common.python: Obtaining twitter.pants==0.0.13: 1413.4ms
twitter.common.python:   Installing twitter.pants: 0.4ms
twitter.common.python:   Distilling twitter.pants: 798.7ms
twitter.common.python: Obtaining twitter.common.quantity==0.1.0
twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Installing twitter.common.quantity
twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Distilling twitter.common.quantity
twitter.common.python: Obtaining twitter.common.quantity==0.1.0: 646.7ms
twitter.common.python:   Installing twitter.common.quantity: 0.2ms
twitter.common.python:   Distilling twitter.common.quantity: 94.6ms
twitter.common.python: Obtaining elementtree
twitter.common.python: Obtaining elementtree :: Installing elementtree
twitter.common.python: Obtaining elementtree :: Distilling elementtree
twitter.common.python: Obtaining elementtree: 1681.4ms
twitter.common.python:   Installing elementtree: 0.2ms
twitter.common.python:   Distilling elementtree: 140.7ms
twitter.common.python: Obtaining twitter.common.config==0.1.0
twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Installing twitter.common.config
twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Distilling twitter.common.config
twitter.common.python: Obtaining twitter.common.config==0.1.0: 490.8ms
twitter.common.python:   Installing twitter.common.config: 0.2ms
twitter.common.python:   Distilling twitter.common.config: 92.8ms
twitter.common.python: Obtaining ansicolors
twitter.common.python: Obtaining ansicolors :: Installing ansicolors
twitter.common.python: Obtaining ansicolors :: Distilling ansicolors
twitter.common.python: Obtaining ansicolors: 603.0ms
twitter.common.python:   Installing ansicolors: 0.2ms
twitter.common.python:   Distilling ansicolors: 86.1ms
twitter.common.python: Obtaining twitter.common.confluence==0.1.0
twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Installing twitter.common.confluence
twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Distilling twitter.common.confluence
twitter.common.python: Obtaining twitter.common.confluence==0.1.0: 759.4ms
twitter.common.python:   Installing twitter.common.confluence: 0.3ms
twitter.common.python:   Distilling twitter.common.confluence: 95.8ms
twitter.common.python: Obtaining psutil==1.1.2
twitter.common.python: Obtaining psutil==1.1.2 :: Installing psutil
twitter.common.python: Obtaining psutil==1.1.2 :: Distilling psutil
twitter.common.python: Obtaining psutil==1.1.2: 1487.2ms
twitter.common.python:   Installing psutil: 0.4ms
twitter.common.python:   Distilling psutil: 446.3ms
twitter.common.python: Obtaining pygments
twitter.common.python: Obtaining pygments: 761.2ms
twitter.common.python: Obtaining twitter.common.decorators==0.1.0
twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Installing twitter.common.decorators
twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Distilling twitter.common.decorators
twitter.common.python: Obtaining twitter.common.decorators==0.1.0: 582.7ms
twitter.common.python:   Installing twitter.common.decorators: 0.2ms
twitter.common.python:   Distilling twitter.common.decorators: 94.8ms
twitter.common.python: Obtaining pytest
twitter.common.python: Obtaining pytest :: Installing pytest
twitter.common.python: Obtaining pytest :: Distilling pytest
twitter.common.python: Obtaining pytest: 1700.3ms
twitter.common.python:   Installing pytest: 0.3ms
twitter.common.python:   Distilling pytest: 413.1ms
twitter.common.python: Obtaining pylint
twitter.common.python: Obtaining pylint :: Installing pylint
twitter.common.python: Obtaining pylint :: Distilling pylint
twitter.common.python: Obtaining pylint: 1301.7ms
twitter.common.python:   Installing pylint: 0.3ms
twitter.common.python:   Distilling pylint: 440.7ms
twitter.common.python: Obtaining pytest-cov
twitter.common.python: Obtaining pytest-cov :: Installing pytest-cov
twitter.common.python: Obtaining pytest-cov :: Distilling pytest-cov
twitter.common.python: Obtaining pytest-cov: 532.5ms
twitter.common.python:   Installing pytest-cov: 0.2ms
twitter.common.python:   Distilling pytest-cov: 88.1ms
twitter.common.python: Obtaining twitter.common.process==0.1.0
twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Installing twitter.common.process
twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Distilling twitter.common.process
twitter.common.python: Obtaining twitter.common.process==0.1.0: 519.6ms
twitter.common.python:   Installing twitter.common.process: 0.2ms
twitter.common.python:   Distilling twitter.common.process: 110.1ms
twitter.common.python: Obtaining twitter.common.util==0.1.0
twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Installing twitter.common.util
twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Distilling twitter.common.util
twitter.common.python: Obtaining twitter.common.util==0.1.0: 520.6ms
twitter.common.python:   Installing twitter.common.util: 0.2ms
twitter.common.python:   Distilling twitter.common.util: 91.9ms
twitter.common.python: Obtaining markdown
twitter.common.python: Obtaining markdown :: Installing Markdown
twitter.common.python: Obtaining markdown :: Distilling Markdown
twitter.common.python: Obtaining markdown: 1247.1ms
twitter.common.python:   Installing Markdown: 0.5ms
twitter.common.python:   Distilling Markdown: 495.1ms
twitter.common.python: Obtaining twitter.common.python==0.2.2
twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Installing twitter.common.python
twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Distilling twitter.common.python
twitter.common.python: Obtaining twitter.common.python==0.2.2: 865.8ms
twitter.common.python:   Installing twitter.common.python: 0.3ms
twitter.common.python:   Distilling twitter.common.python: 238.7ms
twitter.common.python: Obtaining mako
twitter.common.python: Obtaining mako :: Installing Mako
twitter.common.python: Obtaining mako :: Distilling Mako
twitter.common.python: Obtaining mako: 1069.3ms
twitter.common.python:   Installing Mako: 0.3ms
twitter.common.python:   Distilling Mako: 291.9ms
twitter.common.python: Obtaining twitter.common.lang==0.1.0
twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Installing twitter.common.lang
twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Distilling twitter.common.lang
twitter.common.python: Obtaining twitter.common.lang==0.1.0: 796.2ms
twitter.common.python:   Installing twitter.common.lang: 0.2ms
twitter.common.python:   Distilling twitter.common.lang: 95.4ms
twitter.common.python: Obtaining twitter.common.collections==0.1.0
twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Installing twitter.common.collections
twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Distilling twitter.common.collections
twitter.common.python: Obtaining twitter.common.collections==0.1.0: 554.6ms
twitter.common.python:   Installing twitter.common.collections: 0.2ms
twitter.common.python:   Distilling twitter.common.collections: 103.2ms
twitter.common.python: Obtaining twitter.common.options==0.1.0
twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Installing twitter.common.options
twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Distilling twitter.common.options
twitter.common.python: Obtaining twitter.common.options==0.1.0: 614.5ms
twitter.common.python:   Installing twitter.common.options: 0.2ms
twitter.common.python:   Distilling twitter.common.options: 92.8ms
twitter.common.python: Obtaining twitter.common.dirutil==0.1.0
twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Installing twitter.common.dirutil
twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Distilling twitter.common.dirutil
twitter.common.python: Obtaining twitter.common.dirutil==0.1.0: 537.3ms
twitter.common.python:   Installing twitter.common.dirutil: 0.4ms
twitter.common.python:   Distilling twitter.common.dirutil: 109.1ms
twitter.common.python: Obtaining twitter.common.log==0.1.0
twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Installing twitter.common.log
twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Distilling twitter.common.log
twitter.common.python: Obtaining twitter.common.log==0.1.0: 766.4ms
twitter.common.python:   Installing twitter.common.log: 0.2ms
twitter.common.python:   Distilling twitter.common.log: 135.2ms
twitter.common.python: Obtaining py>=1.4.19
twitter.common.python: Obtaining py>=1.4.19 :: Installing py
twitter.common.python: Obtaining py>=1.4.19 :: Distilling py
twitter.common.python: Obtaining py>=1.4.19: 871.5ms
twitter.common.python:   Installing py: 0.3ms
twitter.common.python:   Distilling py: 319.6ms
twitter.common.python: Obtaining astroid>=0.24.3
twitter.common.python: Obtaining astroid>=0.24.3 :: Installing astroid
twitter.common.python: Obtaining astroid>=0.24.3 :: Distilling astroid
twitter.common.python: Obtaining astroid>=0.24.3: 967.3ms
twitter.common.python:   Installing astroid: 0.4ms
twitter.common.python:   Distilling astroid: 399.9ms
twitter.common.python: Obtaining logilab-common>=0.53.0
twitter.common.python: Obtaining logilab-common>=0.53.0 :: Installing logilab-common
twitter.common.python: Obtaining logilab-common>=0.53.0 :: Distilling logilab-common
twitter.common.python: Obtaining logilab-common>=0.53.0: 1364.0ms
twitter.common.python:   Installing logilab-common: 0.4ms
twitter.common.python:   Distilling logilab-common: 603.8ms
twitter.common.python: Obtaining cov-core>=1.6
twitter.common.python: Obtaining cov-core>=1.6 :: Installing cov-core
twitter.common.python: Obtaining cov-core>=1.6 :: Distilling cov-core
twitter.common.python: Obtaining cov-core>=1.6: 471.0ms
twitter.common.python:   Installing cov-core: 0.4ms
twitter.common.python:   Distilling cov-core: 93.6ms
twitter.common.python: Obtaining twitter.common.string==0.1.0
twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Installing twitter.common.string
twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Distilling twitter.common.string
twitter.common.python: Obtaining twitter.common.string==0.1.0: 579.7ms
twitter.common.python:   Installing twitter.common.string: 0.2ms
twitter.common.python:   Distilling twitter.common.string: 93.8ms
twitter.common.python: Obtaining twitter.common.contextutil==0.1.0
twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Installing twitter.common.contextutil
twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Distilling twitter.common.contextutil
twitter.common.python: Obtaining twitter.common.contextutil==0.1.0: 524.2ms
twitter.common.python:   Installing twitter.common.contextutil: 0.5ms
twitter.common.python:   Distilling twitter.common.contextutil: 92.6ms
twitter.common.python: Obtaining setuptools==1.1.7
twitter.common.python: Obtaining setuptools==1.1.7 :: Installing setuptools
twitter.common.python: Obtaining setuptools==1.1.7 :: Distilling setuptools
twitter.common.python: Obtaining setuptools==1.1.7: 2212.2ms
twitter.common.python:   Installing setuptools: 0.3ms
twitter.common.python:   Distilling setuptools: 618.8ms
twitter.common.python: Obtaining MarkupSafe>=0.9.2
twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Installing MarkupSafe
twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Distilling MarkupSafe
twitter.common.python: Obtaining MarkupSafe>=0.9.2: 928.3ms
twitter.common.python:   Installing MarkupSafe: 0.3ms
twitter.common.python:   Distilling MarkupSafe: 251.4ms
twitter.common.python: Obtaining coverage>=3.4
twitter.common.python: Obtaining coverage>=3.4 :: Installing coverage
twitter.common.python: Obtaining coverage>=3.4 :: Distilling coverage
twitter.common.python: Obtaining coverage>=3.4: 1082.9ms
twitter.common.python:   Installing coverage: 0.3ms
twitter.common.python:   Distilling coverage: 425.6ms
~/test_dev
Build operating on targets: OrderedSet([PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client)])
Building PythonBinary PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client):
Wrote /home/vagrant/test_dev/dist/aurora_client.pex
Build operating on targets: OrderedSet([PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example)])
Building PythonBinary PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example):
Wrote /home/vagrant/test_dev/dist/flask_example.pex
== Creating job
 INFO] Creating job flask_example
 INFO] Response from scheduler: OK (message: 1 new tasks pending for job vagrant/test/flask_example)
 INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
== Updating test job
 INFO] Updating job: flask_example
 INFO] Starting job update.
 INFO] Examining instances: [0]
 INFO] Killing instances: [0]
 INFO] Instances killed
 INFO] Adding instances: [0]
 INFO] Instances added
 INFO] Watching instances: [0]
 INFO] Detected RUNNING instance 0
 INFO] Instance 0 has been up and healthy for at least 30 seconds
 INFO] Update successful
 INFO] Response from scheduler: OK (message: Lock has been released.)
 INFO] Killing tasks for job: example/vagrant/test/flask_example
 INFO] Response from scheduler: OK (message: Tasks killed.)
 INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
***
OK (all tests passed)
***
[sun-wukong incubator-aurora (e2e)]$


Thanks,

Mark Chu-Carroll


Re: Review Request 17457: Initial version of an end-to-end test using vagrant

Posted by Mark Chu-Carroll <mc...@twopensource.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17457/
-----------------------------------------------------------

(Updated Feb. 3, 2014, 5:55 p.m.)


Review request for Aurora, Bill Farner and Brian Wickman.


Changes
-------

Addressed more review comments.


Bugs: aurora-125 and aurora-80
    https://issues.apache.org/jira/browse/aurora-125
    https://issues.apache.org/jira/browse/aurora-80


Repository: aurora


Description
-------

Got an initial version of the end-to-end test working. 

Currently creates a job, probes it via the scheduler pages,  updates it, and kills it. 
AURORA-127 will extend this to run multiple instances; AURORA-125 will extend this to use
"aurora run" and "aurora ssh" to probe the running tasks.


Diffs (updated)
-----

  3rdparty/python/BUILD cc3e8c929e7b2b614a6ea3dbbb4e70d2f8d22586 
  Vagrantfile 98dcf439aed53da5e78440de04562baf63c7272f 
  examples/vagrant/provision-aurora-scheduler.sh e48291a8673aeb8888169747486b7d50a54f5a56 
  examples/vagrant/provision-dev-environment.sh 7fc11bf523a054f6d068cf676e87bb043d854a25 
  examples/vagrant/provision-mesos-slave.sh c2548a268e0fad7aa4f84d3fa48aea012007502b 
  src/test/sh/org/apache/aurora/e2e/flask/BUILD PRE-CREATION 
  src/test/sh/org/apache/aurora/e2e/flask/flask_example.aurora PRE-CREATION 
  src/test/sh/org/apache/aurora/e2e/flask/flask_example.py PRE-CREATION 
  src/test/sh/org/apache/aurora/e2e/flask/flask_example_updated.aurora PRE-CREATION 
  src/test/sh/org/apache/aurora/e2e/test_common.sh PRE-CREATION 
  src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh PRE-CREATION 

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


Testing
-------

[sun-wukong incubator-aurora (e2e)]$ sh src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
Bringing machine 'devtools' up with 'virtualbox' provider...
Bringing machine 'zookeeper' up with 'virtualbox' provider...
Bringing machine 'mesos-master' up with 'virtualbox' provider...
Bringing machine 'mesos-slave' up with 'virtualbox' provider...
Bringing machine 'aurora-scheduler' up with 'virtualbox' provider...
[devtools] VirtualBox VM is already running.
[zookeeper] VirtualBox VM is already running.
[mesos-master] VirtualBox VM is already running.
[mesos-slave] VirtualBox VM is already running.
[aurora-scheduler] VirtualBox VM is already running.
Cloning into '/home/vagrant/test_dev'...
done.
Already on 'e2e'
Already up-to-date.
+ VIRTUALENV_VERSION=1.10.1
+ which python2.7
++ which python2.7
+ PY=/usr/bin/python2.7
+ echo 'Using /usr/bin/python2.7'
Using /usr/bin/python2.7
+ '[' -f build-support/virtualenv-1.10.1/BOOTSTRAPPED ']'
+ pushd build-support
~/test_dev/build-support ~/test_dev
+ curl -O https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.10.1.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1294k  100 1294k    0     0  3261k      0 --:--:-- --:--:-- --:--:-- 3817k
+ tar zxvf virtualenv-1.10.1.tar.gz
virtualenv-1.10.1/
virtualenv-1.10.1/AUTHORS.txt
virtualenv-1.10.1/bin/
virtualenv-1.10.1/bin/rebuild-script.py
virtualenv-1.10.1/docs/
virtualenv-1.10.1/docs/_theme/
virtualenv-1.10.1/docs/_theme/nature/
virtualenv-1.10.1/docs/_theme/nature/static/
virtualenv-1.10.1/docs/_theme/nature/static/nature.css_t
virtualenv-1.10.1/docs/_theme/nature/static/pygments.css
virtualenv-1.10.1/docs/_theme/nature/theme.conf
virtualenv-1.10.1/docs/conf.py
virtualenv-1.10.1/docs/index.rst
virtualenv-1.10.1/docs/make.bat
virtualenv-1.10.1/docs/Makefile
virtualenv-1.10.1/docs/news.rst
virtualenv-1.10.1/LICENSE.txt
virtualenv-1.10.1/MANIFEST.in
virtualenv-1.10.1/PKG-INFO
virtualenv-1.10.1/README.rst
virtualenv-1.10.1/scripts/
virtualenv-1.10.1/scripts/virtualenv
virtualenv-1.10.1/setup.cfg
virtualenv-1.10.1/setup.py
virtualenv-1.10.1/virtualenv.egg-info/
virtualenv-1.10.1/virtualenv.egg-info/dependency_links.txt
virtualenv-1.10.1/virtualenv.egg-info/entry_points.txt
virtualenv-1.10.1/virtualenv.egg-info/not-zip-safe
virtualenv-1.10.1/virtualenv.egg-info/PKG-INFO
virtualenv-1.10.1/virtualenv.egg-info/SOURCES.txt
virtualenv-1.10.1/virtualenv.egg-info/top_level.txt
virtualenv-1.10.1/virtualenv.py
virtualenv-1.10.1/virtualenv_embedded/
virtualenv-1.10.1/virtualenv_embedded/activate.bat
virtualenv-1.10.1/virtualenv_embedded/activate.csh
virtualenv-1.10.1/virtualenv_embedded/activate.fish
virtualenv-1.10.1/virtualenv_embedded/activate.ps1
virtualenv-1.10.1/virtualenv_embedded/activate.sh
virtualenv-1.10.1/virtualenv_embedded/activate_this.py
virtualenv-1.10.1/virtualenv_embedded/deactivate.bat
virtualenv-1.10.1/virtualenv_embedded/distutils-init.py
virtualenv-1.10.1/virtualenv_embedded/distutils.cfg
virtualenv-1.10.1/virtualenv_embedded/site.py
virtualenv-1.10.1/virtualenv_support/
virtualenv-1.10.1/virtualenv_support/__init__.py
virtualenv-1.10.1/virtualenv_support/pip-1.4.1.tar.gz
virtualenv-1.10.1/virtualenv_support/setuptools-0.9.8.tar.gz
+ touch virtualenv-1.10.1/BOOTSTRAPPED
~/test_dev
+ popd
+ exec /usr/bin/python2.7 build-support/virtualenv-1.10.1/virtualenv.py /tmp/pants.BqUkIw/tcp
New python executable in /tmp/pants.BqUkIw/tcp/bin/python2.7
Also creating executable in /tmp/pants.BqUkIw/tcp/bin/python
Installing Setuptools..............................................................................................................................................................................................................................done.
Installing Pip.....................................................................................................................................................................................................................................................................................................................................done.
/tmp/pants.BqUkIw ~/test_dev
Downloading/unpacking twitter.common.python==0.2.0
  Running setup.py egg_info for package twitter.common.python

Downloading/unpacking setuptools==1.1.7 (from twitter.common.python==0.2.0)
  Running setup.py egg_info for package setuptools

Installing collected packages: twitter.common.python, setuptools
  Running setup.py install for twitter.common.python
    Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/__init__.py (namespace package)
    Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/common/__init__.py (namespace package)

    Installing /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter.common.python-0.2.0-py2.7-nspkg.pth
  Found existing installation: setuptools 0.9.8
    Uninstalling setuptools:
      Successfully uninstalled setuptools
  Running setup.py install for setuptools

    Installing easy_install script to /tmp/pants.BqUkIw/tcp/bin
    Installing easy_install-2.7 script to /tmp/pants.BqUkIw/tcp/bin
Successfully installed twitter.common.python setuptools
Cleaning up...
twitter.common.python: Obtaining twitter.pants==0.0.13
twitter.common.python: Obtaining twitter.pants==0.0.13 :: Installing twitter.pants
twitter.common.python: Obtaining twitter.pants==0.0.13 :: Distilling twitter.pants
twitter.common.python: Obtaining twitter.pants==0.0.13: 1413.4ms
twitter.common.python:   Installing twitter.pants: 0.4ms
twitter.common.python:   Distilling twitter.pants: 798.7ms
twitter.common.python: Obtaining twitter.common.quantity==0.1.0
twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Installing twitter.common.quantity
twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Distilling twitter.common.quantity
twitter.common.python: Obtaining twitter.common.quantity==0.1.0: 646.7ms
twitter.common.python:   Installing twitter.common.quantity: 0.2ms
twitter.common.python:   Distilling twitter.common.quantity: 94.6ms
twitter.common.python: Obtaining elementtree
twitter.common.python: Obtaining elementtree :: Installing elementtree
twitter.common.python: Obtaining elementtree :: Distilling elementtree
twitter.common.python: Obtaining elementtree: 1681.4ms
twitter.common.python:   Installing elementtree: 0.2ms
twitter.common.python:   Distilling elementtree: 140.7ms
twitter.common.python: Obtaining twitter.common.config==0.1.0
twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Installing twitter.common.config
twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Distilling twitter.common.config
twitter.common.python: Obtaining twitter.common.config==0.1.0: 490.8ms
twitter.common.python:   Installing twitter.common.config: 0.2ms
twitter.common.python:   Distilling twitter.common.config: 92.8ms
twitter.common.python: Obtaining ansicolors
twitter.common.python: Obtaining ansicolors :: Installing ansicolors
twitter.common.python: Obtaining ansicolors :: Distilling ansicolors
twitter.common.python: Obtaining ansicolors: 603.0ms
twitter.common.python:   Installing ansicolors: 0.2ms
twitter.common.python:   Distilling ansicolors: 86.1ms
twitter.common.python: Obtaining twitter.common.confluence==0.1.0
twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Installing twitter.common.confluence
twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Distilling twitter.common.confluence
twitter.common.python: Obtaining twitter.common.confluence==0.1.0: 759.4ms
twitter.common.python:   Installing twitter.common.confluence: 0.3ms
twitter.common.python:   Distilling twitter.common.confluence: 95.8ms
twitter.common.python: Obtaining psutil==1.1.2
twitter.common.python: Obtaining psutil==1.1.2 :: Installing psutil
twitter.common.python: Obtaining psutil==1.1.2 :: Distilling psutil
twitter.common.python: Obtaining psutil==1.1.2: 1487.2ms
twitter.common.python:   Installing psutil: 0.4ms
twitter.common.python:   Distilling psutil: 446.3ms
twitter.common.python: Obtaining pygments
twitter.common.python: Obtaining pygments: 761.2ms
twitter.common.python: Obtaining twitter.common.decorators==0.1.0
twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Installing twitter.common.decorators
twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Distilling twitter.common.decorators
twitter.common.python: Obtaining twitter.common.decorators==0.1.0: 582.7ms
twitter.common.python:   Installing twitter.common.decorators: 0.2ms
twitter.common.python:   Distilling twitter.common.decorators: 94.8ms
twitter.common.python: Obtaining pytest
twitter.common.python: Obtaining pytest :: Installing pytest
twitter.common.python: Obtaining pytest :: Distilling pytest
twitter.common.python: Obtaining pytest: 1700.3ms
twitter.common.python:   Installing pytest: 0.3ms
twitter.common.python:   Distilling pytest: 413.1ms
twitter.common.python: Obtaining pylint
twitter.common.python: Obtaining pylint :: Installing pylint
twitter.common.python: Obtaining pylint :: Distilling pylint
twitter.common.python: Obtaining pylint: 1301.7ms
twitter.common.python:   Installing pylint: 0.3ms
twitter.common.python:   Distilling pylint: 440.7ms
twitter.common.python: Obtaining pytest-cov
twitter.common.python: Obtaining pytest-cov :: Installing pytest-cov
twitter.common.python: Obtaining pytest-cov :: Distilling pytest-cov
twitter.common.python: Obtaining pytest-cov: 532.5ms
twitter.common.python:   Installing pytest-cov: 0.2ms
twitter.common.python:   Distilling pytest-cov: 88.1ms
twitter.common.python: Obtaining twitter.common.process==0.1.0
twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Installing twitter.common.process
twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Distilling twitter.common.process
twitter.common.python: Obtaining twitter.common.process==0.1.0: 519.6ms
twitter.common.python:   Installing twitter.common.process: 0.2ms
twitter.common.python:   Distilling twitter.common.process: 110.1ms
twitter.common.python: Obtaining twitter.common.util==0.1.0
twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Installing twitter.common.util
twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Distilling twitter.common.util
twitter.common.python: Obtaining twitter.common.util==0.1.0: 520.6ms
twitter.common.python:   Installing twitter.common.util: 0.2ms
twitter.common.python:   Distilling twitter.common.util: 91.9ms
twitter.common.python: Obtaining markdown
twitter.common.python: Obtaining markdown :: Installing Markdown
twitter.common.python: Obtaining markdown :: Distilling Markdown
twitter.common.python: Obtaining markdown: 1247.1ms
twitter.common.python:   Installing Markdown: 0.5ms
twitter.common.python:   Distilling Markdown: 495.1ms
twitter.common.python: Obtaining twitter.common.python==0.2.2
twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Installing twitter.common.python
twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Distilling twitter.common.python
twitter.common.python: Obtaining twitter.common.python==0.2.2: 865.8ms
twitter.common.python:   Installing twitter.common.python: 0.3ms
twitter.common.python:   Distilling twitter.common.python: 238.7ms
twitter.common.python: Obtaining mako
twitter.common.python: Obtaining mako :: Installing Mako
twitter.common.python: Obtaining mako :: Distilling Mako
twitter.common.python: Obtaining mako: 1069.3ms
twitter.common.python:   Installing Mako: 0.3ms
twitter.common.python:   Distilling Mako: 291.9ms
twitter.common.python: Obtaining twitter.common.lang==0.1.0
twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Installing twitter.common.lang
twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Distilling twitter.common.lang
twitter.common.python: Obtaining twitter.common.lang==0.1.0: 796.2ms
twitter.common.python:   Installing twitter.common.lang: 0.2ms
twitter.common.python:   Distilling twitter.common.lang: 95.4ms
twitter.common.python: Obtaining twitter.common.collections==0.1.0
twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Installing twitter.common.collections
twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Distilling twitter.common.collections
twitter.common.python: Obtaining twitter.common.collections==0.1.0: 554.6ms
twitter.common.python:   Installing twitter.common.collections: 0.2ms
twitter.common.python:   Distilling twitter.common.collections: 103.2ms
twitter.common.python: Obtaining twitter.common.options==0.1.0
twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Installing twitter.common.options
twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Distilling twitter.common.options
twitter.common.python: Obtaining twitter.common.options==0.1.0: 614.5ms
twitter.common.python:   Installing twitter.common.options: 0.2ms
twitter.common.python:   Distilling twitter.common.options: 92.8ms
twitter.common.python: Obtaining twitter.common.dirutil==0.1.0
twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Installing twitter.common.dirutil
twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Distilling twitter.common.dirutil
twitter.common.python: Obtaining twitter.common.dirutil==0.1.0: 537.3ms
twitter.common.python:   Installing twitter.common.dirutil: 0.4ms
twitter.common.python:   Distilling twitter.common.dirutil: 109.1ms
twitter.common.python: Obtaining twitter.common.log==0.1.0
twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Installing twitter.common.log
twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Distilling twitter.common.log
twitter.common.python: Obtaining twitter.common.log==0.1.0: 766.4ms
twitter.common.python:   Installing twitter.common.log: 0.2ms
twitter.common.python:   Distilling twitter.common.log: 135.2ms
twitter.common.python: Obtaining py>=1.4.19
twitter.common.python: Obtaining py>=1.4.19 :: Installing py
twitter.common.python: Obtaining py>=1.4.19 :: Distilling py
twitter.common.python: Obtaining py>=1.4.19: 871.5ms
twitter.common.python:   Installing py: 0.3ms
twitter.common.python:   Distilling py: 319.6ms
twitter.common.python: Obtaining astroid>=0.24.3
twitter.common.python: Obtaining astroid>=0.24.3 :: Installing astroid
twitter.common.python: Obtaining astroid>=0.24.3 :: Distilling astroid
twitter.common.python: Obtaining astroid>=0.24.3: 967.3ms
twitter.common.python:   Installing astroid: 0.4ms
twitter.common.python:   Distilling astroid: 399.9ms
twitter.common.python: Obtaining logilab-common>=0.53.0
twitter.common.python: Obtaining logilab-common>=0.53.0 :: Installing logilab-common
twitter.common.python: Obtaining logilab-common>=0.53.0 :: Distilling logilab-common
twitter.common.python: Obtaining logilab-common>=0.53.0: 1364.0ms
twitter.common.python:   Installing logilab-common: 0.4ms
twitter.common.python:   Distilling logilab-common: 603.8ms
twitter.common.python: Obtaining cov-core>=1.6
twitter.common.python: Obtaining cov-core>=1.6 :: Installing cov-core
twitter.common.python: Obtaining cov-core>=1.6 :: Distilling cov-core
twitter.common.python: Obtaining cov-core>=1.6: 471.0ms
twitter.common.python:   Installing cov-core: 0.4ms
twitter.common.python:   Distilling cov-core: 93.6ms
twitter.common.python: Obtaining twitter.common.string==0.1.0
twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Installing twitter.common.string
twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Distilling twitter.common.string
twitter.common.python: Obtaining twitter.common.string==0.1.0: 579.7ms
twitter.common.python:   Installing twitter.common.string: 0.2ms
twitter.common.python:   Distilling twitter.common.string: 93.8ms
twitter.common.python: Obtaining twitter.common.contextutil==0.1.0
twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Installing twitter.common.contextutil
twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Distilling twitter.common.contextutil
twitter.common.python: Obtaining twitter.common.contextutil==0.1.0: 524.2ms
twitter.common.python:   Installing twitter.common.contextutil: 0.5ms
twitter.common.python:   Distilling twitter.common.contextutil: 92.6ms
twitter.common.python: Obtaining setuptools==1.1.7
twitter.common.python: Obtaining setuptools==1.1.7 :: Installing setuptools
twitter.common.python: Obtaining setuptools==1.1.7 :: Distilling setuptools
twitter.common.python: Obtaining setuptools==1.1.7: 2212.2ms
twitter.common.python:   Installing setuptools: 0.3ms
twitter.common.python:   Distilling setuptools: 618.8ms
twitter.common.python: Obtaining MarkupSafe>=0.9.2
twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Installing MarkupSafe
twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Distilling MarkupSafe
twitter.common.python: Obtaining MarkupSafe>=0.9.2: 928.3ms
twitter.common.python:   Installing MarkupSafe: 0.3ms
twitter.common.python:   Distilling MarkupSafe: 251.4ms
twitter.common.python: Obtaining coverage>=3.4
twitter.common.python: Obtaining coverage>=3.4 :: Installing coverage
twitter.common.python: Obtaining coverage>=3.4 :: Distilling coverage
twitter.common.python: Obtaining coverage>=3.4: 1082.9ms
twitter.common.python:   Installing coverage: 0.3ms
twitter.common.python:   Distilling coverage: 425.6ms
~/test_dev
Build operating on targets: OrderedSet([PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client)])
Building PythonBinary PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client):
Wrote /home/vagrant/test_dev/dist/aurora_client.pex
Build operating on targets: OrderedSet([PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example)])
Building PythonBinary PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example):
Wrote /home/vagrant/test_dev/dist/flask_example.pex
== Creating job
 INFO] Creating job flask_example
 INFO] Response from scheduler: OK (message: 1 new tasks pending for job vagrant/test/flask_example)
 INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
== Updating test job
 INFO] Updating job: flask_example
 INFO] Starting job update.
 INFO] Examining instances: [0]
 INFO] Killing instances: [0]
 INFO] Instances killed
 INFO] Adding instances: [0]
 INFO] Instances added
 INFO] Watching instances: [0]
 INFO] Detected RUNNING instance 0
 INFO] Instance 0 has been up and healthy for at least 30 seconds
 INFO] Update successful
 INFO] Response from scheduler: OK (message: Lock has been released.)
 INFO] Killing tasks for job: example/vagrant/test/flask_example
 INFO] Response from scheduler: OK (message: Tasks killed.)
 INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
***
OK (all tests passed)
***
[sun-wukong incubator-aurora (e2e)]$


Thanks,

Mark Chu-Carroll


Re: Review Request 17457: Initial version of an end-to-end test using vagrant

Posted by Mark Chu-Carroll <mc...@twopensource.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17457/
-----------------------------------------------------------

(Updated Feb. 3, 2014, 3:16 p.m.)


Review request for Aurora, Bill Farner and Brian Wickman.


Changes
-------

Address review comments.


Bugs: aurora-125 and aurora-80
    https://issues.apache.org/jira/browse/aurora-125
    https://issues.apache.org/jira/browse/aurora-80


Repository: aurora


Description
-------

Got an initial version of the end-to-end test working. 

Currently creates a job, probes it via the scheduler pages,  updates it, and kills it. 
AURORA-127 will extend this to run multiple instances; AURORA-125 will extend this to use
"aurora run" and "aurora ssh" to probe the running tasks.


Diffs (updated)
-----

  3rdparty/python/BUILD cc3e8c929e7b2b614a6ea3dbbb4e70d2f8d22586 
  Vagrantfile 98dcf439aed53da5e78440de04562baf63c7272f 
  examples/vagrant/provision-aurora-scheduler.sh e48291a8673aeb8888169747486b7d50a54f5a56 
  examples/vagrant/provision-dev-environment.sh 7fc11bf523a054f6d068cf676e87bb043d854a25 
  examples/vagrant/provision-mesos-slave.sh c2548a268e0fad7aa4f84d3fa48aea012007502b 
  src/test/sh/org/apache/aurora/e2e/flask/BUILD PRE-CREATION 
  src/test/sh/org/apache/aurora/e2e/flask/flask_example.aurora PRE-CREATION 
  src/test/sh/org/apache/aurora/e2e/flask/flask_example.py PRE-CREATION 
  src/test/sh/org/apache/aurora/e2e/flask/flask_example_updated.aurora PRE-CREATION 
  src/test/sh/org/apache/aurora/e2e/test_common.sh PRE-CREATION 
  src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh PRE-CREATION 

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


Testing
-------

[sun-wukong incubator-aurora (e2e)]$ sh src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
Bringing machine 'devtools' up with 'virtualbox' provider...
Bringing machine 'zookeeper' up with 'virtualbox' provider...
Bringing machine 'mesos-master' up with 'virtualbox' provider...
Bringing machine 'mesos-slave' up with 'virtualbox' provider...
Bringing machine 'aurora-scheduler' up with 'virtualbox' provider...
[devtools] VirtualBox VM is already running.
[zookeeper] VirtualBox VM is already running.
[mesos-master] VirtualBox VM is already running.
[mesos-slave] VirtualBox VM is already running.
[aurora-scheduler] VirtualBox VM is already running.
Cloning into '/home/vagrant/test_dev'...
done.
Already on 'e2e'
Already up-to-date.
+ VIRTUALENV_VERSION=1.10.1
+ which python2.7
++ which python2.7
+ PY=/usr/bin/python2.7
+ echo 'Using /usr/bin/python2.7'
Using /usr/bin/python2.7
+ '[' -f build-support/virtualenv-1.10.1/BOOTSTRAPPED ']'
+ pushd build-support
~/test_dev/build-support ~/test_dev
+ curl -O https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.10.1.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1294k  100 1294k    0     0  3261k      0 --:--:-- --:--:-- --:--:-- 3817k
+ tar zxvf virtualenv-1.10.1.tar.gz
virtualenv-1.10.1/
virtualenv-1.10.1/AUTHORS.txt
virtualenv-1.10.1/bin/
virtualenv-1.10.1/bin/rebuild-script.py
virtualenv-1.10.1/docs/
virtualenv-1.10.1/docs/_theme/
virtualenv-1.10.1/docs/_theme/nature/
virtualenv-1.10.1/docs/_theme/nature/static/
virtualenv-1.10.1/docs/_theme/nature/static/nature.css_t
virtualenv-1.10.1/docs/_theme/nature/static/pygments.css
virtualenv-1.10.1/docs/_theme/nature/theme.conf
virtualenv-1.10.1/docs/conf.py
virtualenv-1.10.1/docs/index.rst
virtualenv-1.10.1/docs/make.bat
virtualenv-1.10.1/docs/Makefile
virtualenv-1.10.1/docs/news.rst
virtualenv-1.10.1/LICENSE.txt
virtualenv-1.10.1/MANIFEST.in
virtualenv-1.10.1/PKG-INFO
virtualenv-1.10.1/README.rst
virtualenv-1.10.1/scripts/
virtualenv-1.10.1/scripts/virtualenv
virtualenv-1.10.1/setup.cfg
virtualenv-1.10.1/setup.py
virtualenv-1.10.1/virtualenv.egg-info/
virtualenv-1.10.1/virtualenv.egg-info/dependency_links.txt
virtualenv-1.10.1/virtualenv.egg-info/entry_points.txt
virtualenv-1.10.1/virtualenv.egg-info/not-zip-safe
virtualenv-1.10.1/virtualenv.egg-info/PKG-INFO
virtualenv-1.10.1/virtualenv.egg-info/SOURCES.txt
virtualenv-1.10.1/virtualenv.egg-info/top_level.txt
virtualenv-1.10.1/virtualenv.py
virtualenv-1.10.1/virtualenv_embedded/
virtualenv-1.10.1/virtualenv_embedded/activate.bat
virtualenv-1.10.1/virtualenv_embedded/activate.csh
virtualenv-1.10.1/virtualenv_embedded/activate.fish
virtualenv-1.10.1/virtualenv_embedded/activate.ps1
virtualenv-1.10.1/virtualenv_embedded/activate.sh
virtualenv-1.10.1/virtualenv_embedded/activate_this.py
virtualenv-1.10.1/virtualenv_embedded/deactivate.bat
virtualenv-1.10.1/virtualenv_embedded/distutils-init.py
virtualenv-1.10.1/virtualenv_embedded/distutils.cfg
virtualenv-1.10.1/virtualenv_embedded/site.py
virtualenv-1.10.1/virtualenv_support/
virtualenv-1.10.1/virtualenv_support/__init__.py
virtualenv-1.10.1/virtualenv_support/pip-1.4.1.tar.gz
virtualenv-1.10.1/virtualenv_support/setuptools-0.9.8.tar.gz
+ touch virtualenv-1.10.1/BOOTSTRAPPED
~/test_dev
+ popd
+ exec /usr/bin/python2.7 build-support/virtualenv-1.10.1/virtualenv.py /tmp/pants.BqUkIw/tcp
New python executable in /tmp/pants.BqUkIw/tcp/bin/python2.7
Also creating executable in /tmp/pants.BqUkIw/tcp/bin/python
Installing Setuptools..............................................................................................................................................................................................................................done.
Installing Pip.....................................................................................................................................................................................................................................................................................................................................done.
/tmp/pants.BqUkIw ~/test_dev
Downloading/unpacking twitter.common.python==0.2.0
  Running setup.py egg_info for package twitter.common.python

Downloading/unpacking setuptools==1.1.7 (from twitter.common.python==0.2.0)
  Running setup.py egg_info for package setuptools

Installing collected packages: twitter.common.python, setuptools
  Running setup.py install for twitter.common.python
    Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/__init__.py (namespace package)
    Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/common/__init__.py (namespace package)

    Installing /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter.common.python-0.2.0-py2.7-nspkg.pth
  Found existing installation: setuptools 0.9.8
    Uninstalling setuptools:
      Successfully uninstalled setuptools
  Running setup.py install for setuptools

    Installing easy_install script to /tmp/pants.BqUkIw/tcp/bin
    Installing easy_install-2.7 script to /tmp/pants.BqUkIw/tcp/bin
Successfully installed twitter.common.python setuptools
Cleaning up...
twitter.common.python: Obtaining twitter.pants==0.0.13
twitter.common.python: Obtaining twitter.pants==0.0.13 :: Installing twitter.pants
twitter.common.python: Obtaining twitter.pants==0.0.13 :: Distilling twitter.pants
twitter.common.python: Obtaining twitter.pants==0.0.13: 1413.4ms
twitter.common.python:   Installing twitter.pants: 0.4ms
twitter.common.python:   Distilling twitter.pants: 798.7ms
twitter.common.python: Obtaining twitter.common.quantity==0.1.0
twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Installing twitter.common.quantity
twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Distilling twitter.common.quantity
twitter.common.python: Obtaining twitter.common.quantity==0.1.0: 646.7ms
twitter.common.python:   Installing twitter.common.quantity: 0.2ms
twitter.common.python:   Distilling twitter.common.quantity: 94.6ms
twitter.common.python: Obtaining elementtree
twitter.common.python: Obtaining elementtree :: Installing elementtree
twitter.common.python: Obtaining elementtree :: Distilling elementtree
twitter.common.python: Obtaining elementtree: 1681.4ms
twitter.common.python:   Installing elementtree: 0.2ms
twitter.common.python:   Distilling elementtree: 140.7ms
twitter.common.python: Obtaining twitter.common.config==0.1.0
twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Installing twitter.common.config
twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Distilling twitter.common.config
twitter.common.python: Obtaining twitter.common.config==0.1.0: 490.8ms
twitter.common.python:   Installing twitter.common.config: 0.2ms
twitter.common.python:   Distilling twitter.common.config: 92.8ms
twitter.common.python: Obtaining ansicolors
twitter.common.python: Obtaining ansicolors :: Installing ansicolors
twitter.common.python: Obtaining ansicolors :: Distilling ansicolors
twitter.common.python: Obtaining ansicolors: 603.0ms
twitter.common.python:   Installing ansicolors: 0.2ms
twitter.common.python:   Distilling ansicolors: 86.1ms
twitter.common.python: Obtaining twitter.common.confluence==0.1.0
twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Installing twitter.common.confluence
twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Distilling twitter.common.confluence
twitter.common.python: Obtaining twitter.common.confluence==0.1.0: 759.4ms
twitter.common.python:   Installing twitter.common.confluence: 0.3ms
twitter.common.python:   Distilling twitter.common.confluence: 95.8ms
twitter.common.python: Obtaining psutil==1.1.2
twitter.common.python: Obtaining psutil==1.1.2 :: Installing psutil
twitter.common.python: Obtaining psutil==1.1.2 :: Distilling psutil
twitter.common.python: Obtaining psutil==1.1.2: 1487.2ms
twitter.common.python:   Installing psutil: 0.4ms
twitter.common.python:   Distilling psutil: 446.3ms
twitter.common.python: Obtaining pygments
twitter.common.python: Obtaining pygments: 761.2ms
twitter.common.python: Obtaining twitter.common.decorators==0.1.0
twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Installing twitter.common.decorators
twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Distilling twitter.common.decorators
twitter.common.python: Obtaining twitter.common.decorators==0.1.0: 582.7ms
twitter.common.python:   Installing twitter.common.decorators: 0.2ms
twitter.common.python:   Distilling twitter.common.decorators: 94.8ms
twitter.common.python: Obtaining pytest
twitter.common.python: Obtaining pytest :: Installing pytest
twitter.common.python: Obtaining pytest :: Distilling pytest
twitter.common.python: Obtaining pytest: 1700.3ms
twitter.common.python:   Installing pytest: 0.3ms
twitter.common.python:   Distilling pytest: 413.1ms
twitter.common.python: Obtaining pylint
twitter.common.python: Obtaining pylint :: Installing pylint
twitter.common.python: Obtaining pylint :: Distilling pylint
twitter.common.python: Obtaining pylint: 1301.7ms
twitter.common.python:   Installing pylint: 0.3ms
twitter.common.python:   Distilling pylint: 440.7ms
twitter.common.python: Obtaining pytest-cov
twitter.common.python: Obtaining pytest-cov :: Installing pytest-cov
twitter.common.python: Obtaining pytest-cov :: Distilling pytest-cov
twitter.common.python: Obtaining pytest-cov: 532.5ms
twitter.common.python:   Installing pytest-cov: 0.2ms
twitter.common.python:   Distilling pytest-cov: 88.1ms
twitter.common.python: Obtaining twitter.common.process==0.1.0
twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Installing twitter.common.process
twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Distilling twitter.common.process
twitter.common.python: Obtaining twitter.common.process==0.1.0: 519.6ms
twitter.common.python:   Installing twitter.common.process: 0.2ms
twitter.common.python:   Distilling twitter.common.process: 110.1ms
twitter.common.python: Obtaining twitter.common.util==0.1.0
twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Installing twitter.common.util
twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Distilling twitter.common.util
twitter.common.python: Obtaining twitter.common.util==0.1.0: 520.6ms
twitter.common.python:   Installing twitter.common.util: 0.2ms
twitter.common.python:   Distilling twitter.common.util: 91.9ms
twitter.common.python: Obtaining markdown
twitter.common.python: Obtaining markdown :: Installing Markdown
twitter.common.python: Obtaining markdown :: Distilling Markdown
twitter.common.python: Obtaining markdown: 1247.1ms
twitter.common.python:   Installing Markdown: 0.5ms
twitter.common.python:   Distilling Markdown: 495.1ms
twitter.common.python: Obtaining twitter.common.python==0.2.2
twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Installing twitter.common.python
twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Distilling twitter.common.python
twitter.common.python: Obtaining twitter.common.python==0.2.2: 865.8ms
twitter.common.python:   Installing twitter.common.python: 0.3ms
twitter.common.python:   Distilling twitter.common.python: 238.7ms
twitter.common.python: Obtaining mako
twitter.common.python: Obtaining mako :: Installing Mako
twitter.common.python: Obtaining mako :: Distilling Mako
twitter.common.python: Obtaining mako: 1069.3ms
twitter.common.python:   Installing Mako: 0.3ms
twitter.common.python:   Distilling Mako: 291.9ms
twitter.common.python: Obtaining twitter.common.lang==0.1.0
twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Installing twitter.common.lang
twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Distilling twitter.common.lang
twitter.common.python: Obtaining twitter.common.lang==0.1.0: 796.2ms
twitter.common.python:   Installing twitter.common.lang: 0.2ms
twitter.common.python:   Distilling twitter.common.lang: 95.4ms
twitter.common.python: Obtaining twitter.common.collections==0.1.0
twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Installing twitter.common.collections
twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Distilling twitter.common.collections
twitter.common.python: Obtaining twitter.common.collections==0.1.0: 554.6ms
twitter.common.python:   Installing twitter.common.collections: 0.2ms
twitter.common.python:   Distilling twitter.common.collections: 103.2ms
twitter.common.python: Obtaining twitter.common.options==0.1.0
twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Installing twitter.common.options
twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Distilling twitter.common.options
twitter.common.python: Obtaining twitter.common.options==0.1.0: 614.5ms
twitter.common.python:   Installing twitter.common.options: 0.2ms
twitter.common.python:   Distilling twitter.common.options: 92.8ms
twitter.common.python: Obtaining twitter.common.dirutil==0.1.0
twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Installing twitter.common.dirutil
twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Distilling twitter.common.dirutil
twitter.common.python: Obtaining twitter.common.dirutil==0.1.0: 537.3ms
twitter.common.python:   Installing twitter.common.dirutil: 0.4ms
twitter.common.python:   Distilling twitter.common.dirutil: 109.1ms
twitter.common.python: Obtaining twitter.common.log==0.1.0
twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Installing twitter.common.log
twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Distilling twitter.common.log
twitter.common.python: Obtaining twitter.common.log==0.1.0: 766.4ms
twitter.common.python:   Installing twitter.common.log: 0.2ms
twitter.common.python:   Distilling twitter.common.log: 135.2ms
twitter.common.python: Obtaining py>=1.4.19
twitter.common.python: Obtaining py>=1.4.19 :: Installing py
twitter.common.python: Obtaining py>=1.4.19 :: Distilling py
twitter.common.python: Obtaining py>=1.4.19: 871.5ms
twitter.common.python:   Installing py: 0.3ms
twitter.common.python:   Distilling py: 319.6ms
twitter.common.python: Obtaining astroid>=0.24.3
twitter.common.python: Obtaining astroid>=0.24.3 :: Installing astroid
twitter.common.python: Obtaining astroid>=0.24.3 :: Distilling astroid
twitter.common.python: Obtaining astroid>=0.24.3: 967.3ms
twitter.common.python:   Installing astroid: 0.4ms
twitter.common.python:   Distilling astroid: 399.9ms
twitter.common.python: Obtaining logilab-common>=0.53.0
twitter.common.python: Obtaining logilab-common>=0.53.0 :: Installing logilab-common
twitter.common.python: Obtaining logilab-common>=0.53.0 :: Distilling logilab-common
twitter.common.python: Obtaining logilab-common>=0.53.0: 1364.0ms
twitter.common.python:   Installing logilab-common: 0.4ms
twitter.common.python:   Distilling logilab-common: 603.8ms
twitter.common.python: Obtaining cov-core>=1.6
twitter.common.python: Obtaining cov-core>=1.6 :: Installing cov-core
twitter.common.python: Obtaining cov-core>=1.6 :: Distilling cov-core
twitter.common.python: Obtaining cov-core>=1.6: 471.0ms
twitter.common.python:   Installing cov-core: 0.4ms
twitter.common.python:   Distilling cov-core: 93.6ms
twitter.common.python: Obtaining twitter.common.string==0.1.0
twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Installing twitter.common.string
twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Distilling twitter.common.string
twitter.common.python: Obtaining twitter.common.string==0.1.0: 579.7ms
twitter.common.python:   Installing twitter.common.string: 0.2ms
twitter.common.python:   Distilling twitter.common.string: 93.8ms
twitter.common.python: Obtaining twitter.common.contextutil==0.1.0
twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Installing twitter.common.contextutil
twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Distilling twitter.common.contextutil
twitter.common.python: Obtaining twitter.common.contextutil==0.1.0: 524.2ms
twitter.common.python:   Installing twitter.common.contextutil: 0.5ms
twitter.common.python:   Distilling twitter.common.contextutil: 92.6ms
twitter.common.python: Obtaining setuptools==1.1.7
twitter.common.python: Obtaining setuptools==1.1.7 :: Installing setuptools
twitter.common.python: Obtaining setuptools==1.1.7 :: Distilling setuptools
twitter.common.python: Obtaining setuptools==1.1.7: 2212.2ms
twitter.common.python:   Installing setuptools: 0.3ms
twitter.common.python:   Distilling setuptools: 618.8ms
twitter.common.python: Obtaining MarkupSafe>=0.9.2
twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Installing MarkupSafe
twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Distilling MarkupSafe
twitter.common.python: Obtaining MarkupSafe>=0.9.2: 928.3ms
twitter.common.python:   Installing MarkupSafe: 0.3ms
twitter.common.python:   Distilling MarkupSafe: 251.4ms
twitter.common.python: Obtaining coverage>=3.4
twitter.common.python: Obtaining coverage>=3.4 :: Installing coverage
twitter.common.python: Obtaining coverage>=3.4 :: Distilling coverage
twitter.common.python: Obtaining coverage>=3.4: 1082.9ms
twitter.common.python:   Installing coverage: 0.3ms
twitter.common.python:   Distilling coverage: 425.6ms
~/test_dev
Build operating on targets: OrderedSet([PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client)])
Building PythonBinary PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client):
Wrote /home/vagrant/test_dev/dist/aurora_client.pex
Build operating on targets: OrderedSet([PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example)])
Building PythonBinary PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example):
Wrote /home/vagrant/test_dev/dist/flask_example.pex
== Creating job
 INFO] Creating job flask_example
 INFO] Response from scheduler: OK (message: 1 new tasks pending for job vagrant/test/flask_example)
 INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
== Updating test job
 INFO] Updating job: flask_example
 INFO] Starting job update.
 INFO] Examining instances: [0]
 INFO] Killing instances: [0]
 INFO] Instances killed
 INFO] Adding instances: [0]
 INFO] Instances added
 INFO] Watching instances: [0]
 INFO] Detected RUNNING instance 0
 INFO] Instance 0 has been up and healthy for at least 30 seconds
 INFO] Update successful
 INFO] Response from scheduler: OK (message: Lock has been released.)
 INFO] Killing tasks for job: example/vagrant/test/flask_example
 INFO] Response from scheduler: OK (message: Tasks killed.)
 INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
***
OK (all tests passed)
***
[sun-wukong incubator-aurora (e2e)]$


Thanks,

Mark Chu-Carroll


Re: Review Request 17457: Initial version of an end-to-end test using vagrant

Posted by Mark Chu-Carroll <mc...@twopensource.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17457/#review33476
-----------------------------------------------------------



examples/vagrant/provision-dev-environment.sh
<https://reviews.apache.org/r/17457/#comment62917>

    Because in the vmware precise64 image, git and python-setuptools aren't included.
    With these added to the list, the test works on both vmware and virtualbox.


- Mark Chu-Carroll


On Feb. 3, 2014, 11:30 a.m., Mark Chu-Carroll wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/17457/
> -----------------------------------------------------------
> 
> (Updated Feb. 3, 2014, 11:30 a.m.)
> 
> 
> Review request for Aurora, Bill Farner and Brian Wickman.
> 
> 
> Bugs: aurora-125 and aurora-80
>     https://issues.apache.org/jira/browse/aurora-125
>     https://issues.apache.org/jira/browse/aurora-80
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Got an initial version of the end-to-end test working. 
> 
> Currently creates a job, probes it via the scheduler pages,  updates it, and kills it. 
> AURORA-127 will extend this to run multiple instances; AURORA-125 will extend this to use
> "aurora run" and "aurora ssh" to probe the running tasks.
> 
> 
> Diffs
> -----
> 
>   3rdparty/python/BUILD cc3e8c929e7b2b614a6ea3dbbb4e70d2f8d22586 
>   Vagrantfile 98dcf439aed53da5e78440de04562baf63c7272f 
>   examples/vagrant/provision-aurora-scheduler.sh e48291a8673aeb8888169747486b7d50a54f5a56 
>   examples/vagrant/provision-dev-environment.sh 7fc11bf523a054f6d068cf676e87bb043d854a25 
>   examples/vagrant/provision-mesos-slave.sh c2548a268e0fad7aa4f84d3fa48aea012007502b 
>   src/test/sh/org/apache/aurora/e2e/flask/BUILD PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example.aurora PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example.py PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/flask/flask_example_updated.aurora PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/test_common.sh PRE-CREATION 
>   src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/17457/diff/
> 
> 
> Testing
> -------
> 
> [sun-wukong incubator-aurora (e2e)]$ sh src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
> Bringing machine 'devtools' up with 'virtualbox' provider...
> Bringing machine 'zookeeper' up with 'virtualbox' provider...
> Bringing machine 'mesos-master' up with 'virtualbox' provider...
> Bringing machine 'mesos-slave' up with 'virtualbox' provider...
> Bringing machine 'aurora-scheduler' up with 'virtualbox' provider...
> [devtools] VirtualBox VM is already running.
> [zookeeper] VirtualBox VM is already running.
> [mesos-master] VirtualBox VM is already running.
> [mesos-slave] VirtualBox VM is already running.
> [aurora-scheduler] VirtualBox VM is already running.
> Cloning into '/home/vagrant/test_dev'...
> done.
> Already on 'e2e'
> Already up-to-date.
> + VIRTUALENV_VERSION=1.10.1
> + which python2.7
> ++ which python2.7
> + PY=/usr/bin/python2.7
> + echo 'Using /usr/bin/python2.7'
> Using /usr/bin/python2.7
> + '[' -f build-support/virtualenv-1.10.1/BOOTSTRAPPED ']'
> + pushd build-support
> ~/test_dev/build-support ~/test_dev
> + curl -O https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.10.1.tar.gz
>   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
>                                  Dload  Upload   Total   Spent    Left  Speed
> 100 1294k  100 1294k    0     0  3261k      0 --:--:-- --:--:-- --:--:-- 3817k
> + tar zxvf virtualenv-1.10.1.tar.gz
> virtualenv-1.10.1/
> virtualenv-1.10.1/AUTHORS.txt
> virtualenv-1.10.1/bin/
> virtualenv-1.10.1/bin/rebuild-script.py
> virtualenv-1.10.1/docs/
> virtualenv-1.10.1/docs/_theme/
> virtualenv-1.10.1/docs/_theme/nature/
> virtualenv-1.10.1/docs/_theme/nature/static/
> virtualenv-1.10.1/docs/_theme/nature/static/nature.css_t
> virtualenv-1.10.1/docs/_theme/nature/static/pygments.css
> virtualenv-1.10.1/docs/_theme/nature/theme.conf
> virtualenv-1.10.1/docs/conf.py
> virtualenv-1.10.1/docs/index.rst
> virtualenv-1.10.1/docs/make.bat
> virtualenv-1.10.1/docs/Makefile
> virtualenv-1.10.1/docs/news.rst
> virtualenv-1.10.1/LICENSE.txt
> virtualenv-1.10.1/MANIFEST.in
> virtualenv-1.10.1/PKG-INFO
> virtualenv-1.10.1/README.rst
> virtualenv-1.10.1/scripts/
> virtualenv-1.10.1/scripts/virtualenv
> virtualenv-1.10.1/setup.cfg
> virtualenv-1.10.1/setup.py
> virtualenv-1.10.1/virtualenv.egg-info/
> virtualenv-1.10.1/virtualenv.egg-info/dependency_links.txt
> virtualenv-1.10.1/virtualenv.egg-info/entry_points.txt
> virtualenv-1.10.1/virtualenv.egg-info/not-zip-safe
> virtualenv-1.10.1/virtualenv.egg-info/PKG-INFO
> virtualenv-1.10.1/virtualenv.egg-info/SOURCES.txt
> virtualenv-1.10.1/virtualenv.egg-info/top_level.txt
> virtualenv-1.10.1/virtualenv.py
> virtualenv-1.10.1/virtualenv_embedded/
> virtualenv-1.10.1/virtualenv_embedded/activate.bat
> virtualenv-1.10.1/virtualenv_embedded/activate.csh
> virtualenv-1.10.1/virtualenv_embedded/activate.fish
> virtualenv-1.10.1/virtualenv_embedded/activate.ps1
> virtualenv-1.10.1/virtualenv_embedded/activate.sh
> virtualenv-1.10.1/virtualenv_embedded/activate_this.py
> virtualenv-1.10.1/virtualenv_embedded/deactivate.bat
> virtualenv-1.10.1/virtualenv_embedded/distutils-init.py
> virtualenv-1.10.1/virtualenv_embedded/distutils.cfg
> virtualenv-1.10.1/virtualenv_embedded/site.py
> virtualenv-1.10.1/virtualenv_support/
> virtualenv-1.10.1/virtualenv_support/__init__.py
> virtualenv-1.10.1/virtualenv_support/pip-1.4.1.tar.gz
> virtualenv-1.10.1/virtualenv_support/setuptools-0.9.8.tar.gz
> + touch virtualenv-1.10.1/BOOTSTRAPPED
> ~/test_dev
> + popd
> + exec /usr/bin/python2.7 build-support/virtualenv-1.10.1/virtualenv.py /tmp/pants.BqUkIw/tcp
> New python executable in /tmp/pants.BqUkIw/tcp/bin/python2.7
> Also creating executable in /tmp/pants.BqUkIw/tcp/bin/python
> Installing Setuptools..............................................................................................................................................................................................................................done.
> Installing Pip.....................................................................................................................................................................................................................................................................................................................................done.
> /tmp/pants.BqUkIw ~/test_dev
> Downloading/unpacking twitter.common.python==0.2.0
>   Running setup.py egg_info for package twitter.common.python
> 
> Downloading/unpacking setuptools==1.1.7 (from twitter.common.python==0.2.0)
>   Running setup.py egg_info for package setuptools
> 
> Installing collected packages: twitter.common.python, setuptools
>   Running setup.py install for twitter.common.python
>     Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/__init__.py (namespace package)
>     Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/common/__init__.py (namespace package)
> 
>     Installing /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter.common.python-0.2.0-py2.7-nspkg.pth
>   Found existing installation: setuptools 0.9.8
>     Uninstalling setuptools:
>       Successfully uninstalled setuptools
>   Running setup.py install for setuptools
> 
>     Installing easy_install script to /tmp/pants.BqUkIw/tcp/bin
>     Installing easy_install-2.7 script to /tmp/pants.BqUkIw/tcp/bin
> Successfully installed twitter.common.python setuptools
> Cleaning up...
> twitter.common.python: Obtaining twitter.pants==0.0.13
> twitter.common.python: Obtaining twitter.pants==0.0.13 :: Installing twitter.pants
> twitter.common.python: Obtaining twitter.pants==0.0.13 :: Distilling twitter.pants
> twitter.common.python: Obtaining twitter.pants==0.0.13: 1413.4ms
> twitter.common.python:   Installing twitter.pants: 0.4ms
> twitter.common.python:   Distilling twitter.pants: 798.7ms
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Installing twitter.common.quantity
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Distilling twitter.common.quantity
> twitter.common.python: Obtaining twitter.common.quantity==0.1.0: 646.7ms
> twitter.common.python:   Installing twitter.common.quantity: 0.2ms
> twitter.common.python:   Distilling twitter.common.quantity: 94.6ms
> twitter.common.python: Obtaining elementtree
> twitter.common.python: Obtaining elementtree :: Installing elementtree
> twitter.common.python: Obtaining elementtree :: Distilling elementtree
> twitter.common.python: Obtaining elementtree: 1681.4ms
> twitter.common.python:   Installing elementtree: 0.2ms
> twitter.common.python:   Distilling elementtree: 140.7ms
> twitter.common.python: Obtaining twitter.common.config==0.1.0
> twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Installing twitter.common.config
> twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Distilling twitter.common.config
> twitter.common.python: Obtaining twitter.common.config==0.1.0: 490.8ms
> twitter.common.python:   Installing twitter.common.config: 0.2ms
> twitter.common.python:   Distilling twitter.common.config: 92.8ms
> twitter.common.python: Obtaining ansicolors
> twitter.common.python: Obtaining ansicolors :: Installing ansicolors
> twitter.common.python: Obtaining ansicolors :: Distilling ansicolors
> twitter.common.python: Obtaining ansicolors: 603.0ms
> twitter.common.python:   Installing ansicolors: 0.2ms
> twitter.common.python:   Distilling ansicolors: 86.1ms
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Installing twitter.common.confluence
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Distilling twitter.common.confluence
> twitter.common.python: Obtaining twitter.common.confluence==0.1.0: 759.4ms
> twitter.common.python:   Installing twitter.common.confluence: 0.3ms
> twitter.common.python:   Distilling twitter.common.confluence: 95.8ms
> twitter.common.python: Obtaining psutil==1.1.2
> twitter.common.python: Obtaining psutil==1.1.2 :: Installing psutil
> twitter.common.python: Obtaining psutil==1.1.2 :: Distilling psutil
> twitter.common.python: Obtaining psutil==1.1.2: 1487.2ms
> twitter.common.python:   Installing psutil: 0.4ms
> twitter.common.python:   Distilling psutil: 446.3ms
> twitter.common.python: Obtaining pygments
> twitter.common.python: Obtaining pygments: 761.2ms
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Installing twitter.common.decorators
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Distilling twitter.common.decorators
> twitter.common.python: Obtaining twitter.common.decorators==0.1.0: 582.7ms
> twitter.common.python:   Installing twitter.common.decorators: 0.2ms
> twitter.common.python:   Distilling twitter.common.decorators: 94.8ms
> twitter.common.python: Obtaining pytest
> twitter.common.python: Obtaining pytest :: Installing pytest
> twitter.common.python: Obtaining pytest :: Distilling pytest
> twitter.common.python: Obtaining pytest: 1700.3ms
> twitter.common.python:   Installing pytest: 0.3ms
> twitter.common.python:   Distilling pytest: 413.1ms
> twitter.common.python: Obtaining pylint
> twitter.common.python: Obtaining pylint :: Installing pylint
> twitter.common.python: Obtaining pylint :: Distilling pylint
> twitter.common.python: Obtaining pylint: 1301.7ms
> twitter.common.python:   Installing pylint: 0.3ms
> twitter.common.python:   Distilling pylint: 440.7ms
> twitter.common.python: Obtaining pytest-cov
> twitter.common.python: Obtaining pytest-cov :: Installing pytest-cov
> twitter.common.python: Obtaining pytest-cov :: Distilling pytest-cov
> twitter.common.python: Obtaining pytest-cov: 532.5ms
> twitter.common.python:   Installing pytest-cov: 0.2ms
> twitter.common.python:   Distilling pytest-cov: 88.1ms
> twitter.common.python: Obtaining twitter.common.process==0.1.0
> twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Installing twitter.common.process
> twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Distilling twitter.common.process
> twitter.common.python: Obtaining twitter.common.process==0.1.0: 519.6ms
> twitter.common.python:   Installing twitter.common.process: 0.2ms
> twitter.common.python:   Distilling twitter.common.process: 110.1ms
> twitter.common.python: Obtaining twitter.common.util==0.1.0
> twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Installing twitter.common.util
> twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Distilling twitter.common.util
> twitter.common.python: Obtaining twitter.common.util==0.1.0: 520.6ms
> twitter.common.python:   Installing twitter.common.util: 0.2ms
> twitter.common.python:   Distilling twitter.common.util: 91.9ms
> twitter.common.python: Obtaining markdown
> twitter.common.python: Obtaining markdown :: Installing Markdown
> twitter.common.python: Obtaining markdown :: Distilling Markdown
> twitter.common.python: Obtaining markdown: 1247.1ms
> twitter.common.python:   Installing Markdown: 0.5ms
> twitter.common.python:   Distilling Markdown: 495.1ms
> twitter.common.python: Obtaining twitter.common.python==0.2.2
> twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Installing twitter.common.python
> twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Distilling twitter.common.python
> twitter.common.python: Obtaining twitter.common.python==0.2.2: 865.8ms
> twitter.common.python:   Installing twitter.common.python: 0.3ms
> twitter.common.python:   Distilling twitter.common.python: 238.7ms
> twitter.common.python: Obtaining mako
> twitter.common.python: Obtaining mako :: Installing Mako
> twitter.common.python: Obtaining mako :: Distilling Mako
> twitter.common.python: Obtaining mako: 1069.3ms
> twitter.common.python:   Installing Mako: 0.3ms
> twitter.common.python:   Distilling Mako: 291.9ms
> twitter.common.python: Obtaining twitter.common.lang==0.1.0
> twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Installing twitter.common.lang
> twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Distilling twitter.common.lang
> twitter.common.python: Obtaining twitter.common.lang==0.1.0: 796.2ms
> twitter.common.python:   Installing twitter.common.lang: 0.2ms
> twitter.common.python:   Distilling twitter.common.lang: 95.4ms
> twitter.common.python: Obtaining twitter.common.collections==0.1.0
> twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Installing twitter.common.collections
> twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Distilling twitter.common.collections
> twitter.common.python: Obtaining twitter.common.collections==0.1.0: 554.6ms
> twitter.common.python:   Installing twitter.common.collections: 0.2ms
> twitter.common.python:   Distilling twitter.common.collections: 103.2ms
> twitter.common.python: Obtaining twitter.common.options==0.1.0
> twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Installing twitter.common.options
> twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Distilling twitter.common.options
> twitter.common.python: Obtaining twitter.common.options==0.1.0: 614.5ms
> twitter.common.python:   Installing twitter.common.options: 0.2ms
> twitter.common.python:   Distilling twitter.common.options: 92.8ms
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Installing twitter.common.dirutil
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Distilling twitter.common.dirutil
> twitter.common.python: Obtaining twitter.common.dirutil==0.1.0: 537.3ms
> twitter.common.python:   Installing twitter.common.dirutil: 0.4ms
> twitter.common.python:   Distilling twitter.common.dirutil: 109.1ms
> twitter.common.python: Obtaining twitter.common.log==0.1.0
> twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Installing twitter.common.log
> twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Distilling twitter.common.log
> twitter.common.python: Obtaining twitter.common.log==0.1.0: 766.4ms
> twitter.common.python:   Installing twitter.common.log: 0.2ms
> twitter.common.python:   Distilling twitter.common.log: 135.2ms
> twitter.common.python: Obtaining py>=1.4.19
> twitter.common.python: Obtaining py>=1.4.19 :: Installing py
> twitter.common.python: Obtaining py>=1.4.19 :: Distilling py
> twitter.common.python: Obtaining py>=1.4.19: 871.5ms
> twitter.common.python:   Installing py: 0.3ms
> twitter.common.python:   Distilling py: 319.6ms
> twitter.common.python: Obtaining astroid>=0.24.3
> twitter.common.python: Obtaining astroid>=0.24.3 :: Installing astroid
> twitter.common.python: Obtaining astroid>=0.24.3 :: Distilling astroid
> twitter.common.python: Obtaining astroid>=0.24.3: 967.3ms
> twitter.common.python:   Installing astroid: 0.4ms
> twitter.common.python:   Distilling astroid: 399.9ms
> twitter.common.python: Obtaining logilab-common>=0.53.0
> twitter.common.python: Obtaining logilab-common>=0.53.0 :: Installing logilab-common
> twitter.common.python: Obtaining logilab-common>=0.53.0 :: Distilling logilab-common
> twitter.common.python: Obtaining logilab-common>=0.53.0: 1364.0ms
> twitter.common.python:   Installing logilab-common: 0.4ms
> twitter.common.python:   Distilling logilab-common: 603.8ms
> twitter.common.python: Obtaining cov-core>=1.6
> twitter.common.python: Obtaining cov-core>=1.6 :: Installing cov-core
> twitter.common.python: Obtaining cov-core>=1.6 :: Distilling cov-core
> twitter.common.python: Obtaining cov-core>=1.6: 471.0ms
> twitter.common.python:   Installing cov-core: 0.4ms
> twitter.common.python:   Distilling cov-core: 93.6ms
> twitter.common.python: Obtaining twitter.common.string==0.1.0
> twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Installing twitter.common.string
> twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Distilling twitter.common.string
> twitter.common.python: Obtaining twitter.common.string==0.1.0: 579.7ms
> twitter.common.python:   Installing twitter.common.string: 0.2ms
> twitter.common.python:   Distilling twitter.common.string: 93.8ms
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Installing twitter.common.contextutil
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Distilling twitter.common.contextutil
> twitter.common.python: Obtaining twitter.common.contextutil==0.1.0: 524.2ms
> twitter.common.python:   Installing twitter.common.contextutil: 0.5ms
> twitter.common.python:   Distilling twitter.common.contextutil: 92.6ms
> twitter.common.python: Obtaining setuptools==1.1.7
> twitter.common.python: Obtaining setuptools==1.1.7 :: Installing setuptools
> twitter.common.python: Obtaining setuptools==1.1.7 :: Distilling setuptools
> twitter.common.python: Obtaining setuptools==1.1.7: 2212.2ms
> twitter.common.python:   Installing setuptools: 0.3ms
> twitter.common.python:   Distilling setuptools: 618.8ms
> twitter.common.python: Obtaining MarkupSafe>=0.9.2
> twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Installing MarkupSafe
> twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Distilling MarkupSafe
> twitter.common.python: Obtaining MarkupSafe>=0.9.2: 928.3ms
> twitter.common.python:   Installing MarkupSafe: 0.3ms
> twitter.common.python:   Distilling MarkupSafe: 251.4ms
> twitter.common.python: Obtaining coverage>=3.4
> twitter.common.python: Obtaining coverage>=3.4 :: Installing coverage
> twitter.common.python: Obtaining coverage>=3.4 :: Distilling coverage
> twitter.common.python: Obtaining coverage>=3.4: 1082.9ms
> twitter.common.python:   Installing coverage: 0.3ms
> twitter.common.python:   Distilling coverage: 425.6ms
> ~/test_dev
> Build operating on targets: OrderedSet([PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client)])
> Building PythonBinary PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client):
> Wrote /home/vagrant/test_dev/dist/aurora_client.pex
> Build operating on targets: OrderedSet([PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example)])
> Building PythonBinary PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example):
> Wrote /home/vagrant/test_dev/dist/flask_example.pex
> == Creating job
>  INFO] Creating job flask_example
>  INFO] Response from scheduler: OK (message: 1 new tasks pending for job vagrant/test/flask_example)
>  INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
> == Updating test job
>  INFO] Updating job: flask_example
>  INFO] Starting job update.
>  INFO] Examining instances: [0]
>  INFO] Killing instances: [0]
>  INFO] Instances killed
>  INFO] Adding instances: [0]
>  INFO] Instances added
>  INFO] Watching instances: [0]
>  INFO] Detected RUNNING instance 0
>  INFO] Instance 0 has been up and healthy for at least 30 seconds
>  INFO] Update successful
>  INFO] Response from scheduler: OK (message: Lock has been released.)
>  INFO] Killing tasks for job: example/vagrant/test/flask_example
>  INFO] Response from scheduler: OK (message: Tasks killed.)
>  INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
> ***
> OK (all tests passed)
> ***
> [sun-wukong incubator-aurora (e2e)]$
> 
> 
> Thanks,
> 
> Mark Chu-Carroll
> 
>