~openstack-charmers/charms/precise/cinder/active-active

« back to all changes in this revision

Viewing changes to hooks/charmhelpers/contrib/openstack/alternatives.py

  • Committer: yolanda.robla at canonical
  • Date: 2013-12-17 10:09:56 UTC
  • Revision ID: yolanda.robla@canonical.com-20131217100956-rj54aiy10brx3y9y
synced charmhelpers, added rabbitmq_hosts

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
''' Helper for managing alternatives for file conflict resolution '''
 
2
 
 
3
import subprocess
 
4
import shutil
 
5
import os
 
6
 
 
7
 
 
8
def install_alternative(name, target, source, priority=50):
 
9
    ''' Install alternative configuration '''
 
10
    if (os.path.exists(target) and not os.path.islink(target)):
 
11
        # Move existing file/directory away before installing
 
12
        shutil.move(target, '{}.bak'.format(target))
 
13
    cmd = [
 
14
        'update-alternatives', '--force', '--install',
 
15
        target, name, source, str(priority)
 
16
    ]
 
17
    subprocess.check_call(cmd)