You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by bm...@apache.org on 2019/07/11 19:45:29 UTC
[mesos] 03/05: Updated /role 'resources' to omit 0 values and
include non-scalars.
This is an automated email from the ASF dual-hosted git repository.
bmahler pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mesos.git
commit 4a58fc791f65e61414e76e0803e28985ed19ccbf
Author: Benjamin Mahler <bm...@apache.org>
AuthorDate: Wed Jul 10 19:56:23 2019 -0400
Updated /role 'resources' to omit 0 values and include non-scalars.
To be consistent with quota and quota consumption, as well as to
include resoures outside of {cpus,mem,disk,gpus}, this updates the
field to be filled based on ResourceQuantities and include
non-scalars.
This should also help performance a bit.
Review: https://reviews.apache.org/r/71051
---
src/master/readonly_handler.cpp | 13 +++++++------
src/tests/role_tests.cpp | 39 ++++++++++-----------------------------
2 files changed, 17 insertions(+), 35 deletions(-)
diff --git a/src/master/readonly_handler.cpp b/src/master/readonly_handler.cpp
index 27965e3..5f0ad1d 100644
--- a/src/master/readonly_handler.cpp
+++ b/src/master/readonly_handler.cpp
@@ -739,12 +739,13 @@ process::http::Response Master::ReadOnlyHandler::roles(
writer->field("consumed", consumed);
});
- if (role.isNone()) {
- writer->field("resources", Resources());
- } else {
- writer->field(
- "resources", (*role)->allocatedAndOfferedResources());
- }
+ const ResourceQuantities allocated = role.isSome() ?
+ (*role)->allocated() : ResourceQuantities();
+
+ const ResourceQuantities offered = role.isSome() ?
+ (*role)->offered() : ResourceQuantities();
+
+ writer->field("resources", allocated + offered);
if (role.isNone()) {
writer->field("frameworks", [](JSON::ArrayWriter*) {});
diff --git a/src/tests/role_tests.cpp b/src/tests/role_tests.cpp
index 63198b3..01c8014 100644
--- a/src/tests/role_tests.cpp
+++ b/src/tests/role_tests.cpp
@@ -348,9 +348,7 @@ TEST_F(RoleTest, EndpointNoFrameworks)
" {"
" \"frameworks\": [],"
" \"name\": \"*\","
- " \"resources\": {"
- " \"cpus\": 0, \"disk\": 0, \"gpus\": 0, \"mem\": 0"
- " },"
+ " \"resources\": {},"
" \"quota\": {"
" \"role\": \"*\","
" \"consumed\": {},"
@@ -362,9 +360,7 @@ TEST_F(RoleTest, EndpointNoFrameworks)
" {"
" \"frameworks\": [],"
" \"name\": \"role1\","
- " \"resources\": {"
- " \"cpus\": 0, \"disk\": 0, \"gpus\": 0, \"mem\": 0"
- " },"
+ " \"resources\": {},"
" \"quota\": {"
" \"role\": \"role1\","
" \"consumed\": {},"
@@ -376,9 +372,7 @@ TEST_F(RoleTest, EndpointNoFrameworks)
" {"
" \"frameworks\": [],"
" \"name\": \"role2\","
- " \"resources\": {"
- " \"cpus\": 0, \"disk\": 0, \"gpus\": 0, \"mem\": 0"
- " },"
+ " \"resources\": {},"
" \"quota\": {"
" \"role\": \"role2\","
" \"consumed\": {},"
@@ -607,8 +601,7 @@ TEST_F(RoleTest, RolesEndpointContainsConsumedQuota)
" \"resources\": {"
" \"cpus\": 1111.0,"
" \"mem\": 11110.0,"
- " \"disk\": 0,"
- " \"gpus\": 0"
+ " \"ports\": 1100.0"
" },"
" \"quota\": {"
" \"consumed\": {"
@@ -693,9 +686,7 @@ TEST_F_TEMP_DISABLED_ON_WINDOWS(RoleTest, EndpointImplicitRolesWeights)
" {"
" \"frameworks\": [\"" + frameworkId1->value() + "\"],"
" \"name\": \"roleX\","
- " \"resources\": {"
- " \"cpus\": 0, \"disk\": 0, \"gpus\": 0, \"mem\": 0"
- " },"
+ " \"resources\": {},"
" \"quota\": {"
" \"role\": \"roleX\","
" \"consumed\": {},"
@@ -707,9 +698,7 @@ TEST_F_TEMP_DISABLED_ON_WINDOWS(RoleTest, EndpointImplicitRolesWeights)
" {"
" \"frameworks\": [],"
" \"name\": \"roleY\","
- " \"resources\": {"
- " \"cpus\": 0, \"disk\": 0, \"gpus\": 0, \"mem\": 0"
- " },"
+ " \"resources\": {},"
" \"quota\": {"
" \"role\": \"roleY\","
" \"consumed\": {},"
@@ -721,9 +710,7 @@ TEST_F_TEMP_DISABLED_ON_WINDOWS(RoleTest, EndpointImplicitRolesWeights)
" {"
" \"frameworks\": [\"" + frameworkId2->value() + "\"],"
" \"name\": \"roleZ\","
- " \"resources\": {"
- " \"cpus\": 0, \"disk\": 0, \"gpus\": 0, \"mem\": 0"
- " },"
+ " \"resources\": {},"
" \"quota\": {"
" \"role\": \"roleZ\","
" \"consumed\": {},"
@@ -799,9 +786,7 @@ TEST_F_TEMP_DISABLED_ON_WINDOWS(RoleTest, EndpointImplicitRolesQuotas)
" {"
" \"frameworks\": [],"
" \"name\": \"non-existent-role\","
- " \"resources\": {"
- " \"cpus\": 0, \"disk\": 0, \"gpus\": 0, \"mem\": 0"
- " },"
+ " \"resources\": {},"
" \"quota\": {"
" \"role\": \"non-existent-role\","
" \"consumed\": {},"
@@ -902,9 +887,7 @@ TEST_F_TEMP_DISABLED_ON_WINDOWS(
" {"
" \"frameworks\": [\"" + frameworkId->value() + "\"],"
" \"name\": \"role1\","
- " \"resources\": {"
- " \"cpus\": 0, \"disk\": 0, \"gpus\": 0, \"mem\": 0"
- " },"
+ " \"resources\": {},"
" \"quota\": {"
" \"role\": \"role1\","
" \"consumed\": {},"
@@ -916,9 +899,7 @@ TEST_F_TEMP_DISABLED_ON_WINDOWS(
" {"
" \"frameworks\": [\"" + frameworkId->value() + "\"],"
" \"name\": \"role2\","
- " \"resources\": {"
- " \"cpus\": 0, \"disk\": 0, \"gpus\": 0, \"mem\": 0"
- " },"
+ " \"resources\": {},"
" \"quota\": {"
" \"role\": \"role2\","
" \"consumed\": {},"