diff options
author | Alejandro RodrÃguez <alejorro70@gmail.com> | 2017-08-31 18:11:44 -0300 |
---|---|---|
committer | Alejandro RodrÃguez <alejorro70@gmail.com> | 2017-09-05 14:29:01 -0300 |
commit | 9a0f4703acb3b7304216ff5d00d1779232a8b70f (patch) | |
tree | d3957937e2159d1604e1e009a88484a5e507ef5b | |
parent | 3ce0677ad9b1ce99f8e2abb5f9607e9af404a02c (diff) | |
download | gitlab-shell-9a0f4703acb3b7304216ff5d00d1779232a8b70f.tar.gz |
Support `redis` field on /internal/check API endpoint
-rw-r--r-- | CHANGELOG | 1 | ||||
-rwxr-xr-x | bin/check | 40 |
2 files changed, 29 insertions, 12 deletions
@@ -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 @@ -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" |