Add 'purpose', 'physicalHost' to debianServer
authorPeter Palfrader <peter@palfrader.org>
Tue, 25 Dec 2007 19:25:33 +0000 (20:25 +0100)
committerPeter Palfrader <peter@palfrader.org>
Tue, 25 Dec 2007 19:25:33 +0000 (20:25 +0100)
Patch from HE: Add a purpose and a physicalHost attribute to the
debianServer objectClass.  Purpose is used to store the task of
the machine, like buildd, or porterbox or similar.  phyiscalHost
is for setups with virtualisation, where one host runs on top of
another one.  This information can then also be used by nagios and
friends.

debian/changelog
ud-host
userdir-ldap.schema

index 81f8e81..ff51833 100644 (file)
@@ -12,8 +12,10 @@ userdir-ldap (0.3.15+xxx) XXunstable; urgency=low
     inetOrgPerson, that doesn't work.
   * ud-fingerserv: implement daemonize() for non-inetd mode [sgran].
   * ud-useradd: support usergroups [HE].
+  * ud-host/userdir-ldap.schema: Add 'purpose', 'physicalHost' to
+    debianServer schema and teach ud-host about [HE].
 
- -- Peter Palfrader <weasel@debian.org>  Tue, 25 Dec 2007 20:05:03 +0100
+ -- Peter Palfrader <weasel@debian.org>  Tue, 25 Dec 2007 20:24:48 +0100
 
 userdir-ldap (0.3.15) unstable; urgency=low
 
diff --git a/ud-host b/ud-host
index 4ba0571..3490e6d 100755 (executable)
--- a/ud-host
+++ b/ud-host
@@ -50,8 +50,10 @@ AttrInfo = {"description": ["Machine Descr.", 1],
             "machine": ["Machine Hardware", 10],
             "memory": ["Memory", 11],
             "disk": ["Disk", 12],
+            "physicalHost": ["Physical Host", 13],
             "sshRSAHostKey": ["SSH Host Keys", 14],
-            "bandwidth": ["Bandwidth", 15]};
+            "bandwidth": ["Bandwidth", 15],
+            "purpose": ["Purposes", 16],};
 
 AttrPrompt = {"description": ["Purpose of the machine"],
               "hostname": ["The hostnames for the box (ipv4/ipv6)"],
@@ -65,8 +67,10 @@ AttrPrompt = {"description": ["Purpose of the machine"],
               "machine": ["Hardware description"],
               "memory": ["Installed RAM"],
               "disk": ["Disk Space, RAID levels, etc"],
+              "physicalHost": ["The box hosting this virtual server"],
              "sshRSAHostKey": ["A copy of /etc/ssh/ssh_*host_key.pub"],
-              "bandwidth": ["Available outbound"]};
+              "bandwidth": ["Available outbound"],
+              "purpose": ["The purposes of this host"],};
 
 # Create a map of IDs to desc,value,attr
 OrderedIndex = {};
@@ -128,7 +132,7 @@ def Overview(Attrs):
 
 # Change a single attribute
 def ChangeAttr(Attrs,Attr):
-   if (Attr == "sponsor" or Attr == "sshRSAHostKey"):
+   if (Attr in ["sponsor", "sshRSAHostKey", "purpose"]):
       return MultiChangeAttr(Attrs,Attr);
 
    print "Old value: '%s'" % (GetAttr(Attrs,Attr,""));
index 32e679f..d089f0b 100644 (file)
@@ -1,7 +1,8 @@
 # Revision history:
 #
-# XXX [PP]
-#   - Now version controlled in db.d.o bzr repository - 2007-12-25
+# XXX
+#   - [PP] Now version controlled in db.d.o bzr repository - 2007-12-25
+#   - [HE] Add 'purpose', 'physicalHost' to debianServer - 2007-12-25
 #
 # 0.7 [RM]
 #   - Add 'gender' and 'birthDate' to debianDeveloper
@@ -93,6 +94,8 @@
 #   .30 - gender
 #   .31 - birthdate
 #   .32 - mailDisableMessage
+#   .33 - purpose
+#   .34 - physicalHost
 #
 # .3 - experimental LDAP objectClasses
 #   .1 - debianDeveloper
@@ -332,6 +335,21 @@ attributetype ( 1.3.6.1.4.1.9586.100.4.2.32
        SUBSTR caseIgnoreIA5SubstringsMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
 
+attributetype ( 1.3.6.1.4.1.9586.100.4.2.33
+       NAME 'purpose'
+       DESC 'purposes of this server'
+       EQUALITY caseIgnoreMatch
+       SUBSTR caseIgnoreSubstringsMatch
+       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
+
+attributetype ( 1.3.6.1.4.1.9586.100.4.2.34
+       NAME 'physicalHost'
+       DESC 'FQDN of the physical host of this virtual server'
+       EQUALITY caseIgnoreIA5Match
+       SUBSTR caseIgnoreIA5SubstringsMatch
+       SINGLE-VALUE
+       SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
+
 # Public object classes
 
 objectclass ( 1.3.6.1.4.1.9586.100.4.1.1
@@ -457,7 +475,7 @@ objectclass ( 1.3.6.1.4.1.9586.100.4.3.2
        MUST ( host $ hostname )
        MAY ( c $ access $ admin $ architecture $ bandwidth $ description $ disk $
              distribution $ l $ machine $ memory $ sponsor $
-             sponsor-admin $ sshRSAHostKey $ status
+             sponsor-admin $ sshRSAHostKey $ status $ purpose $ physicalHost
        ) )
 
 objectclass ( 1.3.6.1.4.1.9586.100.4.3.3