~b1sandmann/cloud-init:master

Last commit made on 2017-06-09
Get this branch:
git clone -b master https://git.launchpad.net/~b1sandmann/cloud-init
Only Jens Sandmann can upload to this branch. If you are Jens Sandmann please log in for upload directions.

Branch merges

Branch information

Name:
master
Repository:
lp:~b1sandmann/cloud-init

Recent commits

b9cd8a8... by Ryan Harper

Use distro release version to determine if we use systemd in redhat spec

The typical rpm build process will examine the spec file to determine
which packages should be installed in the boot root. This requires
the specfile to declare that it needs system. Provide this information
by checking which version in which the rpm is being built and exporting
requirements for systemd.

d00da2d... by Scott Moser

net: normalize data in network_state object

The network_state object's network and route keys would have different
information depending upon how the network_state object was populated.

This change cleans that up. Now:
  * address will always contain an IP address.
  * prefix will always include an integer value that is the
    network_prefix for the address.
  * netmask will be present only if the address is ipv4, and its
    value will always correlate to the 'prefix'.

76d5826... by Wesley Wiedenmeier

Integration Testing: tox env, pyxld 2.2.3, and revamp framework

Massive update to clean up and greatly enhance the integration testing
framework developed by Wesley Wiedenmeier.

 - Updated tox environment to run integration test 'citest' to utilize
   pylxd 2.2.3
 - Add support for distro feature flags
   - add framework for feature flags to release config with feature groups
     and overrides allowed in any release conf override level
   - add support for feature flags in platform and config handling
   - during collect, skip testcases that require features not supported by
     the image with a warning message
 - Enable additional distros (i.e. centos, debian)
 - Add 'bddeb' command to build a deb from the current working tree
   cleanly in a container, so deps do not have to be installed on host
 - Adds a command line option '--preserve-data' that ensures that
   collected data will be left after tests run. This also allows the
   directory to store collected data in during the run command to be
   specified using '--data-dir'.
 - Updated Read the Docs testing page and doc strings for pep 257
   compliance

ad2680a... by JJ Asghar

Chef: Update omnibus url to chef.io, minor doc changes.

- Updated to standard chef.io url
- Removed the port 4000, due to that has been deprecated
- Added Note about the run_list not being required

Signed-off-by: JJ Asghar <email address hidden>

ee32439... by Joshua Powers

tools: add centos scripts to build and test

The added 'run-centos' does:
 - Creates centos 6 or 7 lxd container
   * Sets http_proxy variable for yum if set locally
   * Creates centos user
 - Push local tree
   * Tar's up working directory
   * Pushes to container and untars
 - Installs pip and yum dependencies
 - As user centos it can then based on flags:
    * runs unittests
    * run ./packages/brpm
    * run ./packages/brpm --srpm
    * artifact the built *.rpm

f8f519a... by Ryan Harper

Drop cheetah python module as it is not needed by trunk

Cloud-init's template renderer does not require the use of cheetah
(which is python2 only) so do not put it in the list of package
requirements.

914822a... by Scott Moser

rhel/centos spec cleanups.

Many changes here to get us able to build rpms on CentOS 5 or 6 and RHEL.

 * add 'Requires' as 'BuildRequires' also.
   This allows us to run cloud-init tools in the build environment, and
   also will allow us to run tests in the build process.
 * build for both systemd and upstart (centos 5) init systems.
 * Add 'centos' as a variant
   Adding the variant means we can use the 'centos' user as default on centos
   rather than a 'fedora' or 'rhel'.
 * drop argparse from the requirements.
   On any system other than python 2.6, having a 'requirements' that mentions
   argparse just causes problems. Instead we add that Requires to the spec
   directly.
 * list dependency on dmidecode (as redhat distro spec had)
 * remove duplicate line in files section ({_unitdir}/cloud-*)
 * Use rpm macros for init-system chunks and drop use
   of init_system variable template
 * Add el6 only build-req on python-argparse
 * python-cheetah is not required in the build environment as the
   the spec is already rendered. (We will soon move the spec to jinja).

41d46bf... by Scott Moser

cloud.cfg: move to a template. setup.py changes along the way.

Here we move the config/cloud.cfg to be rendered as a template.
That allows us to maintain deltas between distros in one place.
Currently we use 'variant' variable to make decisions.
A tools/render-cloudcfg is provided to render the file.

There were changes to setup.py, MANIFEST.in to allow us to put all
files into a virtual env installation and to render the cloud-config
file in 'install' or 'bdist' targets.

We have also included some config changes that were found in the
redhat distro spec.
 * include some config changes from the redhat distro spec.

The rendered cloud.cfg has some differences.
Ubuntu: white space and comment changes only.
Freebsd:
 - whitespace changes and comment changes
 - datasource_list definition moved to be closer to 'datasource'.
 - enable modules: migrator, write_files
 - move package-update-upgrade-install to final.

The initial work was done by Josh Harlow.

e7c9520... by Scott Moser

Makefile: add deb-src and srpm targets. use PYVER more places.

This just adds targets for deb-src and srpm, and uses
PYVER anywhere where we run a python program.

7dcc15d... by Chad Smith

makefile: fix python 2/3 detection in the Makefile

Fix detection of python in a non-python3 environment.
The old path always used python3. The 2 fixes here are:
 a.) escape the '$' before the subshell.
 b.) use shell builtin 'command -v' rather than 'which' in case
     'which' is not available.