[Asterisk-Users] Config Revision Control

Douglas Garstang dgarstang at oneeighty.com
Mon Jun 5 11:33:46 MST 2006



> -----Original Message-----
> From: Michiel van Baak [mailto:michiel at vanbaak.info]
> Sent: Monday, June 05, 2006 8:03 AM
> To: asterisk-users at lists.digium.com
> Subject: Re: [Asterisk-Users] Config Revision Control
> 
> 
> On 09:41, Mon 05 Jun 06, Andrew Kohlsmith wrote:
> > On Saturday 03 June 2006 02:47, Michiel van Baak wrote:
> > > I use subversion for this. Every server has its own branch.
> > > There's also a branch called 'common'
> > > All the server specific branches are svn-copied and svnmerge
> > > init from this branche.
> > > Then the svn automerge thingie Kevin wrote for the asterisk
> > > svn tree is automerging changes to the 'common' tree to all
> > > the server trees.
> > > In the server trees I make changes specific for one server.
> > 
> > Can you give some more details?  I am VERY interested in this!
> 
> Most is already in my previous mail.
> 
> This is my layout:
> branches/common
> branches/servers/home001
> branches/servers/home002
> branches/servers/cust001
> 
> Like that, you get the idea
> The branches/common holds a full config, cept for sip users etc. So
> all the [global] and [default] stuff. Also the
> extensions.conf has some macro's and contexts I need on
> every machine.
> 
> The home001 etc hold the conf I actually run on a server.
> All the specific sip and iax peers/users are defined in it.
> Also the specific stuff for extensions.conf for that server.
> 
> If I for example want the congestion in my default outbound
> routing macro to play congestion for 5 seconds instead of 10
> I only alter extensions.conf in branches/common
> The automerge will take care of the promoting it to all the
> other branches.
> 
> I use this script to do the automerging every hour:
> http://svn.digium.com/view/repotools/svn-automerge?rev=54&view=markup
> This also means you have to use the modified svnmerge from
> the asterisk project:
> http://svn.digium.com/view/repotools/svnmerge?rev=63&view=markup
> 
> All my servers do auto svn up of the asterisk configs.

I guess this is waaaay beyond my knowledge of subversion. I just started playing with the directory structure I might use, and first thought was something like this:

dougg at monitor ~/cfg $ ls -l
total 16
drwxr-xr-x 2 dougg users 4096 Jun  5 12:24 acd
drwxr-xr-x 2 dougg users 4096 Jun  5 12:28 common
drwxr-xr-x 2 dougg users 4096 Jun  5 12:28 pbx
drwxr-xr-x 2 dougg users 4096 Jun  5 12:24 vm

where acd, pbx and vm refer to a function, or class of systems. pbx/ would have systems pbx1, pbx2 and pbx3 beneath it. Some files, such as sound files, and AGI are common to all systems, and hence the common/ directory. However, I have no idea what to do with it beyond that. I don't know how to push common changes out to all the other servers, or inherit, or whatever, or how to stop a common directory being created on the servers instead of putting the files from common under /var/lib/asterisk/agi-bin and /usr/lib/asterisk/sounds etc. Arrgh.

Doug.



More information about the asterisk-users mailing list