mirror of
https://github.com/clearml/clearml-server
synced 2025-02-07 21:43:11 +00:00
![allegroai](/assets/img/avatar_default.png)
Add initial support for project ordering Add support for sortable task duration (used by the UI in the experiment's table) Add support for project name in worker's current task info Add support for results and artifacts in pre-populates examples Add demo server features
62 lines
1.5 KiB
Python
Executable File
62 lines
1.5 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
"""
|
|
Apply elasticsearch mappings to given hosts.
|
|
"""
|
|
import argparse
|
|
import json
|
|
from pathlib import Path
|
|
|
|
import requests
|
|
from requests.adapters import HTTPAdapter
|
|
from requests.packages.urllib3.util.retry import Retry
|
|
|
|
HERE = Path(__file__).resolve().parent
|
|
|
|
session = requests.Session()
|
|
adapter = HTTPAdapter(max_retries=Retry(5, backoff_factor=0.5))
|
|
session.mount("http://", adapter)
|
|
|
|
|
|
def get_template(host: str, template) -> dict:
|
|
url = f"{host}/_template/{template}"
|
|
res = session.get(url)
|
|
return res.json()
|
|
|
|
|
|
def apply_mappings_to_host(host: str):
|
|
def _send_mapping(f):
|
|
with f.open() as json_data:
|
|
data = json.load(json_data)
|
|
url = f"{host}/_template/{f.stem}"
|
|
|
|
session.delete(url)
|
|
r = session.post(
|
|
url, headers={"Content-Type": "application/json"}, data=json.dumps(data)
|
|
)
|
|
return {"mapping": f.stem, "result": r.text}
|
|
|
|
p = HERE / "mappings"
|
|
return [
|
|
_send_mapping(f) for f in p.iterdir() if f.is_file() and f.suffix == ".json"
|
|
]
|
|
|
|
|
|
def parse_args():
|
|
parser = argparse.ArgumentParser(
|
|
description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter
|
|
)
|
|
parser.add_argument("hosts", nargs="+")
|
|
return parser.parse_args()
|
|
|
|
|
|
def main():
|
|
args = parse_args()
|
|
for host in args.hosts:
|
|
print(">>>>> Applying mapping to " + host)
|
|
res = apply_mappings_to_host(host)
|
|
print(res)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|