From 064b4ca0e8d28062dbd028ca61f79798b84e260b Mon Sep 17 00:00:00 2001 From: Ken Raffenetti Date: Fri, 8 Sep 2006 20:11:58 +0000 Subject: minor updates git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@2230 ce84e21b-d406-0410-9b95-82705330c041 --- src/lib/Server/Hostbase/hostbase/models.py | 1 + src/lib/Server/Hostbase/hostbase/views.py | 5 +- .../Hostbase/hostbase/webtemplates/host.html | 50 +++--- .../Hostbase/hostbase/webtemplates/results.html | 22 +-- src/lib/Server/Hostbase/templates/dhcpd.tmpl | 192 +++++++++++++++++---- src/lib/Server/Plugins/Hostbase.py | 6 +- 6 files changed, 200 insertions(+), 76 deletions(-) (limited to 'src') diff --git a/src/lib/Server/Hostbase/hostbase/models.py b/src/lib/Server/Hostbase/hostbase/models.py index 92bbb4b00..7c47b65bd 100644 --- a/src/lib/Server/Hostbase/hostbase/models.py +++ b/src/lib/Server/Hostbase/hostbase/models.py @@ -54,6 +54,7 @@ class Host(models.Model): expiration_date = models.DateField(null=True, blank=True) last = models.DateField(auto_now=True, auto_now_add=True) status = models.CharField(maxlength=7, choices=STATUS_CHOICES) + dirty = models.BooleanField() class Admin: list_display = ('hostname', 'last') diff --git a/src/lib/Server/Hostbase/hostbase/views.py b/src/lib/Server/Hostbase/hostbase/views.py index 299cc5829..c3b850442 100644 --- a/src/lib/Server/Hostbase/hostbase/views.py +++ b/src/lib/Server/Hostbase/hostbase/views.py @@ -10,6 +10,7 @@ from hostbase.models import * from Cheetah.Template import Template from datetime import date from django.db import connection +from django.shortcuts import render_to_response import re templatedir = '/usr/lib/python2.3/site-packages/Hostbase/hostbase/webtemplates' @@ -90,9 +91,7 @@ def search(request): cursor.execute(querystring) results = cursor.fetchall() - temp = Template(open('%s/results.html' % templatedir).read()) - temp.hosts = results - return HttpResponse(str(temp)) + return render_to_response('%s/results.html' % templatedir, {'hosts': results}) else: temp = Template(open('%s/search.html' % templatedir).read()) temp.TYPE_CHOICES = Interface.TYPE_CHOICES diff --git a/src/lib/Server/Hostbase/hostbase/webtemplates/host.html b/src/lib/Server/Hostbase/hostbase/webtemplates/host.html index 43baa14c6..937d0115d 100644 --- a/src/lib/Server/Hostbase/hostbase/webtemplates/host.html +++ b/src/lib/Server/Hostbase/hostbase/webtemplates/host.html @@ -100,49 +100,49 @@ printq $host.printq dhcp - #if $host.dhcp + {% if host.dhcp %} y - #else + {% else %} n - #end if + {% endif %} outbound_smtp - #if $host.outbound_smtp + {% if host.outbound_smtp %} y - #else + {% else %} n - #end if + {% endif %} primary_user - $host.primary_user + {{ host.primary_user }} administrator - $host.administrator + {{ host.administrator }} location - $host.location + {{ host.location }} expiration_date - $host.expiration_date - #for $interface in $interfaces + {{ host.expiration_date }} + {% for interface in interfaces %}
Interface - #if $interface.hdwr_type != 'no' -
$interface.hdwr_type - #end if + {% ifnotequal interface.hdwr_type 'no' %} +
{{ interface.hdwr_type }} + {% endif %} mac_addr - $interface.mac_addr - #for $ip in $ips[$interface.id] + {{ interface.mac_addr }} + {% for ip in ips.{{ interface.id }} %} ip_addr - $ip.ip_addr - #end for - #end for + {{ ip.ip_addr }} + {% endfor %} + {% endfor %} comments - #for $line in $host.comments.split("\n") - $line
- #end for + {% for line in host.comments.split("\n") %} + {{ line }}
+ {% endfor %} -see detailed DNS information for this host +see detailed DNS information for this host

-this host is $host.status
-last update on $host.last
+this host is {{ host.status }}
+last update on {{ host.last }}
diff --git a/src/lib/Server/Hostbase/hostbase/webtemplates/results.html b/src/lib/Server/Hostbase/hostbase/webtemplates/results.html index 470883e61..1825f6d95 100644 --- a/src/lib/Server/Hostbase/hostbase/webtemplates/results.html +++ b/src/lib/Server/Hostbase/hostbase/webtemplates/results.html @@ -81,7 +81,7 @@
-#if $hosts +{% if hosts %} @@ -91,22 +91,22 @@ - #for $host in $hosts - - #if $host[2] + {% for host in hosts %} + + {% if host.2 %} - #else + {% else %} - #end if - - + {% endif %} + + - #end for + {% endfor %}
hostname status
$host[0]
{{ host.0 }} active inactive view edit view edit
-#else +{% else %} No hosts matched your query
Click the back button on your browser to edit your search -#end if +{% endif %}
diff --git a/src/lib/Server/Hostbase/templates/dhcpd.tmpl b/src/lib/Server/Hostbase/templates/dhcpd.tmpl index a7bfdb7e2..3784ae792 100644 --- a/src/lib/Server/Hostbase/templates/dhcpd.tmpl +++ b/src/lib/Server/Hostbase/templates/dhcpd.tmpl @@ -1,9 +1,6 @@ # # This file is automatically generated. # DO NOT EDIT IT BY HAND! -# To update the contents of this file execute a 'make dhcp' -# and then an 'install dhcp' in /mcs/adm/hostbase as root on -# antares. This datafile is for use with the ISC dhcpd server. # # This file contains $numips IP addresses # Generated on: $timecreated @@ -19,7 +16,7 @@ server-identifier thwap.mcs.anl.gov; # option definitions common to all supported networks... option domain-name "mcs.anl.gov"; -option domain-name-servers adc.mcs.anl.gov, antares-9.mcs.anl.gov, dns2.anl.gov; +option domain-name-servers adc.mcs.anl.gov, antares-9.mcs.anl.gov, t1dns2.anl.gov, t1dns1.anl.gov; option option-140 code 140 = text; default-lease-time 28800; max-lease-time 28800; @@ -46,8 +43,8 @@ shared-network "SystemsNet" { server-identifier 140.221.9.112; option subnet-mask 255.255.255.0; option broadcast-address 140.221.2.255; - option netbios-name-servers 10.140.221.10, 140.221.9.66; - option netbios-node-type 2; + option netbios-name-servers 140.221.9.66; + option netbios-node-type 8; option routers 140.221.2.1; option option-140 "140.221.9.24"; default-lease-time 28800; @@ -86,12 +83,133 @@ shared-network "SystemsNet" { } # End systems vlan +shared-network "Wireless" { + + subnet 140.221.56.0 netmask 255.255.254.0 { + option subnet-mask 255.255.254.0; + option routers 140.221.57.253; + server-identifier 140.221.9.112; + option broadcast-address 140.221.57.255; + option netbios-name-servers 140.221.9.66; + option netbios-node-type 8; + option option-140 "140.221.9.24"; + default-lease-time 28800; + max-lease-time 28800; + deny unknown-clients; + } + + subnet 140.221.119.0 netmask 255.255.255.0 { + option subnet-mask 255.255.255.0; + option routers 140.221.119.1; + option broadcast-address 140.221.119.255; + default-lease-time 28800; + max-lease-time 28800; + deny unknown-clients; + } + + subnet 140.221.120.0 netmask 255.255.255.0 { + pool { + range 140.221.120.10 140.221.120.199; + server-identifier 140.221.9.112; + option subnet-mask 255.255.255.0; + option broadcast-address 140.221.120.255; + option routers 140.221.120.1; + deny unknown-clients; + default-lease-time 3600; + max-lease-time 3600; + } + } + + subnet 10.0.16.0 netmask 255.255.255.0 { + pool { + range 10.0.16.10 10.0.16.199; + allow unknown-clients; + option subnet-mask 255.255.255.0; + option broadcast-address 10.0.16.255; + option netbios-name-servers 10.0.16.1; + option routers 10.0.16.1; + option domain-name "guest.mcs.anl.gov"; + option domain-name-servers 10.0.16.1; + server-identifier 10.0.16.1; + default-lease-time 60; + max-lease-time 60; + } + } + +} # End Wireless vlan + +shared-network "I2U2" { + + subnet 192.5.186.64 netmask 255.255.255.192 { + option subnet-mask 255.255.255.192; + option routers 192.5.186.65; + option domain-name "i2u2.org"; + option domain-name-servers 140.221.9.6, 130.202.101.37, 130.202.101.6; + server-identifier 140.221.9.112; + option broadcast-address 192.5.186.127; + default-lease-time 28800; + max-lease-time 28800; + deny unknown-clients; + } + + subnet 10.5.186.64 netmask 255.255.255.192 { + pool { + range 10.5.186.70 10.5.186.90; + allow unknown-clients; + option subnet-mask 255.255.255.192; + option broadcast-address 10.5.186.127; + option netbios-name-servers 10.5.186.66; + option routers 10.5.186.65; + option domain-name "guest.i2u2.org"; + option domain-name-servers 10.5.186.66; + server-identifier 10.5.186.66; + default-lease-time 60; + max-lease-time 60; + } + } + +} # End I2U2 vlan + +# Subnet 338 for CPH folk +subnet 140.221.12.0 netmask 255.255.255.0 { + server-identifier 140.221.9.112; + range 140.221.12.200 140.221.12.210; + option subnet-mask 255.255.255.0; + option broadcast-address 140.221.12.255; + option routers 140.221.12.1; + option netbios-name-servers 146.137.96.90, 146.137.162.86; + default-lease-time 28800; + max-lease-time 28800; +} +# Subnet 338 for CPH printers +subnet 140.221.14.0 netmask 255.255.255.192 { + server-identifier 140.221.9.112; + option subnet-mask 255.255.255.192; + option broadcast-address 140.221.14.63; + option routers 140.221.14.1; + option netbios-name-servers 146.137.96.90, 146.137.162.86; + default-lease-time 28800; + max-lease-time 28800; +} + +# vlan85 - nmpdr +subnet 192.5.200.0 netmask 255.255.255.128 { + server-identifier 140.221.9.112; + option subnet-mask 255.255.255.128; + option broadcast-address 192.5.200.127; + option domain-name-servers 140.221.9.6, 130.202.101.37, 130.202.101.6; + option routers 192.5.200.1; + default-lease-time 28800; + max-lease-time 28800; +} + + shared-network "BorgNet" { subnet 140.221.8.0 netmask 255.255.252.0 { option subnet-mask 255.255.252.0; option broadcast-address 140.221.11.255; - option netbios-name-servers 10.140.221.10, 140.221.9.66; - option netbios-node-type 2; + option netbios-name-servers 140.221.9.66; + option netbios-node-type 8; option routers 140.221.11.253; option option-140 "140.221.9.24"; deny unknown-clients; @@ -101,8 +219,8 @@ subnet 140.221.5.0 netmask 255.255.255.0 { option subnet-mask 255.255.255.0; option broadcast-address 140.221.5.255; option routers 140.221.5.1; - option netbios-name-servers 10.140.221.10, 140.221.9.66; - option netbios-node-type 2; + option netbios-name-servers 140.221.9.66; + option netbios-node-type 8; option routers 140.221.5.1; deny unknown-clients; } @@ -115,19 +233,19 @@ subnet 140.221.5.0 netmask 255.255.255.0 { } } # End of borg vlan -shared-network "WirelessNet" { - subnet 140.221.56.0 netmask 255.255.254.0 { - option subnet-mask 255.255.254.0; - # option broadcast-address 140.221.57.255; - option routers 140.221.57.253; -} - subnet 140.221.120.0 netmask 255.255.255.0 { - range 140.221.120.10 140.221.120.199; - option subnet-mask 255.255.255.0; - option broadcast-address 140.221.120.255; - option routers 140.221.120.1; -} -} # end "WirelessNet" +#shared-network "WirelessNet" { +# subnet 140.221.56.0 netmask 255.255.254.0 { +# option subnet-mask 255.255.254.0; +# # option broadcast-address 140.221.57.255; +# option routers 140.221.57.253; +#} +# subnet 140.221.120.0 netmask 255.255.255.0 { +# range 140.221.120.10 140.221.120.199; +# option subnet-mask 255.255.255.0; +# option broadcast-address 140.221.120.255; +# option routers 140.221.120.1; +#} +#} # end "WirelessNet" subnet 140.221.1.0 netmask 255.255.255.0 { option subnet-mask 255.255.255.0; @@ -161,14 +279,17 @@ subnet 140.221.7.0 netmask 255.255.255.0 { subnet 140.221.13.0 netmask 255.255.255.0 { option subnet-mask 255.255.255.0; - option routers 140.221.13.253; + option broadcast-address 140.221.13.255; + option netbios-name-servers 140.221.9.66; + option netbios-node-type 8; + option routers 140.221.13.1; } subnet 140.221.15.0 netmask 255.255.255.0 { option subnet-mask 255.255.255.0; option broadcast-address 140.221.15.255; - option netbios-name-servers 10.140.221.10, 140.221.9.66; - option netbios-node-type 2; + option netbios-name-servers 140.221.9.66; + option netbios-node-type 8; option routers 140.221.10.253; } @@ -218,21 +339,20 @@ subnet 140.221.34.0 netmask 255.255.255.240 { range 140.221.34.6 140.221.34.6; range 140.221.34.12 140.221.34.12; option subnet-mask 255.255.255.240; - option netbios-name-servers 10.140.221.10, 140.221.9.66; - option netbios-node-type 2; + option netbios-name-servers 140.221.9.66; + option netbios-node-type 8; option routers 140.221.34.13; } subnet 140.221.34.64 netmask 255.255.255.192 { range 140.221.34.77 140.221.34.77; - range 140.221.34.91 140.221.34.91; - range 140.221.34.92 140.221.34.92; - range 140.221.34.93 140.221.34.93; - range 140.221.34.94 140.221.34.94; - range 140.221.34.95 140.221.34.95; + range 140.221.34.80 140.221.34.80; + range 140.221.34.82 140.221.34.82; + range 140.221.34.91 140.221.34.95; + range 140.221.34.121 140.221.34.125; option subnet-mask 255.255.255.192; - option netbios-name-servers 10.140.221.10, 140.221.9.66; - option netbios-node-type 2; + option netbios-name-servers 140.221.9.66; + option netbios-node-type 8; option routers 140.221.34.65; option option-140 "140.221.9.24"; } @@ -252,7 +372,7 @@ subnet 140.221.36.0 netmask 255.255.255.192 { subnet 140.221.37.0 netmask 255.255.255.128 { option subnet-mask 255.255.255.128; - option domain-name-servers ntnode01-37.mcs.anl.gov, antares-9.mcs.anl.gov, dns2.anl.gov; + option domain-name-servers antares-9.mcs.anl.gov, t1dns2.anl.gov; option netbios-name-servers 140.221.37.41; option routers 140.221.37.1; } diff --git a/src/lib/Server/Plugins/Hostbase.py b/src/lib/Server/Plugins/Hostbase.py index 27fe98ef7..204fcc4c8 100644 --- a/src/lib/Server/Plugins/Hostbase.py +++ b/src/lib/Server/Plugins/Hostbase.py @@ -94,7 +94,7 @@ class Hostbase(Plugin): SubElement(output, "ConfigFile", name="/etc/dhcpd.conf") return [output] - def rebuildState(self): + def rebuildState(self, _): '''Pre-cache all state information for hostbase config files''' from django.db import connection @@ -517,3 +517,7 @@ olivia.ctd.anl.gov\n\n""" fileoutput += each + "\n" self.filedata['%s-machines' % netgroup] = fileoutput self.Entries['ConfigFile']['%s-machines' % netgroup] = self.FetchFile + + cursor.execute(""" + UPDATE hostbase_host SET dirty=0 + """) -- cgit v1.2.3-1-g7c22