~corey.bryant/charms/trusty/keystone/python-six

« back to all changes in this revision

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

  • Committer: James Page
  • Date: 2014-03-27 10:54:38 UTC
  • mfrom: (55.1.22 keystone)
  • mto: (52.4.7 keystone)
  • mto: This revision was merged to the branch mainline in revision 60.
  • Revision ID: james.page@canonical.com-20140327105438-oid8czi9ud51iut1
Merge ssl-everywhere branch (may break stuff)

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)