~raharper/cloud-init:pregen-locale

Last commit made on 2017-06-09
Get this branch:
git clone -b pregen-locale https://git.launchpad.net/~raharper/cloud-init
Only Ryan Harper can upload to this branch. If you are Ryan Harper please log in for upload directions.

Branch merges

Branch information

Name:
pregen-locale
Repository:
lp:~raharper/cloud-init

Recent commits

0f9ec26... by Ryan Harper

Check before attempting to regenerate locales

Avoid unnecessary IO incurred when generating locales by
testing if the system has already configured a LANG setting.
If a user supplied locale or the default locale defined in
in cloud-init differs from what is presently configured
then cloud-init will regenerate locales based on the supplied
value.

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.