~stephanpampel/landscape-client-charm/landscape-client-charm

« back to all changes in this revision

Viewing changes to hooks/hooks.py

  • Committer: 🤖 Landscape Builder
  • Author(s): Xav Paice
  • Date: 2018-02-22 23:03:06 UTC
  • mfrom: (64.1.1 landscape-client-charm)
  • Revision ID: _landscape_builder-20180222230306-cqxokd9w8jjgk9px
Merge landscape-client-charm [f=1723363] [r=simpoir,landscape-builder] [a=Xav Paice]
add optional override for unattended-upgrades

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
#!/usr/bin/python
2
2
 
 
3
import apt_pkg
3
4
import sys
4
5
import socket
5
6
import os
52
53
    if service_config.changed("origin"):
53
54
        install_landscape_client(service_config["origin"], fetch=fetch)
54
55
    # Only update client config with service configs that have been set
55
 
    set_config = dict(
56
 
        (key, value.strip()) for key, value in service_config.iteritems()
57
 
        if value is not None)
 
56
    set_config = {}
 
57
    for key, value in service_config.iteritems():
 
58
        if value is not None:
 
59
            if type(value) == str:
 
60
                set_config[key] = value.strip()
 
61
            else:
 
62
                set_config[key] = value
 
63
 
58
64
    relation_data.update(set_config)
 
65
    if service_config.get("disable-unattended-upgrades"):
 
66
        Cnf = apt_pkg.Configuration()
 
67
        apt_dir = '/etc/apt/apt.conf.d'
 
68
        apt_pkg.read_config_dir(Cnf, apt_dir)
 
69
        if Cnf.find("APT::Periodic::Unattended-Upgrade") == '1':
 
70
            disable_upgrades = 'APT::Periodic::Unattended-Upgrade "0";'
 
71
            hookenv.log("Disabling unattended upgrades")
 
72
            with open(apt_dir + '/99landscapeoverride', 'w') as override_file:
 
73
                override_file.write(disable_upgrades)
59
74
    if relation_data.get("ssl-public-key", "").startswith("base64:"):
60
75
        _write_certificate(relation_data["ssl-public-key"][7:], CERT_FILE)
61
76
        relation_data["ssl-public-key"] = CERT_FILE