Hello community, here is the log from the commit of package cloud-init for openSUSE:Factory checked in at 2019-06-24 21:48:51 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/cloud-init (Old) and /work/SRC/openSUSE:Factory/.cloud-init.new.4615 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cloud-init" Mon Jun 24 21:48:51 2019 rev:59 rq:709158 version:19.1 Changes: -------- --- /work/SRC/openSUSE:Factory/cloud-init/cloud-init.changes 2019-05-03 22:23:08.179974931 +0200 +++ /work/SRC/openSUSE:Factory/.cloud-init.new.4615/cloud-init.changes 2019-06-24 21:48:52.939897554 +0200 @@ -1,0 +2,137 @@ +Tue Jun 11 12:37:16 UTC 2019 - Dominique Leuenberger <[email protected]> + +- BuildRequire pkgconfig(systemd) instead of systemd: allow OBS to + shortcut the build queues by allowing usage of systemd-mini + +------------------------------------------------------------------- +Fri May 31 12:42:49 UTC 2019 - Robert Schweikert <[email protected]> + +- Update to version 19.1 (bsc#1136440) + + Remove, included upstream + - fix-default-systemd-unit-dir.patch + - cloud-init-sysconf-ethsetup.patch + - cloud-init-handle-def-route-set.patch + - cloud-init-no-empty-resolv.patch + - cloud-init-proper-ipv6-varname.patch + + Forward port + - cloud-init-trigger-udev.patch + + Add cloud-init-detect-nova.diff (bsc#1136440) + + Modify cloud-init-python2-sigpipe.patch, import signal and constants + + Update spec to account for new location of bash completion + + freebsd: add chpasswd pkg in the image [Gonéri Le Bouder] + + tests: add Eoan release [Paride Legovini] + + cc_mounts: check if mount -a on no-change fstab path + [Jason Zions (MSFT)] (LP: #1825596) + + replace remaining occurrences of LOG.warn [Daniel Watkins] + + DataSourceAzure: Adjust timeout for polling IMDS [Anh Vo] + + Azure: Changes to the Hyper-V KVP Reporter [Anh Vo] + + git tests: no longer show warning about safe yaml. + + tools/read-version: handle errors [Chad Miller] + + net/sysconfig: only indicate available on known sysconfig distros + (LP: #1819994) + + packages: update rpm specs for new bash completion path + [Daniel Watkins] (LP: #1825444) + + test_azure: mock util.SeLinuxGuard where needed + [Jason Zions (MSFT)] (LP: #1825253) + + setup.py: install bash completion script in new location [Daniel Watkins] + + mount_cb: do not pass sync and rw options to mount + [Gonéri Le Bouder] (LP: #1645824) + + cc_apt_configure: fix typo in apt documentation [Dominic Schlegel] + + Revert "DataSource: move update_events from a class to an instance..." + [Daniel Watkins] + + Change DataSourceNoCloud to ignore file system label's case. + [Risto Oikarinen] + + cmd:main.py: Fix missing 'modules-init' key in modes dict + [Antonio Romito] (LP: #1815109) + + ubuntu_advantage: rewrite cloud-config module + + Azure: Treat _unset network configuration as if it were absent + [Jason Zions (MSFT)] (LP: #1823084) + + DatasourceAzure: add additional logging for azure datasource [Anh Vo] + + cloud_tests: fix apt_pipelining test-cases + + Azure: Ensure platform random_seed is always serializable as JSON. + [Jason Zions (MSFT)] + + net/sysconfig: write out SUSE-compatible IPv6 config [Robert Schweikert] + + tox: Update testenv for openSUSE Leap to 15.0 [Thomas Bechtold] + + net: Fix ipv6 static routes when using eni renderer + [Raphael Glon] (LP: #1818669) + + Add ubuntu_drivers config module [Daniel Watkins] + + doc: Refresh Azure walinuxagent docs [Daniel Watkins] + + tox: bump pylint version to latest (2.3.1) [Daniel Watkins] + + DataSource: move update_events from a class to an instance attribute + [Daniel Watkins] (LP: #1819913) + + net/sysconfig: Handle default route setup for dhcp configured NICs + [Robert Schweikert] (LP: #1812117) + + DataSourceEc2: update RELEASE_BLOCKER to be more accurate + [Daniel Watkins] + + cloud-init-per: POSIX sh does not support string subst, use sed + (LP: #1819222) + + Support locking user with usermod if passwd is not available. + + Example for Microsoft Azure data disk added. [Anton Olifir] + + clean: correctly determine the path for excluding seed directory + [Daniel Watkins] (LP: #1818571) + + helpers/openstack: Treat unknown link types as physical + [Daniel Watkins] (LP: #1639263) + + drop Python 2.6 support and our NIH version detection [Daniel Watkins] + + tip-pylint: Fix assignment-from-return-none errors + + net: append type:dhcp[46] only if dhcp[46] is True in v2 netconfig + [Kurt Stieger] (LP: #1818032) + + cc_apt_pipelining: stop disabling pipelining by default + [Daniel Watkins] (LP: #1794982) + + tests: fix some slow tests and some leaking state [Daniel Watkins] + + util: don't determine string_types ourselves [Daniel Watkins] + + cc_rsyslog: Escape possible nested set [Daniel Watkins] (LP: #1816967) + + Enable encrypted_data_bag_secret support for Chef + [Eric Williams] (LP: #1817082) + + azure: Filter list of ssh keys pulled from fabric [Jason Zions (MSFT)] + + doc: update merging doc with fixes and some additional details/examples + + tests: integration test failure summary to use traceback if empty error + + This is to fix https://bugs.launchpad.net/cloud-init/+bug/1812676 + [Vitaly Kuznetsov] + + EC2: Rewrite network config on AWS Classic instances every boot + [Guilherme G. Piccoli] (LP: #1802073) + + netinfo: Adjust ifconfig output parsing for FreeBSD ipv6 entries + (LP: #1779672) + + netplan: Don't render yaml aliases when dumping netplan (LP: #1815051) + + add PyCharm IDE .idea/ path to .gitignore [Dominic Schlegel] + + correct grammar issue in instance metadata documentation + [Dominic Schlegel] (LP: #1802188) + + clean: cloud-init clean should not trace when run from within cloud_dir + (LP: #1795508) + + Resolve flake8 comparison and pycodestyle over-ident issues + [Paride Legovini] + + opennebula: also exclude epochseconds from changed environment vars + (LP: #1813641) + + systemd: Render generator from template to account for system + differences. [Robert Schweikert] + + sysconfig: On SUSE, use STARTMODE instead of ONBOOT + [Robert Schweikert] (LP: #1799540) + + flake8: use ==/!= to compare str, bytes, and int literals + [Paride Legovini] + + opennebula: exclude EPOCHREALTIME as known bash env variable with a + delta (LP: #1813383) + + tox: fix disco httpretty dependencies for py37 (LP: #1813361) + + run-container: uncomment baseurl in yum.repos.d/*.repo when using a + proxy [Paride Legovini] + + lxd: install zfs-linux instead of zfs meta package + [Johnson Shi] (LP: #1799779) + + net/sysconfig: do not write a resolv.conf file with only the header. + [Robert Schweikert] + + net: Make sysconfig renderer compatible with Network Manager. + [Eduardo Otubo] + + cc_set_passwords: Fix regex when parsing hashed passwords + [Marlin Cremers] (LP: #1811446) + + net: Wait for dhclient to daemonize before reading lease file + [Jason Zions] (LP: #1794399) + + [Azure] Increase retries when talking to Wireserver during metadata walk + [Jason Zions] + + Add documentation on adding a datasource. + + doc: clean up some datasource documentation. + + ds-identify: fix wrong variable name in ovf_vmware_transport_guestinfo. + + Scaleway: Support ssh keys provided inside an instance tag. [PORTE Loïc] + + OVF: simplify expected return values of transport functions. + + Vmware: Add support for the com.vmware.guestInfo OVF transport. + (LP: #1807466) + + HACKING.rst: change contact info to Josh Powers + + Update to pylint 2.2.2. + +------------------------------------------------------------------- Old: ---- cloud-init-18.5.tar.gz cloud-init-handle-def-route-set.patch cloud-init-no-empty-resolv.patch cloud-init-proper-ipv6-varname.patch cloud-init-sysconf-ethsetup.patch fix-default-systemd-unit-dir.patch New: ---- cloud-init-19.1.tar.gz cloud-init-detect-nova.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cloud-init.spec ++++++ --- /var/tmp/diff_new_pack.d7sY0o/_old 2019-06-24 21:48:53.567898040 +0200 +++ /var/tmp/diff_new_pack.d7sY0o/_new 2019-06-24 21:48:53.571898043 +0200 @@ -18,7 +18,7 @@ %global configver 0.7 Name: cloud-init -Version: 18.5 +Version: 19.1 Release: 0 License: GPL-3.0 and AGPL-3.0 Summary: Cloud node initialization tool @@ -29,9 +29,6 @@ # FIXME -# proposed for upstream merge -# https://code.launchpad.net/~rjschwei/cloud-init/+git/cloud-init/+merge/356098 -Patch12: fix-default-systemd-unit-dir.patch # python2 disables SIGPIPE, causing broken pipe errors in shell scripts (bsc#903449) Patch20: cloud-init-python2-sigpipe.patch Patch21: cloud-init-template-py2.patch @@ -39,24 +36,16 @@ Patch34: cloud-init-tests-set-exec.patch # FIXME no proposed solution Patch38: cloud-init-sysconf-path.patch -# FIXME (lp#1799540) -# https://code.launchpad.net/~rjschwei/cloud-init/+git/cloud-init/+merge/357710 -Patch39: cloud-init-sysconf-ethsetup.patch # FIXME (lp# 1800854) Patch41: cloud-init-static-net.patch # FIXME (lp#1801364) Patch42: cloud-init-ostack-metadat-dencode.patch # FIXME (lp#1812117) Patch43: cloud-init-write-routes.patch -# Following submitted upstream -Patch44: cloud-init-handle-def-route-set.patch -# End lp#1812117 -# FIXME (lp#1812853) -Patch45: cloud-init-no-empty-resolv.patch -# FIXME (lp#1817230) -Patch46: cloud-init-proper-ipv6-varname.patch # FIXME (lp#1817368) Patch47: cloud-init-trigger-udev.patch +# FIXME (lp#1669875) patch by mvoelker@launchpad +Patch48: cloud-init-detect-nova.diff BuildRequires: fdupes BuildRequires: filesystem @@ -137,8 +126,7 @@ %define initsys sysvinit_suse %else %define initsys systemd -BuildRequires: systemd -Requires: systemd +BuildRequires: pkgconfig(systemd) %{?systemd_requires} %if 0%{?suse_version} && 0%{?suse_version} == 1220 %define systemd_prefix /lib @@ -190,7 +178,6 @@ %prep %setup -q -%patch12 %if 0%{?suse_version} < 1315 %patch20 %patch21 @@ -198,14 +185,11 @@ %patch29 -p0 %patch34 %patch38 -%patch39 %patch41 %patch42 %patch43 -%patch44 -%patch45 -%patch46 %patch47 +%patch48 -p1 %build %if 0%{?suse_version} && 0%{?suse_version} <= 1315 @@ -303,7 +287,11 @@ %config(noreplace) %{_sysconfdir}/cloud/templates %{_sysconfdir}/dhcp/dhclient-exit-hooks.d/hook-dhclient %{_sysconfdir}/NetworkManager/dispatcher.d/hook-network-manager -%{_sysconfdir}/bash_completion.d/cloud-init +%if 0%{?suse_version} && 0%{?suse_version} < 1500 +%dir %{_datadir}/bash-completion +%dir %{_datadir}/bash-completion/completions +%endif +%{_datadir}/bash-completion/completions/cloud-init %if 0%{?suse_version} && 0%{?suse_version} <= 1315 %{python_sitelib}/cloudinit %{python_sitelib}/cloud_init-%{version}-py%{py_ver}.egg-info ++++++ cloud-init-18.5.tar.gz -> cloud-init-19.1.tar.gz ++++++ ++++ 7688 lines of diff (skipped) ++++++ cloud-init-detect-nova.diff ++++++ diff --git a/tests/unittests/test_ds_identify.py b/tests/unittests/test_ds_identify.py index 8c18aa1..7575223 100644 --- a/tests/unittests/test_ds_identify.py +++ b/tests/unittests/test_ds_identify.py @@ -435,6 +435,14 @@ class TestDsIdentify(DsIdentifyBase): """Open Telecom identification.""" self._test_ds_found('OpenStack-OpenTelekom') + def test_openstack_asset_tag_nova(self): + """OpenStack identification via asset tag OpenStack Nova.""" + self._test_ds_found('OpenStack-AssetTag-Nova') + + def test_openstack_asset_tag_copute(self): + """OpenStack identification via asset tag OpenStack Compute.""" + self._test_ds_found('OpenStack-AssetTag-Compute') + def test_openstack_on_non_intel_is_maybe(self): """On non-Intel, openstack without dmi info is maybe. @@ -759,6 +767,18 @@ VALID_CFG = { 'files': {P_CHASSIS_ASSET_TAG: 'OpenTelekomCloud\n'}, 'mocks': [MOCK_VIRT_IS_XEN], }, + 'OpenStack-AssetTag-Nova': { + # VMware vSphere can't modify product-name, LP: #1669875 + 'ds': 'OpenStack', + 'files': {P_CHASSIS_ASSET_TAG: 'OpenStack Nova\n'}, + 'mocks': [MOCK_VIRT_IS_XEN], + }, + 'OpenStack-AssetTag-Compute': { + # VMware vSphere can't modify product-name, LP: #1669875 + 'ds': 'OpenStack', + 'files': {P_CHASSIS_ASSET_TAG: 'OpenStack Compute\n'}, + 'mocks': [MOCK_VIRT_IS_XEN], + }, 'OVF-seed': { 'ds': 'OVF', 'files': { diff --git a/tools/ds-identify b/tools/ds-identify index 6518901..e16708f 100755 --- a/tools/ds-identify +++ b/tools/ds-identify @@ -979,6 +979,14 @@ dscheck_OpenStack() { return ${DS_FOUND} fi + # LP: #1669875 : allow identification of OpenStack by asset tag + if dmi_chassis_asset_tag_matches "$nova"; then + return ${DS_FOUND} + fi + if dmi_chassis_asset_tag_matches "$compute"; then + return ${DS_FOUND} + fi + # LP: #1715241 : arch other than intel are not identified properly. case "$DI_UNAME_MACHINE" in i?86|x86_64) :;; ++++++ cloud-init-python2-sigpipe.patch ++++++ --- /var/tmp/diff_new_pack.d7sY0o/_old 2019-06-24 21:48:53.815898232 +0200 +++ /var/tmp/diff_new_pack.d7sY0o/_new 2019-06-24 21:48:53.819898234 +0200 @@ -1,6 +1,14 @@ --- cloudinit/util.py.orig +++ cloudinit/util.py -@@ -1920,7 +1920,8 @@ def subp(args, data=None, rcs=None, env= +@@ -35,6 +35,7 @@ import time + from errno import ENOENT, ENOEXEC + + from base64 import b64decode, b64encode ++from signal import signal, SIGPIPE, SIG_DFL + from six.moves.urllib import parse as urlparse + + import six +@@ -2031,7 +2032,8 @@ def subp(args, data=None, rcs=None, env= try: sp = subprocess.Popen(bytes_args, stdout=stdout, stderr=stderr, stdin=stdin, ++++++ cloud-init-trigger-udev.patch ++++++ --- /var/tmp/diff_new_pack.d7sY0o/_old 2019-06-24 21:48:53.835898247 +0200 +++ /var/tmp/diff_new_pack.d7sY0o/_new 2019-06-24 21:48:53.839898250 +0200 @@ -1,3 +1,14 @@ +--- cloudinit/distros/opensuse.py.orig ++++ cloudinit/distros/opensuse.py +@@ -38,6 +38,8 @@ class Distro(distros.Distro): + 'sysconfig': { + 'control': 'etc/sysconfig/network/config', + 'iface_templates': '%(base)s/network/ifcfg-%(name)s', ++ 'netrules_path': ( ++ 'etc/udev/rules.d/85-persistent-net-cloud-init.rules'), + 'route_templates': { + 'ipv4': '%(base)s/network/ifroute-%(name)s', + 'ipv6': '%(base)s/network/ifroute-%(name)s', --- cloudinit/net/sysconfig.py.orig +++ cloudinit/net/sysconfig.py @@ -8,6 +8,7 @@ import six @@ -7,8 +18,8 @@ +from cloudinit import net from cloudinit import util - from . import renderer -@@ -673,6 +674,14 @@ class Renderer(renderer.Renderer): + from configobj import ConfigObj +@@ -699,6 +700,14 @@ class Renderer(renderer.Renderer): if nm_conf_content: util.write_file(nm_conf_path, nm_conf_content, file_mode) if self.netrules_path: @@ -23,14 +34,3 @@ netrules_content = self._render_persistent_net(network_state) netrules_path = util.target_path(target, self.netrules_path) util.write_file(netrules_path, netrules_content, file_mode) ---- cloudinit/distros/opensuse.py.orig -+++ cloudinit/distros/opensuse.py -@@ -38,6 +38,8 @@ class Distro(distros.Distro): - 'sysconfig': { - 'control': 'etc/sysconfig/network/config', - 'iface_templates': '%(base)s/network/ifcfg-%(name)s', -+ 'netrules_path': ( -+ 'etc/udev/rules.d/85-persistent-net-cloud-init.rules'), - 'route_templates': { - 'ipv4': '%(base)s/network/ifroute-%(name)s', - 'ipv6': '%(base)s/network/ifroute-%(name)s',
