mirror of
https://gitee.com/milvus-io/milvus.git
synced 2026-01-07 19:31:51 +08:00
add static provider
This commit is contained in:
parent
b4ed4b2e35
commit
6acddae130
@ -37,6 +37,11 @@ if SD_PROVIDER == 'Kubernetes':
|
||||
pod_patt=env.str('SD_ROSERVER_POD_PATT', ''),
|
||||
label_selector=env.str('SD_LABEL_SELECTOR', '')
|
||||
)
|
||||
elif SD_PROVIDER == 'Static':
|
||||
from sd.static_provider import StaticProviderSettings
|
||||
SD_PROVIDER_SETTINGS = StaticProviderSettings(
|
||||
hosts=env.list('SD_STATIC_HOSTS', [])
|
||||
)
|
||||
|
||||
TESTING = env.bool('TESTING', False)
|
||||
TESTING_WOSERVER = env.str('TESTING_WOSERVER', 'tcp://127.0.0.1:19530')
|
||||
|
||||
@ -24,4 +24,4 @@ class ProviderManager:
|
||||
def get_provider(cls, name):
|
||||
return cls.PROVIDERS.get(name, None)
|
||||
|
||||
from sd import kubernetes_provider
|
||||
from sd import kubernetes_provider, static_provider
|
||||
|
||||
32
sd/static_provider.py
Normal file
32
sd/static_provider.py
Normal file
@ -0,0 +1,32 @@
|
||||
import os, sys
|
||||
if __name__ == '__main__':
|
||||
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
||||
|
||||
from utils import singleton
|
||||
from sd import ProviderManager
|
||||
|
||||
class StaticProviderSettings:
|
||||
def __init__(self, hosts):
|
||||
self.hosts = hosts
|
||||
|
||||
@singleton
|
||||
@ProviderManager.register_service_provider
|
||||
class KubernetesProvider(object):
|
||||
NAME = 'Static'
|
||||
def __init__(self, settings, conn_mgr, **kwargs):
|
||||
self.conn_mgr = conn_mgr
|
||||
self.hosts = settings.hosts
|
||||
|
||||
def start(self):
|
||||
for host in self.hosts:
|
||||
self.add_pod(host, host)
|
||||
|
||||
def stop(self):
|
||||
for host in self.hosts:
|
||||
self.delete_pod(host)
|
||||
|
||||
def add_pod(self, name, ip):
|
||||
self.conn_mgr.register(name, 'tcp://{}:19530'.format(ip))
|
||||
|
||||
def delete_pod(self, name):
|
||||
self.conn_mgr.unregister(name)
|
||||
Loading…
x
Reference in New Issue
Block a user