From 9a0f4703acb3b7304216ff5d00d1779232a8b70f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Rodr=C3=ADguez?= Date: Thu, 31 Aug 2017 18:11:44 -0300 Subject: Support `redis` field on /internal/check API endpoint --- CHANGELOG | 1 + bin/check | 40 ++++++++++++++++++++++++++++------------ 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" -- cgit v1.2.1