mirror of
				https://github.com/clearml/clearml-server
				synced 2025-06-26 23:15:47 +00:00 
			
		
		
		
	Fix elasticsearch authentication when initializing (#98)
This commit is contained in:
		
							parent
							
								
									8a3d992aaf
								
							
						
					
					
						commit
						e352a6a1e7
					
				@ -5,7 +5,7 @@ Apply elasticsearch mappings to given hosts.
 | 
			
		||||
import argparse
 | 
			
		||||
import json
 | 
			
		||||
from pathlib import Path
 | 
			
		||||
from typing import Optional, Sequence
 | 
			
		||||
from typing import Optional, Sequence, Tuple
 | 
			
		||||
 | 
			
		||||
from elasticsearch import Elasticsearch
 | 
			
		||||
 | 
			
		||||
@ -13,7 +13,7 @@ HERE = Path(__file__).resolve().parent
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def apply_mappings_to_cluster(
 | 
			
		||||
    hosts: Sequence, key: Optional[str] = None, es_args: dict = None
 | 
			
		||||
    hosts: Sequence, key: Optional[str] = None, es_args: dict = None, http_auth: Tuple = None
 | 
			
		||||
):
 | 
			
		||||
    """Hosts maybe a sequence of strings or dicts in the form {"host": <host>, "port": <port>}"""
 | 
			
		||||
 | 
			
		||||
@ -30,7 +30,7 @@ def apply_mappings_to_cluster(
 | 
			
		||||
    else:
 | 
			
		||||
        files = p.glob("**/*.json")
 | 
			
		||||
 | 
			
		||||
    es = Elasticsearch(hosts=hosts, **(es_args or {}))
 | 
			
		||||
    es = Elasticsearch(hosts=hosts, http_auth=http_auth, **(es_args or {}))
 | 
			
		||||
    return [_send_template(f) for f in files]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -82,7 +82,16 @@ def check_elastic_empty() -> bool:
 | 
			
		||||
        es_logger.addFilter(log_filter)
 | 
			
		||||
        for retry in range(max_retries):
 | 
			
		||||
            try:
 | 
			
		||||
                es = Elasticsearch(hosts=cluster_conf.get("hosts"))
 | 
			
		||||
                hosts = cluster_conf.get("hosts", None)
 | 
			
		||||
                http_auth = (
 | 
			
		||||
                    es_factory.get_credentials("events")
 | 
			
		||||
                    if cluster_conf.get("secure", True)
 | 
			
		||||
                    else None
 | 
			
		||||
                )
 | 
			
		||||
                args = cluster_conf.get("args", {})
 | 
			
		||||
                es = Elasticsearch(
 | 
			
		||||
                    hosts=hosts, http_auth=http_auth, **args
 | 
			
		||||
                )
 | 
			
		||||
                return not es.indices.get_template(name="events*")
 | 
			
		||||
            except exceptions.NotFoundError as ex:
 | 
			
		||||
                log.error(ex)
 | 
			
		||||
@ -109,5 +118,10 @@ def init_es_data():
 | 
			
		||||
 | 
			
		||||
        log.info(f"Applying mappings to ES host: {hosts_config}")
 | 
			
		||||
        args = cluster_conf.get("args", {})
 | 
			
		||||
        res = apply_mappings_to_cluster(hosts_config, name, es_args=args)
 | 
			
		||||
        http_auth = (
 | 
			
		||||
            es_factory.get_credentials(name)
 | 
			
		||||
            if cluster_conf.get("secure", True)
 | 
			
		||||
            else None
 | 
			
		||||
        )
 | 
			
		||||
        res = apply_mappings_to_cluster(hosts_config, name, es_args=args, http_auth=http_auth)
 | 
			
		||||
        log.info(res)
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user