Created by Joshua Harlow on 2016-07-21 and last modified on 2016-07-22
Get this branch:
bzr branch lp:~harlowja/cloud-init/cloud-init-dynamic-distro-check
Only Joshua Harlow can upload to this branch. If you are Joshua Harlow please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Joshua Harlow

Recent revisions

1261. By Joshua Harlow on 2016-07-22

Rearrange some of the pre_handling code.

1260. By Joshua Harlow on 2016-07-21

Use a more advanced module 'working' function
that by default performs the same distro checking
behavior (but allows modules to provide there
own if they so desire to).

1259. By Joshua Harlow on 2016-07-21

Allow modules to provide a 'is_usable_on' function

This function, if it exists will allow for the module
to decide if it works on the running distro, making it
a little more flexible (vs the previous distro lists that
are more static) so that the module can itself figure out
if it should be operational or not.

1258. By Scott Moser on 2016-07-19

mcollective: add tests, cleanups and bug fix when no config in /etc.

Things here:
 - restart rather than 'start' the service, to pick up a config change
   that we would have written.
 - update the config and write cert files whether or not the file
   existed on the system. Previously it would only write the cert
   files if /etc/mcollective/server.cfg already existed.
 - improve test coverage

1257. By Joshua Harlow on 2016-07-19

Avoid depending on argparse in 2.7 or greater

At least (currently) for rhel7 the argparse package does
not get installed (even though rpm say it is installed by
the python core package) and this causes things that mention
argparse in there requirements to not believe that argparse
is installed (even though it is) so to avoid this whole mess
we can just avoid depending on argparse in python versions
where we don't need to (since it was included in the stdlib
in python 2.7+)

1256. By Scott Moser on 2016-07-14

improvements to eni rendering

Some improvements here, and some bug fixes.
 - bring curtin revno 394's to support post-up for interface aliases.
 - sort attributes per interface for nicer order and consistent rendering
 - use arrays for each 'section' rather than content += . This allows
   better separation of the sections and also will perform better as long
   strings with += are slow.
 - improve how 'lo' is handled. If a network state that was being rendered
   had an entry for 'lo', then the rendered ENI would have 2 'lo'
 - no longer skip 'lo' sections when loading an ENI in parse_deb_config
 - fix inet value for subnets, don't add interface attributes to alias
   (LP: #1588547)

Also add some tests of reading yaml and rendering ENI.

1255. By Scott Moser on 2016-07-14

ConfigDrive: fix writing of 'injected' files and legacy networking

Previous commit inadvertently disabled the consumption of 'injected' files
in configdrive (openstack server boot --file=/target/file=local-file)
unless the datasource was in 'pass' mode. The default mode is 'net' so
that was not likely to happen.

Also here are:
a.) some comments to apply_network_config

b.) add backwards compatibility for distros that do not yet implement
    apply_network_config by converting the network config into ENI format
    and calling apply_network.

    This is required because prior to the previous commit, those distros
    would have had 'apply_network' called with the openstack provided
    ENI file. But after this change they will have apply_network_config
    called by cloudinit's main.

c.) add network_state_to_eni for converting net config to eni
    it supports the not-actually-correct 'hwaddress' field in ENI

1254. By Scott Moser on 2016-07-14

Fix mcollective module with python3

fixes mcollective when used with python3 and also adds a unit test.

1253. By Joshua Harlow on 2016-07-13

Fix SmartOS datasource usage of dict comprehensions

1252. By Joshua Harlow on 2016-07-13

String format requires positions on python 2.6

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
This branch contains Public information 
Everyone can see this information.