DSfW: Provisioning using python script


DSfW installation is a two stage process. The first part is done in YaST, where DSfW related basic changes are done. After YaST completes the configuration, the DSfW Provisioning Plugin has to be launched. This is done to complete the changes necessary to make the server behave as a domain server.

The DSfW provisioning plugin is a GUI and it requires user interaction to complete the operation. It also require access to the X server to launch the plugin.

With this script the provisioning plugin can be done with just the password inputs. Also this is faster in comparison to the java based provisioning plugin.

This is the python script which is used for provisioning the DSfW server after the YaST configuration part of DSfW is completed.

This allows the administrator to start the provisioning on the server, where there is no access for the X server. Also in comparison to the provisioning plugin, this script will finish the provisioning faster.

To run the script use this command:

# python provisioning_cli.py 

Few important points to note:

  1. It asks the same set of user name and passwords as provisioning plugin does. It will ask the credentials based on the type of installation, again same as provisioning plugin.

  • The script logs the information about its execution in the file : /var/opt/novell/xad/log/dsfw_install.log

  • The script is capable of retrying the failed task with constant amount of times.

  • If the script is terminated, the relaunch of script takes care of running from the stage it last failed or terminated.

  • This works for both name mapped (existing tree) setup and non-name mapped setup (new tree) for all FRD, child domains and additional domain controller (ADC) installations.


These are the limitations of the script based provisioning, which can be addressed in the next version:

  1. This is not capable of custom provisioning, which the provisioning plugin allows with a GUI layout to select the partitions for extending the domain boundary. However this can still be achieved using the script implementation :

    1. Use the script in conjunction with the provisioning plugin. That is after selection of partitions using provisioning plugin and pressing 'next', the plugin can be closed. After that complete the provisioning using the script.

  2. Do the domain boundary extension outside of provisioning. Instead do it post provisioning using 'domaincntrl' tool with '--add' option.

  • This script doesn't work along with provisioning plugin. That is, if provisioning is done by either script or provisioning plugin then other mode of provisioning will not work properly. I won't detect the completion of certain tasks which were already done using provisioning plugin.


How To-Best Practice
Comment List