33 lines
1.0 KiB
Python
33 lines
1.0 KiB
Python
import os
|
|
import subprocess
|
|
from charms import layer
|
|
from charms.reactive import hook, when_not, remove_state, set_state
|
|
from charmhelpers.core.templating import render
|
|
|
|
|
|
@hook('upgrade-charm')
|
|
def upgrade_charm():
|
|
remove_state('cdk-service-kicker.installed')
|
|
|
|
|
|
@when_not('cdk-service-kicker.installed')
|
|
def install_cdk_service_kicker():
|
|
''' Installs the cdk-service-kicker service. Workaround for
|
|
https://github.com/juju-solutions/bundle-canonical-kubernetes/issues/357
|
|
'''
|
|
source = 'cdk-service-kicker'
|
|
dest = '/usr/bin/cdk-service-kicker'
|
|
services = layer.options('cdk-service-kicker').get('services')
|
|
context = {'services': ' '.join(services)}
|
|
render(source, dest, context)
|
|
os.chmod('/usr/bin/cdk-service-kicker', 0o775)
|
|
|
|
source = 'cdk-service-kicker.service'
|
|
dest = '/etc/systemd/system/cdk-service-kicker.service'
|
|
context = {}
|
|
render(source, dest, context)
|
|
command = ['systemctl', 'enable', 'cdk-service-kicker']
|
|
subprocess.check_call(command)
|
|
|
|
set_state('cdk-service-kicker.installed')
|