uncloud/uncloud_net/tasks.py
Nico Schottelius 1922a0d92d ++routing tests
2020-12-20 12:54:02 +01:00

42 lines
1 KiB
Python

from celery import shared_task
from .models import *
import os
@shared_task
def whereami():
print(os.uname())
return os.uname()
def configure_wireguard_server(wireguardvpnpool):
"""
- Create wireguard config (DB query -> string)
- Submit config to cdist worker
- Change config locally on worker / commit / shared
"""
config = wireguardvpnpool.wireguard_config
server = wireguardvpnpool.vpn_server_hostname
print(f"Configuring VPN server {server} (async)")
# cdist_configure_wireguard_server.apply_async((config, server), queue='cdist')
cdist_configure_wireguard_server.apply_async((config, server))
@shared_task
def cdist_configure_wireguard_server(config, server):
"""
Create config and configure server.
To be executed on the cdist workers.
"""
fname = f"/home/app/.cdist/type/__ungleich_wireguard/files/{server}"
print(os.uname())
print(f"Configuring VPN server {server} (on cdist host)")
with open(fname, "w") as fd:
fd.write(config)
return "All good"