This is an automated email from the ASF dual-hosted git repository.
git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/mesos-site.git
The following commit(s) were added to refs/heads/asf-site by this push:
new f4ada43 Updated the website built from mesos SHA: ab272be96.
f4ada43 is described below
commit f4ada433cd0262f882136ae5e0078646c4548cd3
Author: jenkins <[email protected]>
AuthorDate: Thu Nov 5 13:27:15 2020 +0000
Updated the website built from mesos SHA: ab272be96.
---
.../app-framework-development-guide/index.html | 6 +++
.../app-framework-development-guide/index.html | 6 +++
.../latest/scheduler-http-api/index.html | 61 ++++++++++++++++++----
.../documentation/scheduler-http-api/index.html | 61 ++++++++++++++++++----
4 files changed, 116 insertions(+), 18 deletions(-)
diff --git a/content/documentation/app-framework-development-guide/index.html
b/content/documentation/app-framework-development-guide/index.html
index 11af70a..333830b 100644
--- a/content/documentation/app-framework-development-guide/index.html
+++ b/content/documentation/app-framework-development-guide/index.html
@@ -170,6 +170,12 @@ each of the scheduler’s roles. Keeping the
<code>FrameworkInfo.offer_filte
up-to-date with the minimum desired offer shape for each role will ensure that
the sccheduler gets a better chance to receive offers sized with sufficient
resources.</li>
+<li>Consider specifying <strong>offer constraints</strong> via
<code>SUBSCRIBE</code>/<code>UPDATE_FRAMEWORK</code>
+calls so that the framework role’s quota is not consumed by offers that
the
+scheduler will have to decline anyway based on agent attributes.
+See <a
href="https://issues.apache.org/jira/browse/MESOS-10161]">MESOS-10161</a>
+and <a
href="https://github.com/apache/mesos/blob/master/include/mesos/v1/scheduler/scheduler.proto">scheduler.proto</a>
+for more details.</li>
</ol>
diff --git
a/content/documentation/latest/app-framework-development-guide/index.html
b/content/documentation/latest/app-framework-development-guide/index.html
index 24ce26c..09dc00e 100644
--- a/content/documentation/latest/app-framework-development-guide/index.html
+++ b/content/documentation/latest/app-framework-development-guide/index.html
@@ -170,6 +170,12 @@ each of the scheduler’s roles. Keeping the
<code>FrameworkInfo.offer_filte
up-to-date with the minimum desired offer shape for each role will ensure that
the sccheduler gets a better chance to receive offers sized with sufficient
resources.</li>
+<li>Consider specifying <strong>offer constraints</strong> via
<code>SUBSCRIBE</code>/<code>UPDATE_FRAMEWORK</code>
+calls so that the framework role’s quota is not consumed by offers that
the
+scheduler will have to decline anyway based on agent attributes.
+See <a
href="https://issues.apache.org/jira/browse/MESOS-10161]">MESOS-10161</a>
+and <a
href="https://github.com/apache/mesos/blob/master/include/mesos/v1/scheduler/scheduler.proto">scheduler.proto</a>
+for more details.</li>
</ol>
diff --git a/content/documentation/latest/scheduler-http-api/index.html
b/content/documentation/latest/scheduler-http-api/index.html
index dd09642..1a8c3f5 100644
--- a/content/documentation/latest/scheduler-http-api/index.html
+++ b/content/documentation/latest/scheduler-http-api/index.html
@@ -159,7 +159,9 @@ considered stable and is the recommended way to develop new
Mesos schedulers.</p
<p>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.</p>
-<p>To subscribe with the master, the scheduler sends an HTTP POST with a
<code>SUBSCRIBE</code> 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 <code>SUPPRESS</code> 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 resp [...]
+<p>To subscribe with the master, the scheduler sends an HTTP POST with a
<code>SUBSCRIBE</code> message including the required FrameworkInfo, the list
of initially suppressed roles and the initial offer constraints. The initially
suppressed roles, as well as roles for which offer constraints are specified,
must be contained in the set of roles in FrameworkInfo. Note that Mesos 1.11.0
simply ignores constraints for invalid roles, but this might change in the
future.</p>
+
+<p>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
<code>SUBSCRIBED</code> event or an <code>ERROR</code> event (see details in
<strong>Events</strong> section). The response also includes the
<code>Mesos-Stream-Id</code> header, which is used by the master [...]
<pre><code>SUBSCRIBE Request (JSON):
@@ -179,8 +181,20 @@ Connection: close
"roles": ["test1", "test2"],
"capabilities" : [{"type": "MULTI_ROLE"}]
},
- "suppressed_roles" : ["test2"]
- }
+ "suppressed_roles" : ["test2"],
+ "offer_constraints" : {
+ "role_constraints": {
+ "test1": {
+ "groups": [{
+ "attribute_constraints": [{
+ "selector": {"attribute_name": "foo"},
+ "predicate": {"exists": {}}
+ }]
+ }]
+ }
+ }
+ }
+ }
}
SUBSCRIBE Response Event (JSON):
@@ -206,10 +220,11 @@ with a <code>SUBSCRIBED</code> event. For further
details, see the <strong>Disco
<p>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 <strong>Master Detection</strong>
section), it’s not relevant anymore.</p>
-<p>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 <code>UPDATE_FRAMEWORK</code> call (see
below).</p>
+<p>NOTE: By providing a different FrameworkInfo and/or set of suppressed roles
+and/or offer constraints, a re-subscribing scheduler can change some of the
+fields of FrameworkInfo, the set of suppressed roles and/or offer constraints.
+Allowed changes and their effects are consistent with those that can be
+performed via <code>UPDATE_FRAMEWORK</code> call (see below).</p>
<p>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.</p>
@@ -602,8 +617,8 @@ HTTP/1.1 202 Accepted
<h3>UPDATE_FRAMEWORK</h3>
<p>Sent by the scheduler to change fields of its <code>FrameworkInfo</code>
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.</p>
+suppressed roles and/or offer constraints. Allowed changes and their effects
+are consistent with changing the same fields via re-subscribing.</p>
<h4>Disallowed updates</h4>
@@ -635,6 +650,22 @@ empty) subset of new framework roles.</p>
* Other framework objects that use roles removed by this call (for example,
tasks) are not affected.</p>
+<h4>Updating offer constraints</h4>
+
+<p>For the <code>UPDATE_FRAMEWORK</code> call to be successfull, the
<code>offer_constraints</code>
+field, if present, must be internally valid (for the constraints validity
+criteria, please refer to comments in
+<a
href="https://github.com/apache/mesos/blob/master/include/mesos/v1/scheduler/scheduler.proto">scheduler.proto</a>)</p>
+
+<p>As of 1.11.0, Mesos ignores offer constraints for roles other than valid
roles
+in <code>framework_info.roles</code>; future versions of Mesos are going to
treat such
+offer constraints as invalid.</p>
+
+<p>Updated offer constraints have an immediate effect on offer generation after
+update, but have no effect on already outstanding offers. Frameworks should not
+expect that offers they receive right after the <code>UPDATE_FRAMEWORK</code>
call
+will satisfy the new constraints.</p>
+
<h4>Updating other fields</h4>
<ul>
@@ -677,6 +708,18 @@ Connection: close
"capabilities" : [{"type": "MULTI_ROLE"}]
},
"suppressed_roles" : ["test2"]
+ "offer_constraints" : {
+ "role_constraints": {
+ "test1": {
+ "groups": [{
+ "attribute_constraints": [{
+ "selector": {"attribute_name": "foo"},
+ "predicate": {"exists": {}}
+ }]
+ }]
+ }
+ }
+ }
}
}
diff --git a/content/documentation/scheduler-http-api/index.html
b/content/documentation/scheduler-http-api/index.html
index b17073c..b4155fa 100644
--- a/content/documentation/scheduler-http-api/index.html
+++ b/content/documentation/scheduler-http-api/index.html
@@ -159,7 +159,9 @@ considered stable and is the recommended way to develop new
Mesos schedulers.</p
<p>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.</p>
-<p>To subscribe with the master, the scheduler sends an HTTP POST with a
<code>SUBSCRIBE</code> 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 <code>SUPPRESS</code> 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 resp [...]
+<p>To subscribe with the master, the scheduler sends an HTTP POST with a
<code>SUBSCRIBE</code> message including the required FrameworkInfo, the list
of initially suppressed roles and the initial offer constraints. The initially
suppressed roles, as well as roles for which offer constraints are specified,
must be contained in the set of roles in FrameworkInfo. Note that Mesos 1.11.0
simply ignores constraints for invalid roles, but this might change in the
future.</p>
+
+<p>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
<code>SUBSCRIBED</code> event or an <code>ERROR</code> event (see details in
<strong>Events</strong> section). The response also includes the
<code>Mesos-Stream-Id</code> header, which is used by the master [...]
<pre><code>SUBSCRIBE Request (JSON):
@@ -179,8 +181,20 @@ Connection: close
"roles": ["test1", "test2"],
"capabilities" : [{"type": "MULTI_ROLE"}]
},
- "suppressed_roles" : ["test2"]
- }
+ "suppressed_roles" : ["test2"],
+ "offer_constraints" : {
+ "role_constraints": {
+ "test1": {
+ "groups": [{
+ "attribute_constraints": [{
+ "selector": {"attribute_name": "foo"},
+ "predicate": {"exists": {}}
+ }]
+ }]
+ }
+ }
+ }
+ }
}
SUBSCRIBE Response Event (JSON):
@@ -206,10 +220,11 @@ with a <code>SUBSCRIBED</code> event. For further
details, see the <strong>Disco
<p>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 <strong>Master Detection</strong>
section), it’s not relevant anymore.</p>
-<p>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 <code>UPDATE_FRAMEWORK</code> call (see
below).</p>
+<p>NOTE: By providing a different FrameworkInfo and/or set of suppressed roles
+and/or offer constraints, a re-subscribing scheduler can change some of the
+fields of FrameworkInfo, the set of suppressed roles and/or offer constraints.
+Allowed changes and their effects are consistent with those that can be
+performed via <code>UPDATE_FRAMEWORK</code> call (see below).</p>
<p>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.</p>
@@ -602,8 +617,8 @@ HTTP/1.1 202 Accepted
<h3>UPDATE_FRAMEWORK</h3>
<p>Sent by the scheduler to change fields of its <code>FrameworkInfo</code>
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.</p>
+suppressed roles and/or offer constraints. Allowed changes and their effects
+are consistent with changing the same fields via re-subscribing.</p>
<h4>Disallowed updates</h4>
@@ -635,6 +650,22 @@ empty) subset of new framework roles.</p>
* Other framework objects that use roles removed by this call (for example,
tasks) are not affected.</p>
+<h4>Updating offer constraints</h4>
+
+<p>For the <code>UPDATE_FRAMEWORK</code> call to be successfull, the
<code>offer_constraints</code>
+field, if present, must be internally valid (for the constraints validity
+criteria, please refer to comments in
+<a
href="https://github.com/apache/mesos/blob/master/include/mesos/v1/scheduler/scheduler.proto">scheduler.proto</a>)</p>
+
+<p>As of 1.11.0, Mesos ignores offer constraints for roles other than valid
roles
+in <code>framework_info.roles</code>; future versions of Mesos are going to
treat such
+offer constraints as invalid.</p>
+
+<p>Updated offer constraints have an immediate effect on offer generation after
+update, but have no effect on already outstanding offers. Frameworks should not
+expect that offers they receive right after the <code>UPDATE_FRAMEWORK</code>
call
+will satisfy the new constraints.</p>
+
<h4>Updating other fields</h4>
<ul>
@@ -677,6 +708,18 @@ Connection: close
"capabilities" : [{"type": "MULTI_ROLE"}]
},
"suppressed_roles" : ["test2"]
+ "offer_constraints" : {
+ "role_constraints": {
+ "test1": {
+ "groups": [{
+ "attribute_constraints": [{
+ "selector": {"attribute_name": "foo"},
+ "predicate": {"exists": {}}
+ }]
+ }]
+ }
+ }
+ }
}
}