agent: look for wcs tenant in both old and new directories (#54614)
This commit is contained in:
parent
0f8fe28274
commit
3252785cd0
|
@ -31,7 +31,7 @@ from . import settings
|
|||
|
||||
|
||||
class BaseService(object):
|
||||
tenants_dir = None
|
||||
tenants_dirs = None
|
||||
|
||||
def __init__(self, base_url, title, secret_key, **kwargs):
|
||||
self.base_url = base_url
|
||||
|
@ -40,9 +40,9 @@ class BaseService(object):
|
|||
|
||||
@classmethod
|
||||
def get_actual_tenants(cls):
|
||||
if cls.tenants_dir and os.path.exists(cls.tenants_dir):
|
||||
return os.listdir(cls.tenants_dir)
|
||||
return None
|
||||
for tenants_dir in cls.tenants_dirs:
|
||||
if os.path.exists(tenants_dir):
|
||||
yield from os.listdir(tenants_dir)
|
||||
|
||||
@classmethod
|
||||
def is_for_us(cls, url):
|
||||
|
@ -91,8 +91,8 @@ class BaseService(object):
|
|||
def notify(cls, data):
|
||||
if not os.path.exists(cls.service_manage_try_cmd):
|
||||
return
|
||||
tenants = cls.get_actual_tenants()
|
||||
if tenants is not None:
|
||||
tenants = list(cls.get_actual_tenants())
|
||||
if tenants:
|
||||
for audience in data.get('audience', []):
|
||||
parsed_url = urlparse.urlsplit(audience)
|
||||
netloc = parsed_url.netloc.split(':')[0]
|
||||
|
@ -116,21 +116,21 @@ class Passerelle(BaseService):
|
|||
service_id = 'passerelle'
|
||||
service_manage_cmd = settings.PASSERELLE_MANAGE_COMMAND
|
||||
service_manage_try_cmd = settings.PASSERELLE_MANAGE_TRY_COMMAND
|
||||
tenants_dir = settings.PASSERELLE_TENANTS_DIRECTORY
|
||||
tenants_dirs = [settings.PASSERELLE_TENANTS_DIRECTORY]
|
||||
|
||||
|
||||
class Wcs(BaseService):
|
||||
service_id = 'wcs'
|
||||
service_manage_cmd = settings.WCS_MANAGE_COMMAND
|
||||
service_manage_try_cmd = settings.WCS_MANAGE_TRY_COMMAND
|
||||
tenants_dir = settings.WCS_TENANTS_DIRECTORY
|
||||
tenants_dirs = [settings.WCS_TENANTS_DIRECTORY, os.path.join(settings.WCS_TENANTS_DIRECTORY, 'tenants')]
|
||||
|
||||
|
||||
class Authentic(BaseService):
|
||||
service_id = 'authentic'
|
||||
service_manage_cmd = settings.AUTHENTIC_MANAGE_COMMAND
|
||||
service_manage_try_cmd = settings.AUTHENTIC_MANAGE_TRY_COMMAND
|
||||
tenants_dir = settings.AUTHENTIC_TENANTS_DIRECTORY
|
||||
tenants_dirs = [settings.AUTHENTIC_TENANTS_DIRECTORY]
|
||||
|
||||
@classmethod
|
||||
def notify(cls, data):
|
||||
|
@ -141,42 +141,42 @@ class Chrono(BaseService):
|
|||
service_id = 'chrono'
|
||||
service_manage_cmd = settings.CHRONO_MANAGE_COMMAND
|
||||
service_manage_try_cmd = settings.CHRONO_MANAGE_TRY_COMMAND
|
||||
tenants_dir = settings.CHRONO_TENANTS_DIRECTORY
|
||||
tenants_dirs = [settings.CHRONO_TENANTS_DIRECTORY]
|
||||
|
||||
|
||||
class Combo(BaseService):
|
||||
service_id = 'combo'
|
||||
service_manage_cmd = settings.COMBO_MANAGE_COMMAND
|
||||
service_manage_try_cmd = settings.COMBO_MANAGE_TRY_COMMAND
|
||||
tenants_dir = settings.COMBO_TENANTS_DIRECTORY
|
||||
tenants_dirs = [settings.COMBO_TENANTS_DIRECTORY]
|
||||
|
||||
|
||||
class Fargo(BaseService):
|
||||
service_id = 'fargo'
|
||||
service_manage_cmd = settings.FARGO_MANAGE_COMMAND
|
||||
service_manage_try_cmd = settings.FARGO_MANAGE_TRY_COMMAND
|
||||
tenants_dir = settings.FARGO_TENANTS_DIRECTORY
|
||||
tenants_dirs = [settings.FARGO_TENANTS_DIRECTORY]
|
||||
|
||||
|
||||
class Hobo(BaseService):
|
||||
service_id = 'hobo'
|
||||
service_manage_cmd = settings.HOBO_MANAGE_COMMAND
|
||||
service_manage_try_cmd = settings.HOBO_MANAGE_TRY_COMMAND
|
||||
tenants_dir = settings.HOBO_TENANTS_DIRECTORY
|
||||
tenants_dirs = [settings.HOBO_TENANTS_DIRECTORY]
|
||||
|
||||
|
||||
class Welco(BaseService):
|
||||
service_id = 'welco'
|
||||
service_manage_cmd = settings.WELCO_MANAGE_COMMAND
|
||||
service_manage_try_cmd = settings.WELCO_MANAGE_TRY_COMMAND
|
||||
tenants_dir = settings.WELCO_TENANTS_DIRECTORY
|
||||
tenants_dirs = [settings.WELCO_TENANTS_DIRECTORY]
|
||||
|
||||
|
||||
class BiJoe(BaseService):
|
||||
service_id = 'bijoe'
|
||||
service_manage_cmd = settings.BIJOE_MANAGE_COMMAND
|
||||
service_manage_try_cmd = settings.BIJOE_MANAGE_TRY_COMMAND
|
||||
tenants_dir = settings.BIJOE_TENANTS_DIRECTORY
|
||||
tenants_dirs = [settings.BIJOE_TENANTS_DIRECTORY]
|
||||
|
||||
|
||||
def deploy(environment):
|
||||
|
|
|
@ -137,7 +137,7 @@ def test_deploy_host_with_agent_patterns(mocked_subprocess, mocked_exists, local
|
|||
@mock.patch('hobo.agent.worker.services.subprocess')
|
||||
def test_notify(mocked_subprocess, mocked_listdir, mocked_exists):
|
||||
def listdir(path):
|
||||
return '%s.dev.publik.love' % path.split('/')[3]
|
||||
return ['%s.dev.publik.love' % path.split('/')[3]]
|
||||
|
||||
mocked_listdir.side_effect = listdir
|
||||
mocked_communicate = mock.Mock(return_value=('', ''))
|
||||
|
|
Loading…
Reference in New Issue