Univention Bugzilla – Bug 32381
Revise DHCP and DNS representation
Last modified: 2013-11-19 06:42:06 CET
The configuration of DHCP and DNS can be fairly complicated to use the first time. Therefore a revision of the module would be helpful. Possible changes could be a configuration wizard or to show superordinates in a separate tree view (similar to LDAP directory or UVMM).
univention-management-console-module-udm (4.0.20-1) The DHCP and DNS flavor now have a Tree view.
I don't know exactly why, probably when no DHCP entry is present at all. Upon module opening: File "/usr/lib/pymodules/python2.6/notifier/threads.py", line 82, in _run tmp = self._function() File "/usr/lib/pymodules/python2.6/notifier/__init__.py", line 104, in __call__ return self._function( *tmp, **self._kwargs ) File "/usr/lib/pymodules/python2.6/univention/management/console/modules/udm/__init__.py", line 453, in _thread result = module.search( request.options.get( 'container' ), request.options[ 'objectProperty' ], request.options[ 'objectPropertyValue' ], superordinate, scope = request.options.get( 'scope', 'sub' ) ) File "/usr/lib/pymodules/python2.6/univention/management/console/modules/udm/udm_ldap.py", line 182, in wrapper_func raise LDAP_ConnectionError( str( e ) ) LDAP_ConnectionError: Bad search filter
Created attachment 5437 [details] Mother of all DHCP The root of the tree is not correct (not cn=dhcp,$ldap_base but $ldap_base directly). This is quite irritating.
(In reply to Dirk Wiesenthal from comment #2) > I don't know exactly why, probably when no DHCP entry is present at all. > Upon module opening: > > File "/usr/lib/pymodules/python2.6/notifier/threads.py", line 82, in _run > tmp = self._function() > File "/usr/lib/pymodules/python2.6/notifier/__init__.py", line 104, in > __call__ > return self._function( *tmp, **self._kwargs ) > File > "/usr/lib/pymodules/python2.6/univention/management/console/modules/udm/ > __init__.py", line 453, in _thread > result = module.search( request.options.get( 'container' ), > request.options[ 'objectProperty' ], request.options[ 'objectPropertyValue' > ], superordinate, scope = request.options.get( 'scope', 'sub' ) ) > File > "/usr/lib/pymodules/python2.6/univention/management/console/modules/udm/ > udm_ldap.py", line 182, in wrapper_func > raise LDAP_ConnectionError( str( e ) ) > > LDAP_ConnectionError: Bad search filter Dunno why it only happend on your side but fixed. (In reply to Dirk Wiesenthal from comment #3) > Created attachment 5437 [details] > Mother of all DHCP > > The root of the tree is not correct (not cn=dhcp,$ldap_base but $ldap_base > directly). This is quite irritating. The title has been changed to e.g. 'All DNS objects'.
When adding a new DHCP service via command line or in another UMC session and reload the tree in an already opened DHCP module, the new service shows up. However, clicking on it yields File "/usr/lib/pymodules/python2.6/notifier/threads.py", line 82, in _run tmp = self._function() File "/usr/lib/pymodules/python2.6/notifier/__init__.py", line 104, in __call__ return self._function( *tmp, **self._kwargs ) File "/usr/lib/pymodules/python2.6/univention/management/console/modules/udm/__init__.py", line 451, in _thread raise UMC_OptionTypeError( _( 'Could not find an UDM module for the superordinate object %s' ) % superordinate ) UMC_OptionTypeError: Es konnte kein UDM-Modul für das übergeordnete Objekt gefunden werden superordinate is missing in the options. flavor "dhcp/dhcp" objectProperty "None" objectPropertyValue "" objectType "dhcp/dhcp" superordinate ""
The grid action "Show all DHCP services" seems to be unnecessary with the tree on the left
univention-management-console-module-udm (4.0.26-1) * Bug #32381: remove "Show all Superordinates" button * Bug #32381: fix error when superordinate was added via CLI
With the tree on the left, a click on a superordinate like dhcp/service in the grid should not search in the object as the container but edit the object. Issues with reloading the tree while the another superordinate was added externally are not resolved. After adding an object in a dhcp/service (e.g. a dhcp/server) the view jumps back to the grid view. The dhcp/service object is selected but a timing problems sometimes lead to the grid not showing the objects in that dhcp/service but all dhcp/services (i.e. as if the dhcp root was selected in the tree)
(In reply to Dirk Wiesenthal from comment #8) > With the tree on the left, a click on a superordinate like dhcp/service in > the grid should not search in the object as the container but edit the > object. This is not done anymore. Only for Containers in the "LDAP directory". > Issues with reloading the tree while the another superordinate was added > externally are not resolved. now fixed. > After adding an object in a dhcp/service (e.g. a dhcp/server) the view jumps > back to the grid view. The dhcp/service object is selected but a timing > problems sometimes lead to the grid not showing the objects in that > dhcp/service but all dhcp/services (i.e. as if the dhcp root was selected in > the tree) A reload of the superordinates is now only done after a tree reload (Which will be done after creating, removing and moving objects). univention-management-console-module-udm (4.0.28-1) * Bug #32381: fix reloading of superordinates
When deleting a dhcp/service from the tree while having that object selected, a traceback is shown
The root node of the tree now says: "All DHCP objects". While this is the generic term for the UDM module, it is not correct. The tree only show "All DHCP services". In DNS it should be "All DNS zones". I am afraid this has to be done explicitly on a per module basis in udm.js.
(In reply to Dirk Wiesenthal from comment #10) > When deleting a dhcp/service from the tree while having that object > selected, a traceback is shown → fixed in univention-management-console-module-udm (4.0.60-1) * Bug #32381: fix traceback when deleting a object which is selected in the tree (In reply to Dirk Wiesenthal from comment #11) > The root node of the tree now says: "All DHCP objects". While this is the > generic term for the UDM module, it is not correct. The tree only show "All > DHCP services". In DNS it should be "All DNS zones". I am afraid this has to > be done explicitly on a per module basis in udm.js. → ugly but also done ;)
An error has also been fixed which occurred when deleting an object. I got the Error …"modules/udm/__init__.py", line 461, in _thread\n if module.module is None:\n\nAttributeError: 'NoneType' object has no attribute 'module". In the backend code a search is performed, after this the search result is wrapped into an "UDM_Module LDAP object". When deleting an object between these calls the above named exception occurs. univention-management-console-module-udm (4.0.61-1) * Bug #32381: fix an error which happens when a object is removed concurrent to a search query
UMC: Open DHCP module, select a service in tree -> Grid shows all objects with the service as superordinate (Ok) Meanwhile: Adding a DHCP service in udm-cli UMC: Reload tree -> Tree is reloaded, new DHCP service shows up in tree, previously selected service is still selected (Ok) -> Grid shows all services as if root node was selected (not Ok)
The "Directory" symbol used for "All DNS zones": Can you change that to the DNS module icon? DHCP resp.
(In reply to Dirk Wiesenthal from comment #14) > UMC: Open DHCP module, select a service in tree > -> Grid shows all objects with the service as superordinate (Ok) > Meanwhile: Adding a DHCP service in udm-cli > UMC: Reload tree > -> Tree is reloaded, new DHCP service shows up in tree, previously selected > service is still selected (Ok) > -> Grid shows all services as if root node was selected (not Ok) fixed (In reply to Dirk Wiesenthal from comment #15) > The "Directory" symbol used for "All DNS zones": Can you change that to the > DNS module icon? DHCP resp. fixed
Still timing issues: When adding a DHCP/Service the tree does not reload (or at least does not show the new object). When deleting an object from the tree, the tree does not reload. "Rightclick -> Reload" does work, though. Maybe timing problem related to the new cache? I had problems with Deferreds being resolved faster then I was able to setup on-handlers. I do not remember that this was an issue a few days ago.
(In reply to Dirk Wiesenthal from comment #17) > Still timing issues: > > When adding a DHCP/Service the tree does not reload (or at least does not > show the new object). When deleting an object from the tree, the tree does > not reload. > > "Rightclick -> Reload" does work, though. > > Maybe timing problem related to the new cache? I had problems with Deferreds > being resolved faster then I was able to setup on-handlers. > > I do not remember that this was an issue a few days ago. That was due to the new cache. - cache.get(this.moduleFlavor).getSuperordinates() + cache.get(this.moduleFlavor).getSuperordinates(undefined, true)
Opening dhcp/dhcp a second time would result in a query list with a preselected superordinate. This was due to a sort operation being carried out on the array of superordinates stemming from the cache. I added a lang.clone(). univention-management-console-module-udm (4.0.91-1) unstable; urgency=low . * Bug #32381: clone array reference for superordinates before sorting
Now works as expected. Changeset Ok
UCS 3.2 has been released: http://docs.univention.de/release-notes-3.2-en.html http://docs.univention.de/release-notes-3.2-de.html If this error occurs again, please use "Clone This Bug".