aurora-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Charles Raimbert <craimber...@gmail.com>
Subject Re: Review Request 58167: Fix Thermos Health Check for MesosContainerizer with `--nosetuid-health-checks`
Date Tue, 04 Apr 2017 19:11:42 GMT

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

(Updated April 4, 2017, 7:11 p.m.)


Review request for Aurora, Stephan Erb and Zameer Manji.


Changes
-------

Address review comments:
- make helper method name more clear with `make_fake_mesos_containerizer`
- remove unused extra testing data


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


Repository: aurora


Description
-------

With MesosContainerizer, the health check is performed using a "mesos-containerizer launch"
process, but there is actually a code bug in the way of getting the user under which to run
the health check process:
https://github.com/apache/aurora/blob/master/src/main/python/apache/aurora/executor/common/health_checker.py#L370
```
health_check_user = (os.getusername() if self._nosetuid_health_checks
            else assigned_task.task.job.role)
```

If the scheduler is configured with `--nosetuid-health-checks` then "os.getusername()" is
executed, but the "os" python module does not present any "getusername()" function, which
leads the Thermos execution to abort as follow:
```
D0323 01:08:15.453372 16 aurora_executor.py:159] Task started.
E0323 01:08:15.571124 16 aurora_executor.py:121] Traceback (most recent call last):
File "apache/aurora/executor/aurora_executor.py", line 119, in _run
self._start_status_manager(driver, assigned_task)
File "apache/aurora/executor/aurora_executor.py", line 168, in _start_status_manager
status_checker = status_provider.from_assigned_task(assigned_task, self._sandbox)
File "apache/aurora/executor/common/health_checker.py", line 370, in from_assigned_task
health_check_user = (os.getusername() if self._nosetuid_health_checks
AttributeError: 'module' object has no attribute 'getusername'
```

Following the existing unit testing pattern from test_health_checker.py, a test case was added
to cover the `--nosetuid-health-checks` case for MesosContainerizer.


Diffs (updated)
-----

  src/main/python/apache/aurora/executor/common/health_checker.py 5bb4768ee3cf571f72580777c291448d372223c0

  src/test/python/apache/aurora/executor/common/test_health_checker.py adf3ac070c9121d0c6b09bc4dcaee2dc2eb89bc2



Diff: https://reviews.apache.org/r/58167/diff/2/

Changes: https://reviews.apache.org/r/58167/diff/1-2/


Testing
-------

With Vagrant:
- ./pants test.pytest src/{test,main}/python:: -- -v
- ./build-support/jenkins/build.sh
- ./src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh


Thanks,

Charles Raimbert


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