Skip to content

Commit 406ab7a

Browse files
committed
PHPC-142: add 'list-servers' target to enumerate all running MO servers
1 parent 031a8da commit 406ab7a

File tree

3 files changed

+39
-0
lines changed

3 files changed

+39
-0
lines changed

Makefile.frag

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@ vm:
4848
@command -v vagrant >/dev/null 2>&1 || { echo >&2 "Vagrant needs to be installed to run vms"; exit 1; }
4949
@vagrant up
5050

51+
list-servers:
52+
php scripts/list-servers.php
53+
5154
test-bootstrap:
5255
php scripts/start-servers.php
5356

scripts/list-servers.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?php
2+
require __DIR__ . "/" . "../tests/utils/orchestration.php";
3+
4+
if (!($host = getenv("MONGODB_ORCHESTRATION"))) {
5+
$host = "http://192.168.112.10:8889";
6+
}
7+
8+
$orch = new Mongo\Orchestration($host, getenv("MONGODB_ORCHESTRATION_PRESETS_ROOT"));
9+
if (!$orch->ping()) {
10+
echo "Failed connecting to MO\n";
11+
exit(3);
12+
}
13+
14+
foreach($orch->getAll() as $uri => $server) {
15+
printf("%s:%s%s\n", $server["id"], str_repeat(" ", 40-strlen($server["id"])), $server["mongodb_uri"]);
16+
}
17+
18+

tests/utils/orchestration.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,24 @@ function ping() {
2828

2929

3030

31+
function getAll() {
32+
$servers = $this->get("servers");
33+
$retval = array();
34+
foreach($servers["servers"] as $server) {
35+
$id = $server["id"];
36+
$data = $this->get("servers/$id");
37+
$retval[$data["mongodb_uri"]] = $data;
38+
}
39+
$servers = $this->get("replica_sets");
40+
foreach($servers["replica_sets"] as $server) {
41+
$id = $server["id"];
42+
$data = $this->get("replica_sets/$id");
43+
$retval[$data["mongodb_uri"]] = $data;
44+
}
45+
46+
return $retval;
47+
}
48+
3149
function stopAll() {
3250
$servers = $this->get("servers");
3351
foreach($servers["servers"] as $server) {

0 commit comments

Comments
 (0)