Repository: aurora Updated Branches: refs/heads/master 692b5d147 -> d64e179ed
Change the UI to refer to Mesos Agents instead of Mesos Slaves. This change also moves the /slaves endpoint to /agents and adds a compatibility redirect. Bugs closed: AURORA-1449, AURORA-1450 Reviewed at https://reviews.apache.org/r/48216/ Project: http://git-wip-us.apache.org/repos/asf/aurora/repo Commit: http://git-wip-us.apache.org/repos/asf/aurora/commit/d64e179e Tree: http://git-wip-us.apache.org/repos/asf/aurora/tree/d64e179e Diff: http://git-wip-us.apache.org/repos/asf/aurora/diff/d64e179e Branch: refs/heads/master Commit: d64e179edb23c4ebcc8052f546b129b1cd04df14 Parents: 692b5d1 Author: Stephan Erb <[email protected]> Authored: Sat Jun 4 19:25:40 2016 +0200 Committer: Stephan Erb <[email protected]> Committed: Sat Jun 4 19:25:40 2016 +0200 ---------------------------------------------------------------------- RELEASE-NOTES.md | 1 + config/legacy_untested_classes.txt | 10 +- .../apache/aurora/scheduler/http/Agents.java | 118 ++++++++++++++++++ .../scheduler/http/JettyServerModule.java | 4 +- .../apache/aurora/scheduler/http/Slaves.java | 121 ------------------- .../mesos/CommandLineDriverSettingsModule.java | 2 +- .../scheduler/mesos/MesosSchedulerImpl.java | 2 +- .../scheduler/scheduling/SchedulingModule.java | 2 +- .../aurora/scheduler/state/TaskAssigner.java | 4 +- .../scheduler/storage/log/LogStorage.java | 2 +- src/main/python/apache/aurora/client/base.py | 2 +- .../executor/bin/thermos_executor_main.py | 4 +- .../org/apache/aurora/scheduler/http/agents.st | 40 ++++++ .../org/apache/aurora/scheduler/http/slaves.st | 40 ------ .../apache/aurora/scheduler/http/utilization.st | 2 +- src/main/resources/scheduler/assets/index.html | 2 +- .../resources/scheduler/assets/js/filters.js | 4 +- 17 files changed, 178 insertions(+), 182 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/aurora/blob/d64e179e/RELEASE-NOTES.md ---------------------------------------------------------------------- diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index 21a141f..7d47cf6 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -54,6 +54,7 @@ setting it directly to the appropriate (i.e. `Docker` or `Mesos`) container type. - Deprecated `numCpus`, `ramMb` and `diskMb` fields in `TaskConfig` and `ResourceAggregate` thrift structs. Use `set<Resource> resources` to specify task resources or quota values. +- The endpoint `/slaves` is deprecated. Please use `/agents` instead. 0.13.0 ------ http://git-wip-us.apache.org/repos/asf/aurora/blob/d64e179e/config/legacy_untested_classes.txt ---------------------------------------------------------------------- diff --git a/config/legacy_untested_classes.txt b/config/legacy_untested_classes.txt index 10e8b77..1ea2183 100644 --- a/config/legacy_untested_classes.txt +++ b/config/legacy_untested_classes.txt @@ -15,6 +15,9 @@ org/apache/aurora/scheduler/base/Conversions$3 org/apache/aurora/scheduler/configuration/executor/ExecutorModule$1 org/apache/aurora/scheduler/cron/quartz/CronSchedulerImpl org/apache/aurora/scheduler/cron/quartz/CronSchedulerImpl$1 +org/apache/aurora/scheduler/http/Agents +org/apache/aurora/scheduler/http/Agents$1 +org/apache/aurora/scheduler/http/Agents$Agent org/apache/aurora/scheduler/discovery/FlaggedZooKeeperConfig org/apache/aurora/scheduler/discovery/ServiceDiscoveryModule$TestServerService org/apache/aurora/scheduler/discovery/ServiceDiscoveryModule$LocalZooKeeperClusterProvider @@ -34,13 +37,6 @@ org/apache/aurora/scheduler/http/Quotas org/apache/aurora/scheduler/http/Quotas$1 org/apache/aurora/scheduler/http/Quotas$2 org/apache/aurora/scheduler/http/Quotas$ResourceAggregateBean -org/apache/aurora/scheduler/http/Slaves -org/apache/aurora/scheduler/http/Slaves$1 -org/apache/aurora/scheduler/http/Slaves$2 -org/apache/aurora/scheduler/http/Slaves$3 -org/apache/aurora/scheduler/http/Slaves$4 -org/apache/aurora/scheduler/http/Slaves$Slave -org/apache/aurora/scheduler/http/Slaves$Slave$1 org/apache/aurora/scheduler/http/StructDump org/apache/aurora/scheduler/http/StructDump$1 org/apache/aurora/scheduler/http/StructDump$2 http://git-wip-us.apache.org/repos/asf/aurora/blob/d64e179e/src/main/java/org/apache/aurora/scheduler/http/Agents.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/http/Agents.java b/src/main/java/org/apache/aurora/scheduler/http/Agents.java new file mode 100644 index 0000000..88162c5 --- /dev/null +++ b/src/main/java/org/apache/aurora/scheduler/http/Agents.java @@ -0,0 +1,118 @@ +/** + * Licensed 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. + */ +package org.apache.aurora.scheduler.http; + +import javax.inject.Inject; +import javax.ws.rs.GET; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; + +import com.google.common.base.Function; +import com.google.common.base.Joiner; +import com.google.common.collect.FluentIterable; +import com.google.common.collect.Iterables; +import com.google.common.collect.Ordering; + +import org.apache.aurora.gen.MaintenanceMode; +import org.apache.aurora.scheduler.storage.Storage; +import org.apache.aurora.scheduler.storage.entities.IAttribute; +import org.apache.aurora.scheduler.storage.entities.IHostAttributes; +import org.apache.aurora.scheduler.storage.entities.IServerInfo; + +import static java.util.Objects.requireNonNull; + +import static org.apache.aurora.common.base.MorePreconditions.checkNotBlank; + +/** + * HTTP interface to serve as a HUD for the Mesos agents tracked in the scheduler. + */ +@Path("/agents") +public class Agents extends JerseyTemplateServlet { + private final String clusterName; + private final Storage storage; + + /** + * Injected constructor. + * + * @param serverInfo server meta-data that contains the cluster name + * @param storage store to fetch the host attributes from + */ + @Inject + public Agents(IServerInfo serverInfo, Storage storage) { + super("agents"); + this.clusterName = checkNotBlank(serverInfo.getClusterName()); + this.storage = requireNonNull(storage); + } + + private Iterable<IHostAttributes> getHostAttributes() { + return storage.read(storeProvider -> storeProvider.getAttributeStore().getHostAttributes()); + } + + /** + * Fetches the listing of known agents. + * + * @return HTTP response. + */ + @GET + @Produces(MediaType.TEXT_HTML) + public Response get() { + return fillTemplate(template -> { + template.setAttribute("cluster_name", clusterName); + + template.setAttribute("agents", + FluentIterable.from(getHostAttributes()).transform(Agent::new).toList()); + }); + } + + private static final Ordering<IAttribute> ATTR_ORDER = Ordering.natural().onResultOf( + new Function<IAttribute, String>() { + @Override + public String apply(IAttribute attr) { + return attr .getName(); + } + }); + + /** + * Template object to represent a agent. + */ + private static class Agent { + private final IHostAttributes attributes; + + Agent(IHostAttributes attributes) { + this.attributes = attributes; + } + + public String getHost() { + return attributes.getHost(); + } + + public String getId() { + return attributes.getSlaveId(); + } + + public MaintenanceMode getMode() { + return attributes.getMode(); + } + + private static final Function<IAttribute, String> ATTR_TO_STRING = + attr -> attr.getName() + "=[" + Joiner.on(",").join(attr.getValues()) + "]"; + + public String getAttributes() { + return Joiner.on(", ").join( + Iterables.transform(ATTR_ORDER.sortedCopy(attributes.getAttributes()), ATTR_TO_STRING)); + } + } +} http://git-wip-us.apache.org/repos/asf/aurora/blob/d64e179e/src/main/java/org/apache/aurora/scheduler/http/JettyServerModule.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/http/JettyServerModule.java b/src/main/java/org/apache/aurora/scheduler/http/JettyServerModule.java index 4faf53f..1f8dd57 100644 --- a/src/main/java/org/apache/aurora/scheduler/http/JettyServerModule.java +++ b/src/main/java/org/apache/aurora/scheduler/http/JettyServerModule.java @@ -203,6 +203,7 @@ public class JettyServerModule extends AbstractModule { }; private static final Set<String> LEADER_ENDPOINTS = ImmutableSet.of( + "agents", "api", "cron", "locks", @@ -218,6 +219,7 @@ public class JettyServerModule extends AbstractModule { private static final Multimap<Class<?>, String> JAX_RS_ENDPOINTS = ImmutableMultimap.<Class<?>, String>builder() .put(AbortHandler.class, "abortabortabort") + .put(Agents.class, "agents") .put(ContentionPrinter.class, "contention") .put(Cron.class, "cron") .put(HealthHandler.class, "health") @@ -230,7 +232,6 @@ public class JettyServerModule extends AbstractModule { .put(QuitHandler.class, "quitquitquit") .put(Quotas.class, "quotas") .put(Services.class, "services") - .put(Slaves.class, "slaves") .put(StructDump.class, "structdump") .put(ThreadStackPrinter.class, "threads") .put(TimeSeriesDataSource.class, "graphdata") @@ -326,6 +327,7 @@ public class JettyServerModule extends AbstractModule { .put("/graphview(?:/index.html)?", "/assets/graphview/graphview.html") .put("/graphview/(.*)", "/assets/graphview/$1") .put("/(?:scheduler|updates)(?:/.*)?", "/assets/scheduler/index.html") + .put("/slaves", "/agents") .build(); private static Handler getRewriteHandler(Handler wrapped) { http://git-wip-us.apache.org/repos/asf/aurora/blob/d64e179e/src/main/java/org/apache/aurora/scheduler/http/Slaves.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/http/Slaves.java b/src/main/java/org/apache/aurora/scheduler/http/Slaves.java deleted file mode 100644 index f63fb7b..0000000 --- a/src/main/java/org/apache/aurora/scheduler/http/Slaves.java +++ /dev/null @@ -1,121 +0,0 @@ -/** - * Licensed 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. - */ -package org.apache.aurora.scheduler.http; - -import javax.inject.Inject; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; - -import com.google.common.base.Function; -import com.google.common.base.Joiner; -import com.google.common.collect.FluentIterable; -import com.google.common.collect.Iterables; -import com.google.common.collect.Ordering; - -import org.apache.aurora.gen.MaintenanceMode; -import org.apache.aurora.scheduler.storage.Storage; -import org.apache.aurora.scheduler.storage.entities.IAttribute; -import org.apache.aurora.scheduler.storage.entities.IHostAttributes; -import org.apache.aurora.scheduler.storage.entities.IServerInfo; - -import static java.util.Objects.requireNonNull; - -import static org.apache.aurora.common.base.MorePreconditions.checkNotBlank; - -/** - * HTTP interface to serve as a HUD for the mesos slaves tracked in the scheduler. - */ -@Path("/slaves") -public class Slaves extends JerseyTemplateServlet { - private final String clusterName; - private final Storage storage; - - /** - * Injected constructor. - * - * @param serverInfo server meta-data that contains the cluster name - * @param storage store to fetch the host attributes from - */ - @Inject - public Slaves(IServerInfo serverInfo, Storage storage) { - super("slaves"); - this.clusterName = checkNotBlank(serverInfo.getClusterName()); - this.storage = requireNonNull(storage); - } - - private Iterable<IHostAttributes> getHostAttributes() { - return storage.read(storeProvider -> storeProvider.getAttributeStore().getHostAttributes()); - } - - private static final Function<IHostAttributes, Slave> TO_SLAVE = - Slave::new; - - /** - * Fetches the listing of known slaves. - * - * @return HTTP response. - */ - @GET - @Produces(MediaType.TEXT_HTML) - public Response get() { - return fillTemplate(template -> { - template.setAttribute("cluster_name", clusterName); - - template.setAttribute("slaves", - FluentIterable.from(getHostAttributes()).transform(TO_SLAVE).toList()); - }); - } - - private static final Ordering<IAttribute> ATTR_ORDER = Ordering.natural().onResultOf( - new Function<IAttribute, String>() { - @Override - public String apply(IAttribute attr) { - return attr .getName(); - } - }); - - /** - * Template object to represent a slave. - */ - private static class Slave { - private final IHostAttributes attributes; - - Slave(IHostAttributes attributes) { - this.attributes = attributes; - } - - public String getHost() { - return attributes.getHost(); - } - - public String getId() { - return attributes.getSlaveId(); - } - - public MaintenanceMode getMode() { - return attributes.getMode(); - } - - private static final Function<IAttribute, String> ATTR_TO_STRING = - attr -> attr.getName() + "=[" + Joiner.on(",").join(attr.getValues()) + "]"; - - public String getAttributes() { - return Joiner.on(", ").join( - Iterables.transform(ATTR_ORDER.sortedCopy(attributes.getAttributes()), ATTR_TO_STRING)); - } - } -} http://git-wip-us.apache.org/repos/asf/aurora/blob/d64e179e/src/main/java/org/apache/aurora/scheduler/mesos/CommandLineDriverSettingsModule.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/mesos/CommandLineDriverSettingsModule.java b/src/main/java/org/apache/aurora/scheduler/mesos/CommandLineDriverSettingsModule.java index 93bc672..e137daa 100644 --- a/src/main/java/org/apache/aurora/scheduler/mesos/CommandLineDriverSettingsModule.java +++ b/src/main/java/org/apache/aurora/scheduler/mesos/CommandLineDriverSettingsModule.java @@ -87,7 +87,7 @@ public class CommandLineDriverSettingsModule extends AbstractModule { + "\"--no-root_submissions\". If set to anything other than \"root\", the executor " + "will ignore the \"role\" setting for jobs since it can't use setuid() anymore. " + "This means that all your jobs will run under the specified user and the user has " - + "to exist on the mesos slaves.") + + "to exist on the Mesos agents.") private static final Arg<String> EXECUTOR_USER = Arg.create("root"); @CmdLine(name = "receive_revocable_resources", http://git-wip-us.apache.org/repos/asf/aurora/blob/d64e179e/src/main/java/org/apache/aurora/scheduler/mesos/MesosSchedulerImpl.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/mesos/MesosSchedulerImpl.java b/src/main/java/org/apache/aurora/scheduler/mesos/MesosSchedulerImpl.java index 85ca0ea..433fc90 100644 --- a/src/main/java/org/apache/aurora/scheduler/mesos/MesosSchedulerImpl.java +++ b/src/main/java/org/apache/aurora/scheduler/mesos/MesosSchedulerImpl.java @@ -139,7 +139,7 @@ public class MesosSchedulerImpl implements Scheduler { @Override public void slaveLost(SchedulerDriver schedulerDriver, SlaveID slaveId) { - log.info("Received notification of lost slave: " + slaveId); + log.info("Received notification of lost agent: " + slaveId); } @Override http://git-wip-us.apache.org/repos/asf/aurora/blob/d64e179e/src/main/java/org/apache/aurora/scheduler/scheduling/SchedulingModule.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/scheduling/SchedulingModule.java b/src/main/java/org/apache/aurora/scheduler/scheduling/SchedulingModule.java index 577edcb..11e8033 100644 --- a/src/main/java/org/apache/aurora/scheduler/scheduling/SchedulingModule.java +++ b/src/main/java/org/apache/aurora/scheduler/scheduling/SchedulingModule.java @@ -78,7 +78,7 @@ public class SchedulingModule extends AbstractModule { private static final Arg<Amount<Long, Time>> MAX_SCHEDULE_PENALTY = Arg.create(Amount.of(1L, Time.MINUTES)); - @CmdLine(name = "offer_reservation_duration", help = "Time to reserve a slave's offers while " + @CmdLine(name = "offer_reservation_duration", help = "Time to reserve a agent's offers while " + "trying to satisfy a task preempting another.") private static final Arg<Amount<Long, Time>> RESERVATION_DURATION = Arg.create(Amount.of(3L, Time.MINUTES)); http://git-wip-us.apache.org/repos/asf/aurora/blob/d64e179e/src/main/java/org/apache/aurora/scheduler/state/TaskAssigner.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/state/TaskAssigner.java b/src/main/java/org/apache/aurora/scheduler/state/TaskAssigner.java index 5be3981..7f7b435 100644 --- a/src/main/java/org/apache/aurora/scheduler/state/TaskAssigner.java +++ b/src/main/java/org/apache/aurora/scheduler/state/TaskAssigner.java @@ -125,7 +125,7 @@ public interface TaskAssigner { offer.getSlaveId(), task -> mapAndAssignResources(offer, task)); LOG.info( - "Offer on slave {} (id {}) is being assigned task for {}.", + "Offer on agent {} (id {}) is being assigned task for {}.", host, offer.getSlaveId().getValue(), taskId); return taskFactory.createFrom(assigned, offer); } @@ -185,7 +185,7 @@ public interface TaskAssigner { offerManager.banOffer(offer.getOffer().getId(), groupKey); } - LOG.debug("Slave " + offer.getOffer().getHostname() + LOG.debug("Agent " + offer.getOffer().getHostname() + " vetoed task " + taskId + ": " + vetoes); } } http://git-wip-us.apache.org/repos/asf/aurora/blob/d64e179e/src/main/java/org/apache/aurora/scheduler/storage/log/LogStorage.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/storage/log/LogStorage.java b/src/main/java/org/apache/aurora/scheduler/storage/log/LogStorage.java index 1ddc117..c981a05 100644 --- a/src/main/java/org/apache/aurora/scheduler/storage/log/LogStorage.java +++ b/src/main/java/org/apache/aurora/scheduler/storage/log/LogStorage.java @@ -360,7 +360,7 @@ public class LogStorage implements NonVolatileStorage, DistributedSnapshotStore if (attributes.isSetSlaveId()) { writeBehindAttributeStore.saveHostAttributes(IHostAttributes.build(attributes)); } else { - LOG.info("Dropping host attributes with no slave ID: " + attributes); + LOG.info("Dropping host attributes with no agent ID: " + attributes); } }) .put( http://git-wip-us.apache.org/repos/asf/aurora/blob/d64e179e/src/main/python/apache/aurora/client/base.py ---------------------------------------------------------------------- diff --git a/src/main/python/apache/aurora/client/base.py b/src/main/python/apache/aurora/client/base.py index 901335b..73953b6 100644 --- a/src/main/python/apache/aurora/client/base.py +++ b/src/main/python/apache/aurora/client/base.py @@ -122,7 +122,7 @@ def group_hosts(hostnames, grouping_function=DEFAULT_GROUPING): rack of hosts at a time. :param hostnames: Hostnames to break into groups - :type hostnames: list of host names, must match the host names that slaves are registered with + :type hostnames: list of host names, must match the host names that agents are registered with :param grouping_function: Key within GROUPING_FUNCTIONS to partition hosts into desired batches :type grouping_function: string :rtype: dictionary of batches http://git-wip-us.apache.org/repos/asf/aurora/blob/d64e179e/src/main/python/apache/aurora/executor/bin/thermos_executor_main.py ---------------------------------------------------------------------- diff --git a/src/main/python/apache/aurora/executor/bin/thermos_executor_main.py b/src/main/python/apache/aurora/executor/bin/thermos_executor_main.py index b2cc78d..203fc47 100644 --- a/src/main/python/apache/aurora/executor/bin/thermos_executor_main.py +++ b/src/main/python/apache/aurora/executor/bin/thermos_executor_main.py @@ -15,7 +15,7 @@ """Command-line entry point to the Thermos Executor This module wraps the Thermos Executor into an executable suitable for launching by a Mesos -slave. +agent. """ @@ -88,7 +88,7 @@ app.add_option( type=str, default=None, help='Set hostname to be announced. By default it is' - 'the --hostname argument passed into the mesos slave' + 'the --hostname argument passed into the Mesos agent.' ) app.add_option( http://git-wip-us.apache.org/repos/asf/aurora/blob/d64e179e/src/main/resources/org/apache/aurora/scheduler/http/agents.st ---------------------------------------------------------------------- diff --git a/src/main/resources/org/apache/aurora/scheduler/http/agents.st b/src/main/resources/org/apache/aurora/scheduler/http/agents.st new file mode 100644 index 0000000..2f882ec --- /dev/null +++ b/src/main/resources/org/apache/aurora/scheduler/http/agents.st @@ -0,0 +1,40 @@ +<!-- + Licensed 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. + --> + <html> + <head> + <title>Aurora $cluster_name$ agents</title> + <link href="/assets/bower_components/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet" /> + </head> + <body> + <h2>Agent Hosts</h2> + <table class="table table-striped table-condensed table-hover"> + <thead> + <th>Host + <th>Agent ID + <th>Maintenance mode + <th>Attributes + </thead> + <tbody> + $agents:{ agent | + <tr> + <td><a href="http://$agent.host$:1338">$agent.host$</a> + <td>$agent.id$ + <td>$agent.mode$ + <td>$agent.attributes$ + </tr> + }$ + </tbody> + </table> + </body> +</html> http://git-wip-us.apache.org/repos/asf/aurora/blob/d64e179e/src/main/resources/org/apache/aurora/scheduler/http/slaves.st ---------------------------------------------------------------------- diff --git a/src/main/resources/org/apache/aurora/scheduler/http/slaves.st b/src/main/resources/org/apache/aurora/scheduler/http/slaves.st deleted file mode 100644 index 009e5af..0000000 --- a/src/main/resources/org/apache/aurora/scheduler/http/slaves.st +++ /dev/null @@ -1,40 +0,0 @@ -<!-- - Licensed 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. - --> - <html> - <head> - <title>Aurora $cluster_name$ slaves</title> - <link href="/assets/bower_components/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet" /> - </head> - <body> - <h2>Slave Hosts</h2> - <table class="table table-striped table-condensed table-hover"> - <thead> - <th>Host - <th>Slave ID - <th>Maintenance mode - <th>Attributes - </thead> - <tbody> - $slaves:{ slave | - <tr> - <td><a href="http://$slave.host$:1338">$slave.host$</a> - <td>$slave.id$ - <td>$slave.mode$ - <td>$slave.attributes$ - </tr> - }$ - </tbody> - </table> - </body> -</html> http://git-wip-us.apache.org/repos/asf/aurora/blob/d64e179e/src/main/resources/org/apache/aurora/scheduler/http/utilization.st ---------------------------------------------------------------------- diff --git a/src/main/resources/org/apache/aurora/scheduler/http/utilization.st b/src/main/resources/org/apache/aurora/scheduler/http/utilization.st index ae497a7..acb8f46 100644 --- a/src/main/resources/org/apache/aurora/scheduler/http/utilization.st +++ b/src/main/resources/org/apache/aurora/scheduler/http/utilization.st @@ -13,7 +13,7 @@ --> <html> <head> - <title>Aurora $cluster_name$ slaves</title> + <title>Aurora $cluster_name$ utilization</title> <link href="/assets/bower_components/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet" /> </head> <body> http://git-wip-us.apache.org/repos/asf/aurora/blob/d64e179e/src/main/resources/scheduler/assets/index.html ---------------------------------------------------------------------- diff --git a/src/main/resources/scheduler/assets/index.html b/src/main/resources/scheduler/assets/index.html index 5679b19..773536f 100644 --- a/src/main/resources/scheduler/assets/index.html +++ b/src/main/resources/scheduler/assets/index.html @@ -58,12 +58,12 @@ <h4>Cluster Overview</h4> <ul class="list-unstyled group-summary" > + <li><a href='/agents'>/agents</a></li> <li><a href='/cron'>/cron</a></li> <li><a href='/maintenance'>/maintenance</a></li> <li><a href='/offers'>/offers</a></li> <li><a href='/pendingtasks'>/pendingtasks</a></li> <li><a href='/quotas'>/quotas</a></li> - <li><a href='/slaves'>/slaves</a></li> <li><a href='/utilization'>/utilization</a></li> </ul> http://git-wip-us.apache.org/repos/asf/aurora/blob/d64e179e/src/main/resources/scheduler/assets/js/filters.js ---------------------------------------------------------------------- diff --git a/src/main/resources/scheduler/assets/js/filters.js b/src/main/resources/scheduler/assets/js/filters.js index ec35d81..d372269 100644 --- a/src/main/resources/scheduler/assets/js/filters.js +++ b/src/main/resources/scheduler/assets/js/filters.js @@ -24,7 +24,7 @@ 'frequently.', ASSIGNED: 'The scheduler has selected a machine to run the task and is instructing the ' + - 'slave to launch it.', + 'agent to launch it.', STARTING: 'The executor is preparing to launch the task.', RUNNING: 'The user process(es) are running.', @@ -33,7 +33,7 @@ KILLED: 'A user or cron invocation terminated the task.', PREEMPTING: 'This task is being killed to make resources available for a production task.', KILLING: 'A user request or cron invocation has requested the task be killed.', - LOST: 'The task cannot be accounted for, usually a result of slave process or machine ' + + LOST: 'The task cannot be accounted for, usually a result of agent process or machine ' + 'failure.', DRAINING: 'The task is being restarted since the host is undergoing scheduled maintenance.' };
