2024-09-27 09:16:37 +00:00
|
|
|
__author__ = 'RemiZOffAlex'
|
|
|
|
|
__email__ = 'remizoffalex@mail.ru'
|
|
|
|
|
|
2024-09-27 15:28:01 +00:00
|
|
|
import yaml
|
2024-09-27 09:16:37 +00:00
|
|
|
import npyscreen
|
2024-09-27 15:28:01 +00:00
|
|
|
|
2024-09-27 09:16:37 +00:00
|
|
|
from pyroute2 import NDB
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ndb = NDB()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def network_config(ip, mask, gateway):
|
|
|
|
|
with ndb.interfaces['br0'] as br0:
|
2024-09-27 15:28:01 +00:00
|
|
|
address = '{ip}/{mask}'.format(ip=ip, mask=mask)
|
|
|
|
|
br0.add_ip(address).commit()
|
2024-09-27 09:16:37 +00:00
|
|
|
|
|
|
|
|
ndb.routes.create(dst='0.0.0.0/0', gateway=gateway).commit()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def TestApp(*args):
|
2024-09-28 17:17:49 +00:00
|
|
|
NetworkView = npyscreen.ActionForm(name = "SaaS",)
|
|
|
|
|
ip = NetworkView.add(npyscreen.TitleText, name = "IP:",)
|
|
|
|
|
mask = NetworkView.add(npyscreen.TitleText, name = "Netmask:",)
|
|
|
|
|
gateway = NetworkView.add(npyscreen.TitleText, name = "Gateway:",)
|
|
|
|
|
|
2024-09-27 15:28:01 +00:00
|
|
|
NetworkView.edit()
|
2024-09-27 09:16:37 +00:00
|
|
|
|
2024-09-27 15:28:01 +00:00
|
|
|
data = {
|
2024-09-27 09:16:37 +00:00
|
|
|
'ip': ip.value,
|
|
|
|
|
'mask': mask.value,
|
2024-09-27 15:28:01 +00:00
|
|
|
'gateway': gateway.value
|
2024-09-27 09:16:37 +00:00
|
|
|
}
|
2024-09-27 15:28:01 +00:00
|
|
|
with open('/root/network.yaml', 'w') as fd:
|
|
|
|
|
yaml.dump(data, fd)
|
|
|
|
|
network_config(**data)
|
|
|
|
|
return data
|