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 2018/04/11 22:37:19 UTC
[07/22] mesos git commit: Restructured Web UI.
http://git-wip-us.apache.org/repos/asf/mesos/blob/c7685917/src/webui/master/static/fonts/glyphicons-halflings-regular.woff
----------------------------------------------------------------------
diff --git a/src/webui/master/static/fonts/glyphicons-halflings-regular.woff b/src/webui/master/static/fonts/glyphicons-halflings-regular.woff
deleted file mode 100644
index 9e61285..0000000
Binary files a/src/webui/master/static/fonts/glyphicons-halflings-regular.woff and /dev/null differ
http://git-wip-us.apache.org/repos/asf/mesos/blob/c7685917/src/webui/master/static/fonts/glyphicons-halflings-regular.woff2
----------------------------------------------------------------------
diff --git a/src/webui/master/static/fonts/glyphicons-halflings-regular.woff2 b/src/webui/master/static/fonts/glyphicons-halflings-regular.woff2
deleted file mode 100644
index 64539b5..0000000
Binary files a/src/webui/master/static/fonts/glyphicons-halflings-regular.woff2 and /dev/null differ
http://git-wip-us.apache.org/repos/asf/mesos/blob/c7685917/src/webui/master/static/framework.html
----------------------------------------------------------------------
diff --git a/src/webui/master/static/framework.html b/src/webui/master/static/framework.html
deleted file mode 100644
index 82f6b27..0000000
--- a/src/webui/master/static/framework.html
+++ /dev/null
@@ -1,261 +0,0 @@
-<ol class="breadcrumb">
- <li>
- <a class="badge badge-type" href="#">Master</a>
- </li>
- <li class="active">
- <span class="badge badge-type">Framework</span>
- {{framework.id}}
- </li>
-</ol>
-
-<div class="alert alert-error hidden" id="alert">
- <button class="close" data-dismiss="alert">×</button>
- <strong>{{alert_message}}</strong>
-</div>
-
-<div class="row" id="framework">
- <div class="col-md-3">
- <div class="well">
- <dl class="inline clearfix">
- <dt>Name:</dt>
- <dd>{{framework.name}}</dd>
- <dt ng-show="framework.webui_url">Web UI:</dt>
- <dd ng-show="framework.webui_url"><a href="{{framework.webui_url}}">{{framework.webui_url}}</a></dd>
- <dt>User:</dt>
- <dd>{{framework.user}}</dd>
- <!-- TODO(bmahler): Consider having a break between each role
- in order to increase readability. Also, this doesn't
- display well when there are a lot of roles (e.g. a large
- organization with a lot of teams & services, using roles
- like /engineering/frontend/webserver, etc). -->
- <dt>Roles:</dt>
- <dd>{{framework.roles.toString()}}</dd>
- <dt>Principal:</dt>
- <dd>{{framework.principal}}</dd>
- <dt>Registered:</dt>
- <dd>
- <m-timestamp value="{{framework.registered_time * 1000}}"></m-timestamp>
- </dd>
- <dt>Re-registered:</dt>
- <dd ng-if="!framework.reregistered_time">-</dd>
- <dd ng-if="framework.reregistered_time">
- <m-timestamp value="{{framework.reregistered_time * 1000}}"></m-timestamp>
- </dd>
- <dt>Active tasks:</dt>
- <dd>{{framework.tasks.length | number}}</dd>
- </dl>
-
- <h4>Tasks</h4>
- <table class="table table-condensed">
- <tbody>
- <tr>
- <td>Staging</td>
- <td class="text-right">{{framework.staging_tasks | number}}</td>
- </tr>
- <tr>
- <td>Starting</td>
- <td class="text-right">{{framework.starting_tasks | number}}</td>
- </tr>
- <tr>
- <td>Running</td>
- <td class="text-right">{{framework.running_tasks | number}}</td>
- </tr>
- <tr>
- <td>Unreachable</td>
- <td class="text-right">{{framework.unreachable_tasks.length | number}}</td>
- </tr>
- <tr>
- <td>Killing</td>
- <td class="text-right">{{framework.killing_tasks | number}}</td>
- </tr>
- <tr>
- <td>Finished</td>
- <td class="text-right">{{framework.finished_tasks | number}}</td>
- </tr>
- <tr>
- <td>Killed</td>
- <td class="text-right">{{framework.killed_tasks | number}}</td>
- </tr>
- <tr>
- <td>Failed</td>
- <td class="text-right">{{framework.failed_tasks | number}}</td>
- </tr>
- <tr>
- <td>Lost</td>
- <td class="text-right">{{framework.lost_tasks | number}}</td>
- </tr>
- </tbody>
- </table>
-
- <h4>Resources</h4>
- <table class="table table-condensed">
- <thead>
- <tr>
- <td></td>
- <td class="text-right">Allocated</td>
- <td class="text-right">Offered</td>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>CPUs</td>
- <td class="text-right">
- {{framework.used_resources.cpus | number}}
- </td>
- <td class="text-right">
- {{framework.offered_resources.cpus | number}}
- </td>
- </tr>
- <tr>
- <td>GPUs</td>
- <td class="text-right">
- {{framework.used_resources.gpus | number}}
- </td>
- <td class="text-right">
- {{framework.offered_resources.gpus | number}}
- </td>
- </tr>
- <tr>
- <td>Memory</td>
- <td class="text-right">
- {{framework.used_resources.mem * (1024 * 1024) | dataSize}}
- </td>
- <td class="text-right">
- {{framework.offered_resources.mem * (1024 * 1024) | dataSize}}
- </td>
- </tr>
- <tr>
- <td>Disk</td>
- <td class="text-right">
- {{framework.used_resources.mem * (1024 * 1024) | dataSize}}
- </td>
- <td class="text-right">
- {{framework.offered_resources.mem * (1024 * 1024) | dataSize}}
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
-
- <div class="col-md-9">
- <table m-table table-content="framework.tasks" title="Active Tasks"
- class="table table-striped table-bordered table-condensed">
- <thead>
- <tr>
- <th data-key="id">ID</th>
- <th data-key="name">Name</th>
- <th data-key="role">Role</th>
- <th data-key="state">State</th>
- <th data-key="healthy">Health</th>
- <th data-key="start_time">Started</th>
- <th data-key="host">Host</th>
- <th></th>
- </tr>
- </thead>
- <tbody>
- <tr ng-repeat="task in $data">
- <td>
- <a href="#/agents/{{task.slave_id}}/frameworks/{{task.framework_id}}/executors/{{task.executor_id}}">
- {{task.id}}
- </a>
- </td>
- <td>{{task.name}}</td>
- <td>{{task.role}}</td>
- <td>{{task.state | truncateMesosState}}</td>
- <td class="task-{{task.healthy | taskHealth}}">{{task.healthy | taskHealth}}</td>
- <td>
- <m-timestamp value="{{task.start_time}}"></m-timestamp>
- </td>
- <td>
- <span data-ng-show="agents[task.slave_id]">
- {{agents[task.slave_id].hostname}}
- </span>
- <span class="text-muted" data-ng-show="!agents[task.slave_id]">
- Agent offline
- </span>
- </td>
- <td>
- <a data-ng-show="agents[task.slave_id]" href="#/agents/{{task.slave_id}}/frameworks/{{task.framework_id}}/executors/{{task.executor_id}}/tasks/{{task.id}}/browse">
- Sandbox
- </a>
- <span class="text-muted" data-ng-show="!agents[task.slave_id]">
- Agent offline
- </span>
- </td>
- </tr>
- </tbody>
- </table>
-
- <table m-table table-content="framework.unreachable_tasks" title="Unreachable Tasks"
- class="table table-striped table-bordered table-condensed">
- <thead>
- <tr>
- <th data-key="id">ID</th>
- <th data-key="name">Name</th>
- <th data-key="role">Role</th>
- <th data-key="start_time">Started</th>
- <th data-key="agent_id">Agent ID</th>
- </tr>
- </thead>
- <tbody>
- <tr ng-repeat="task in $data">
- <td>{{task.id}}</td>
- <td>{{task.name}}</td>
- <td>{{task.role}}</td>
- <td>
- <m-timestamp value="{{task.start_time}}"></m-timestamp>
- </td>
- <td>{{task.slave_id}}</td>
- </tr>
- </tbody>
- </table>
-
- <table m-table table-content="framework.completed_tasks" title="Completed Tasks"
- class="table table-striped table-bordered table-condensed">
- <thead>
- <tr>
- <th data-key="id">ID</th>
- <th data-key="name">Name</th>
- <th data-key="role">Role</th>
- <th data-key="state">State</th>
- <th data-key="start_time">Started</th>
- <th data-key="finish_time">Stopped</th>
- <th data-key="host">Host</th>
- <th></th>
- </tr>
- </thead>
- <tbody>
- <tr ng-repeat="task in $data">
- <td>{{task.id}}</td>
- <td>{{task.name}}</td>
- <td>{{task.role}}</td>
- <td>{{task.state | truncateMesosState}}</td>
- <td>
- <m-timestamp value="{{task.start_time}}"></m-timestamp>
- </td>
- <td>
- <m-timestamp value="{{task.finish_time}}"></m-timestamp>
- </td>
- <td>
- <a data-ng-show="agents[task.slave_id]"
- href="#/agents/{{task.slave_id}}/frameworks/{{task.framework_id}}/executors/{{task.executor_id}}">
- {{agents[task.slave_id].hostname}}
- </a>
- <span class="text-muted" data-ng-show="!agents[task.slave_id]">
- Agent offline
- </span>
- </td>
- <td>
- <a data-ng-show="agents[task.slave_id]" href="#/agents/{{task.slave_id}}/frameworks/{{task.framework_id}}/executors/{{task.executor_id}}/tasks/{{task.id}}/browse">
- Sandbox
- </a>
- <span class="text-muted" data-ng-show="!agents[task.slave_id]">
- Agent offline
- </span>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
-</div>
http://git-wip-us.apache.org/repos/asf/mesos/blob/c7685917/src/webui/master/static/frameworks.html
----------------------------------------------------------------------
diff --git a/src/webui/master/static/frameworks.html b/src/webui/master/static/frameworks.html
deleted file mode 100644
index d37c613..0000000
--- a/src/webui/master/static/frameworks.html
+++ /dev/null
@@ -1,179 +0,0 @@
-<ol class="breadcrumb">
- <li><a class="badge badge-type" href="#">Master</a></li>
- <li class="active">
- <span class="badge badge-type">Frameworks</span>
- </li>
-</ol>
-
-<table m-table table-content="frameworks" title="Active Frameworks"
- class="table table-striped table-bordered table-condensed">
- <thead>
- <tr>
- <th data-key="id">ID</th>
- <th data-key="hostname">Host</th>
- <th data-key="user">User</th>
- <th data-key="name">Name</th>
- <th data-key="roles">Roles</th>
- <th data-key="principal">Principal</th>
- <th data-key="tasks.length">Active Tasks</th>
- <th data-key="used_resources.cpus">CPUs</th>
- <th data-key="used_resources.gpus">GPUs</th>
- <th data-key="used_resources.mem">Mem</th>
- <th data-key="used_resources.disk">Disk</th>
- <th data-key="max_share">Max Share</th>
- <th data-key="registered_time">Registered</th>
- <th data-key="reregistered_time">Re-Registered</th>
- </tr>
- </thead>
- <tbody>
- <tr ng-repeat="framework in $data | filter: { active: true }">
- <td>
- <a href="{{'#/frameworks/' + framework.id}}">
- {{framework.id | truncateMesosID}}
- </a>
- <button class="btn btn-xs btn-toggle btn-default"
- clipboard
- data-clipboard-text="{{framework.id}}"
- tooltip="Copy ID"
- tooltip-placement="right"
- tooltip-trigger="clipboardhover">
- </button>
- </td>
- <td ng-switch="!!framework.webui_url">
- <a ng-href="{{framework.webui_url}}" ng-switch-when="true">{{framework.hostname}}</a>
- <span ng-switch-when="false">{{framework.hostname}}</span>
- </td>
- <td>{{framework.user}}</td>
- <td>{{framework.name}}</td>
- <!-- TODO(bmahler): This doesn't display well when there are a lot
- of roles (e.g. a large organization with a lot of teams &
- services, using roles like /engineering/frontend/webserver, etc).
- Figure out a way to display this without bloating the table. -->
- <td>{{framework.roles.toString()}}</td>
- <td>{{framework.principal}}</td>
- <td>{{framework.tasks.length}}</td>
- <td>{{framework.used_resources.cpus | number}}</td>
- <td>{{framework.used_resources.gpus | number}}</td>
- <td>{{framework.used_resources.mem * (1024 * 1024) | dataSize}}</td>
- <td>{{framework.used_resources.disk * (1024 * 1024) | dataSize}}</td>
- <td>{{framework.max_share * 100 | number}}%</td>
- <td>
- <m-timestamp value="{{framework.registered_time * 1000}}"></m-timestamp>
- </td>
- <td ng-show="!framework.reregistered_time">-</td>
- <td ng-show="framework.reregistered_time">
- <m-timestamp value="{{framework.reregistered_time * 1000}}"></m-timestamp>
- </td>
- </tr>
- </tbody>
-</table>
-
-<table m-table table-content="frameworks" title="Inactive Frameworks"
- class="table table-striped table-bordered table-condensed">
- <thead>
- <tr>
- <th data-key="id">ID</th>
- <th data-key="hostname">Host</th>
- <th data-key="user">User</th>
- <th data-key="name">Name</th>
- <th data-key="roles">Roles</th>
- <th data-key="principal">Principal</th>
- <th data-key="tasks.length">Active Tasks</th>
- <th data-key="used_resources.cpus">CPUs</th>
- <th data-key="used_resources.gpus">GPUs</th>
- <th data-key="used_resources.mem">Mem</th>
- <th data-key="used_resources.disk">Disk</th>
- <th data-key="max_share">Max Share</th>
- <th data-key="registered_time">Registered</th>
- <th data-key="reregistered_time">Re-Registered</th>
- </tr>
- </thead>
- <tbody>
- <tr ng-repeat="framework in $data | filter: { active: false }">
- <td>
- <a href="{{'#/frameworks/' + framework.id}}">
- {{framework.id | truncateMesosID}}
- </a>
- <button class="btn btn-xs btn-toggle btn-default"
- clipboard
- data-clipboard-text="{{framework.id}}"
- tooltip="Copy ID"
- tooltip-placement="right"
- tooltip-trigger="clipboardhover">
- </button>
- </td>
- <td ng-switch="!!framework.webui_url">
- <a ng-href="{{framework.webui_url}}" ng-switch-when="true">{{framework.hostname}}</a>
- <span ng-switch-when="false">{{framework.hostname}}</span>
- </td>
- <td>{{framework.user}}</td>
- <td>{{framework.name}}</td>
- <!-- TODO(bmahler): This doesn't display well when there are a lot
- of roles (e.g. a large organization with a lot of teams &
- services, using roles like /engineering/frontend/webserver, etc).
- Figure out a way to display this without bloating the table. -->
- <td>{{framework.roles.toString()}}</td>
- <td>{{framework.principal}}</td>
- <td>{{framework.tasks.length}}</td>
- <td>{{framework.used_resources.cpus | number}}</td>
- <td>{{framework.used_resources.gpus | number}}</td>
- <td>{{framework.used_resources.mem * (1024 * 1024) | dataSize}}</td>
- <td>{{framework.used_resources.disk * (1024 * 1024) | dataSize}}</td>
- <td>{{framework.max_share * 100 | number}}%</td>
- <td>
- <m-timestamp value="{{framework.registered_time * 1000}}"></m-timestamp>
- </td>
- <td ng-show="!framework.reregistered_time">-</td>
- <td ng-show="framework.reregistered_time">
- <m-timestamp value="{{framework.reregistered_time * 1000}}"></m-timestamp>
- </td>
- </tr>
- </tbody>
-</table>
-
-<table m-table table-content="completed_frameworks" title="Completed Frameworks"
- class="table table-striped table-bordered table-condensed">
- <thead>
- <tr>
- <th data-key="id">ID</th>
- <th data-key="hostname">Host</th>
- <th data-key="user">User</th>
- <th data-key="name">Name</th>
- <th data-key="roles">Roles</th>
- <th data-key="principal">Principal</th>
- <th data-key="registered_time">Registered</th>
- <th data-key="unregistered_time">Unregistered</th>
- </tr>
- </thead>
- <tbody>
- <tr ng-repeat="framework in $data">
- <td>
- <a href="{{'#/frameworks/' + framework.id}}" title="{{framework.id}}">
- {{framework.id | truncateMesosID}}
- </a>
- <button class="btn btn-xs btn-toggle btn-default"
- clipboard
- data-clipboard-text="{{framework.id}}"
- tooltip="Copy ID"
- tooltip-placement="right"
- tooltip-trigger="clipboardhover">
- </button>
- </td>
- <td>{{framework.hostname}}</td>
- <td>{{framework.user}}</td>
- <td>{{framework.name}}</td>
- <!-- TODO(bmahler): This doesn't display well when there are a lot
- of roles (e.g. a large organization with a lot of teams &
- services, using roles like /engineering/frontend/webserver, etc).
- Figure out a way to display this without bloating the table. -->
- <td>{{framework.roles.toString()}}</td>
- <td>{{framework.principal}}</td>
- <td>
- <m-timestamp value="{{framework.registered_time * 1000}}"></m-timestamp>
- </td>
- <td>
- <m-timestamp value="{{framework.unregistered_time * 1000}}"></m-timestamp>
- </td>
- </tr>
- </tbody>
-</table>
http://git-wip-us.apache.org/repos/asf/mesos/blob/c7685917/src/webui/master/static/home.html
----------------------------------------------------------------------
diff --git a/src/webui/master/static/home.html b/src/webui/master/static/home.html
deleted file mode 100644
index ff96595..0000000
--- a/src/webui/master/static/home.html
+++ /dev/null
@@ -1,334 +0,0 @@
-<ol class="breadcrumb">
- <li class="active">
- <span class="badge badge-type">Master</span>
- {{state.id}}
- </li>
-</ol>
-
-<div class="row">
- <div class="col-sm-5 col-md-4 col-lg-3">
- <div class="well">
- <dl class="inline inline-toggle clearfix">
- <dt>Cluster:</dt>
- <dd>
- <span ng-show="clusterNamed">{{state.cluster}}</span>
- <span ng-show="!clusterNamed">
- (Unnamed)
- <i class="icon-info-sign"
- tooltip="To name this cluster, set the --cluster flag when starting the master."
- tooltip-placement="right"></i>
- </span>
- </dd>
- <dt>Leader:</dt>
- <dd>
- <a ng-show="state.leader_info"
- href="//{{state.leader_info.hostname}}:{{state.leader_info.port}}">
- {{state.leader_info.hostname + ':' + state.leader_info.port}}
- </a>
- <span ng-show="!state.leader_info">(Unknown)</span>
- </dd>
- <dt>Version:</dt>
- <dd>{{state.version}}</dd>
- <dt>Built:</dt>
- <dd>
- <m-timestamp value="{{state.build_time * 1000}}">
- by <i>{{state.build_user}}</i>
- </m-timestamp>
- </dd>
- <dt>Started:</dt>
- <dd>
- <m-timestamp value="{{state.start_time * 1000}}"></m-timestamp>
- </dd>
- <dt>Elected:</dt>
- <dd>
- <m-timestamp value="{{state.elected_time * 1000}}"></m-timestamp>
- </dd>
- </dl>
-
- <p ng-if="log_file_attached">
- <b>Master Log:</b>
- <span class="btn-group">
- <!-- Links can look like buttons using Bootstrap classes. -->
- <a class="btn btn-xs btn-default" href="//{{$location.host()}}:{{$location.port()}}/files/download?path=/master/log">
- Download
- </a>
- <button class="btn btn-xs btn-default" ng-click="streamLogs($event)">
- View
- </button>
- </span>
- </p>
-
- <h4>Agents</h4>
- <table class="table table-condensed">
- <tbody>
- <tr>
- <td>Activated</td>
- <td class="text-right">{{activated_agents | number}}</td>
- </tr>
- <tr>
- <td>Deactivated</td>
- <td class="text-right">{{deactivated_agents | number}}</td>
- </tr>
- <tr>
- <td>Unreachable</td>
- <td class="text-right">{{unreachable_agents | number}}</td>
- </tr>
- </tbody>
- </table>
-
- <h4>Tasks</h4>
- <table class="table table-condensed">
- <tbody>
- <tr>
- <td>Staging</td>
- <td class="text-right">{{staging_tasks | number}}</td>
- </tr>
- <tr>
- <td>Starting</td>
- <td class="text-right">{{starting_tasks | number}}</td>
- </tr>
- <tr>
- <td>Running</td>
- <td class="text-right">{{running_tasks | number}}</td>
- </tr>
- <tr>
- <td>Unreachable</td>
- <td class="text-right">{{unreachable_tasks.length | number}}</td>
- </tr>
- <tr>
- <td>Killing</td>
- <td class="text-right">{{killing_tasks | number}}</td>
- </tr>
- <tr>
- <td>Finished</td>
- <td class="text-right">{{finished_tasks | number}}</td>
- </tr>
- <tr>
- <td>Killed</td>
- <td class="text-right">{{killed_tasks | number}}</td>
- </tr>
- <tr>
- <td>Failed</td>
- <td class="text-right">{{failed_tasks | number}}</td>
- </tr>
- <tr>
- <td>Lost</td>
- <td class="text-right">{{lost_tasks | number}}</td>
- </tr>
- </tbody>
- </table>
-
- <h4>Resources</h4>
- <table class="table table-condensed">
- <thead>
- <tr>
- <td></td>
- <td class="text-right">CPUs</td>
- <td class="text-right">GPUs</td>
- <td class="text-right">Mem</td>
- <td class="text-right">Disk</td>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>Total</td>
- <td class="text-right">{{total_cpus | decimalFloat}}</td>
- <td class="text-right">{{total_gpus | decimalFloat}}</td>
- <td class="text-right">{{total_mem * (1024 * 1024) | dataSize}}</td>
- <td class="text-right">{{total_disk * (1024 * 1024) | dataSize}}</td>
- </tr>
- <tr>
- <td>Allocated</td>
- <td class="text-right">{{used_cpus | decimalFloat}}</td>
- <td class="text-right">{{used_gpus | decimalFloat}}</td>
- <td class="text-right">{{used_mem * (1024 * 1024) | dataSize}}</td>
- <td class="text-right">{{used_disk * (1024 * 1024) | dataSize}}</td>
- </tr>
- <tr>
- <td>Offered</td>
- <td class="text-right">{{offered_cpus | decimalFloat}}</td>
- <td class="text-right">{{offered_gpus | decimalFloat}}</td>
- <td class="text-right">{{offered_mem * (1024 * 1024) | dataSize}}</td>
- <td class="text-right">{{offered_disk * (1024 * 1024) | dataSize}}</td>
- </tr>
- <tr>
- <td>Idle</td>
- <td class="text-right">{{idle_cpus | decimalFloat}}</td>
- <td class="text-right">{{idle_gpus | decimalFloat}}</td>
- <td class="text-right">{{idle_mem * (1024 * 1024) | dataSize}}</td>
- <td class="text-right">{{idle_disk * (1024 * 1024) | dataSize}}</td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
-
- <div class="col-sm-7 col-md-8 col-lg-9">
- <table m-table table-content="active_tasks" title="Active Tasks"
- class="table table-striped table-bordered table-condensed">
- <thead>
- <tr>
- <th data-key="framework_id">Framework ID</th>
- <th data-key="id">Task ID</th>
- <th data-key="name">Task Name</th>
- <th data-key="role">Role</th>
- <th data-key="state">State</th>
- <th data-key="healthy">Health</th>
- <th data-key="start_time" data-sort>Started</th>
- <th data-key="host">Host</th>
- <th></th>
- </tr>
- </thead>
- <tbody>
- <tr data-ng-if="active_tasks.length === 0">
- <td colspan="8">No active tasks.</td>
- </tr>
- <tr ng-repeat="task in $data">
- <td>
- <a href="#/frameworks/{{task.framework_id}}/">
- {{task.framework_id | truncateMesosID}}
- </a>
- <button class="btn btn-xs btn-toggle btn-default"
- clipboard
- data-clipboard-text="{{task.framework_id}}"
- tooltip="Copy ID"
- tooltip-placement="right"
- tooltip-trigger="clipboardhover">
- </button>
- </td>
- <td>
- <a href="#/agents/{{task.slave_id}}/frameworks/{{task.framework_id}}/executors/{{task.executor_id}}">
- {{task.id}}
- </a>
- </td>
- <td>{{task.name}}</td>
- <td>{{task.role}}</td>
- <td>{{task.state | truncateMesosState}}</td>
- <td class="task-{{task.healthy | taskHealth}}">{{task.healthy | taskHealth}}</td>
- <td>
- <m-timestamp value="{{task.start_time}}"></m-timestamp>
- </td>
- <td>
- <span data-ng-show="agents[task.slave_id]">
- {{agents[task.slave_id].hostname}}
- </span>
- <span class="text-muted" data-ng-show="!agents[task.slave_id]">
- Agent offline
- </span>
- </td>
- <td>
- <a data-ng-show="agents[task.slave_id]" href="#/agents/{{task.slave_id}}/frameworks/{{task.framework_id}}/executors/{{task.executor_id}}/tasks/{{task.id}}/browse">
- Sandbox
- </a>
- <span class="text-muted" data-ng-show="!agents[task.slave_id]">
- Agent offline
- </span>
- </td>
- </tr>
- </tbody>
- </table>
-
- <table m-table table-content="unreachable_tasks" title="Unreachable Tasks"
- class="table table-striped table-bordered table-condensed">
- <thead>
- <tr>
- <th data-key="framework_id">Framework ID</th>
- <th data-key="id">Task ID</th>
- <th data-key="name">Task Name</th>
- <th data-key="role">Role</th>
- <th data-key="start_time" data-sort>Started</th>
- <th data-key="agent_id">Agent ID</th>
- </tr>
- </thead>
- <tbody>
- <tr data-ng-if="unreachable_tasks.length === 0">
- <td colspan="8">No unreachable tasks.</td>
- </tr>
- <tr ng-repeat="task in $data">
- <td>
- <a href="#/frameworks/{{task.framework_id}}/">
- {{task.framework_id | truncateMesosID}}
- </a>
- <button class="btn btn-xs btn-toggle btn-default"
- clipboard
- data-clipboard-text="{{task.framework_id}}"
- tooltip="Copy ID"
- tooltip-placement="right"
- tooltip-trigger="clipboardhover">
- </button>
- </td>
- <td>{{task.id}}</td>
- <td>{{task.name}}</td>
- <td>{{task.role}}</td>
- <td>
- <m-timestamp value="{{task.start_time}}"></m-timestamp>
- </td>
- <td>{{task.slave_id}}</td>
- </tr>
- </tbody>
- </table>
-
- <table m-table table-content="completed_tasks" title="Completed Tasks"
- class="table table-striped table-bordered table-condensed">
- <thead>
- <tr>
- <th data-key="framework_id">Framework ID</th>
- <th data-key="id">Task ID</th>
- <th data-key="name">Task Name</th>
- <th data-key="role">Role</th>
- <th data-key="state">State</th>
- <th data-key="start_time" data-sort>Started</th>
- <th data-key="finish_time">Stopped</th>
- <th data-key="host">Host</th>
- <th></th>
- </tr>
- </thead>
- <tbody>
- <tr data-ng-if="completed_tasks.length === 0">
- <td colspan="8">No completed tasks.</td>
- </tr>
- <tr ng-repeat="task in $data">
- <td>
- <a href="#/frameworks/{{task.framework_id}}/">
- {{task.framework_id | truncateMesosID}}
- </a>
- <button class="btn btn-xs btn-toggle btn-default"
- clipboard
- data-clipboard-text="{{task.framework_id}}"
- tooltip="Copy ID"
- tooltip-placement="right"
- tooltip-trigger="clipboardhover">
- </button>
- </td>
- <td>{{task.id}}</td>
- <td>{{task.name}}</td>
- <td>{{task.role}}</td>
- <td>{{task.state | truncateMesosState}}</td>
- <td>
- <m-timestamp value="{{task.start_time}}"></m-timestamp>
- </td>
- <td>
- <m-timestamp value="{{task.finish_time}}"></m-timestamp>
- </td>
- <td>
- <a data-ng-show="_.has(agents, task.slave_id)"
- href="#/agents/{{task.slave_id}}/frameworks/{{task.framework_id}}/executors/{{task.executor_id}}">
- {{agents[task.slave_id].hostname}}
- </a>
- <span class="text-muted" data-ng-show="!_.has(agents, task.slave_id)">
- Agent offline
- </span>
- </td>
- <td>
- <a data-ng-show="agents[task.slave_id]" href="#/agents/{{task.slave_id}}/frameworks/{{task.framework_id}}/executors/{{task.executor_id}}/tasks/{{task.id}}/browse">
- Sandbox
- </a>
- <span class="text-muted" data-ng-show="!agents[task.slave_id]">
- Agent offline
- </span>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
-</div>
http://git-wip-us.apache.org/repos/asf/mesos/blob/c7685917/src/webui/master/static/ico/favicon.ico
----------------------------------------------------------------------
diff --git a/src/webui/master/static/ico/favicon.ico b/src/webui/master/static/ico/favicon.ico
deleted file mode 100644
index 7715926..0000000
Binary files a/src/webui/master/static/ico/favicon.ico and /dev/null differ
http://git-wip-us.apache.org/repos/asf/mesos/blob/c7685917/src/webui/master/static/img/loading.gif
----------------------------------------------------------------------
diff --git a/src/webui/master/static/img/loading.gif b/src/webui/master/static/img/loading.gif
deleted file mode 100644
index 023dbdb..0000000
Binary files a/src/webui/master/static/img/loading.gif and /dev/null differ
http://git-wip-us.apache.org/repos/asf/mesos/blob/c7685917/src/webui/master/static/img/mesos_logo.png
----------------------------------------------------------------------
diff --git a/src/webui/master/static/img/mesos_logo.png b/src/webui/master/static/img/mesos_logo.png
deleted file mode 100644
index 723a310..0000000
Binary files a/src/webui/master/static/img/mesos_logo.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/mesos/blob/c7685917/src/webui/master/static/index.html
----------------------------------------------------------------------
diff --git a/src/webui/master/static/index.html b/src/webui/master/static/index.html
deleted file mode 100644
index 149d765..0000000
--- a/src/webui/master/static/index.html
+++ /dev/null
@@ -1,128 +0,0 @@
-<!DOCTYPE html>
-<html lang="en" ng-app="mesos">
- <head>
- <meta charset="utf-8">
- <title>Mesos</title>
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <meta name="author" content="">
-
- <link href="static/css/bootstrap-3.3.6.min.css" rel="stylesheet">
- <link href="static/css/bootstrap-table-1.11.1.min.css" rel="stylesheet">
- <link href="static/css/mesos.css" rel="stylesheet">
-
- <link rel="shortcut icon" href="static/ico/favicon.ico">
- </head>
-
- <body>
- <div data-ng-show="doneLoading" style="width: 75px; margin: 0 auto; text-align: center;">
- <img src="static/img/loading.gif" height="64" width="64" alt="">
- </div>
-
- <div ng-controller="MainCtrl">
- <header class="navbar navbar-inverse navbar-fixed-top" role="navigation">
- <div class="container-fluid">
- <div class="navbar-header">
- <button type="button" class="navbar-toggle" data-toggle="collapse"
- data-ng-click="navbarExpanded = !navbarExpanded">
- <span class="sr-only">Toggle navigation</span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- </button>
- <a class="navbar-brand" href="#/">
- <img src="static/img/mesos_logo.png" alt="Apache Mesos">
- </a>
- </div>
-
- <div class="collapse navbar-collapse" data-collapse="!navbarExpanded">
- <ul class="nav navbar-nav">
- <li data-ng-class="{active: (navbarActiveTab === 'frameworks')}">
- <a href="#/frameworks">Frameworks</a>
- </li>
- <li data-ng-class="{active: (navbarActiveTab === 'agents')}">
- <a href="#/agents">Agents</a>
- </li>
- <li data-ng-class="{active: (navbarActiveTab === 'roles')}">
- <a href="#/roles">Roles</a>
- </li>
- <li data-ng-class="{active: (navbarActiveTab === 'offers')}">
- <a href="#/offers">Offers</a>
- </li>
- <li data-ng-class="{active: (navbarActiveTab === 'maintenance')}">
- <a href="#/maintenance">Maintenance</a>
- </li>
- </ul>
- <ul class="nav navbar-nav navbar-right">
- <li>
- <a class="btn disabled" data-ng-cloak>{{state.cluster}}</a>
- </li>
- </ul>
- </div>
- </div>
- </header>
-
- <div class="container-fluid">
- <div class="alert" data-ng-show="state && !state.leader">
- <strong>No master is currently leading ...</strong>
- </div>
-
- <div data-ng-repeat="alert in currentAlerts" class="alert alert-{{ alert.type }}">
- <p data-ng-show="alert.title">
- <strong>{{ alert.title }}</strong>
- </p>
- {{ alert.message }}
- <ul data-ng-show="alert.bullets" style="margin-bottom: 0;">
- <li data-ng-repeat="bullet in alert.bullets">
- {{ bullet }}
- </li>
- </ul>
- </div>
-
- <div ng-view></div>
- </div>
- </div>
-
- <script type="text/ng-template" id="template/dialog/masterGone.html">
- <div class="modal-header">
- <h4 class="modal-title">
- Failed to connect to {{rootScope.$location.host()}}:{{rootScope.$location.port()}}!
- </h4>
- </div>
- <div class="modal-body">
- Retrying in <b>{{rootScope.retry / 1000}}</b> seconds...
- </div>
- <div class="modal-footer">
- <button class="btn btn-default" ng-click="$close()">Try now</button>
- </div>
- </script>
-
- <script type="text/ng-template" id="template/dialog/message.html">
- <div class="modal-header">
- <h4 class="modal-title">{{ title }}</h4>
- </div>
- <div class="modal-body">
- {{ message }}
- </div>
- <div class="modal-footer">
- <a data-ng-repeat="btn in buttons" data-ng-click="$close(btn.result)"
- class="btn btn-default">
- {{ btn.label }}
- </a>
- </div>
- </script>
-
- <script src="static/js/jquery-3.2.1.min.js"></script>
- <script src="static/js/underscore-1.4.3.min.js"></script>
- <script src="static/js/clipboard-1.5.16.min.js"></script>
- <script src="static/js/angular-1.2.32.min.js"></script>
- <script src="static/js/angular-route-1.2.32.min.js"></script>
- <script src="static/js/ui-bootstrap-tpls-0.9.0.min.js"></script>
- <script src="static/js/bootstrap-table-1.11.1.min.js"></script>
- <script src="static/js/relative-date.js"></script>
-
- <script src="static/js/app.js"></script>
- <script src="static/js/services.js"></script>
- <script src="static/js/controllers.js"></script>
- </body>
-</html>