Skip to content

Commit

Permalink
feat(middlewared/etc): use render method wherever it makes most sense
Browse files Browse the repository at this point in the history
Ticket:	#73677
  • Loading branch information
william-gr committed Feb 27, 2019
1 parent 0339430 commit d718a26
Show file tree
Hide file tree
Showing 16 changed files with 62 additions and 69 deletions.
6 changes: 1 addition & 5 deletions src/middlewared/middlewared/etc_files/afpd.py
Expand Up @@ -18,7 +18,7 @@ def get_interface(ipaddress):
return ifaces


def render_sync(middleware):
def render(service, middleware):
"""Use the django ORM to generate a config file. We'll build the
config file as a series of lines, and once that is done write it
out in one go"""
Expand Down Expand Up @@ -198,7 +198,3 @@ def render_sync(middleware):
with open(afp_config, "w") as fh:
for line in cf_contents:
fh.write(line)


async def render(service, middleware):
await middleware.run_in_thread(render_sync, middleware)
6 changes: 3 additions & 3 deletions src/middlewared/middlewared/etc_files/ctld.py
Expand Up @@ -406,6 +406,6 @@ def set_ctl_ha_peer(middleware):
sysctl.filter("kern.cam.ctl.ha_peer")[0].value = ""


async def render(service, middleware):
await middleware.run_in_thread(main, middleware)
await middleware.run_in_thread(set_ctl_ha_peer, middleware)
def render(service, middleware):
main(middleware)
set_ctl_ha_peer(middleware)
4 changes: 2 additions & 2 deletions src/middlewared/middlewared/etc_files/fstab_configure.py
Expand Up @@ -10,5 +10,5 @@ def fstab_configuration(middleware):
middleware.logger.debug(f'Failed to execute "mount -uw": {ret.stderr.decode()}')


async def render(service, middleware):
await middleware.run_in_thread(fstab_configuration, middleware)
def render(service, middleware):
fstab_configuration(middleware)
4 changes: 2 additions & 2 deletions src/middlewared/middlewared/etc_files/inetd_conf.py
Expand Up @@ -33,5 +33,5 @@ def inetd_config(middleware):
os.chmod('/etc/inetd.conf', 0o644)


async def render(service, middleware):
await middleware.run_in_thread(inetd_config, middleware)
def render(service, middleware):
inetd_config(middleware)
4 changes: 2 additions & 2 deletions src/middlewared/middlewared/etc_files/loader.py
Expand Up @@ -93,5 +93,5 @@ def generate_xen_loader_config(middleware):
return []


async def render(service, middleware):
await middleware.run_in_thread(loader_config, middleware)
def render(service, middleware):
loader_config(middleware)
Expand Up @@ -40,5 +40,5 @@ def generate_webdav_config(middleware):
pass


async def render(service, middleware):
await middleware.run_in_thread(generate_webdav_config, middleware)
def render(service, middleware):
generate_webdav_config(middleware)
Expand Up @@ -3,16 +3,16 @@
import pwd


async def render(service, middleware):
s3 = await middleware.call('s3.config')
def render(service, middleware):
s3 = middleware.call_sync('s3.config')

cert = s3.get('certificate')
if not cert:
return
else:
await middleware.call('certificate.cert_services_validation', cert, 's3.certificate')
middleware.call_sync('certificate.cert_services_validation', cert, 's3.certificate')

cert = await middleware.call('certificate._get_instance', cert)
cert = middleware.call_sync('certificate._get_instance', cert)

minio_path = "/usr/local/etc/minio"

Expand Down
61 changes: 29 additions & 32 deletions src/middlewared/middlewared/etc_files/local/netdata/alarms.py
Expand Up @@ -4,40 +4,37 @@
from collections import defaultdict


async def render(service, middleware):
def update_alarms(alarms):
for path, alarm_dict in alarms.items():
if os.path.exists(path):
with open(path, 'r') as f:
original_content = content = f.read()

alarm = None
for key, alarm in alarm_dict.items():
content = re.sub(
fr'(alarm: {key}[\s\S]*?to: )(.*)',
fr'\1{"silent" if not alarm["enabled"] else "sysadmin"}',
content
)
# Better safe than sorry
if alarm:
if original_content != content:
with open(alarm['write_path'], 'w') as f:
f.write(content)
elif os.path.exists(alarm['write_path']):
middleware.logger.debug(
f'Removing {alarm["write_path"]} as original content has not changed'
)
os.remove(alarm['write_path'])

else:
middleware.logger.debug(
f'Could not find config file {path} for {",".join(list(alarm_dict))} alarm(s)'
)

listed_alarms = await middleware.call('netdata.list_alarms')
def render(service, middleware):
listed_alarms = middleware.call_sync('netdata.list_alarms')
alarms = defaultdict(dict)
# Let's not unnecessarily open a single file again and again for reading/writing
for key, alarm in listed_alarms.items():
alarms[alarm.get('read_path')].update({key: alarm})

await middleware.run_in_thread(update_alarms, alarms)
for path, alarm_dict in alarms.items():
if os.path.exists(path):
with open(path, 'r') as f:
original_content = content = f.read()

alarm = None
for key, alarm in alarm_dict.items():
content = re.sub(
fr'(alarm: {key}[\s\S]*?to: )(.*)',
fr'\1{"silent" if not alarm["enabled"] else "sysadmin"}',
content
)
# Better safe than sorry
if alarm:
if original_content != content:
with open(alarm['write_path'], 'w') as f:
f.write(content)
elif os.path.exists(alarm['write_path']):
middleware.logger.debug(
f'Removing {alarm["write_path"]} as original content has not changed'
)
os.remove(alarm['write_path'])

else:
middleware.logger.debug(
f'Could not find config file {path} for {",".join(list(alarm_dict))} alarm(s)'
)
4 changes: 2 additions & 2 deletions src/middlewared/middlewared/etc_files/local/nut/ups_config.py
Expand Up @@ -17,5 +17,5 @@ def generate_ups_config(middleware):
os.chmod(UPS_VARPATH, 0o770)


async def render(service, middleware):
await middleware.run_in_thread(generate_ups_config, middleware)
def render(service, middleware):
generate_ups_config(middleware)
4 changes: 2 additions & 2 deletions src/middlewared/middlewared/etc_files/local/nut/ups_perms.py
Expand Up @@ -18,5 +18,5 @@ def ups_config_perms(middleware):
os.remove(file)


async def render(service, middleware):
await middleware.run_in_thread(ups_config_perms, middleware)
def render(service, middleware):
ups_config_perms(middleware)
4 changes: 2 additions & 2 deletions src/middlewared/middlewared/etc_files/local/proftpd.py
Expand Up @@ -21,5 +21,5 @@ def setup(middleware):
f.write(f"Welcome to {product_name} FTP Server\n")


async def render(service, middleware):
await middleware.run_in_thread(setup, middleware)
def render(service, middleware):
setup(middleware)
4 changes: 2 additions & 2 deletions src/middlewared/middlewared/etc_files/local/ssh/config.py
Expand Up @@ -25,5 +25,5 @@ def generate_ssh_config(middleware):
os.chmod(os.path.join(SSH_CONFIG_PATH, f), 0o600)


async def render(service, middleware):
await middleware.run_in_thread(generate_ssh_config, middleware)
def render(service, middleware):
generate_ssh_config(middleware)
4 changes: 2 additions & 2 deletions src/middlewared/middlewared/etc_files/localtime_config.py
Expand Up @@ -16,5 +16,5 @@ def localtime_configuration(middleware):
f.write(f'{system_config["timezone"]}\n')


async def render(service, middleware):
await middleware.run_in_thread(localtime_configuration, middleware)
def render(service, middleware):
localtime_configuration(middleware)
4 changes: 2 additions & 2 deletions src/middlewared/middlewared/etc_files/sysctl_config.py
Expand Up @@ -17,5 +17,5 @@ def sysctl_configuration(middleware):
)


async def render(service, middleware):
await middleware.run_in_thread(sysctl_configuration, middleware)
def render(service, middleware):
sysctl_configuration(middleware)
8 changes: 4 additions & 4 deletions src/middlewared/middlewared/etc_files/syslogd.py
Expand Up @@ -172,7 +172,7 @@ def configure_syslog(middleware):
middleware.call_sync("core.reconfigure_logging")


async def render(service, middleware):
await middleware.run_in_thread(generate_syslog_conf, middleware)
await middleware.run_in_thread(generate_ha_syslog, middleware)
await middleware.run_in_thread(configure_syslog, middleware)
def render(service, middleware):
generate_syslog_conf(middleware)
generate_ha_syslog(middleware)
configure_syslog(middleware)
2 changes: 1 addition & 1 deletion src/middlewared/middlewared/etc_files/ttys_config.py
Expand Up @@ -2,5 +2,5 @@
import signal


async def render(service, middleware):
def render(service, middleware):
os.kill(1, signal.SIGHUP)

0 comments on commit d718a26

Please sign in to comment.