~ubuntu-branches/ubuntu/saucy/cloud-init/saucy

« back to all changes in this revision

Viewing changes to cloudinit/config/cc_apt_pipelining.py

  • Committer: Scott Moser
  • Date: 2012-11-14 20:18:41 UTC
  • mfrom: (223.1.2 raring.0.7.1)
  • Revision ID: smoser@ubuntu.com-20121114201841-jankm3afu21bd9ks
* New upstream release.
  * landscape: install landscape-client package if not installed.
    only take action if cloud-config is present (LP: #1066115)
  * landscape: restart landscape after install or config (LP: #1070345)
  * multipart/archive: do not fail on unknown headers in multipart
    mime or cloud-archive config (LP: #1065116).
  * tools/Z99-cloud-locale-test.sh: avoid warning when user's shell is
    zsh (LP: #1073077)
  * fix stack trace when unknown user-data input had unicode (LP: #1075756)
  * split 'apt-update-upgrade' config module into 'apt-configure' and
    'package-update-upgrade-install'.  The 'package-update-upgrade-install'
    will be a cross distro module.
  * fix bug where cloud-config from user-data could not affect system_info
    settings (LP: #1076811)
  * add yum_add_repo configuration module for adding additional yum repos
  * fix public key importing with config-drive-v2 datasource (LP: #1077700)
  * handle renaming and fixing up of marker names (LP: #1075980)
    this relieves that burden from the distro/packaging.
  * group config: fix how group members weren't being translated correctly
    when the group: [member, member...] format was used (LP: #1077245)
  * work around an issue with boto > 0.6.0 that lazy loaded the return from 
    get_instance_metadata().  This resulted in failure for cloud-init to
    install ssh keys. (LP: #1068801)
  * add power_state_change config module for shutting down stystem after
    cloud-init finishes. (LP: #1064665)

Show diffs side-by-side

added added

removed removed

Lines of Context:
34
34
# on TCP connections - otherwise data corruption will occur.
35
35
 
36
36
 
37
 
def handle(_name, cfg, cloud, log, _args):
 
37
def handle(_name, cfg, _cloud, log, _args):
38
38
 
39
39
    apt_pipe_value = util.get_cfg_option_str(cfg, "apt_pipelining", False)
40
40
    apt_pipe_value_s = str(apt_pipe_value).lower().strip()
41
41
 
42
42
    if apt_pipe_value_s == "false":
43
 
        write_apt_snippet(cloud, "0", log, DEFAULT_FILE)
 
43
        write_apt_snippet("0", log, DEFAULT_FILE)
44
44
    elif apt_pipe_value_s in ("none", "unchanged", "os"):
45
45
        return
46
46
    elif apt_pipe_value_s in [str(b) for b in xrange(0, 6)]:
47
 
        write_apt_snippet(cloud, apt_pipe_value_s, log, DEFAULT_FILE)
 
47
        write_apt_snippet(apt_pipe_value_s, log, DEFAULT_FILE)
48
48
    else:
49
49
        log.warn("Invalid option for apt_pipeling: %s", apt_pipe_value)
50
50
 
51
51
 
52
 
def write_apt_snippet(cloud, setting, log, f_name):
 
52
def write_apt_snippet(setting, log, f_name):
53
53
    """Writes f_name with apt pipeline depth 'setting'."""
54
54
 
55
55
    file_contents = APT_PIPE_TPL % (setting)
56
 
 
57
 
    util.write_file(cloud.paths.join(False, f_name), file_contents)
58
 
 
 
56
    util.write_file(f_name, file_contents)
59
57
    log.debug("Wrote %s with apt pipeline depth setting %s", f_name, setting)