From 172394837dfe7aeecd53a2138175388c528c9cf4 Mon Sep 17 00:00:00 2001 From: Justin Dalrymple Date: Sat, 1 Feb 2020 11:15:54 +0100 Subject: [PATCH] =?UTF-8?q?ci:=20=F0=9F=A4=96=20Updated=20the=20test=20doc?= =?UTF-8?q?ker=20scripts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../docker-compose.yml | 7 ++-- scripts/init.rb | 9 ++++ scripts/probe.js | 38 +++++++++++++++++ test/docker/init_data.rb | 7 ---- test/docker/test_readiness.js | 42 ------------------- 5 files changed, 50 insertions(+), 53 deletions(-) rename test/docker/docker-compose.test.yml => scripts/docker-compose.yml (55%) create mode 100644 scripts/init.rb create mode 100644 scripts/probe.js delete mode 100644 test/docker/init_data.rb delete mode 100644 test/docker/test_readiness.js diff --git a/test/docker/docker-compose.test.yml b/scripts/docker-compose.yml similarity index 55% rename from test/docker/docker-compose.test.yml rename to scripts/docker-compose.yml index 4d5207e0..5ae1f8a3 100644 --- a/test/docker/docker-compose.test.yml +++ b/scripts/docker-compose.yml @@ -4,13 +4,12 @@ services: image: 'gitlab/gitlab-ce' container_name: 'gitlab' environment: - GITLAB_URL: 'http://localhost:8080' - PERSONAL_ACCESS_TOKEN: "" + PERSONAL_ACCESS_TOKEN: '' GITLAB_OMNIBUS_CONFIG: | - gitlab_rails['monitoring_whitelist'] = ['0.0.0.0/0', '172.17.0.1']; + gitlab_rails['monitoring_whitelist'] = ['0.0.0.0/0', '172.17.0.1']; GITLAB_ROOT_PASSWORD: 'password' ports: - '8080:80' - '8443:443' volumes: - - './init_data.rb:/tmp/init_data.rb' + - './init.rb:/mnt/init.rb' diff --git a/scripts/init.rb b/scripts/init.rb new file mode 100644 index 00000000..05ed42b7 --- /dev/null +++ b/scripts/init.rb @@ -0,0 +1,9 @@ +#!/usr/bin/env ruby +u = User.first +u.admin = true +u.save! + +t = PersonalAccessToken.new({ user: u, name: 'gitbeaker', scopes: ['api', 'read_user']}) +t.save! + +puts t.token diff --git a/scripts/probe.js b/scripts/probe.js new file mode 100644 index 00000000..068542c8 --- /dev/null +++ b/scripts/probe.js @@ -0,0 +1,38 @@ +/* eslint-disable */ +const request = require('got'); + +function sleep(ms) { + return new Promise(resolve => { + setTimeout(resolve, ms); + }); +} + +// Define readiness function +async function checkReadiness() { + const body = await request.get(`${process.env.GITLAB_URL}/-/readiness?all=1`).json(); + + return body.master_check[0].status == 'ok'; +} + +// Poll GL for a successful readiness status +async function run() { + let attempt = 0; + + await sleep(120000); + + while (attempt < 25) { + try { + const ready = await checkReadiness(); + + if (ready) break; + } catch (e) { + console.error(e.message); + } + + await sleep(10000); + + attempt += 1; + } +} + +run(); diff --git a/test/docker/init_data.rb b/test/docker/init_data.rb deleted file mode 100644 index 82ca3c54..00000000 --- a/test/docker/init_data.rb +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env ruby -u = User.first - -t = PersonalAccessToken.new({ user: u, name: 'node-gitlab', scopes: ['api']}) -t.save! - -puts t.token diff --git a/test/docker/test_readiness.js b/test/docker/test_readiness.js deleted file mode 100644 index 781422d0..00000000 --- a/test/docker/test_readiness.js +++ /dev/null @@ -1,42 +0,0 @@ -const request = require('ky-universal'); - -function sleep(ms) { - return new Promise(resolve => { - setTimeout(resolve, ms); - }); -} - -// Define readiness function -async function check_readiness() { - const r = await request.get(`${process.env.GITLAB_URL}/-/readiness`); - const body = await r.json(); - - return ![ - body.db_check.status, - body.redis_check.status, - body.cache_check.status, - body.queues_check.status, - body.shared_state_check.status, - body.gitaly_check.status, - ].some(el => el != 'ok'); -} - -// Poll GL for a successful readiness status -async function run() { - let attempt = 0; - - while (attempt < 25) { - try { - let ready = await check_readiness(); - - if (!ready) break; - } catch(e) { - } - - await sleep(10000); - - attempt++; - } -} - -run();