Simplifying the OpenChange setup process

Jelmer Vernooij jelmer at
Sun Apr 6 12:24:25 MDT 2014

(re-sending from an address that is signed up to the samba-technical@
mailing list - this was originally cross-posted to
devel at and samba-technical at

At the moment, the process for setting up OpenChange on a new machine
is fairly involved. It requires building and installing the software,
and then various provisioning steps:

 1) Provisioning Samba
 2) Provisioning the OpenChange integration in Samba/AD (schemas, etc)
 3) Editing smb.conf to add the various OpenChange services
 4) Provisioning the OpenChange database
 5) Possibly tweaking the ocsmanager settings, and setting up proxies
 for ocsmanager/tcp_proxy

I'm working on two changes that should help simplify this process,
combining steps 1 through 4:

loadparm_context creation hooks

loadparm_init() creates a loadparm context and then sets a whole heap
of defaults. These defaults can then be overwritten when a smb.conf
file is loaded that has explicit settings.

I'd like to allow modules to register a hook that gets run at the end
of this function, so they can tweak the default values in lp_ctx.
OpenChange could use this to add its own services to the "server
services" list, something that currently requires manual editing of
smb.conf by the user.

Users will still be able to disable openchange by explicitly setting a
'server services' line, just as they are able to set it at the moment.

hooks for setting up additional schemas in 'samba-tool domain provision'

It should be possible to extend the functionality of the provisioning
code in Samba. In particular I'm thinking of the ability to setup more

This can be done by allowing a Python file that provides a certain
interface to be dropped in a magic directory somewhere. OpenChange can
then install such a file.



More information about the samba-technical mailing list