opsipxeconfd: New behaviour on depotserver

We have released a new version of python-opsi and opsipxeconfd in testing and want to give some background on the changes.

In a large project we have seen some issues with the depot connecting to the configserver while setting the PXE configuration of multiple clients. This problem was not easy to analyse and fix. But it is the reason why we have rebuild the communication from opsi's configserver to the depotserver when setting PXE configuration on a depot.

Before the change when a new PXE configuration was set for a client assigned to a foreign depot (i.e. when setting a netboot product to setup) the configserver has delegated the request to the depot.

In detail: the configserver delegated the call to the opsi service of the depotserver. This service has then delegated the call to the local opsipxeconfd. In all this the only parameter was handed all the way down was the FQDN of the affected client. This then resulted in requests from the opsi service on the depotserver to find out what action is needed. When the call reached opsipxeconfd on the depot it started communication on it's own to find out what exactly has to be done with what parameters, usually resulting in another handfull of requests.

With the new solution the opsi configserver will collect the necessary configuration data for the client to create the new PXE configuration. This collected data will be passed to the depotserver when delegating the call. The data will be passed from the opsi service on the depot to the opsipxeconfd which in turn can save a bunch of requests. The result is that the PXE configuration on a depotserver will be set much faster and the amount of communication to the configserver will be reduced dramatically.

This new feature had been released with following versions:

  • python-opsi
  • opsipxeconfd

The packages python-opsi and opsipxeconfd should be upgraded at the same time per server. You must also restart opsiconfd and opsipxexonfd after upgrading. If you have a multidepot setup you should beginn on the opsi configserver - like usually. If the depot does not support the new behaviour a fallback will be made to the old behaviour.

This feature is only available on opsi 4.1. If you use opsi 4.0 and want to use this feature, you have to migrate to opsi 4.1.