Compare commits

...

2 Commits

4 changed files with 25 additions and 14 deletions

View File

@ -111,6 +111,18 @@ if 'PASSWORD_URL' in environ:
PASSWORD_URL = environ['PASSWORD_URL'] PASSWORD_URL = environ['PASSWORD_URL']
else: else:
PASSWORD_URL = config.get('PASSWORD_URL', 'https://localhost:8001/') PASSWORD_URL = config.get('PASSWORD_URL', 'https://localhost:8001/')
if 'PKI_ADMIN_PASSWORD' in environ:
PKI_ADMIN_PASSWORD = environ['PKI_ADMIN_PASSWORD']
else:
PKI_ADMIN_PASSWORD = config['PKI_ADMIN_PASSWORD']
if 'PKI_ADMIN_EMAIL' in environ:
PKI_ADMIN_EMAIL = environ['PKI_ADMIN_EMAIL']
else:
PKI_ADMIN_EMAIL = config['PKI_ADMIN_EMAIL']
if 'PKI_URL' in environ:
PKI_URL = environ['PKI_URL']
else:
PKI_URL = config.get('PKI_URL', 'http://localhost:8002')
def dsn_factory(database, user, password, address=DB_ADDRESS): def dsn_factory(database, user, password, address=DB_ADDRESS):
@ -139,6 +151,10 @@ _config = {'database': {'dsn': dsn_factory(RISOTTO_DB_NAME, RISOTTO_DB_USER, RIS
'device_identifier': PASSWORD_DEVICE_IDENTIFIER, 'device_identifier': PASSWORD_DEVICE_IDENTIFIER,
'service_url': PASSWORD_URL, 'service_url': PASSWORD_URL,
}, },
'pki': {'admin_password': PKI_ADMIN_PASSWORD,
'owner': PKI_ADMIN_EMAIL,
'url': PKI_URL,
},
'cache': {'root_path': CACHE_ROOT_PATH}, 'cache': {'root_path': CACHE_ROOT_PATH},
'servermodel': {'internal_source_path': SRV_SEED_PATH, 'servermodel': {'internal_source_path': SRV_SEED_PATH,
'internal_source': 'internal'}, 'internal_source': 'internal'},

View File

@ -407,7 +407,7 @@ class Dispatcher(register.RegisterDispatcher,
kw[key] = value kw[key] = value
kw['risotto_context'] = risotto_context kw['risotto_context'] = risotto_context
returns = await function(self.injected_self[function_obj['module']], **kw) returns = await function(self.get_service(function_obj['module']), **kw)
if risotto_context.type == 'rpc': if risotto_context.type == 'rpc':
# valid returns # valid returns
await self.valid_call_returns(risotto_context, await self.valid_call_returns(risotto_context,

View File

@ -23,7 +23,7 @@ class Services():
def load_services(self): def load_services(self):
for entry_point in iter_entry_points(group='risotto_services'): for entry_point in iter_entry_points(group='risotto_services'):
self.services.setdefault(entry_point.name, []) self.services.setdefault(entry_point.name, {})
self.services_loaded = True self.services_loaded = True
def load_modules(self, def load_modules(self,
@ -32,21 +32,20 @@ class Services():
for entry_point in iter_entry_points(group='risotto_modules'): for entry_point in iter_entry_points(group='risotto_modules'):
service_name, module_name = entry_point.name.split('.') service_name, module_name = entry_point.name.split('.')
if limit_services is None or service_name in limit_services: if limit_services is None or service_name in limit_services:
setattr(self, module_name, entry_point.load()) self.services[service_name][module_name] = entry_point.load()
self.services[service_name].append(module_name)
self.modules_loaded = True self.modules_loaded = True
#
def get_services(self): # def get_services(self):
if not self.services_loaded: # if not self.services_loaded:
self.load_services() # self.load_services()
return [(s, getattr(self, s)) for s in self.services] # return [(service, getattr(self, service)) for service in self.services]
def get_modules(self, def get_modules(self,
limit_services: Optional[List[str]]=None, limit_services: Optional[List[str]]=None,
) -> List[str]: ) -> List[str]:
if not self.modules_loaded: if not self.modules_loaded:
self.load_modules(limit_services=limit_services) self.load_modules(limit_services=limit_services)
return [(module + '.' + submodule, getattr(self, submodule)) for module, submodules in self.services.items() for submodule in submodules] return [(module + '.' + submodule, entry_point) for module, submodules in self.services.items() for submodule, entry_point in submodules.items()]
def get_services_list(self): def get_services_list(self):
return self.services.keys() return self.services.keys()

View File

@ -392,7 +392,6 @@ async def test_server_created_base():
release_distribution='last', release_distribution='last',
site_name='site_1', site_name='site_1',
zones_name=['zones'], zones_name=['zones'],
zones_ip=['1.1.1.1'],
) )
assert list(config_module.server) == [server_name] assert list(config_module.server) == [server_name]
assert set(config_module.server[server_name]) == {'server', 'server_to_deploy', 'funcs_file'} assert set(config_module.server[server_name]) == {'server', 'server_to_deploy', 'funcs_file'}
@ -420,7 +419,6 @@ async def test_server_created_own_sm():
release_distribution='last', release_distribution='last',
site_name='site_1', site_name='site_1',
zones_name=['zones'], zones_name=['zones'],
zones_ip=['1.1.1.1'],
) )
assert list(config_module.server) == [server_name] assert list(config_module.server) == [server_name]
assert set(config_module.server[server_name]) == {'server', 'server_to_deploy', 'funcs_file'} assert set(config_module.server[server_name]) == {'server', 'server_to_deploy', 'funcs_file'}
@ -469,7 +467,6 @@ async def test_server_configuration_get():
release_distribution='last', release_distribution='last',
site_name='site_1', site_name='site_1',
zones_name=['zones'], zones_name=['zones'],
zones_ip=['1.1.1.1'],
) )
# #
await config_module.server[server_name]['server'].property.read_write() await config_module.server[server_name]['server'].property.read_write()
@ -515,7 +512,6 @@ async def test_server_configuration_deployed():
release_distribution='last', release_distribution='last',
site_name='site_1', site_name='site_1',
zones_name=['zones'], zones_name=['zones'],
zones_ip=['1.1.1.1'],
) )
# #
await config_module.server[server_name]['server'].property.read_write() await config_module.server[server_name]['server'].property.read_write()