(tinc) add debug options

This commit is contained in:
Ad Schellevis
2016-11-14 09:31:29 +01:00
parent 07bb93eaf0
commit 2d2c14a7ac
5 changed files with 28 additions and 1 deletions
@@ -17,6 +17,12 @@
<type>text</type>
<help>This machines internal address to use and network mask for the whole network</help>
</field>
<field>
<id>network.debuglevel</id>
<label>Debug</label>
<type>dropdown</type>
<help>set debug output for this tinc network.</help>
</field>
<field>
<label>This Host</label>
<type>header</type>
@@ -46,6 +46,19 @@
<default>1</default>
<Required>Y</Required>
</enabled>
<debuglevel type="OptionField">
<Required>Y</Required>
<default>ip</default>
<OptionValues>
<d0>[0] start/stop, serious errors</d0>
<d1>[1] +all connections</d1>
<d2>[2] +script status</d2>
<d3>[3] +all requests</d3>
<d4>[4] +meta socket</d4>
<d5>[5] +network traffic</d5>
</OptionValues>
<ValidationMessage>debug level needs to be between 0 (default) and 5 (highest)</ValidationMessage>
</debuglevel>
</network>
</networks>
<hosts>
@@ -60,6 +60,7 @@ class Network(NetwConfObject):
self._payload['id'] = None
self._payload['privkey'] = None
self._payload['intaddress'] = None
self._payload['debuglevel'] = 'd0'
self._hosts = list()
def get_id(self):
@@ -68,6 +69,12 @@ class Network(NetwConfObject):
def get_local_address(self):
return self._payload['intaddress']
def get_debuglevel(self):
if len(self._payload['debuglevel']) > 1:
return self._payload['debuglevel'][1]
else:
return '0'
def set_hosts(self, hosts):
for host in hosts:
hostObj = Host()
@@ -98,4 +98,4 @@ if len(sys.argv) > 1:
subprocess.call(['/usr/local/sbin/tincd','-n',instance.split('/')[-1], '-k'])
elif sys.argv[1] == 'start':
for netwrk in deploy('/usr/local/etc/tinc_deploy.xml'):
subprocess.call(['/usr/local/sbin/tincd','-n',netwrk.get_network(), '-R'])
subprocess.call(['/usr/local/sbin/tincd','-n',netwrk.get_network(), '-R', '-d', netwrk.get_debuglevel()])
@@ -9,6 +9,7 @@
<intaddress>{{network.intaddress}}</intaddress>
<privkey><![CDATA[{{network.privkey}}]]></privkey>
<address>{{network.intaddress}}</address>
<debuglevel>{{network.debuglevel}}</debuglevel>
<hosts>
<host>
<hostname>{{network.hostname}}</hostname>