diff options
author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2018-07-11 10:42:31 -0700 |
---|---|---|
committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2018-07-11 10:42:31 -0700 |
commit | f94aea8119bdf5b894c4d9a29e678c3c3594b490 (patch) | |
tree | 6605b2919773316cbe9512c169ed7f4882af8497 /controller/EmbeddedNetworkController.cpp | |
parent | 37ae3b2b80e95758e028e476c9bcb485583f8208 (diff) | |
download | infinitytier-f94aea8119bdf5b894c4d9a29e678c3c3594b490.tar.gz infinitytier-f94aea8119bdf5b894c4d9a29e678c3c3594b490.zip |
Return error 503 if RethinkDB is down when built as RethinkDB-based controller.
Diffstat (limited to 'controller/EmbeddedNetworkController.cpp')
-rw-r--r-- | controller/EmbeddedNetworkController.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/controller/EmbeddedNetworkController.cpp b/controller/EmbeddedNetworkController.cpp index ef52f6e0..6a4134c6 100644 --- a/controller/EmbeddedNetworkController.cpp +++ b/controller/EmbeddedNetworkController.cpp @@ -596,10 +596,11 @@ unsigned int EmbeddedNetworkController::handleControlPlaneHttpGET( // Controller status char tmp[4096]; - OSUtils::ztsnprintf(tmp,sizeof(tmp),"{\n\t\"controller\": true,\n\t\"apiVersion\": %d,\n\t\"clock\": %llu\n}\n",ZT_NETCONF_CONTROLLER_API_VERSION,(unsigned long long)OSUtils::now()); + const bool dbOk = _db->isReady(); + OSUtils::ztsnprintf(tmp,sizeof(tmp),"{\n\t\"controller\": true,\n\t\"apiVersion\": %d,\n\t\"clock\": %llu,\n\t\"databaseReady\": %s\n}\n",ZT_NETCONF_CONTROLLER_API_VERSION,(unsigned long long)OSUtils::now(),dbOk ? "true" : "false"); responseBody = tmp; responseContentType = "application/json"; - return 200; + return dbOk ? 200 : 503; } |