aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFranck Cuny <fcuny@roblox.com>2024-05-06 14:07:34 -0700
committerFranck Cuny <fcuny@roblox.com>2024-05-06 14:07:34 -0700
commit1d65d7696c17eb0d1286968839331f7aeb12f3c3 (patch)
tree7f5b6593fc6413cb4385dbf2ca4ef31f4b442db7
parentmove ipconverter under `src` (diff)
downloadinfra-1d65d7696c17eb0d1286968839331f7aeb12f3c3.tar.gz
just moving stuff around
Diffstat (limited to '')
-rw-r--r--pyproject.toml8
-rwxr-xr-xsrc/cli/hashi_env.py (renamed from packages/robloxenv/robloxenv.py)1
-rwxr-xr-xsrc/cli/nomad_allocs.py51
3 files changed, 57 insertions, 3 deletions
diff --git a/pyproject.toml b/pyproject.toml
index 0c944c3..4400828 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -65,8 +65,10 @@ combine-as-imports = true
known-first-party = ["rbx_nomad"]
[project.scripts]
+hashi_env = "cli.hash_env:cli"
+int2ip = "cli.ipconverter:int2ip"
+ip2int = "cli.ipconverter:ip2int"
+nomad_allocs = "cli.nomad_allocs:cli"
pizza = "cli.pizza:main"
-slocalc = "cli.slocalc:cli"
seqstat = "cli.seqstat:cli"
-ip2int = "cli.ipconverter:ip2int"
-int2ip = "cli.ipconverter:int2ip"
+slocalc = "cli.slocalc:cli"
diff --git a/packages/robloxenv/robloxenv.py b/src/cli/hashi_env.py
index 79f9428..aeac5ef 100755
--- a/packages/robloxenv/robloxenv.py
+++ b/src/cli/hashi_env.py
@@ -21,6 +21,7 @@ creds_cache = os.path.join(os.getenv("HOME") or "", ".local/state/rbxenv")
valid_dcs = ["ash1", "chi1"]
valid_edges = [
+ "bom1",
"ams1",
"atl1",
"dwf1",
diff --git a/src/cli/nomad_allocs.py b/src/cli/nomad_allocs.py
new file mode 100755
index 0000000..f2369bb
--- /dev/null
+++ b/src/cli/nomad_allocs.py
@@ -0,0 +1,51 @@
+#!/usr/bin/env python3
+
+import sys
+
+import click
+import requests
+
+
+@click.command()
+@click.argument("job")
+@click.option("--dc", default="bom1", help="Name of the data center")
+@click.option("--token", help="Token for Nomad")
+def cli(job, dc, token):
+ if token is None:
+ print("you need to pass a valid token")
+ sys.exit(1)
+
+ headers = {"Authorization": f"Bearer {token}"}
+ url = f"https://{dc}-nomad.simulprod.com/v1/job/{job}/allocations"
+ try:
+ resp = requests.get(url, headers=headers)
+ resp.raise_for_status
+ except Exception as e:
+ print("return {}".format(str(e)))
+
+ running_tasks = []
+ terminated_tasks = []
+ for task in resp.json():
+ task_name = list(task["TaskStates"].keys())[0]
+ if task["TaskStates"][task_name]["State"] == "running":
+ running_tasks.append(
+ f"https://{dc}-nomad.simulprod.com/ui/allocations/{task['ID']}/{task_name}/logs"
+ )
+ else:
+ terminated_tasks.append(
+ f"https://{dc}-nomad.simulprod.com/ui/allocations/{task['ID']}/{task_name}/logs"
+ )
+
+ if len(running_tasks) > 0:
+ print("running tasks")
+ for t in running_tasks:
+ print(f"→ {t}")
+
+ if len(terminated_tasks) > 0:
+ print("terminated tasks")
+ for t in terminated_tasks:
+ print(f"→ {t}")
+
+
+if __name__ == "__main__":
+ cli()