[mesos] branch master updated: Fixed src/Makefile.am to include Web UI roles tree files.
This is an automated email from the ASF dual-hosted git repository. asekretenko pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/mesos.git The following commit(s) were added to refs/heads/master by this push: new 021554d Fixed src/Makefile.am to include Web UI roles tree files. 021554d is described below commit 021554db4628a45c48c67ef4244b434b20cd9e79 Author: Andrei Sekretenko AuthorDate: Tue May 5 19:35:37 2020 +0200 Fixed src/Makefile.am to include Web UI roles tree files. Review: https://reviews.apache.org/r/72473 --- src/Makefile.am | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Makefile.am b/src/Makefile.am index 22506f2..0b18f95 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1976,6 +1976,9 @@ nobase_dist_pkgdata_DATA += \ webui/app/agents/agents.html \ webui/app/frameworks/framework.html \ webui/app/frameworks/frameworks.html \ + webui/app/frameworks/roles.html \ + webui/app/frameworks/roles-tree.html \ + webui/app/frameworks/roles-tree-root.html\ webui/app/maintenance/maintenance.html \ webui/app/offers/offers.html \ webui/app/roles/roles.html \
[mesos] branch master updated: Added docs for UPDATE_FRAMEWORK call.
This is an automated email from the ASF dual-hosted git repository. asekretenko pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/mesos.git The following commit(s) were added to refs/heads/master by this push: new dd24b24 Added docs for UPDATE_FRAMEWORK call. dd24b24 is described below commit dd24b24d83fb6e67929fcb060fed695e8427a12d Author: Andrei Sekretenko AuthorDate: Wed Mar 25 12:15:50 2020 +0100 Added docs for UPDATE_FRAMEWORK call. Review: https://reviews.apache.org/r/72267 --- docs/scheduler-http-api.md | 111 +++-- 1 file changed, 108 insertions(+), 3 deletions(-) diff --git a/docs/scheduler-http-api.md b/docs/scheduler-http-api.md index 9831d52..a77a9df 100644 --- a/docs/scheduler-http-api.md +++ b/docs/scheduler-http-api.md @@ -55,7 +55,7 @@ The response returned from the `SUBSCRIBE` call (see [below](#subscribe)) is enc This is the first step in the communication process between the scheduler and the master. This is also to be considered as subscription to the "/scheduler" event stream. -To subscribe with the master, the scheduler sends an HTTP POST with a `SUBSCRIBE` message including the required FrameworkInfo. Note that if "subscribe.framework_info.id" and "FrameworkID" are not set, the master considers the scheduler as a new one and subscribes it by assigning it a FrameworkID. The HTTP response is a stream in RecordIO format; the event stream begins with either a `SUBSCRIBED` event or an `ERROR` event (see details in **Events** section). The response also includes th [...] +To subscribe with the master, the scheduler sends an HTTP POST with a `SUBSCRIBE` message including the required FrameworkInfo and the list of initially suppressed roles (which must be a subset of roles in FrameworkInfo, see the section for `SUPPRESS` call). Note that if "subscribe.framework_info.id" and "FrameworkID" are not set, the master considers the scheduler as a new one and subscribes it by assigning it a FrameworkID. The HTTP response is a stream in RecordIO format; the event st [...] ``` SUBSCRIBE Request (JSON): @@ -73,9 +73,10 @@ Connection: close "framework_info" : { "user" : "foo", "name" : "Example HTTP Framework", -"roles": ["test"], +"roles": ["test1", "test2"], "capabilities" : [{"type": "MULTI_ROLE"}] - } + }, + "suppressed_roles" : ["test2"] } } @@ -102,6 +103,11 @@ with a `SUBSCRIBED` event. For further details, see the **Disconnections** secti NOTE: In the old version of the API, (re-)registered callbacks also included MasterInfo, which contained information about the master the driver currently connected to. With the new API, since schedulers explicitly subscribe with the leading master (see details below in **Master Detection** section), it's not relevant anymore. +NOTE: By providing a different FrameworkInfo and/or set of suppressed roles, +re-subscribing scheduler can change some of the fields of FrameworkInfo and the +set of suppressed roles. Allowed changes and their effects are consistent with +those that can be performed via `UPDATE_FRAMEWORK` call (see below). + If subscription fails for whatever reason (e.g., invalid request), an HTTP 4xx response is returned with the error message as part of the body and the connection is closed. A scheduler can make additional HTTP requests to the "/scheduler" endpoint only after it has opened a persistent connection to it by sending a `SUBSCRIBE` request and received a `SUBSCRIBED` response. Calls made without subscription will result in "403 Forbidden" instead of a "202 Accepted" response. A scheduler might also receive a "400 Bad Request" response if the HTTP request is malformed (e.g., malformed HTTP headers). @@ -494,6 +500,105 @@ HTTP/1.1 202 Accepted ``` +### UPDATE_FRAMEWORK + +Sent by the scheduler to change fields of its `FrameworkInfo` and/or the set of +suppressed roles. Allowed changes and their effects are consistent with changing +FrameworkInfo and/or set of suppressed roles when re-subscribing. + + Disallowed updates +Updating the following `FrameworkInfo` fields is not allowed: + * `principal` (mainly because "changing a principal" effectively means + a transfer of a framework by an original principal to the new one; secure + mechanism for such transfer is yet to be developed) + * `user` + * `checkpoint` + +`UPDATE_FRAMEWORK` call trying to update any of these fields is not valid, +unlike an attempt to change `user`/`checkpoint` when resubscribing, in which +case the new value is ignored. + + Updating framework roles +Updating `framework_info.roles` and `suppressed_roles` is supported. +In a valid `UPDATE_FRAMEWORK` call, new suppressed roles must be a (potentially +empty) subset of new framework roles. + +Updating roles has the following effects: + * After the call is processed, master will be sending o
[mesos] branch 1.9.x updated: Added docs for UPDATE_FRAMEWORK call.
This is an automated email from the ASF dual-hosted git repository. asekretenko pushed a commit to branch 1.9.x in repository https://gitbox.apache.org/repos/asf/mesos.git The following commit(s) were added to refs/heads/1.9.x by this push: new 2474583 Added docs for UPDATE_FRAMEWORK call. 2474583 is described below commit 247458311cab68b6108bd5cf0723cbfad904f856 Author: Andrei Sekretenko AuthorDate: Wed Mar 25 12:15:50 2020 +0100 Added docs for UPDATE_FRAMEWORK call. Review: https://reviews.apache.org/r/72267 --- docs/scheduler-http-api.md | 111 +++-- 1 file changed, 108 insertions(+), 3 deletions(-) diff --git a/docs/scheduler-http-api.md b/docs/scheduler-http-api.md index 9831d52..a77a9df 100644 --- a/docs/scheduler-http-api.md +++ b/docs/scheduler-http-api.md @@ -55,7 +55,7 @@ The response returned from the `SUBSCRIBE` call (see [below](#subscribe)) is enc This is the first step in the communication process between the scheduler and the master. This is also to be considered as subscription to the "/scheduler" event stream. -To subscribe with the master, the scheduler sends an HTTP POST with a `SUBSCRIBE` message including the required FrameworkInfo. Note that if "subscribe.framework_info.id" and "FrameworkID" are not set, the master considers the scheduler as a new one and subscribes it by assigning it a FrameworkID. The HTTP response is a stream in RecordIO format; the event stream begins with either a `SUBSCRIBED` event or an `ERROR` event (see details in **Events** section). The response also includes th [...] +To subscribe with the master, the scheduler sends an HTTP POST with a `SUBSCRIBE` message including the required FrameworkInfo and the list of initially suppressed roles (which must be a subset of roles in FrameworkInfo, see the section for `SUPPRESS` call). Note that if "subscribe.framework_info.id" and "FrameworkID" are not set, the master considers the scheduler as a new one and subscribes it by assigning it a FrameworkID. The HTTP response is a stream in RecordIO format; the event st [...] ``` SUBSCRIBE Request (JSON): @@ -73,9 +73,10 @@ Connection: close "framework_info" : { "user" : "foo", "name" : "Example HTTP Framework", -"roles": ["test"], +"roles": ["test1", "test2"], "capabilities" : [{"type": "MULTI_ROLE"}] - } + }, + "suppressed_roles" : ["test2"] } } @@ -102,6 +103,11 @@ with a `SUBSCRIBED` event. For further details, see the **Disconnections** secti NOTE: In the old version of the API, (re-)registered callbacks also included MasterInfo, which contained information about the master the driver currently connected to. With the new API, since schedulers explicitly subscribe with the leading master (see details below in **Master Detection** section), it's not relevant anymore. +NOTE: By providing a different FrameworkInfo and/or set of suppressed roles, +re-subscribing scheduler can change some of the fields of FrameworkInfo and the +set of suppressed roles. Allowed changes and their effects are consistent with +those that can be performed via `UPDATE_FRAMEWORK` call (see below). + If subscription fails for whatever reason (e.g., invalid request), an HTTP 4xx response is returned with the error message as part of the body and the connection is closed. A scheduler can make additional HTTP requests to the "/scheduler" endpoint only after it has opened a persistent connection to it by sending a `SUBSCRIBE` request and received a `SUBSCRIBED` response. Calls made without subscription will result in "403 Forbidden" instead of a "202 Accepted" response. A scheduler might also receive a "400 Bad Request" response if the HTTP request is malformed (e.g., malformed HTTP headers). @@ -494,6 +500,105 @@ HTTP/1.1 202 Accepted ``` +### UPDATE_FRAMEWORK + +Sent by the scheduler to change fields of its `FrameworkInfo` and/or the set of +suppressed roles. Allowed changes and their effects are consistent with changing +FrameworkInfo and/or set of suppressed roles when re-subscribing. + + Disallowed updates +Updating the following `FrameworkInfo` fields is not allowed: + * `principal` (mainly because "changing a principal" effectively means + a transfer of a framework by an original principal to the new one; secure + mechanism for such transfer is yet to be developed) + * `user` + * `checkpoint` + +`UPDATE_FRAMEWORK` call trying to update any of these fields is not valid, +unlike an attempt to change `user`/`checkpoint` when resubscribing, in which +case the new value is ignored. + + Updating framework roles +Updating `framework_info.roles` and `suppressed_roles` is supported. +In a valid `UPDATE_FRAMEWORK` call, new suppressed roles must be a (potentially +empty) subset of new framework roles. + +Updating roles has the following effects: + * After the call is processed, master will be sending off
[mesos] branch master updated: Removed mesos-style transition script.
This is an automated email from the ASF dual-hosted git repository. asekretenko pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/mesos.git The following commit(s) were added to refs/heads/master by this push: new 8335953 Removed mesos-style transition script. 8335953 is described below commit 83359534cb1b3303fcbae34af3fadd81b7c8cb85 Author: Benjamin Bannier AuthorDate: Wed May 6 17:47:37 2020 +0200 Removed mesos-style transition script. Review: https://reviews.apache.org/r/71300/ --- support/mesos-style.py | 40 1 file changed, 40 deletions(-) diff --git a/support/mesos-style.py b/support/mesos-style.py deleted file mode 100755 index 4d9d3b4..000 --- a/support/mesos-style.py +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env python3 - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -"""This is a dummy script to ease the transition from mesos-style to pre-commit -hooks. This script can be removed after we have given contributors enough time -to adjust their checkouts.""" - -import sys - -error = """\ -'mesos-style.py' was removed in favor of hooks managed by pre-commit. - -Linting requires an installation of pre-commit, see -https://pre-commit.com/#install, e.g., - -$ pip3 install pre-commit - -After installing pre-commit, remove existing hooks in '.git/hooks' -and reinstall hooks with './support/setup-dev.sh'. - -$ rm -rfv .git/hooks/* -$ ./support/setup-dev.sh -""" - -print(error, file=sys.stderr) -sys.exit(1)
[mesos] branch master updated: Fixed a bug in the agent's draining handler.
This is an automated email from the ASF dual-hosted git repository. grag pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/mesos.git The following commit(s) were added to refs/heads/master by this push: new ff9f5cc Fixed a bug in the agent's draining handler. ff9f5cc is described below commit ff9f5cc796f6a99302d94de121726cd7b5988f11 Author: Greg Mann AuthorDate: Wed May 6 16:35:19 2020 -0700 Fixed a bug in the agent's draining handler. Previously, when the agent had no tasks or operations and received a `DrainSlaveMessage`, it would checkpoint the `DrainConfig` to disk, implicitly placing it into a "draining" state indefinitely. This patch updates the agent's handler to avoid checkpointing anything to disk in this case. The `SlaveTest.DrainInfoInAPIOutputs` test is also removed and its functionality is moved into the test `SlaveTest.DrainAgentKillsRunningTask`. The running task in the latter test allows us to verify agent API outputs both before and after the task's terminal update is acknowleged. Review: https://reviews.apache.org/r/72368/ --- src/slave/slave.cpp | 12 +++ src/tests/slave_tests.cpp | 215 +- 2 files changed, 127 insertions(+), 100 deletions(-) diff --git a/src/slave/slave.cpp b/src/slave/slave.cpp index 1a32c81..c828d99 100644 --- a/src/slave/slave.cpp +++ b/src/slave/slave.cpp @@ -1074,6 +1074,18 @@ void Slave::drain( const UPID& from, DrainSlaveMessage&& drainSlaveMessage) { + if (operations.empty() && frameworks.empty()) { +LOG(INFO) + << "Received DrainConfig " << drainSlaveMessage.config() + << (drainConfig.isSome() + ? "; previously stored DrainConfig " + stringify(*drainConfig) + : "") + << "; agent has no stored frameworks, tasks, or operations," + " so draining is already complete"; + +return; + } + hashmap> pendingTaskIds; foreachvalue (Framework* framework, frameworks) { foreachvalue (const auto& taskMap, framework->pendingTasks) { diff --git a/src/tests/slave_tests.cpp b/src/tests/slave_tests.cpp index 5ad04b2..b46e561 100644 --- a/src/tests/slave_tests.cpp +++ b/src/tests/slave_tests.cpp @@ -12089,97 +12089,8 @@ TEST_F( } -// When the agent receives a `DrainSlaveMessage` from the master, the agent's -// drain info should be visible in the agent's API output. -TEST_F(SlaveTest, DrainInfoInAPIOutputs) -{ - Clock::pause(); - - const int GRACE_PERIOD_NANOS = 100; - - Try> master = StartMaster(); - ASSERT_SOME(master); - - Future slaveRegisteredMessage = -FUTURE_PROTOBUF(SlaveRegisteredMessage(), _, _); - - StandaloneMasterDetector detector(master.get()->pid); - - slave::Flags slaveFlags = CreateSlaveFlags(); - - Try> slave = StartSlave(&detector, slaveFlags); - ASSERT_SOME(slave); - - Clock::advance(slaveFlags.registration_backoff_factor); - - AWAIT_READY(slaveRegisteredMessage); - - // Simulate the master sending a `DrainSlaveMessage` to the agent. - DurationInfo maxGracePeriod; - maxGracePeriod.set_nanoseconds(GRACE_PERIOD_NANOS); - - DrainConfig drainConfig; - drainConfig.set_mark_gone(true); - drainConfig.mutable_max_grace_period()->CopyFrom(maxGracePeriod); - - DrainSlaveMessage drainSlaveMessage; - drainSlaveMessage.mutable_config()->CopyFrom(drainConfig); - - process::post(master.get()->pid, slave.get()->pid, drainSlaveMessage); - - Clock::settle(); - - { -v1::agent::Call call; -call.set_type(v1::agent::Call::GET_AGENT); - -const ContentType contentType = ContentType::PROTOBUF; - -process::http::Headers headers = createBasicAuthHeaders(DEFAULT_CREDENTIAL); -headers["Accept"] = stringify(contentType); - -Future httpResponse = - process::http::post( - slave.get()->pid, - "api/v1", - headers, - serialize(contentType, call), - stringify(contentType)); - -AWAIT_EXPECT_RESPONSE_STATUS_EQ(OK().status, httpResponse); - -Future responseMessage = - deserialize(contentType, httpResponse->body); - -AWAIT_READY(responseMessage); -ASSERT_TRUE(responseMessage->IsInitialized()); -ASSERT_EQ(v1::agent::Response::GET_AGENT, responseMessage->type()); -ASSERT_TRUE(responseMessage->get_agent().has_drain_config()); -EXPECT_EQ( -drainConfig, -devolve(responseMessage->get_agent().drain_config())); - } - - { -Future response = process::http::get( -slave.get()->pid, -"state", -None(), -createBasicAuthHeaders(DEFAULT_CREDENTIAL)); - -AWAIT_EXPECT_RESPONSE_STATUS_EQ(OK().status, response); -AWAIT_EXPECT_RESPONSE_HEADER_EQ(APPLICATION_JSON, "Content-Type", response); - -Try state = JSON::parse(response->body); - -ASSERT_SOME(state); - -EXPECT_EQ(JSON::protobuf(drainConfig), state->values["drain_config"]); - } -} - - // When an agent receives a `DrainSlaveMe
[mesos] branch master updated (ff9f5cc -> 06cc8ac)
This is an automated email from the ASF dual-hosted git repository. grag pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/mesos.git. from ff9f5cc Fixed a bug in the agent's draining handler. add 5e77c94 Made the scheduler resources a top-level item in the documentation. add 1949f52 Added intro docs on running workloads. add 06cc8ac Updated existing documentation for resource limits. No new revisions were added by this update. Summary of changes: docs/home.md| 16 +- docs/nested-container-and-task-group.md | 91 docs/running-workloads.md | 255 docs/scheduler-http-api.md | 93 ++-- docs/upgrades.md| 5 + 5 files changed, 385 insertions(+), 75 deletions(-) create mode 100644 docs/running-workloads.md
[mesos] branch 1.9.x updated: Fixed a bug in the agent's draining handler.
This is an automated email from the ASF dual-hosted git repository. grag pushed a commit to branch 1.9.x in repository https://gitbox.apache.org/repos/asf/mesos.git The following commit(s) were added to refs/heads/1.9.x by this push: new 35912a2 Fixed a bug in the agent's draining handler. 35912a2 is described below commit 35912a22081e88ba243d2b690667dff6a90c51d0 Author: Greg Mann AuthorDate: Wed May 6 16:35:19 2020 -0700 Fixed a bug in the agent's draining handler. Previously, when the agent had no tasks or operations and received a `DrainSlaveMessage`, it would checkpoint the `DrainConfig` to disk, implicitly placing it into a "draining" state indefinitely. This patch updates the agent's handler to avoid checkpointing anything to disk in this case. The `SlaveTest.DrainInfoInAPIOutputs` test is also removed and its functionality is moved into the test `SlaveTest.DrainAgentKillsRunningTask`. The running task in the latter test allows us to verify agent API outputs both before and after the task's terminal update is acknowleged. Review: https://reviews.apache.org/r/72368/ --- src/slave/slave.cpp | 12 +++ src/tests/slave_tests.cpp | 215 +- 2 files changed, 127 insertions(+), 100 deletions(-) diff --git a/src/slave/slave.cpp b/src/slave/slave.cpp index 23d2ddd..7110ff4 100644 --- a/src/slave/slave.cpp +++ b/src/slave/slave.cpp @@ -998,6 +998,18 @@ void Slave::drain( const UPID& from, DrainSlaveMessage&& drainSlaveMessage) { + if (operations.empty() && frameworks.empty()) { +LOG(INFO) + << "Received DrainConfig " << drainSlaveMessage.config() + << (drainConfig.isSome() + ? "; previously stored DrainConfig " + stringify(*drainConfig) + : "") + << "; agent has no stored frameworks, tasks, or operations," + " so draining is already complete"; + +return; + } + hashmap> pendingTaskIds; foreachvalue (Framework* framework, frameworks) { foreachvalue (const auto& taskMap, framework->pendingTasks) { diff --git a/src/tests/slave_tests.cpp b/src/tests/slave_tests.cpp index c147bfc..335a1c4 100644 --- a/src/tests/slave_tests.cpp +++ b/src/tests/slave_tests.cpp @@ -11928,97 +11928,8 @@ TEST_F( } -// When the agent receives a `DrainSlaveMessage` from the master, the agent's -// drain info should be visible in the agent's API output. -TEST_F(SlaveTest, DrainInfoInAPIOutputs) -{ - Clock::pause(); - - const int GRACE_PERIOD_NANOS = 100; - - Try> master = StartMaster(); - ASSERT_SOME(master); - - Future slaveRegisteredMessage = -FUTURE_PROTOBUF(SlaveRegisteredMessage(), _, _); - - StandaloneMasterDetector detector(master.get()->pid); - - slave::Flags slaveFlags = CreateSlaveFlags(); - - Try> slave = StartSlave(&detector, slaveFlags); - ASSERT_SOME(slave); - - Clock::advance(slaveFlags.registration_backoff_factor); - - AWAIT_READY(slaveRegisteredMessage); - - // Simulate the master sending a `DrainSlaveMessage` to the agent. - DurationInfo maxGracePeriod; - maxGracePeriod.set_nanoseconds(GRACE_PERIOD_NANOS); - - DrainConfig drainConfig; - drainConfig.set_mark_gone(true); - drainConfig.mutable_max_grace_period()->CopyFrom(maxGracePeriod); - - DrainSlaveMessage drainSlaveMessage; - drainSlaveMessage.mutable_config()->CopyFrom(drainConfig); - - process::post(master.get()->pid, slave.get()->pid, drainSlaveMessage); - - Clock::settle(); - - { -v1::agent::Call call; -call.set_type(v1::agent::Call::GET_AGENT); - -const ContentType contentType = ContentType::PROTOBUF; - -process::http::Headers headers = createBasicAuthHeaders(DEFAULT_CREDENTIAL); -headers["Accept"] = stringify(contentType); - -Future httpResponse = - process::http::post( - slave.get()->pid, - "api/v1", - headers, - serialize(contentType, call), - stringify(contentType)); - -AWAIT_EXPECT_RESPONSE_STATUS_EQ(OK().status, httpResponse); - -Future responseMessage = - deserialize(contentType, httpResponse->body); - -AWAIT_READY(responseMessage); -ASSERT_TRUE(responseMessage->IsInitialized()); -ASSERT_EQ(v1::agent::Response::GET_AGENT, responseMessage->type()); -ASSERT_TRUE(responseMessage->get_agent().has_drain_config()); -EXPECT_EQ( -drainConfig, -devolve(responseMessage->get_agent().drain_config())); - } - - { -Future response = process::http::get( -slave.get()->pid, -"state", -None(), -createBasicAuthHeaders(DEFAULT_CREDENTIAL)); - -AWAIT_EXPECT_RESPONSE_STATUS_EQ(OK().status, response); -AWAIT_EXPECT_RESPONSE_HEADER_EQ(APPLICATION_JSON, "Content-Type", response); - -Try state = JSON::parse(response->body); - -ASSERT_SOME(state); - -EXPECT_EQ(JSON::protobuf(drainConfig), state->values["drain_config"]); - } -} - - // When an agent receives a `DrainSlaveMessag
[mesos] branch master updated: Added MESOS-10118 to the 1.9.1 CHANGELOG.
This is an automated email from the ASF dual-hosted git repository. grag pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/mesos.git The following commit(s) were added to refs/heads/master by this push: new 8682b5d Added MESOS-10118 to the 1.9.1 CHANGELOG. 8682b5d is described below commit 8682b5ddf8b773beffe8bf0428c9350d6ae59412 Author: Greg Mann AuthorDate: Wed May 6 18:07:36 2020 -0700 Added MESOS-10118 to the 1.9.1 CHANGELOG. --- CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG b/CHANGELOG index a115101..f43ab8d 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -22,6 +22,7 @@ Release Notes - Mesos - Version 1.9.1 (WIP) * [MESOS-10041] - Libprocess SSL verification can leak memory. * [MESOS-10094] - Master's agent draining VLOG prints incorrect task counts. * [MESOS-10096] - Reactivating a draining agent leaves the agent in draining state. + * [MESOS-10118] - Agent incorrectly handles draining when empty. ** Improvement * [MESOS-9889] - Master CPU high due to unexpected foreachkey behaviour in Master::__reregisterSlave.
[mesos] branch 1.9.x updated: Added MESOS-10118 to the 1.9.1 CHANGELOG.
This is an automated email from the ASF dual-hosted git repository. grag pushed a commit to branch 1.9.x in repository https://gitbox.apache.org/repos/asf/mesos.git The following commit(s) were added to refs/heads/1.9.x by this push: new 30b7aae Added MESOS-10118 to the 1.9.1 CHANGELOG. 30b7aae is described below commit 30b7aae987c3534af87453e884e1a87841f3a72c Author: Greg Mann AuthorDate: Wed May 6 18:07:36 2020 -0700 Added MESOS-10118 to the 1.9.1 CHANGELOG. --- CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG b/CHANGELOG index d07f6ce..59ccef6 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -14,6 +14,7 @@ Release Notes - Mesos - Version 1.9.1 (WIP) * [MESOS-10041] - Libprocess SSL verification can leak memory. * [MESOS-10094] - Master's agent draining VLOG prints incorrect task counts. * [MESOS-10096] - Reactivating a draining agent leaves the agent in draining state. + * [MESOS-10118] - Agent incorrectly handles draining when empty. ** Improvement * [MESOS-9889] - Master CPU high due to unexpected foreachkey behaviour in Master::__reregisterSlave.