You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by me...@apache.org on 2015/09/12 11:22:07 UTC

[2/3] mesos git commit: Removed '.json' extension in master endpoints url.

Removed '.json' extension in master endpoints url.

Added HTTP endpoints in master without the json extension.

Review: https://reviews.apache.org/r/36125


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/f893c856
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/f893c856
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/f893c856

Branch: refs/heads/master
Commit: f893c856c60f8169713f19fd99be73ac10dcc259
Parents: 7b8da01
Author: Isabel Jimenez <co...@isabeljimenez.com>
Authored: Fri Sep 11 22:23:56 2015 -0700
Committer: Adam B <ad...@mesosphere.io>
Committed: Sat Sep 12 02:21:32 2015 -0700

----------------------------------------------------------------------
 src/cli/mesos-cat                         |  2 +-
 src/cli/mesos-ps                          |  2 +-
 src/cli/mesos-scp                         |  2 +-
 src/cli/mesos-tail                        |  2 +-
 src/master/constants.hpp                  |  2 +-
 src/master/master.cpp                     | 24 ++++++++++++++
 src/master/master.hpp                     |  6 ++--
 src/tests/fault_tolerance_tests.cpp       |  8 ++---
 src/tests/master_tests.cpp                | 45 +++++++++++++-------------
 src/webui/master/static/js/controllers.js |  6 ++--
 10 files changed, 62 insertions(+), 37 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/f893c856/src/cli/mesos-cat
----------------------------------------------------------------------
diff --git a/src/cli/mesos-cat b/src/cli/mesos-cat
index 24a1e64..63a90d1 100755
--- a/src/cli/mesos-cat
+++ b/src/cli/mesos-cat
@@ -116,7 +116,7 @@ def main():
     # Get the master's state.
     try:
         state = json.loads(http.get(resolve(options.master),
-                                    '/master/state.json'))
+                                    '/master/state'))
     except:
         fatal('Failed to get the master state')
 

http://git-wip-us.apache.org/repos/asf/mesos/blob/f893c856/src/cli/mesos-ps
----------------------------------------------------------------------
diff --git a/src/cli/mesos-ps b/src/cli/mesos-ps
index 7976069..f7fac4b 100755
--- a/src/cli/mesos-ps
+++ b/src/cli/mesos-ps
@@ -163,7 +163,7 @@ def main():
     # Get the master's state.
     try:
         state = json.loads(http.get(resolve(options.master),
-                                    '/master/state.json'))
+                                    '/master/state'))
     except:
         fatal('Failed to get the master state')
 

http://git-wip-us.apache.org/repos/asf/mesos/blob/f893c856/src/cli/mesos-scp
----------------------------------------------------------------------
diff --git a/src/cli/mesos-scp b/src/cli/mesos-scp
index 77b8557..f305abd 100755
--- a/src/cli/mesos-scp
+++ b/src/cli/mesos-scp
@@ -50,7 +50,7 @@ def main():
   # Get the master's state.
     try:
         state = json.loads(http.get(resolve(options.master),
-                                    '/master/state.json'))
+                                    '/master/state'))
     except:
         fatal('Failed to get the master state')
 

http://git-wip-us.apache.org/repos/asf/mesos/blob/f893c856/src/cli/mesos-tail
----------------------------------------------------------------------
diff --git a/src/cli/mesos-tail b/src/cli/mesos-tail
index 6acec2c..28e16b2 100755
--- a/src/cli/mesos-tail
+++ b/src/cli/mesos-tail
@@ -95,7 +95,7 @@ def main():
     # Get the master's state.
     try:
         master_state = json.loads(http.get(resolve(options.master),
-                                           '/master/state.json'))
+                                           '/master/state'))
     except:
         fatal('Failed to get the master state')
 

http://git-wip-us.apache.org/repos/asf/mesos/blob/f893c856/src/master/constants.hpp
----------------------------------------------------------------------
diff --git a/src/master/constants.hpp b/src/master/constants.hpp
index c3fe140..51d4774 100644
--- a/src/master/constants.hpp
+++ b/src/master/constants.hpp
@@ -100,7 +100,7 @@ extern const uint32_t MAX_COMPLETED_TASKS_PER_FRAMEWORK;
 // Time interval to check for updated watchers list.
 extern const Duration WHITELIST_WATCH_INTERVAL;
 
-// Default number of tasks (limit) for /master/tasks.json endpoint.
+// Default number of tasks (limit) for /master/tasks endpoint.
 extern const uint32_t TASK_LIMIT;
 
 /**

http://git-wip-us.apache.org/repos/asf/mesos/blob/f893c856/src/master/master.cpp
----------------------------------------------------------------------
diff --git a/src/master/master.cpp b/src/master/master.cpp
index 4b60e63..c90311f 100644
--- a/src/master/master.cpp
+++ b/src/master/master.cpp
@@ -785,12 +785,20 @@ void Master::initialize()
         [http](const process::http::Request& request) {
           return http.reserve(request);
         });
+  // TODO(ijimenez): Remove this endpoint at the end of the
+  // deprecation cycle on 0.26.
   route("/roles.json",
         Http::ROLES_HELP,
         [http](const process::http::Request& request) {
           Http::log(request);
           return http.roles(request);
         });
+  route("/roles",
+        Http::ROLES_HELP,
+        [http](const process::http::Request& request) {
+          Http::log(request);
+          return http.roles(request);
+        });
   route("/teardown",
         Http::TEARDOWN_HELP,
         [http](const process::http::Request& request) {
@@ -803,24 +811,40 @@ void Master::initialize()
           Http::log(request);
           return http.slaves(request);
         });
+  // TODO(ijimenez): Remove this endpoint at the end of the
+  // deprecation cycle on 0.26.
   route("/state.json",
         Http::STATE_HELP,
         [http](const process::http::Request& request) {
           Http::log(request);
           return http.state(request);
         });
+  route("/state",
+        Http::STATE_HELP,
+        [http](const process::http::Request& request) {
+          Http::log(request);
+          return http.state(request);
+        });
   route("/state-summary",
         Http::STATESUMMARY_HELP,
         [http](const process::http::Request& request) {
           Http::log(request);
           return http.stateSummary(request);
         });
+  // TODO(ijimenez): Remove this endpoint at the end of the
+  // deprecation cycle.
   route("/tasks.json",
         Http::TASKS_HELP,
         [http](const process::http::Request& request) {
           Http::log(request);
           return http.tasks(request);
         });
+  route("/tasks",
+        Http::TASKS_HELP,
+        [http](const process::http::Request& request) {
+          Http::log(request);
+          return http.tasks(request);
+        });
   route("/maintenance/schedule",
         Http::MAINTENANCE_SCHEDULE_HELP,
         [http](const process::http::Request& request) {

http://git-wip-us.apache.org/repos/asf/mesos/blob/f893c856/src/master/master.hpp
----------------------------------------------------------------------
diff --git a/src/master/master.hpp b/src/master/master.hpp
index 1dfc947..12cc1ad 100644
--- a/src/master/master.hpp
+++ b/src/master/master.hpp
@@ -826,7 +826,7 @@ private:
     process::Future<process::http::Response> reserve(
         const process::http::Request& request) const;
 
-    // /master/roles.json
+    // /master/roles
     process::Future<process::http::Response> roles(
         const process::http::Request& request) const;
 
@@ -838,7 +838,7 @@ private:
     process::Future<process::http::Response> slaves(
         const process::http::Request& request) const;
 
-    // /master/state.json
+    // /master/state
     process::Future<process::http::Response> state(
         const process::http::Request& request) const;
 
@@ -846,7 +846,7 @@ private:
     process::Future<process::http::Response> stateSummary(
         const process::http::Request& request) const;
 
-    // /master/tasks.json
+    // /master/tasks
     process::Future<process::http::Response> tasks(
         const process::http::Request& request) const;
 

http://git-wip-us.apache.org/repos/asf/mesos/blob/f893c856/src/tests/fault_tolerance_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/fault_tolerance_tests.cpp b/src/tests/fault_tolerance_tests.cpp
index 82f8cfd..061e099 100644
--- a/src/tests/fault_tolerance_tests.cpp
+++ b/src/tests/fault_tolerance_tests.cpp
@@ -167,7 +167,7 @@ TEST_F(FaultToleranceTest, ReregisterCompletedFrameworks)
   ASSERT_SOME(slave);
 
   // Verify master/slave have 0 completed/running frameworks.
-  Future<Response> masterState = process::http::get(master.get(), "state.json");
+  Future<Response> masterState = process::http::get(master.get(), "state");
   AWAIT_EXPECT_RESPONSE_STATUS_EQ(OK().status, masterState);
 
   AWAIT_EXPECT_RESPONSE_HEADER_EQ(
@@ -224,7 +224,7 @@ TEST_F(FaultToleranceTest, ReregisterCompletedFrameworks)
   EXPECT_EQ(TASK_RUNNING, statusRunning.get().state());
 
   // Verify master and slave recognize the running task/framework.
-  masterState = process::http::get(master.get(), "state.json");
+  masterState = process::http::get(master.get(), "state");
 
   parse = JSON::parse<JSON::Object>(masterState.get().body);
   ASSERT_SOME(parse);
@@ -262,7 +262,7 @@ TEST_F(FaultToleranceTest, ReregisterCompletedFrameworks)
   // At this point, the task is killed, but the framework is still
   // running.  This is because the executor has to time-out before
   // it exits.
-  masterState = process::http::get(master.get(), "state.json");
+  masterState = process::http::get(master.get(), "state");
   parse = JSON::parse<JSON::Object>(masterState.get().body);
   ASSERT_SOME(parse);
   masterJSON = parse.get();
@@ -340,7 +340,7 @@ TEST_F(FaultToleranceTest, ReregisterCompletedFrameworks)
   Clock::settle();
   Clock::resume();
 
-  masterState = process::http::get(master.get(), "state.json");
+  masterState = process::http::get(master.get(), "state");
   parse = JSON::parse<JSON::Object>(masterState.get().body);
   ASSERT_SOME(parse);
   masterJSON = parse.get();

http://git-wip-us.apache.org/repos/asf/mesos/blob/f893c856/src/tests/master_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/master_tests.cpp b/src/tests/master_tests.cpp
index 8a6b98b..dd65fcc 100644
--- a/src/tests/master_tests.cpp
+++ b/src/tests/master_tests.cpp
@@ -280,7 +280,7 @@ TEST_F(MasterTest, ShutdownFrameworkWhileTaskRunning)
 
   // Request master state.
   Future<process::http::Response> response =
-    process::http::get(master.get(), "state.json");
+    process::http::get(master.get(), "state");
   AWAIT_READY(response);
 
   // These checks are not essential for the test, but may help
@@ -2178,7 +2178,7 @@ TEST_F(MasterZooKeeperTest, MasterInfoAddress)
 
 // This test ensures that when a master fails over, those tasks that
 // belong to some currently unregistered frameworks will appear in the
-// "orphan_tasks" field in the state.json. And those unregistered frameworks
+// "orphan_tasks" field in the state endpoint. And those unregistered frameworks
 // will appear in the "unregistered_frameworks" field.
 TEST_F(MasterTest, OrphanTasks)
 {
@@ -2224,7 +2224,7 @@ TEST_F(MasterTest, OrphanTasks)
 
   // Get the master's state.
   Future<process::http::Response> response =
-    process::http::get(master.get(), "state.json");
+    process::http::get(master.get(), "state");
   AWAIT_READY(response);
 
   EXPECT_SOME_EQ(
@@ -2290,7 +2290,7 @@ TEST_F(MasterTest, OrphanTasks)
   AWAIT_READY(subscribeCall);
 
   // Get the master's state.
-  response = process::http::get(master.get(), "state.json");
+  response = process::http::get(master.get(), "state");
   AWAIT_READY(response);
 
   EXPECT_SOME_EQ(
@@ -2325,7 +2325,7 @@ TEST_F(MasterTest, OrphanTasks)
   AWAIT_READY(frameworkRegisteredMessage);
 
   // Get the master's state.
-  response = process::http::get(master.get(), "state.json");
+  response = process::http::get(master.get(), "state");
   AWAIT_READY(response);
 
   EXPECT_SOME_EQ(
@@ -2792,7 +2792,7 @@ TEST_F(MasterTest, StateEndpoint)
   ASSERT_SOME(master);
 
   Future<process::http::Response> response =
-    process::http::get(master.get(), "state.json");
+    process::http::get(master.get(), "state");
 
   AWAIT_EXPECT_RESPONSE_STATUS_EQ(process::http::OK().status, response);
 
@@ -2973,7 +2973,7 @@ TEST_F(MasterTest, StateSummaryEndpoint)
 
 
 // This test ensures that the web UI and capabilities of a framework
-// are included in the state.json endpoint, if provided by the
+// are included in the master's state endpoint, if provided by the
 // framework.
 TEST_F(MasterTest, FrameworkWebUIUrlandCapabilities)
 {
@@ -2998,7 +2998,7 @@ TEST_F(MasterTest, FrameworkWebUIUrlandCapabilities)
   AWAIT_READY(registered);
 
   Future<process::http::Response> masterState =
-    process::http::get(master.get(), "state.json");
+    process::http::get(master.get(), "state");
   AWAIT_EXPECT_RESPONSE_STATUS_EQ(process::http::OK().status, masterState);
 
   Try<JSON::Object> parse = JSON::parse<JSON::Object>(masterState.get().body);
@@ -3035,7 +3035,7 @@ TEST_F(MasterTest, FrameworkWebUIUrlandCapabilities)
 }
 
 
-// This test verifies that label values are exposed over the master
+// This test verifies that label values are exposed over the master's
 // state endpoint.
 TEST_F(MasterTest, TaskLabels)
 {
@@ -3103,9 +3103,9 @@ TEST_F(MasterTest, TaskLabels)
 
   AWAIT_READY(update);
 
-  // Verify label key and value in master state.json.
+  // Verify label key and value in the master's state endpoint.
   Future<process::http::Response> response =
-    process::http::get(master.get(), "state.json");
+    process::http::get(master.get(), "state");
   AWAIT_READY(response);
 
   EXPECT_SOME_EQ(
@@ -3143,7 +3143,7 @@ TEST_F(MasterTest, TaskLabels)
 
 
 // This test verifies that TaskStatus label values are exposed over
-// the master state endpoint.
+// the master's state endpoint.
 TEST_F(MasterTest, TaskStatusLabels)
 {
   Try<PID<Master>> master = StartMaster();
@@ -3244,9 +3244,9 @@ TEST_F(MasterTest, TaskStatusLabels)
 }
 
 
-// This tests the 'active' field in slave entries from state.json. We
-// first verify an active slave, deactivate it and verify that the
-// 'active' field is false.
+// This tests the 'active' field in slave entries from the master's
+// state endpoint. We first verify an active slave, deactivate it
+// and verify that the 'active' field is false.
 TEST_F(MasterTest, SlaveActiveEndpoint)
 {
   // Start a master.
@@ -3263,7 +3263,7 @@ TEST_F(MasterTest, SlaveActiveEndpoint)
 
   // Verify slave is active.
   Future<process::http::Response> response =
-    process::http::get(master.get(), "state.json");
+    process::http::get(master.get(), "state");
   AWAIT_READY(response);
 
   Try<JSON::Object> parse = JSON::parse<JSON::Object>(response.get().body);
@@ -3285,7 +3285,7 @@ TEST_F(MasterTest, SlaveActiveEndpoint)
   AWAIT_READY(deactivateSlave);
 
   // Verify slave is inactive.
-  response = process::http::get(master.get(), "state.json");
+  response = process::http::get(master.get(), "state");
   AWAIT_READY(response);
 
   parse = JSON::parse<JSON::Object>(response.get().body);
@@ -3300,7 +3300,7 @@ TEST_F(MasterTest, SlaveActiveEndpoint)
 
 
 // This test verifies that service info for tasks is exposed over the
-// master state endpoint.
+// master's state endpoint.
 TEST_F(MasterTest, TaskDiscoveryInfo)
 {
   Try<PID<Master>> master = StartMaster();
@@ -3382,9 +3382,9 @@ TEST_F(MasterTest, TaskDiscoveryInfo)
 
   AWAIT_READY(update);
 
-  // Verify label key and value in master state.json.
+  // Verify label key and value in the master's state endpoint.
   Future<process::http::Response> response =
-    process::http::get(master.get(), "state.json");
+    process::http::get(master.get(), "state");
   AWAIT_READY(response);
 
   EXPECT_SOME_EQ(
@@ -3594,8 +3594,9 @@ TEST_F(MasterTest, MasterFailoverLongLivedExecutor)
   Shutdown(); // Must shutdown before 'containerizer' gets deallocated.
 }
 
-// This test ensures that if a framework scheduler provides any labels in its
-// FrameworkInfo message, those labels are included in the state.json endpoint.
+// This test ensures that if a framework scheduler provides any
+// labels in its FrameworkInfo message, those labels are included
+// in the master's state endpoint.
 TEST_F(MasterTest, FrameworkInfoLabels)
 {
   Try<PID<Master>> master = StartMaster();

http://git-wip-us.apache.org/repos/asf/mesos/blob/f893c856/src/webui/master/static/js/controllers.js
----------------------------------------------------------------------
diff --git a/src/webui/master/static/js/controllers.js b/src/webui/master/static/js/controllers.js
index 6b46ab2..8193a44 100644
--- a/src/webui/master/static/js/controllers.js
+++ b/src/webui/master/static/js/controllers.js
@@ -282,7 +282,7 @@
     });
 
     var poll = function() {
-      $http.get('master/state.json',
+      $http.get('master/state',
                 {transformResponse: function(data) { return data; }})
         .success(function(data) {
           if (update($scope, $timeout, data)) {
@@ -637,8 +637,8 @@
   // directory to browse is known by the slave but not by the master. Request
   // the directory from the slave, and then redirect to it.
   //
-  // TODO(ssorallen): Add `executor.directory` to the state.json output so this
-  // controller of rerouting is no longer necessary.
+  // TODO(ssorallen): Add `executor.directory` to the master's state endpoint
+  // output so this controller of rerouting is no longer necessary.
   mesosApp.controller('SlaveExecutorRerouterCtrl',
       function($alert, $http, $location, $routeParams, $scope, $window) {