[Cloud-init-dev] [Merge] ~redriver/cloud-init:fix-ifdown-for-frbsd-on-Azure into cloud-init:master

2017-06-14 Thread Hongjiang Zhang
The proposal to merge ~redriver/cloud-init:fix-ifdown-for-frbsd-on-Azure into 
cloud-init:master has been updated.

Commit Message changed to:

replace ifdown/ifup with "ifconfig down" and "ifconfig up" on FreeBSD

Fix the issue caused by different commands on Linux and FreeBSD. On Linux, we 
used ifdown and ifup to enable and disable a NIC, but on FreeBSD, the 
counterpart is "ifconfig down" and "ifconfig up"

LP: #1697815

For more details, see:
https://code.launchpad.net/~redriver/cloud-init/+git/cloud-init/+merge/325713
-- 
Your team cloud-init commiters is requested to review the proposed merge of 
~redriver/cloud-init:fix-ifdown-for-frbsd-on-Azure into cloud-init:master.

___
Mailing list: https://launchpad.net/~cloud-init-dev
Post to : cloud-init-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Cloud-init-dev] [Merge] ~chad.smith/cloud-init:ci-deps-fixes into cloud-init:master

2017-06-14 Thread Server Team CI bot
Review: Approve continuous-integration

PASSED: Continuous integration, rev:1ae35e5a4944a68b3136e62c2b89d4d91ee951d7
https://jenkins.ubuntu.com/server/job/cloud-init-ci/529/
Executed test runs:
SUCCESS: 
https://jenkins.ubuntu.com/server/job/cloud-init-ci/nodes=metal-amd64/529
SUCCESS: 
https://jenkins.ubuntu.com/server/job/cloud-init-ci/nodes=metal-arm64/529
SUCCESS: 
https://jenkins.ubuntu.com/server/job/cloud-init-ci/nodes=metal-ppc64el/529
SUCCESS: 
https://jenkins.ubuntu.com/server/job/cloud-init-ci/nodes=metal-s390x/529
SUCCESS: 
https://jenkins.ubuntu.com/server/job/cloud-init-ci/nodes=vm-i386/529

Click here to trigger a rebuild:
https://jenkins.ubuntu.com/server/job/cloud-init-ci/529/rebuild

-- 
https://code.launchpad.net/~chad.smith/cloud-init/+git/cloud-init/+merge/325693
Your team cloud-init commiters is requested to review the proposed merge of 
~chad.smith/cloud-init:ci-deps-fixes into cloud-init:master.

___
Mailing list: https://launchpad.net/~cloud-init-dev
Post to : cloud-init-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp


[Cloud-init-dev] [Merge] ~chad.smith/cloud-init:ci-deps-fixes into cloud-init:master

2017-06-14 Thread Chad Smith
The proposal to merge ~chad.smith/cloud-init:ci-deps-fixes into 
cloud-init:master has been updated.

Description changed to:

ci dependency installs: Add --test-distro param to read-dependencies to install 
deps

read-dependencies now takes --test-distro param to indicate we want to install 
all system package depenencies to allow for testing and building for our 
continous integration environment. It allows us to install all needed deps on a 
fresh system with python3 ./tools/read-depenencies --distro ubuntu 
--test-distro [--dry-run].

Additionally read-dependencies now looks at what version of python is running 
the script (py2 vs p3) and opts to install python 2 or 3 system deps 
respectively. This behavior can still be overridden with python3 
./tools/read-dependencies ... --python-version 2.


There are also some distro-specific packaging dependencies, like devscripts on 
debian or ubuntu. Those pkg dependencies have now been broken out from common 
pkg deps to avoid trying to install them on centos/redhat/suse. 

For more details, see:
https://code.launchpad.net/~chad.smith/cloud-init/+git/cloud-init/+merge/325693
-- 
Your team cloud-init commiters is requested to review the proposed merge of 
~chad.smith/cloud-init:ci-deps-fixes into cloud-init:master.

___
Mailing list: https://launchpad.net/~cloud-init-dev
Post to : cloud-init-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp


[Cloud-init-dev] [Merge] ~chad.smith/cloud-init:ci-deps-fixes into cloud-init:master

2017-06-14 Thread Chad Smith
Chad Smith has proposed merging ~chad.smith/cloud-init:ci-deps-fixes into 
cloud-init:master.

Requested reviews:
  cloud-init commiters (cloud-init-dev)

For more details, see:
https://code.launchpad.net/~chad.smith/cloud-init/+git/cloud-init/+merge/325693

ci dependency installs: Add --test-distro param to read-dependencies to install 
deps

read-dependencies now takes --test-distro param to indicate we want to install 
all system package depenencies to allow for testing and building for our 
continous integration environment. It allows us to install all needed deps on a 
fresh system with python3 ./tools/read-depenencies --distro ubuntu 
--test-distro [--dry-run].

Additionally read-dependencies now looks at what version of python is running 
the script (py2 vs p3) and opts to install python 2 or 3 system deps 
respectively. This behavior can still be overridden with python3 
./tools/read-dependencies ... --python-version 2.



-- 
Your team cloud-init commiters is requested to review the proposed merge of 
~chad.smith/cloud-init:ci-deps-fixes into cloud-init:master.
diff --git a/Makefile b/Makefile
index c752530..3a69d87 100644
--- a/Makefile
+++ b/Makefile
@@ -54,12 +54,10 @@ unittest3: clean_pyc
 	nosetests3 $(noseopts) tests/unittests
 
 ci-deps-ubuntu:
-	@$(PYVER) $(CWD)/tools/read-dependencies --distro ubuntu --install --python-version 3
-	@$(PYVER) $(CWD)/tools/read-dependencies --distro ubuntu --requirements-file test-requirements.txt --install --python-version 3
+	@$(PYVER) $(CWD)/tools/read-dependencies --distro-ubuntu --ci-deps
 
 ci-deps-centos:
-	@$(PYVER) $(CWD)/tools/read-dependencies --distro centos --install
-	@$(PYVER) $(CWD)/tools/read-dependencies --distro centos --requirements-file test-requirements.txt --install
+	@$(PYVER) $(CWD)/tools/read-dependencies --distro centos --ci-deps
 
 pip-requirements:
 	@echo "Installing cloud-init dependencies..."
diff --git a/packages/bddeb b/packages/bddeb
index e45af6e..c7172d0 100755
--- a/packages/bddeb
+++ b/packages/bddeb
@@ -72,7 +72,9 @@ def write_debian_folder(root, templ_data, is_python2, cloud_util_deps):
 requires = ['cloud-utils | cloud-guest-utils'] if cloud_util_deps else []
 # We consolidate all deps as Build-Depends as our package build runs all
 # tests so we need all runtime dependencies anyway.
-requires.extend(reqs + test_reqs + [python])
+# NOTE: For some reason python package dependency can't be specified at the
+# end of the dependency list. It results in pybuild errors.
+requires.extend([python] + reqs + test_reqs)
 templater.render_to_file(util.abs_join(find_root(),
'packages', 'debian', 'control.in'),
  util.abs_join(deb_dir, 'control'),
diff --git a/tools/read-dependencies b/tools/read-dependencies
index 8a58534..ed41e84 100755
--- a/tools/read-dependencies
+++ b/tools/read-dependencies
@@ -40,8 +40,11 @@ DISTRO_INSTALL_PKG_CMD = {
 }
 
 
-# List of base system packages required to start using make
-EXTRA_SYSTEM_BASE_PKGS = ['make', 'sudo', 'tar']
+# List of base system packages required to enable ci automation
+CI_SYSTEM_BASE_PKGS = {
+'common': ['make', 'sudo', 'tar'],
+'ubuntu': ['devscripts'],
+'debian': ['devscripts']}
 
 
 # JSON definition of distro-specific package dependencies
@@ -70,10 +73,16 @@ def get_parser():
 dest='install',
 help='When specified, install the required system packages.')
 parser.add_argument(
-'-v', '--python-version', type=str, dest='python_version', default="2",
+'-t', '--test-distro', action='store_true', default=False,
+dest='test_distro',
+help='Additionally install continuous integration system packages '
+ 'required for build and test automation.')
+parser.add_argument(
+'-v', '--python-version', type=str, dest='python_version', default=None,
 choices=["2", "3"],
-help='The version of python we want to generate system package '
- 'dependencies for.')
+help='Override the version of python we want to generate system '
+ 'package dependencies for. Defaults to the version of python '
+ 'this script is called with')
 return parser
 
 
@@ -114,13 +123,17 @@ def parse_pip_requirements(requirements_path):
 return dep_names
 
 
-def translate_pip_to_system_pkg(pip_requires, renames, python_ver="2"):
+def translate_pip_to_system_pkg(pip_requires, renames, python_ver):
 """Translate pip package names to distro-specific package names.
 
 @param pip_requires: List of versionless pip package names to translate.
 @param renames: Dict containg special case renames from pip name to system
 package name for the distro.
+@param python_ver: Optional python version string "2" or "3". When None,
+ use the python version that is calling this script via sys.version_info.
 """
+if python_ver is None:
+

[Cloud-init-dev] [Merge] ~chad.smith/cloud-init:schema-autodoc into cloud-init:master

2017-06-14 Thread Scott Moser
The proposal to merge ~chad.smith/cloud-init:schema-autodoc into 
cloud-init:master has been updated.

Status: Needs review => Approved

For more details, see:
https://code.launchpad.net/~chad.smith/cloud-init/+git/cloud-init/+merge/325507
-- 
Your team cloud-init commiters is requested to review the proposed merge of 
~chad.smith/cloud-init:schema-autodoc into cloud-init:master.

___
Mailing list: https://launchpad.net/~cloud-init-dev
Post to : cloud-init-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Cloud-init-dev] [Merge] ~smoser/cloud-init:bug/fix-ci-redhat into cloud-init:master

2017-06-14 Thread Chad Smith


Diff comments:

> diff --git a/tools/run-centos b/tools/run-centos
> index de21d75..f812e93 100755
> --- a/tools/run-centos
> +++ b/tools/run-centos
> @@ -63,26 +78,53 @@ inside() {
>  }
>  
>  inject_cloud_init(){
> -local name="$1"
> -tarball_name='cloud-init.tar.gz'
> -top_d=$(git rev-parse --show-toplevel) ||
> -fail "failed to get top level"
> -cd "$top_d" ||
> -fail "failed to cd to git top dir"
> -tar_folder=${PWD##*/}
> -cd ..
> -tar -czf "$TEMP_D/$tarball_name" "$tar_folder" ||
> -fail "failed: creating tarball_name"
> -cd "$tar_folder" ||
> -fail "failed: changing directory"
> -
> -user='centos'
> -tarball="/home/$user/$tarball_name"
> -inside "$name" useradd "$user"
> -lxc file push "$TEMP_D/$tarball_name" "$name/home/$user"/
> -inside "$name" chown "$user:$user" "$tarball"
> -inside_as "$name" "$user" tar -C "/home/$user" -xzf "$tarball" ||
> -fail "failed: extracting tarball"
> +# take current cloud-init git dir and put it inside $name at
> +# ~$user/cloud-init.
> +local name="$1" user="$2" top_d="" dname="" pstat=""
> +top_d=$(git rev-parse --show-toplevel) || {
> +errorrc "Failed to get git top level in $PWD";
> +return
> +}
> +dname=$(basename "${top_d}") || return
> +debug 1 "collecting ${top_d} ($dname) into user $user in $name."
> +tar -C "${top_d}/.." -cpf - "$dname" |
> +inside_as "$name" "$user" sh -ec '
> +dname=$1
> +rm -Rf "$dname"
> +tar -xpf -
> +[ "$dname" = "cloud-init" ] || mv "$dname" cloud-init' \
> +extract "$dname"
> +[ "${PIPESTATUS[*]}" = "0 0" ] || {
> +error "Failed to push tarball of '$top_d' into $name" \
> +" for user $user (dname=$dname)"
> +return 1
> +}
> +return 0
> +}
> +
> +prep() {
> +# we need some very basic things not present in the container.
> +#  - git
> +#  - tar (CentOS 6 lxc container does not have it)
> +#  - python-argparse (or python3)
> +local needed=""
> +needed=""
> +for pair in tar:tar git:git; do

I guess you are future-proofing here with the pairs declaration? Since tar and 
git's pkg and cmd are the same do we need to define : in the loop?

> +pkg=${pair#*:}
> +cmd=${pair%%:*}
> +command -v $cmd >/dev/null 2>&1 || needed="${needed} $pkg"
> +done
> +if ! command -v python3; then
> +python -c "import argparse" >/dev/null 2>&1 ||
> +needed="${needed} python-argparse"
> +fi
> +needed=${needed# }
> +if [ -z "$needed" ]; then
> +error "No prep packages needed"
> +return 0
> +fi
> +error "Installing prep packages: ${needed}"
> +yum install --assumeyes ${needed}
>  }
>  
>  start_container() {


-- 
https://code.launchpad.net/~smoser/cloud-init/+git/cloud-init/+merge/325679
Your team cloud-init commiters is requested to review the proposed merge of 
~smoser/cloud-init:bug/fix-ci-redhat into cloud-init:master.

___
Mailing list: https://launchpad.net/~cloud-init-dev
Post to : cloud-init-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Cloud-init-dev] [Merge] ~ajorgens/cloud-init:pipe-cat into cloud-init:master

2017-06-14 Thread Server Team CI bot
Review: Approve continuous-integration

PASSED: Continuous integration, rev:4d09af6deaf85811cc95fb753d0f41115f294ec6
https://jenkins.ubuntu.com/server/job/cloud-init-ci/527/
Executed test runs:
SUCCESS: 
https://jenkins.ubuntu.com/server/job/cloud-init-ci/nodes=metal-amd64/527
SUCCESS: 
https://jenkins.ubuntu.com/server/job/cloud-init-ci/nodes=metal-arm64/527
SUCCESS: 
https://jenkins.ubuntu.com/server/job/cloud-init-ci/nodes=metal-ppc64el/527
SUCCESS: 
https://jenkins.ubuntu.com/server/job/cloud-init-ci/nodes=metal-s390x/527
SUCCESS: 
https://jenkins.ubuntu.com/server/job/cloud-init-ci/nodes=vm-i386/527

Click here to trigger a rebuild:
https://jenkins.ubuntu.com/server/job/cloud-init-ci/527/rebuild

-- 
https://code.launchpad.net/~ajorgens/cloud-init/+git/cloud-init/+merge/325512
Your team cloud-init commiters is requested to review the proposed merge of 
~ajorgens/cloud-init:pipe-cat into cloud-init:master.

___
Mailing list: https://launchpad.net/~cloud-init-dev
Post to : cloud-init-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Cloud-init-dev] [Merge] ~smoser/cloud-init:bug/fix-ci-redhat into cloud-init:master

2017-06-14 Thread Chad Smith


Diff comments:

> diff --git a/tools/read-dependencies b/tools/read-dependencies
> index 4ba2c1b..f22f4a5 100755
> --- a/tools/read-dependencies
> +++ b/tools/read-dependencies
> @@ -144,12 +146,18 @@ def main(distro):
>  topd = os.path.realpath(os.environ.get('CLOUD_INIT_TOP_D'))
>  else:
>  topd = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
> -req_path = os.path.join(topd, args.req_file)
> -if not os.path.isfile(req_path):
> -sys.stderr.write("Unable to locate '%s' file that should "
> - "exist in cloud-init root directory." % req_path)
> -return 1
> -pip_pkg_names = parse_pip_requirements(req_path)
> +
> +if args.req_files is None:
> +args.req_files = [os.path.join(topd, DEFAULT_REQUIREMENTS)]

this falls over if someone specifies the full path to the file. But it's a 
simple tool so I think we are fine dealing w/ that (as we'll error out just 
below).

> +if not os.path.isfile(args.req_files[0]):

Since we support multiple requirenments files now any objection to the 
following?
--- a/tools/read-dependencies
+++ b/tools/read-dependencies
@@ -149,11 +149,14 @@ def main(distro):
 
 if args.req_files is None:
 args.req_files = [os.path.join(topd, DEFAULT_REQUIREMENTS)]
-if not os.path.isfile(args.req_files[0]):
-sys.stderr.write("Unable to locate '%s' file that should "
- "exist in cloud-init root directory." %
- args.req_files[0])
-sys.exit(1)
+for req_file in args.req_files:
+bad_files = [
+req_file for req_file in args.req_files
+if not os.path.isfile(req_file)]
+if bad_files:
+sys.stderr.write(
+"Unable to find requirements files: %s\n" % ','.join(bad_files))
+sys.exit(1)
 
 pip_pkg_names = set()
 for req_path in args.req_files:

> +sys.stderr.write("Unable to locate '%s' file that should "
> + "exist in cloud-init root directory." %
> + args.req_files[0])
> +sys.exit(1)
> +
> +pip_pkg_names = set()
> +for req_path in args.req_files:
> +pip_pkg_names.update(set(parse_pip_requirements(req_path)))
>  deps_from_json = get_package_deps_from_json(topd, args.distro)
>  renames = deps_from_json.get('renames', {})
>  translated_pip_names = translate_pip_to_system_pkg(


-- 
https://code.launchpad.net/~smoser/cloud-init/+git/cloud-init/+merge/325679
Your team cloud-init commiters is requested to review the proposed merge of 
~smoser/cloud-init:bug/fix-ci-redhat into cloud-init:master.

___
Mailing list: https://launchpad.net/~cloud-init-dev
Post to : cloud-init-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp


[Cloud-init-dev] [Merge] ~ajorgens/cloud-init:pipe-cat into cloud-init:master

2017-06-14 Thread Andrew Jorgensen
The proposal to merge ~ajorgens/cloud-init:pipe-cat into cloud-init:master has 
been updated.

Description changed to:

util: Disconnect subp from a tty

Some processes are less chatty when they don't find a terminal. Yum is a prime 
example. Without this it can display progress bars and fill up your console 
logs with garbage, making debugging harder.

For more details, see:
https://code.launchpad.net/~ajorgens/cloud-init/+git/cloud-init/+merge/325512
-- 
Your team cloud-init commiters is requested to review the proposed merge of 
~ajorgens/cloud-init:pipe-cat into cloud-init:master.

___
Mailing list: https://launchpad.net/~cloud-init-dev
Post to : cloud-init-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Cloud-init-dev] [Merge] ~ajorgens/cloud-init:pipe-cat into cloud-init:master

2017-06-14 Thread Server Team CI bot
Review: Needs Fixing continuous-integration

FAILED: Continuous integration, rev:10676d5e7eef7c489c4d0c2c75ea9b37d828e1b2
https://jenkins.ubuntu.com/server/job/cloud-init-ci/526/
Executed test runs:
FAILURE: 
https://jenkins.ubuntu.com/server/job/cloud-init-ci/nodes=metal-amd64/526/console
FAILURE: 
https://jenkins.ubuntu.com/server/job/cloud-init-ci/nodes=metal-arm64/526/console
FAILURE: 
https://jenkins.ubuntu.com/server/job/cloud-init-ci/nodes=metal-ppc64el/526/console
FAILURE: 
https://jenkins.ubuntu.com/server/job/cloud-init-ci/nodes=metal-s390x/526/console
FAILURE: 
https://jenkins.ubuntu.com/server/job/cloud-init-ci/nodes=vm-i386/526/console

Click here to trigger a rebuild:
https://jenkins.ubuntu.com/server/job/cloud-init-ci/526/rebuild

-- 
https://code.launchpad.net/~ajorgens/cloud-init/+git/cloud-init/+merge/325512
Your team cloud-init commiters is requested to review the proposed merge of 
~ajorgens/cloud-init:pipe-cat into cloud-init:master.

___
Mailing list: https://launchpad.net/~cloud-init-dev
Post to : cloud-init-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp


[Cloud-init-dev] [Merge] ~ajorgens/cloud-init:pipe-cat into cloud-init:master

2017-06-14 Thread Andrew Jorgensen
The proposal to merge ~ajorgens/cloud-init:pipe-cat into cloud-init:master has 
been updated.

Commit Message changed to:

util: Disconnect subp from a tty

Some processes are less chatty when they don't find a terminal. Yum is a prime 
example. Without this it can display progress bars and fill up your console 
logs with garbage, making debugging harder.

For more details, see:
https://code.launchpad.net/~ajorgens/cloud-init/+git/cloud-init/+merge/325512
-- 
Your team cloud-init commiters is requested to review the proposed merge of 
~ajorgens/cloud-init:pipe-cat into cloud-init:master.

___
Mailing list: https://launchpad.net/~cloud-init-dev
Post to : cloud-init-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Cloud-init-dev] [Merge] ~smoser/cloud-init:bug/fix-ci-redhat into cloud-init:master

2017-06-14 Thread Joshua Powers
Review: Approve

Only reviewed run-centos: clean up looks good and runs as expected locally. 
Thanks for taking the time to convert over to using read-dependencies. 


-- 
https://code.launchpad.net/~smoser/cloud-init/+git/cloud-init/+merge/325679
Your team cloud-init commiters is requested to review the proposed merge of 
~smoser/cloud-init:bug/fix-ci-redhat into cloud-init:master.

___
Mailing list: https://launchpad.net/~cloud-init-dev
Post to : cloud-init-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp


[Cloud-init-dev] [Merge] ~smoser/cloud-init:bug/fix-ci-redhat into cloud-init:master

2017-06-14 Thread Scott Moser
The proposal to merge ~smoser/cloud-init:bug/fix-ci-redhat into 
cloud-init:master has been updated.

Commit Message changed to:

tools/run-centos: cleanups and move to using read-dependencies

These changes are all in an effort to get tools/run-centos using
read-dependencies rather than the 'setup-centos' script with a separate
set of dependencies listed.

 - tools/read-dependencies: support taking multiple --requirements options.
   This allows run-centos to get both test and build dependencies.
   Ultimately, I think it might be nicer for read-dependencies to take a
   list of "goals" (build, test, run or test-tox) rather than having the
   caller need to know to provide multiple --requirements.

 - packages/pkg-deps.json: drop the version on the sudo package.
   centos 6 has newer (1.8.6p3) version than listed, so its not a problem.

 - test_handler_disk_setup.py: a test case here was using assertLogs
   which is not present in the version of unittest2 that is available in
   centos 6 epel.  We just adjust it to use with_logs = True.

 - tools/run-cents:
   - improve usage with example
   - add 'inside_as_cd' to provide the dir you want to cd first to. 
   - avoid the intermediate tarball on disk in the container.
   - add 'prep' subcommand and use it to install pre-dependencies.
   - use read-dependencies.

For more details, see:
https://code.launchpad.net/~smoser/cloud-init/+git/cloud-init/+merge/325679
-- 
Your team cloud-init commiters is requested to review the proposed merge of 
~smoser/cloud-init:bug/fix-ci-redhat into cloud-init:master.

___
Mailing list: https://launchpad.net/~cloud-init-dev
Post to : cloud-init-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp


[Cloud-init-dev] [Merge] ~smoser/cloud-init:bug/fix-ci-redhat into cloud-init:master

2017-06-14 Thread Scott Moser
The proposal to merge ~smoser/cloud-init:bug/fix-ci-redhat into 
cloud-init:master has been updated.

Commit Message changed to:

place holder

For more details, see:
https://code.launchpad.net/~smoser/cloud-init/+git/cloud-init/+merge/325679
-- 
Your team cloud-init commiters is requested to review the proposed merge of 
~smoser/cloud-init:bug/fix-ci-redhat into cloud-init:master.

___
Mailing list: https://launchpad.net/~cloud-init-dev
Post to : cloud-init-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp


[Cloud-init-dev] [Merge] ~smoser/cloud-init:bug/fix-ci-redhat into cloud-init:master

2017-06-14 Thread Scott Moser
Scott Moser has proposed merging ~smoser/cloud-init:bug/fix-ci-redhat into 
cloud-init:master.

Requested reviews:
  cloud-init commiters (cloud-init-dev)

For more details, see:
https://code.launchpad.net/~smoser/cloud-init/+git/cloud-init/+merge/325679
-- 
Your team cloud-init commiters is requested to review the proposed merge of 
~smoser/cloud-init:bug/fix-ci-redhat into cloud-init:master.
diff --git a/packages/pkg-deps.json b/packages/pkg-deps.json
index 8b8f3c3..822d29d 100644
--- a/packages/pkg-deps.json
+++ b/packages/pkg-deps.json
@@ -62,7 +62,7 @@
  "procps",
  "rsyslog",
  "shadow-utils",
- "sudo >= 1.7.2p2-3"
+ "sudo"
   ]
},
"suse" : {
diff --git a/tests/unittests/test_handler/test_handler_disk_setup.py b/tests/unittests/test_handler/test_handler_disk_setup.py
index 916a0d7..8a6d49e 100644
--- a/tests/unittests/test_handler/test_handler_disk_setup.py
+++ b/tests/unittests/test_handler/test_handler_disk_setup.py
@@ -3,7 +3,7 @@
 import random
 
 from cloudinit.config import cc_disk_setup
-from ..helpers import ExitStack, mock, TestCase
+from ..helpers import CiTestCase, ExitStack, mock, TestCase
 
 
 class TestIsDiskUsed(TestCase):
@@ -174,32 +174,32 @@ class TestUpdateFsSetupDevices(TestCase):
 return_value=('/dev/xdb1', False))
 @mock.patch('cloudinit.config.cc_disk_setup.device_type', return_value=None)
 @mock.patch('cloudinit.config.cc_disk_setup.util.subp', return_value=('', ''))
-class TestMkfsCommandHandling(TestCase):
+class TestMkfsCommandHandling(CiTestCase):
+
+with_logs = True
 
 def test_with_cmd(self, subp, *args):
 """mkfs honors cmd and logs warnings when extra_opts or overwrite are
 provided."""
-with self.assertLogs(
-'cloudinit.config.cc_disk_setup') as logs:
-cc_disk_setup.mkfs({
-'cmd': 'mkfs -t %(filesystem)s -L %(label)s %(device)s',
-'filesystem': 'ext4',
-'device': '/dev/xdb1',
-'label': 'with_cmd',
-'extra_opts': ['should', 'generate', 'warning'],
-'overwrite': 'should generate warning too'
-})
+cc_disk_setup.mkfs({
+'cmd': 'mkfs -t %(filesystem)s -L %(label)s %(device)s',
+'filesystem': 'ext4',
+'device': '/dev/xdb1',
+'label': 'with_cmd',
+'extra_opts': ['should', 'generate', 'warning'],
+'overwrite': 'should generate warning too'
+})
 
 self.assertIn(
-'WARNING:cloudinit.config.cc_disk_setup:fs_setup:extra_opts ' +
+'extra_opts ' +
 'ignored because cmd was specified: mkfs -t ext4 -L with_cmd ' +
 '/dev/xdb1',
-logs.output)
+self.logs.getvalue())
 self.assertIn(
-'WARNING:cloudinit.config.cc_disk_setup:fs_setup:overwrite ' +
+'overwrite ' +
 'ignored because cmd was specified: mkfs -t ext4 -L with_cmd ' +
 '/dev/xdb1',
-logs.output)
+self.logs.getvalue())
 
 subp.assert_called_once_with(
 'mkfs -t ext4 -L with_cmd /dev/xdb1', shell=True)
diff --git a/tools/read-dependencies b/tools/read-dependencies
index 4ba2c1b..f22f4a5 100755
--- a/tools/read-dependencies
+++ b/tools/read-dependencies
@@ -18,6 +18,7 @@ import re
 import subprocess
 import sys
 
+DEFAULT_REQUIREMENTS = 'requirements.txt'
 
 # Map the appropriate package dir needed for each distro choice
 DISTRO_PKG_TYPE_MAP = {
@@ -51,8 +52,9 @@ def get_parser():
 """Return an argument parser for this command."""
 parser = ArgumentParser(description=__doc__)
 parser.add_argument(
-'-r', '--requirements-file', type=str, dest='req_file',
-default='requirements.txt', help='The pip-style requirements file')
+'-r', '--requirements-file', type=str, dest='req_files',
+action='append', default=None,
+help='pip-style requirements file [default=%s]' % DEFAULT_REQUIREMENTS)
 parser.add_argument(
 '-d', '--distro', type=str, choices=DISTRO_PKG_TYPE_MAP.keys(),
 help='The name of the distro to generate package deps for.')
@@ -144,12 +146,18 @@ def main(distro):
 topd = os.path.realpath(os.environ.get('CLOUD_INIT_TOP_D'))
 else:
 topd = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
-req_path = os.path.join(topd, args.req_file)
-if not os.path.isfile(req_path):
-sys.stderr.write("Unable to locate '%s' file that should "
- "exist in cloud-init root directory." % req_path)
-return 1
-pip_pkg_names = parse_pip_requirements(req_path)
+
+if args.req_files is None:
+args.req_files = [os.path.join(topd, DEFAULT_REQUIREMENTS)]
+if not os.path.isfile(args.req_files[0]):
+sys.stderr.write("Unable to locate '%s' file that should "
+ 

Re: [Cloud-init-dev] [Merge] ~ajorgens/cloud-init:pipe-cat into cloud-init:master

2017-06-14 Thread Andrew Jorgensen
Hmm. I think I've found a better way, pending more testing.
-- 
https://code.launchpad.net/~ajorgens/cloud-init/+git/cloud-init/+merge/325512
Your team cloud-init commiters is requested to review the proposed merge of 
~ajorgens/cloud-init:pipe-cat into cloud-init:master.

___
Mailing list: https://launchpad.net/~cloud-init-dev
Post to : cloud-init-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp


[Cloud-init-dev] [Merge] ~wesley-wiedenmeier/cloud-init:integration-testing-distro-features into cloud-init:master

2017-06-14 Thread Scott Moser
The proposal to merge 
~wesley-wiedenmeier/cloud-init:integration-testing-distro-features into 
cloud-init:master has been updated.

Status: Work in progress => Merged

For more details, see:
https://code.launchpad.net/~wesley-wiedenmeier/cloud-init/+git/cloud-init/+merge/321029
-- 
Your team cloud-init commiters is requested to review the proposed merge of 
~wesley-wiedenmeier/cloud-init:integration-testing-distro-features into 
cloud-init:master.

___
Mailing list: https://launchpad.net/~cloud-init-dev
Post to : cloud-init-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp


[Cloud-init-dev] [Merge] ~wesley-wiedenmeier/cloud-init:integration-testing-tmpdir into cloud-init:master

2017-06-14 Thread Scott Moser
The proposal to merge ~wesley-wiedenmeier/cloud-init:integration-testing-tmpdir 
into cloud-init:master has been updated.

Status: Work in progress => Merged

For more details, see:
https://code.launchpad.net/~wesley-wiedenmeier/cloud-init/+git/cloud-init/+merge/320401
-- 
Your team cloud-init commiters is requested to review the proposed merge of 
~wesley-wiedenmeier/cloud-init:integration-testing-tmpdir into 
cloud-init:master.

___
Mailing list: https://launchpad.net/~cloud-init-dev
Post to : cloud-init-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Cloud-init-dev] [Merge] ~wesley-wiedenmeier/cloud-init:integration-testing-distro-features into cloud-init:master

2017-06-14 Thread Scott Moser
Hi.
I've marked this 'merged' as I think it is now in trunk under 
76d58265e34851b78e952a7f275340863c90a9f5.
If you disagree, please feel free to re-open.
-- 
https://code.launchpad.net/~wesley-wiedenmeier/cloud-init/+git/cloud-init/+merge/321029
Your team cloud-init commiters is requested to review the proposed merge of 
~wesley-wiedenmeier/cloud-init:integration-testing-distro-features into 
cloud-init:master.

___
Mailing list: https://launchpad.net/~cloud-init-dev
Post to : cloud-init-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp


[Cloud-init-dev] [Merge] ~wesley-wiedenmeier/cloud-init:integration-testing-invocation-cleanup into cloud-init:master

2017-06-14 Thread Scott Moser
The proposal to merge 
~wesley-wiedenmeier/cloud-init:integration-testing-invocation-cleanup into 
cloud-init:master has been updated.

Status: Work in progress => Merged

For more details, see:
https://code.launchpad.net/~wesley-wiedenmeier/cloud-init/+git/cloud-init/+merge/314496
-- 
Your team cloud-init commiters is requested to review the proposed merge of 
~wesley-wiedenmeier/cloud-init:integration-testing-invocation-cleanup into 
cloud-init:master.

___
Mailing list: https://launchpad.net/~cloud-init-dev
Post to : cloud-init-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Cloud-init-dev] [Merge] ~harlowja/cloud-init:kill-brpm into cloud-init:master

2017-06-14 Thread Scott Moser
Well, we re-worked the spec and brpm recently, but really to do more, not less.
I'm going to mark this 'rejected' due to that.

I think the 'brpm' is nicer at this point in trunk.
-- 
https://code.launchpad.net/~harlowja/cloud-init/+git/cloud-init/+merge/307991
Your team cloud-init commiters is requested to review the proposed merge of 
~harlowja/cloud-init:kill-brpm into cloud-init:master.

___
Mailing list: https://launchpad.net/~cloud-init-dev
Post to : cloud-init-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp


[Cloud-init-dev] [Merge] ~xnox/cloud-init:nplan-ipv6-int-mask2cidr into cloud-init:master

2017-06-14 Thread Scott Moser
The proposal to merge ~xnox/cloud-init:nplan-ipv6-int-mask2cidr into 
cloud-init:master has been updated.

Status: Work in progress => Rejected

For more details, see:
https://code.launchpad.net/~xnox/cloud-init/+git/cloud-init/+merge/324106
-- 
Your team cloud-init commiters is requested to review the proposed merge of 
~xnox/cloud-init:nplan-ipv6-int-mask2cidr into cloud-init:master.

___
Mailing list: https://launchpad.net/~cloud-init-dev
Post to : cloud-init-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Cloud-init-dev] [Merge] ~xnox/cloud-init:nplan-ipv6-int-mask2cidr into cloud-init:master

2017-06-14 Thread Scott Moser
I believe this is fixed under bug 1689346.
Please feel free to re-submit if not.

I'm going to reject this as it is just to get it out of the list.

Thanks
-- 
https://code.launchpad.net/~xnox/cloud-init/+git/cloud-init/+merge/324106
Your team cloud-init commiters is requested to review the proposed merge of 
~xnox/cloud-init:nplan-ipv6-int-mask2cidr into cloud-init:master.

___
Mailing list: https://launchpad.net/~cloud-init-dev
Post to : cloud-init-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Cloud-init-dev] [Merge] ~rski/cloud-init:puppet_4 into cloud-init:master

2017-06-14 Thread Scott Moser
Romanos,
Any progress ?
I realize that often times things fall off the immediate radar.  Feel free to 
ping me if you have any questions.

Thanks,
Scott
-- 
https://code.launchpad.net/~rski/cloud-init/+git/cloud-init/+merge/312284
Your team cloud-init commiters is requested to review the proposed merge of 
~rski/cloud-init:puppet_4 into cloud-init:master.

___
Mailing list: https://launchpad.net/~cloud-init-dev
Post to : cloud-init-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Cloud-init-dev] [Merge] ~ajorgens/cloud-init:pipe-cat into cloud-init:master

2017-06-14 Thread Scott Moser
It seems like there is probably a better (or at very least less expensive) way 
to do this than to incur the cost of a subprocess.

I suspect
a.) change 'yum' to be invoked with '--quiet' or the like
b.) close and re-open stdout or something like that.  yum is probably using 
'isatty' to change its behavior.
-- 
https://code.launchpad.net/~ajorgens/cloud-init/+git/cloud-init/+merge/325512
Your team cloud-init commiters is requested to review the proposed merge of 
~ajorgens/cloud-init:pipe-cat into cloud-init:master.

___
Mailing list: https://launchpad.net/~cloud-init-dev
Post to : cloud-init-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp


[Cloud-init-dev] [Merge] ~b1sandmann/cloud-init:fix-debian-template into cloud-init:master

2017-06-14 Thread Scott Moser
The proposal to merge ~b1sandmann/cloud-init:fix-debian-template into 
cloud-init:master has been updated.

Status: Needs review => Approved

For more details, see:
https://code.launchpad.net/~b1sandmann/cloud-init/+git/cloud-init/+merge/325478
-- 
Your team cloud-init commiters is requested to review the proposed merge of 
~b1sandmann/cloud-init:fix-debian-template into cloud-init:master.

___
Mailing list: https://launchpad.net/~cloud-init-dev
Post to : cloud-init-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Cloud-init-dev] [Merge] ~b1sandmann/cloud-init:fix-debian-template into cloud-init:master

2017-06-14 Thread Scott Moser
Thank you Jens,
I'll pull this shortly.

-- 
https://code.launchpad.net/~b1sandmann/cloud-init/+git/cloud-init/+merge/325478
Your team cloud-init commiters is requested to review the proposed merge of 
~b1sandmann/cloud-init:fix-debian-template into cloud-init:master.

___
Mailing list: https://launchpad.net/~cloud-init-dev
Post to : cloud-init-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp


[Cloud-init-dev] [Merge] ~b1sandmann/cloud-init:fix-debian-template into cloud-init:master

2017-06-14 Thread Scott Moser
The proposal to merge ~b1sandmann/cloud-init:fix-debian-template into 
cloud-init:master has been updated.

Description changed to:

debian: fix path comment in /etc/hosts template.

The comments in the debian template file of /etc/hosts still pointed to a
general template file instead of the debian one. Fixes bug 

LP: #1606406


For more details, see:
https://code.launchpad.net/~b1sandmann/cloud-init/+git/cloud-init/+merge/325478
-- 
Your team cloud-init commiters is requested to review the proposed merge of 
~b1sandmann/cloud-init:fix-debian-template into cloud-init:master.

___
Mailing list: https://launchpad.net/~cloud-init-dev
Post to : cloud-init-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp