Simplifying the OpenChange setup process

Andrew Bartlett abartlet at
Sun Apr 6 18:00:13 MDT 2014

On Sun, 2014-04-06 at 20:24 +0200, Jelmer Vernooij wrote:
> (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
> schemas.
> 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.
> Thoughts?

This all sounds pretty reasonable.  In terms of loadparm changes, these
would be best done once Garming's changes to loadparm are merged, as we
are getting close to having much of the processing logic in common. 

I'm a little concerned that having openchange binaries present means
wanting these hooks run, but that's just a matter of working out how to
enable this at the right times. 

Andrew Bartlett

Andrew Bartlett
Authentication Developer, Samba Team
Samba Developer, Catalyst IT

More information about the samba-technical mailing list