__author__ = 'RemiZOffAlex' __email__ = 'remizoffalex@mail.ru' import yaml import npyscreen from pyroute2 import NDB ndb = NDB() def network_config(ip, mask, gateway): with ndb.interfaces['br0'] as br0: address = '{ip}/{mask}'.format(ip=ip, mask=mask) br0.add_ip(address).commit() ndb.routes.create(dst='0.0.0.0/0', gateway=gateway).commit() def TestApp(*args): 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:",) NetworkView.edit() data = { 'ip': ip.value, 'mask': mask.value, 'gateway': gateway.value } with open('/root/network.yaml', 'w') as fd: yaml.dump(data, fd) network_config(**data) return data