summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlejandro Rodríguez <alejorro70@gmail.com>2017-08-31 18:11:44 -0300
committerAlejandro Rodríguez <alejorro70@gmail.com>2017-09-05 14:29:01 -0300
commit9a0f4703acb3b7304216ff5d00d1779232a8b70f (patch)
treed3957937e2159d1604e1e009a88484a5e507ef5b
parent3ce0677ad9b1ce99f8e2abb5f9607e9af404a02c (diff)
downloadgitlab-shell-9a0f4703acb3b7304216ff5d00d1779232a8b70f.tar.gz
Support `redis` field on /internal/check API endpoint
-rw-r--r--CHANGELOG1
-rwxr-xr-xbin/check40
2 files changed, 29 insertions, 12 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 6d5a6f0..495a24f 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,6 @@
v5.9.0
- Support new /internal/post-receive API endpoint for post-receive operations
+ - Support `redis` field on /internal/check API endpoint
v5.8.1
- Support old versions of ruby without monotonic clock
diff --git a/bin/check b/bin/check
index 9585416..2eec54e 100755
--- a/bin/check
+++ b/bin/check
@@ -3,6 +3,17 @@
require_relative '../lib/gitlab_init'
require_relative '../lib/gitlab_net'
+def ping_redis
+ print "Send ping to redis server: "
+ if GitlabNet.new.redis_client.ping
+ print 'OK'
+ else
+ abort 'FAILED'
+ end
+
+ puts "\n"
+end
+
#
# GitLab shell check task
#
@@ -10,11 +21,25 @@ require_relative '../lib/gitlab_net'
print "Check GitLab API access: "
begin
resp = GitlabNet.new.check
- if resp.code == "200"
- print 'OK'
- else
+
+ if resp.code != "200"
abort "FAILED. code: #{resp.code}"
end
+
+ puts 'OK'
+
+ check_values = JSON.parse(resp.body)
+
+ if check_values.key?('redis')
+ print 'Redis available via internal API: '
+ if check_values['redis']
+ puts 'OK'
+ else
+ abort 'FAILED'
+ end
+ else
+ ping_redis
+ end
rescue GitlabNet::ApiUnreachableError
abort "FAILED: Failed to connect to internal API"
end
@@ -30,12 +55,3 @@ else
abort "FAILED"
end
puts "\n"
-
-print "Send ping to redis server: "
-if GitlabNet.new.redis_client.ping
- print 'OK'
-else
- abort 'FAILED'
-end
-
-puts "\n"