You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@mesos.apache.org by Andrew Schwartzmeyer <an...@schwartzmeyer.com> on 2017/12/01 23:17:38 UTC

Review Request 64272: Improved Windows isolators with `struct Info` abstraction.

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

Review request for mesos, Akash Gupta, Jie Yu, and Joseph Wu.


Repository: mesos


Description
-------

Replaced the two maps of `ContainerId -> pid` and `ContainerId -> limit`
with a mapping of `ContainerId -> struct Info { pid, limit }`. This
abstraction correctly ties the the `pid` and cpu/mem `limit` together.
Notably this fixes a subtle bug in `prepare` so that it can no longer be
called multiple times if a resource limit hadn't been set.

Furthermore, this patch imports all the types used in the source files
to enchance code conciseness, and then reformatted with `clang-format`.


Diffs
-----

  src/slave/containerizer/mesos/isolators/windows/cpu.hpp 8672b5943ff305b929dd7514581df4515dff1f50 
  src/slave/containerizer/mesos/isolators/windows/cpu.cpp e9f4daccdd507312998984cad231c3c7d310af2b 
  src/slave/containerizer/mesos/isolators/windows/mem.hpp 24426f7219bc7831c1682153d7c9c1a6e502e3d6 
  src/slave/containerizer/mesos/isolators/windows/mem.cpp 5abcb4edfa350e1de5b34bfd43d4e961b7208799 


Diff: https://reviews.apache.org/r/64272/diff/1/


Testing
-------

`make check` on CentOS 7 (probably pointless)

`ctest` on Windows 10. All tests passed. (Building again after rebase.)


Thanks,

Andrew Schwartzmeyer


Re: Review Request 64272: Improved Windows isolators with `struct Info` abstraction.

Posted by Jie Yu <yu...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/64272/#review192753
-----------------------------------------------------------


Ship it!




Ship It!

- Jie Yu


On Dec. 1, 2017, 11:37 p.m., Andrew Schwartzmeyer wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/64272/
> -----------------------------------------------------------
> 
> (Updated Dec. 1, 2017, 11:37 p.m.)
> 
> 
> Review request for mesos, Akash Gupta, Jie Yu, and Joseph Wu.
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Replaced the two maps of `ContainerId -> pid` and `ContainerId -> limit`
> with a mapping of `ContainerId -> struct Info { pid, limit }`. This
> abstraction correctly ties the the `pid` and cpu/mem `limit` together.
> Notably this fixes a subtle bug in `prepare` so that it can no longer be
> called multiple times if a resource limit hadn't been set.
> 
> Furthermore, this patch imports all the types used in the source files
> to enchance code conciseness, and then reformatted with `clang-format`.
> 
> 
> Diffs
> -----
> 
>   src/slave/containerizer/mesos/isolators/windows/cpu.hpp 8672b5943ff305b929dd7514581df4515dff1f50 
>   src/slave/containerizer/mesos/isolators/windows/cpu.cpp e9f4daccdd507312998984cad231c3c7d310af2b 
>   src/slave/containerizer/mesos/isolators/windows/mem.hpp 24426f7219bc7831c1682153d7c9c1a6e502e3d6 
>   src/slave/containerizer/mesos/isolators/windows/mem.cpp 5abcb4edfa350e1de5b34bfd43d4e961b7208799 
> 
> 
> Diff: https://reviews.apache.org/r/64272/diff/2/
> 
> 
> Testing
> -------
> 
> `make check` on CentOS 7 (probably pointless)
> 
> `ctest` on Windows 10. All tests passed. (Building again after rebase.)
> 
> 
> Thanks,
> 
> Andrew Schwartzmeyer
> 
>


Re: Review Request 64272: Improved Windows isolators with `struct Info` abstraction.

Posted by Andrew Schwartzmeyer <an...@schwartzmeyer.com>.

> On Dec. 3, 2017, 1:19 a.m., Mesos Reviewbot Windows wrote:
> > FAIL: Some Mesos libprocess-tests failed.
> > 
> > Reviews applied: `['64272']`
> > 
> > Failed command: `C:\DCOS\mesos\3rdparty\libprocess\src\tests\Debug\libprocess-tests.exe`
> > 
> > All the build artifacts available at: http://dcos-win.westus.cloudapp.azure.com/mesos-build/review/64272
> > 
> > Relevant logs:
> > 
> > - [libprocess-tests-stdout.log](http://dcos-win.westus.cloudapp.azure.com/mesos-build/review/64272/logs/libprocess-tests-stdout.log):
> > 
> > ```
> > [       OK ] Scheme/HTTPTest.WWWAuthenticateHeader/0 (844 ms)
> > [ RUN      ] Scheme/HTTPTest.WWWAuthenticateHeader/1
> > [       OK ] Scheme/HTTPTest.WWWAuthenticateHeader/1 (75 ms)
> > [ RUN      ] Scheme/HTTPTest.Accepts/0
> > [       OK ] Scheme/HTTPTest.Accepts/0 (1087 ms)
> > [ RUN      ] Scheme/HTTPTest.Accepts/1
> > [       OK ] Scheme/HTTPTest.Accepts/1 (96 ms)
> > [----------] 36 tests from Scheme/HTTPTest (17921 ms total)
> > 
> > [----------] 4 tests from SSLVerifyIPAdd/SSLTest
> > [ RUN      ] SSLVerifyIPAdd/SSLTest.BasicSameProcess/0
> > [       OK ] SSLVerifyIPAdd/SSLTest.BasicSameProcess/0 (758 ms)
> > [ RUN      ] SSLVerifyIPAdd/SSLTest.BasicSameProcess/1
> > [       OK ] SSLVerifyIPAdd/SSLTest.BasicSameProcess/1 (515 ms)
> > [ RUN      ] SSLVerifyIPAdd/SSLTest.RequireCertificate/0
> > [       OK ] SSLVerifyIPAdd/SSLTest.RequireCertificate/0 (683 ms)
> > [ RUN      ] SSLVerifyIPAdd/SSLTest.RequireCertificate/1
> > [       OK ] SSLVerifyIPAdd/SSLTest.RequireCertificate/1 (1393 ms)
> > [----------] 4 tests from SSLVerifyIPAdd/SSLTest (3469 ms total)
> > 
> > [----------] Global test environment tear-down
> > [==========] 222 tests from 35 test cases ran. (53173 ms total)
> > [  PASSED  ] 221 tests.
> > [  FAILED  ] 1 test, listed below:
> > [  FAILED  ] SSLTest.ProtocolMismatch
> > 
> >  1 FAILED TEST
> >   YOU HAVE 19 DISABLED TESTS
> > 
> > ```
> > 
> > - [libprocess-tests-stderr.log](http://dcos-win.westus.cloudapp.azure.com/mesos-build/review/64272/logs/libprocess-tests-stderr.log):
> > 
> > ```
> > I1203 09:18:57.895561   928 openssl.cpp:509] CA directory path unspecified! NOTE: Set CA directory path with LIBPROCESS_SSL_CA_DIR=<dirpath>
> > I1203 09:18:57.897562   928 openssl.cpp:514] Will not verify peer certificate!
> > NOTE: Set LIBPROCESS_SSL_VERIFY_CERT=1 to enable peer certificate verification
> > I1203 09:18:57.897562   928 openssl.cpp:526] Will use IP address verification in subject alternative name certificate extension.
> > I1203 09:18:57.897562   928 openssl.cpp:534] LIBPROCESS_SSL_REQUIRE_CERT implies peer certificate verification.
> > LIBPROCESS_SSL_VERIFY_CERT set to true
> > I1203 09:18:57.900570   928 openssl.cpp:563] Using CA file: C:\Users\mesos\AppData\Local\Temp\RpIuP4\cert.pem
> > ata\Local\Temp\5Tdxrn
> > I1203 09:18:55.911415  4844 openssl.cpp:514] Will not verify peer certificate!
> > NOTE: Set LIBPROCESS_SSL_VERIFY_CERT=1 to enable peer certificate verification
> > I1203 09:18:55.911415  4844 openssl.cpp:526] Will use IP address verification in subject alternative name certificate extension.
> > I1203 09:18:55.911415  4844 openssl.cpp:534] LIBPROCESS_SSL_REQUIRE_CERT implies peer certificate verification.
> > LIBPROCESS_SSL_VERIFY_CERT set to true
> > I1203 09:18:55.911415  4844 openssl.cpp:563] Using CA file: C:\Users\mesos\AppData\Local\Temp\jkdVcc\cert.pem
> > I1203 09:18:55.912417  4844 openssl.cpp:566] Using CA dir: C:\Users\mesos\AppData\Local\Temp\jkdVcc
> > I1203 09:18:56.208425  4844 openssl.cpp:509] CA directory path unspecified! NOTE: Set CA directory path with LIBPROCESS_SSL_CA_DIR=<dirpath>
> > I1203 09:18:56.208425  4844 openssl.cpp:514] Will not verify peer certificate!
> > NOTE: Set LIBPROCESS_SSL_VERIFY_CERT=1 to enable peer certificate verification
> > I1203 09:18:56.208425  4844 openssl.cpp:534] LIBPROCESS_SSL_REQUIRE_CERT implies peer certificate verification.
> > LIBPROCESS_SSL_VERIFY_CERT set to true
> > I1203 09:18:56.208425  4844 openssl.cpp:563] Using CA file: C:\Users\mesos\AppData\Local\Temp\UHwagq\cert.pem
> > I1203 09:18:57.584547  4844 openssl.cpp:509] CA directory path unspecified! NOTE: Set CA directory path with LIBPROCESS_SSL_CA_DIR=<dirpath>
> > I1203 09:18:57.584547  4844 openssl.cpp:514] Will not verify peer certificate!
> > NOTE: Set LIBPROCESS_SSL_VERIFY_CERT=1 to enable peer certificate verification
> > I1203 09:18:57.584547  4844 openssl.cpp:526] Will use IP address verification in subject alternative name certificate extension.
> > I1203 09:18:57.584547  4844 openssl.cpp:534] LIBPROCESS_SSL_REQUIRE_CERT implies peer certificate verification.
> > LIBPROCESS_SSL_VERIFY_CERT set to true
> > I1203 09:18:57.584547  4844 openssl.cpp:563] Using CA file: C:\Users\mesos\AppData\Local\Temp\RpIuP4\cert.pem
> > I1203 09:18:58.168562   472 process.cpp:887] Failed to accept socket: future discarded
> > ```

This is a flakyl test, it can be ignored.


- Andrew


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


On Dec. 1, 2017, 3:37 p.m., Andrew Schwartzmeyer wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/64272/
> -----------------------------------------------------------
> 
> (Updated Dec. 1, 2017, 3:37 p.m.)
> 
> 
> Review request for mesos, Akash Gupta, Jie Yu, and Joseph Wu.
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Replaced the two maps of `ContainerId -> pid` and `ContainerId -> limit`
> with a mapping of `ContainerId -> struct Info { pid, limit }`. This
> abstraction correctly ties the the `pid` and cpu/mem `limit` together.
> Notably this fixes a subtle bug in `prepare` so that it can no longer be
> called multiple times if a resource limit hadn't been set.
> 
> Furthermore, this patch imports all the types used in the source files
> to enchance code conciseness, and then reformatted with `clang-format`.
> 
> 
> Diffs
> -----
> 
>   src/slave/containerizer/mesos/isolators/windows/cpu.hpp 8672b5943ff305b929dd7514581df4515dff1f50 
>   src/slave/containerizer/mesos/isolators/windows/cpu.cpp e9f4daccdd507312998984cad231c3c7d310af2b 
>   src/slave/containerizer/mesos/isolators/windows/mem.hpp 24426f7219bc7831c1682153d7c9c1a6e502e3d6 
>   src/slave/containerizer/mesos/isolators/windows/mem.cpp 5abcb4edfa350e1de5b34bfd43d4e961b7208799 
> 
> 
> Diff: https://reviews.apache.org/r/64272/diff/2/
> 
> 
> Testing
> -------
> 
> `make check` on CentOS 7 (probably pointless)
> 
> `ctest` on Windows 10. All tests passed. (Building again after rebase.)
> 
> 
> Thanks,
> 
> Andrew Schwartzmeyer
> 
>


Re: Review Request 64272: Improved Windows isolators with `struct Info` abstraction.

Posted by Mesos Reviewbot Windows <re...@mesos.apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/64272/#review192642
-----------------------------------------------------------



FAIL: Some Mesos libprocess-tests failed.

Reviews applied: `['64272']`

Failed command: `C:\DCOS\mesos\3rdparty\libprocess\src\tests\Debug\libprocess-tests.exe`

All the build artifacts available at: http://dcos-win.westus.cloudapp.azure.com/mesos-build/review/64272

Relevant logs:

- [libprocess-tests-stdout.log](http://dcos-win.westus.cloudapp.azure.com/mesos-build/review/64272/logs/libprocess-tests-stdout.log):

```
[       OK ] Scheme/HTTPTest.WWWAuthenticateHeader/0 (844 ms)
[ RUN      ] Scheme/HTTPTest.WWWAuthenticateHeader/1
[       OK ] Scheme/HTTPTest.WWWAuthenticateHeader/1 (75 ms)
[ RUN      ] Scheme/HTTPTest.Accepts/0
[       OK ] Scheme/HTTPTest.Accepts/0 (1087 ms)
[ RUN      ] Scheme/HTTPTest.Accepts/1
[       OK ] Scheme/HTTPTest.Accepts/1 (96 ms)
[----------] 36 tests from Scheme/HTTPTest (17921 ms total)

[----------] 4 tests from SSLVerifyIPAdd/SSLTest
[ RUN      ] SSLVerifyIPAdd/SSLTest.BasicSameProcess/0
[       OK ] SSLVerifyIPAdd/SSLTest.BasicSameProcess/0 (758 ms)
[ RUN      ] SSLVerifyIPAdd/SSLTest.BasicSameProcess/1
[       OK ] SSLVerifyIPAdd/SSLTest.BasicSameProcess/1 (515 ms)
[ RUN      ] SSLVerifyIPAdd/SSLTest.RequireCertificate/0
[       OK ] SSLVerifyIPAdd/SSLTest.RequireCertificate/0 (683 ms)
[ RUN      ] SSLVerifyIPAdd/SSLTest.RequireCertificate/1
[       OK ] SSLVerifyIPAdd/SSLTest.RequireCertificate/1 (1393 ms)
[----------] 4 tests from SSLVerifyIPAdd/SSLTest (3469 ms total)

[----------] Global test environment tear-down
[==========] 222 tests from 35 test cases ran. (53173 ms total)
[  PASSED  ] 221 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] SSLTest.ProtocolMismatch

 1 FAILED TEST
  YOU HAVE 19 DISABLED TESTS

```

- [libprocess-tests-stderr.log](http://dcos-win.westus.cloudapp.azure.com/mesos-build/review/64272/logs/libprocess-tests-stderr.log):

```
I1203 09:18:57.895561   928 openssl.cpp:509] CA directory path unspecified! NOTE: Set CA directory path with LIBPROCESS_SSL_CA_DIR=<dirpath>
I1203 09:18:57.897562   928 openssl.cpp:514] Will not verify peer certificate!
NOTE: Set LIBPROCESS_SSL_VERIFY_CERT=1 to enable peer certificate verification
I1203 09:18:57.897562   928 openssl.cpp:526] Will use IP address verification in subject alternative name certificate extension.
I1203 09:18:57.897562   928 openssl.cpp:534] LIBPROCESS_SSL_REQUIRE_CERT implies peer certificate verification.
LIBPROCESS_SSL_VERIFY_CERT set to true
I1203 09:18:57.900570   928 openssl.cpp:563] Using CA file: C:\Users\mesos\AppData\Local\Temp\RpIuP4\cert.pem
ata\Local\Temp\5Tdxrn
I1203 09:18:55.911415  4844 openssl.cpp:514] Will not verify peer certificate!
NOTE: Set LIBPROCESS_SSL_VERIFY_CERT=1 to enable peer certificate verification
I1203 09:18:55.911415  4844 openssl.cpp:526] Will use IP address verification in subject alternative name certificate extension.
I1203 09:18:55.911415  4844 openssl.cpp:534] LIBPROCESS_SSL_REQUIRE_CERT implies peer certificate verification.
LIBPROCESS_SSL_VERIFY_CERT set to true
I1203 09:18:55.911415  4844 openssl.cpp:563] Using CA file: C:\Users\mesos\AppData\Local\Temp\jkdVcc\cert.pem
I1203 09:18:55.912417  4844 openssl.cpp:566] Using CA dir: C:\Users\mesos\AppData\Local\Temp\jkdVcc
I1203 09:18:56.208425  4844 openssl.cpp:509] CA directory path unspecified! NOTE: Set CA directory path with LIBPROCESS_SSL_CA_DIR=<dirpath>
I1203 09:18:56.208425  4844 openssl.cpp:514] Will not verify peer certificate!
NOTE: Set LIBPROCESS_SSL_VERIFY_CERT=1 to enable peer certificate verification
I1203 09:18:56.208425  4844 openssl.cpp:534] LIBPROCESS_SSL_REQUIRE_CERT implies peer certificate verification.
LIBPROCESS_SSL_VERIFY_CERT set to true
I1203 09:18:56.208425  4844 openssl.cpp:563] Using CA file: C:\Users\mesos\AppData\Local\Temp\UHwagq\cert.pem
I1203 09:18:57.584547  4844 openssl.cpp:509] CA directory path unspecified! NOTE: Set CA directory path with LIBPROCESS_SSL_CA_DIR=<dirpath>
I1203 09:18:57.584547  4844 openssl.cpp:514] Will not verify peer certificate!
NOTE: Set LIBPROCESS_SSL_VERIFY_CERT=1 to enable peer certificate verification
I1203 09:18:57.584547  4844 openssl.cpp:526] Will use IP address verification in subject alternative name certificate extension.
I1203 09:18:57.584547  4844 openssl.cpp:534] LIBPROCESS_SSL_REQUIRE_CERT implies peer certificate verification.
LIBPROCESS_SSL_VERIFY_CERT set to true
I1203 09:18:57.584547  4844 openssl.cpp:563] Using CA file: C:\Users\mesos\AppData\Local\Temp\RpIuP4\cert.pem
I1203 09:18:58.168562   472 process.cpp:887] Failed to accept socket: future discarded
```

- Mesos Reviewbot Windows


On Dec. 1, 2017, 11:37 p.m., Andrew Schwartzmeyer wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/64272/
> -----------------------------------------------------------
> 
> (Updated Dec. 1, 2017, 11:37 p.m.)
> 
> 
> Review request for mesos, Akash Gupta, Jie Yu, and Joseph Wu.
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Replaced the two maps of `ContainerId -> pid` and `ContainerId -> limit`
> with a mapping of `ContainerId -> struct Info { pid, limit }`. This
> abstraction correctly ties the the `pid` and cpu/mem `limit` together.
> Notably this fixes a subtle bug in `prepare` so that it can no longer be
> called multiple times if a resource limit hadn't been set.
> 
> Furthermore, this patch imports all the types used in the source files
> to enchance code conciseness, and then reformatted with `clang-format`.
> 
> 
> Diffs
> -----
> 
>   src/slave/containerizer/mesos/isolators/windows/cpu.hpp 8672b5943ff305b929dd7514581df4515dff1f50 
>   src/slave/containerizer/mesos/isolators/windows/cpu.cpp e9f4daccdd507312998984cad231c3c7d310af2b 
>   src/slave/containerizer/mesos/isolators/windows/mem.hpp 24426f7219bc7831c1682153d7c9c1a6e502e3d6 
>   src/slave/containerizer/mesos/isolators/windows/mem.cpp 5abcb4edfa350e1de5b34bfd43d4e961b7208799 
> 
> 
> Diff: https://reviews.apache.org/r/64272/diff/2/
> 
> 
> Testing
> -------
> 
> `make check` on CentOS 7 (probably pointless)
> 
> `ctest` on Windows 10. All tests passed. (Building again after rebase.)
> 
> 
> Thanks,
> 
> Andrew Schwartzmeyer
> 
>


Re: Review Request 64272: Improved Windows isolators with `struct Info` abstraction.

Posted by Andrew Schwartzmeyer <an...@schwartzmeyer.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/64272/
-----------------------------------------------------------

(Updated Dec. 1, 2017, 3:37 p.m.)


Review request for mesos, Akash Gupta, Jie Yu, and Joseph Wu.


Changes
-------

Added check in update that `pid.isSome()`.


Repository: mesos


Description
-------

Replaced the two maps of `ContainerId -> pid` and `ContainerId -> limit`
with a mapping of `ContainerId -> struct Info { pid, limit }`. This
abstraction correctly ties the the `pid` and cpu/mem `limit` together.
Notably this fixes a subtle bug in `prepare` so that it can no longer be
called multiple times if a resource limit hadn't been set.

Furthermore, this patch imports all the types used in the source files
to enchance code conciseness, and then reformatted with `clang-format`.


Diffs (updated)
-----

  src/slave/containerizer/mesos/isolators/windows/cpu.hpp 8672b5943ff305b929dd7514581df4515dff1f50 
  src/slave/containerizer/mesos/isolators/windows/cpu.cpp e9f4daccdd507312998984cad231c3c7d310af2b 
  src/slave/containerizer/mesos/isolators/windows/mem.hpp 24426f7219bc7831c1682153d7c9c1a6e502e3d6 
  src/slave/containerizer/mesos/isolators/windows/mem.cpp 5abcb4edfa350e1de5b34bfd43d4e961b7208799 


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

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


Testing
-------

`make check` on CentOS 7 (probably pointless)

`ctest` on Windows 10. All tests passed. (Building again after rebase.)


Thanks,

Andrew Schwartzmeyer