Hello community,

here is the log from the commit of package cloud-init for openSUSE:Leap:15.2 
checked in at 2020-02-04 17:59:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2/cloud-init (Old)
 and      /work/SRC/openSUSE:Leap:15.2/.cloud-init.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "cloud-init"

Tue Feb  4 17:59:17 2020 rev:38 rq:769213 version:19.4

Changes:
--------
--- /work/SRC/openSUSE:Leap:15.2/cloud-init/cloud-init.changes  2020-01-15 
14:50:28.217417132 +0100
+++ /work/SRC/openSUSE:Leap:15.2/.cloud-init.new.26092/cloud-init.changes       
2020-02-04 17:59:23.544929413 +0100
@@ -1,0 +2,271 @@
+Fri Jan 17 18:55:41 UTC 2020 - Robert Schweikert <rjsch...@suse.com>
+
+- Add cloud-init-no-tempnet-oci.patch (bsc#1161132, bsc#1161133)
+  + Do not attempt to configure an ephemeral network on OCI. We
+    boot off iSCSI and the network is up. Just read the data.
+
+-------------------------------------------------------------------
+Tue Jan 14 15:14:52 UTC 2020 - Tomáš Chvátal <tchva...@suse.com>
+
+- Add patch to build properly with python 3.8:
+  * 0001-Make-tests-work-with-Python-3.8-139.patch
+
+-------------------------------------------------------------------
+Thu Jan  9 18:56:26 UTC 2020 - Robert Schweikert <rjsch...@suse.com>
+
+- Update to version 19.4
+  + Remove patches included upstream:
+    - cloud-init-after-wicked.patch
+    - cloud-init-noresolv-merge-no-dns-data.diff
+    - cloud-init-renderer-detect.patch
+    - cloud-init-trigger-udev.patch
+  + Removed patches merged with cloud-init-mix-static-dhcp.patch
+    - cloud-init-proper-ipv6-setting.patch
+    - cloud-init-static-net.patch
+  + Added cloud-init-mix-static-dhcp.patch (bsc#1157894)
+  + Forward port cloud-init-sysconf-path.patch
+  + doc: specify _ over - in cloud config modules
+  + [Joshua Powers] (LP: #1293254)
+  + tools: Detect python to use via env in migrate-lp-user-to-github
+  + [Adam Dobrawy]
+  + Partially revert "fix unlocking method on FreeBSD" (#116)
+  + tests: mock uid when running as root (#113)
+  + [Joshua Powers] (LP: #1856096)
+  + cloudinit/netinfo: remove unused getgateway (#111)
+  + docs: clear up apt config sections (#107) [Joshua Powers] (LP: #1832823)
+  + doc: add kernel command line option to user data (#105)
+  + [Joshua Powers] (LP: #1846524)
+  + config/cloud.cfg.d: update README [Joshua Powers] (LP: #1855006)
+  + azure: avoid re-running cloud-init when instance-id is byte-swapped
+  + (#84) [AOhassan]
+  + fix unlocking method on FreeBSD [Igor Galić] (LP: #1854594)
+  + debian: add reference to the manpages [Joshua Powers]
+  + ds_identify: if /sys is not available use dmidecode (#42)
+  + [Igor Galić] (LP: #1852442)
+  + docs: add cloud-id manpage [Joshua Powers]
+  + docs: add cloud-init-per manpage [Joshua Powers]
+  + docs: add cloud-init manpage [Joshua Powers]
+  + docs: add additional details to per-instance/once [Joshua Powers]
+  + Update doc-requirements.txt [Joshua Powers]
+  + doc-requirements: add missing dep [Joshua Powers]
+  + dhcp: Support RedHat dhcp rfc3442 lease format for option 121 (#76)
+  + [Eric Lafontaine] (LP: #1850642)
+  + network_state: handle empty v1 config (#45) (LP: #1852496)
+  + docs: Add document on how to report bugs [Joshua Powers]
+  + Add an Amazon distro in the redhat OS family [Frederick Lefebvre]
+  + removed a couple of "the"s [gaughen]
+  + docs: fix line length and remove highlighting [Joshua Powers]
+  + docs: Add security.md to readthedocs [Joshua Powers]
+  + Multiple file fix for AuthorizedKeysFile config (#60) [Eduardo Otubo]
+  + Revert "travis: only run CI on pull requests"
+  + doc: update links on README.md [Joshua Powers]
+  + doc: Updates to wording of README.md [Joshua Powers]
+  + Add security.md [Joshua Powers]
+  + setup.py: Amazon Linux sets libexec to /usr/libexec (#52)
+  + [Frederick Lefebvre]
+  + Fix linting failure in test_url_helper (#83) [Eric Lafontaine]
+  + url_helper: read_file_or_url should pass headers param into readurl
+  + (#66) (LP: #1854084)
+  + dmidecode: log result *after* stripping n [Igor Galić]
+  + cloud_tests: add azure platform support to integration tests
+  + [ahosmanmsft]
+  + set_passwords: support for FreeBSD (#46) [Igor Galić]
+  + tools: migrate-lp-user-to-github removes repo_dir if created (#35)
+  + Correct jumbled documentation for cc_set_hostname module (#64)
+  + [do3meli] (LP: #1853543)
+  + FreeBSD: fix for get_linux_distro() and lru_cache (#59)
+  + [Igor Galić] (LP: #1815030)
+  + ec2: Add support for AWS IMDS v2 (session-oriented) (#55)
+  + tests: Fix cloudsigma tests when no dmidecode data is present. (#57)
+  + [Scott Moser]
+  + net: IPv6, accept_ra, slaac, stateless (#51)
+  + [Harald] (LP: #1806014, #1808647)
+  + docs: Update the configdrive datasource links (#44)
+  + [Joshua Powers] (LP: #1852461)
+  + distro: correctly set usr_lib_exec path for FreeBSD distro (#40)
+  + [Igor Galić] (LP: #1852491)
+  + azure: support secondary ipv6 addresses (#33)
+  + Fix metadata check when local-hostname is null (#32)
+  + [Mark Goddard] (LP: #1852100)
+  + switch default FreeBSD salt minion pkg from py27 to py36
+  + [Dominic Schlegel]
+  + travis: only run CI on pull requests
+  + add data-server dns entry as new metadata server detection [Joshua Hügli]
+  + pycodestyle: remove unused local variable
+  + reporting: Using a uuid to enforce uniqueness on the KVP keys. [momousta]
+  + docs: touchups in rtd intro and README.md
+  + doc: update launchpad git refs to github
+  + github: drop pull-request template to prepare for migration
+  + tools: add migrate-lp-user-to-github script to link LP to github
+  + github: new basic project readme
+
+- From 19.3
+  + azure: support matching dhcp route-metrics for dual-stack ipv4 ipv6
+  + (LP: #1850308)
+  + configdrive: fix subplatform config-drive for /config-drive source
+  + [David Kindred] (LP: #1849731)
+  + DataSourceSmartOS: reconfigure network on each boot
+  + [Mike Gerdts] (LP: #1765801)
+  + Add config for ssh-key import and consuming user-data [Pavel Zakharov]
+  + net: fix subnet_is_ipv6() for stateless|stateful
+  + [Harald Jensås] (LP: #1848690)
+  + OVF: disable custom script execution by default [Xiaofeng Wang]
+  + cc_puppet: Implement csr_attributes.yaml support [Matthias Baur]
+  + cloud-init.service: on centos/fedora/redhat wait on NetworkManager.service
+  + (LP: #1843334)
+  + azure: Do not lock user on instance id change [Sam Eiderman] (LP: #1849677)
+  + net/netplan: use ipv6-mtu key for specifying ipv6 mtu values
+  + Fix usages of yaml, and move yaml_dump to safeyaml.dumps. (LP: #1849640)
+  + exoscale: Increase url_max_wait to 120s. [Chris Glass]
+  + net/sysconfig: fix available check on SUSE distros
+  + [Robert Schweikert] (LP: #1849378)
+  + docs: Fix incorrect Azure IMDS IP address [Joshua Powers] (LP: #1849508)
+  + introduce .travis.yml
+  + net: enable infiniband support in eni and sysconfig renderers
+  + [Darren Birkett] (LP: #1847114)
+  + guestcust_util: handle special characters in config file [Xiaofeng Wang]
+  + fix some more typos in comments [Dominic Schlegel]
+  + replace any deprecated log.warn with log.warning
+  + [Dominic Schlegel] (LP: #1508442)
+  + net: handle openstack dhcpv6-stateless configuration
+  + [Harald Jensås] (LP: #1847517)
+  + Add .venv/ to .gitignore [Dominic Schlegel]
+  + Small typo fixes in code comments. [Dominic Schlegel]
+  + cloud_test/lxd: Retry container delete a few times
+  + Add Support for e24cloud to Ec2 datasource. (LP: #1696476)
+  + Add RbxCloud datasource [Adam Dobrawy]
+  + get_interfaces: don't exclude bridge and bond members (LP: #1846535)
+  + Add support for Arch Linux in render-cloudcfg [Conrad Hoffmann]
+  + util: json.dumps on python 2.7 will handle UnicodeDecodeError on binary
+  + (LP: #1801364)
+  + debian/ubuntu: add missing word to netplan/ENI header (LP: #1845669)
+  + ovf: do not generate random instance-id for IMC customization path
+  + sysconfig: only write resolv.conf if network_state has DNS values
+  + (LP: #1843634)
+  + sysconfig: use distro variant to check if available (LP: #1843584)
+  + systemd/cloud-init.service.tmpl: start after wicked.service
+  + [Robert Schweikert]
+  + docs: fix zstack documentation lints
+  + analyze/show: remove trailing space in output
+  + Add missing space in warning: "not avalid seed" [Brian Candler]
+  + pylintrc: add 'enter_context' to generated-members list
+  + Add datasource for ZStack platform. [Shixin Ruan] (LP: #1841181)
+  + docs: organize TOC and update summary of project [Joshua Powers]
+  + tools: make clean now cleans the dev directory, not the system
+  + docs: create cli specific page [Joshua Powers]
+  + docs: added output examples to analyze.rst [Joshua Powers]
+  + docs: doc8 fixes for instancedata page [Joshua Powers]
+  + docs: clean up formatting, organize boot page [Joshua Powers]
+  + net: add is_master check for filtering device list (LP: #1844191)
+  + docs: more complete list of availability [Joshua Powers]
+  + docs: start FAQ page [Joshua Powers]
+  + docs: cleanup output & order of datasource page [Joshua Powers]
+  + Brightbox: restrict detection to require full domain match .brightbox.com
+  + VMWware: add option into VMTools config to enable/disable custom script.
+  + [Xiaofeng Wang]
+  + net,Oracle: Add support for netfailover detection
+  + atomic_helper: add DEBUG logging to write_file (LP: #1843276)
+  + doc: document doc, create makefile and tox target [Joshua Powers]
+  + .gitignore: ignore files produced by package builds
+  + docs: fix whitespace, spelling, and line length [Joshua Powers]
+  + docs: remove unnecessary file in doc directory [Joshua Powers]
+  + Oracle: Render secondary vnic IP and MTU values only
+  + exoscale: fix sysconfig cloud_config_modules overrides (LP: #1841454)
+  + net/cmdline: refactor to allow multiple initramfs network config sources
+  + ubuntu-drivers: call db_x_loadtemplatefile to accept NVIDIA EULA
+  + (LP: #1840080)
+  + Add missing #cloud-config comment on first example in documentation.
+  + [Florian Müller]
+  + ubuntu-drivers: emit latelink=true debconf to accept nvidia eula
+  + (LP: #1840080)
+  + DataSourceOracle: prefer DS network config over initramfs
+  + format.rst: add text/jinja2 to list of content types (+ cleanups)
+  + Add GitHub pull request template to point people at hacking doc
+  + cloudinit/distros/parsers/sys_conf: add docstring to SysConf
+  + pyflakes: remove unused variable [Joshua Powers]
+  + Azure: Record boot timestamps, system information, and diagnostic events
+  + [Anh Vo]
+  + DataSourceOracle: configure secondary NICs on Virtual Machines
+  + distros: fix confusing variable names
+  + azure/net: generate_fallback_nic emits network v2 config instead of v1
+  + Add support for publishing host keys to GCE guest attributes [Rick Wright]
+  + New data source for the Exoscale.com cloud platform [Chris Glass]
+  + doc: remove intersphinx extension
+  + cc_set_passwords: rewrite documentation (LP: #1838794)
+  + net/cmdline: split interfaces_by_mac and init network config determination
+  + stages: allow data sources to override network config source order
+  + cloud_tests: updates and fixes
++++ 82 more lines (skipped)
++++ between /work/SRC/openSUSE:Leap:15.2/cloud-init/cloud-init.changes
++++ and /work/SRC/openSUSE:Leap:15.2/.cloud-init.new.26092/cloud-init.changes

Old:
----
  cloud-init-19.1.tar.gz
  cloud-init-add-static-routes.diff
  cloud-init-after-wicked.patch
  cloud-init-detect-nova.diff
  cloud-init-noresolv-merge-no-dns-data.diff
  cloud-init-static-net.patch
  cloud-init-trigger-udev.patch

New:
----
  0001-Make-tests-work-with-Python-3.8-139.patch
  cloud-init-19.4.tar.gz
  cloud-init-break-resolv-symlink.patch
  cloud-init-mix-static-dhcp.patch
  cloud-init-no-tempnet-oci.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ cloud-init.spec ++++++
--- /var/tmp/diff_new_pack.vzisYD/_old  2020-02-04 17:59:24.332929888 +0100
+++ /var/tmp/diff_new_pack.vzisYD/_new  2020-02-04 17:59:24.332929888 +0100
@@ -18,40 +18,33 @@
 %global configver 0.7
 
 Name:           cloud-init
-Version:        19.1
+Version:        19.4
 Release:        0
-License:        GPL-3.0 and AGPL-3.0
+License:        GPL-3.0
 Summary:        Cloud node initialization tool
 Url:            http://launchpad.net/cloud-init/
 Group:          System/Management
 Source0:        %{name}-%{version}.tar.gz
 Source1:        rsyslog-cloud-init.cfg
-
-
+Patch0:         0001-Make-tests-work-with-Python-3.8-139.patch
 # FIXME 
 # python2 disables SIGPIPE, causing broken pipe errors in shell scripts 
(bsc#903449)
 Patch20:        cloud-init-python2-sigpipe.patch
 Patch21:        cloud-init-template-py2.patch
 Patch29:        datasourceLocalDisk.patch
 Patch34:        cloud-init-tests-set-exec.patch
-# FIXME no proposed solution
-Patch38:        cloud-init-sysconf-path.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
-# FIXME (lp#1817368)
-Patch47:        cloud-init-trigger-udev.patch
-# FIXME (lp#1669875) patch by mvoelker@launchpad
-Patch48:        cloud-init-detect-nova.diff
-# FIXME (lp#1821102)
-Patch49:        cloud-init-add-static-routes.diff
-# FIXME (lp#1843634)
-Patch50:        cloud-init-noresolv-merge-no-dns-data.diff
-# FIXME
-Patch51:        cloud-init-after-wicked.patch
+# FIXME (lp#1849296)
+Patch52:        cloud-init-break-resolv-symlink.patch
+# FIXME (lp#1858808)
+Patch55:        cloud-init-mix-static-dhcp.patch
+# FIXME no proposed solution
+Patch56:        cloud-init-sysconf-path.patch
+# FIXME (lp#1860164)
+Patch57:        cloud-init-no-tempnet-oci.patch
 
 BuildRequires:  fdupes
 BuildRequires:  filesystem
@@ -184,21 +177,19 @@
 
 %prep
 %setup -q
+%patch0 -p1
 %if 0%{?suse_version} < 1315
 %patch20
 %patch21 
 %endif
 %patch29 -p0
 %patch34
-%patch38
-%patch41
 %patch42
 %patch43
-%patch47
-%patch48 -p1
-%patch49 -p1
-%patch50 -p1
-%patch51 -p1
+%patch52
+%patch55 -p0
+%patch56
+%patch57
 
 %build
 %if 0%{?suse_version} && 0%{?suse_version} <= 1315
@@ -235,9 +226,14 @@
 mkdir -p %{buildroot}%{_localstatedir}/lib/cloud
 # move documentation
 mkdir -p %{buildroot}%{_defaultdocdir}
-mv %{buildroot}%{_datadir}/doc/%{name} %{buildroot}%{docdir}
+mv %{buildroot}%{_datadir}/doc/%{name} %{buildroot}%{_defaultdocdir}
+# man pages
+mkdir -p %{buildroot}%{_mandir}/man1
+mv doc/man/* %{buildroot}%{_mandir}/man1
 # copy the LICENSE
-cp LICENSE %{buildroot}%{docdir}
+mkdir -p %{buildroot}%{_defaultlicensedir}/%{name}
+cp LICENSE %{buildroot}%{_defaultlicensedir}/%{name}
+cp LICENSE-GPLv3 %{buildroot}%{_defaultlicensedir}/%{name}
 # Set the distribution indicator
 %if 0%{?suse_version}
 %if 0%{?is_opensuse}
@@ -286,8 +282,7 @@
 
 %files
 %defattr(-,root,root)
-# do not mark as doc or we get conflicts with the doc package
-%{docdir}/LICENSE
+%license LICENSE LICENSE-GPLv3
 %{_bindir}/cloud-id
 %{_bindir}/cloud-init
 %{_bindir}/cloud-init-per
@@ -296,6 +291,7 @@
 %config(noreplace) %{_sysconfdir}/cloud/templates
 %{_sysconfdir}/dhcp/dhclient-exit-hooks.d/hook-dhclient
 %{_sysconfdir}/NetworkManager/dispatcher.d/hook-network-manager
+%{_mandir}/man*/*
 %if 0%{?suse_version} && 0%{?suse_version} < 1500
 %dir %{_datadir}/bash-completion
 %dir %{_datadir}/bash-completion/completions
@@ -351,9 +347,7 @@
 %files doc
 %defattr(-,root,root)
 %{docdir}/examples/*
-%{docdir}/README
 %{docdir}/*.txt
-#%{docdir}/*.rst
 %dir %{docdir}/examples
 
 #%files test

++++++ 0001-Make-tests-work-with-Python-3.8-139.patch ++++++
>From c5a7d7979c036f6dc6823f429c6b6820f7f74241 Mon Sep 17 00:00:00 2001
From: Conrad Hoffmann <1226676+bitfeh...@users.noreply.github.com>
Date: Wed, 8 Jan 2020 15:18:48 +0100
Subject: [PATCH] Make tests work with Python 3.8 (#139)

* Make DistroChecker test work with Python 3.8

In Python 3.8, `platform.linux_distribution` has been removed. This was
anticipated, and the cloud-init code uses its own
`util.get_linux_distro` instead, which works fine w/o
`platform.linux_distribution`. However, these tests still try to mock
the platform function, which fails if it doesn't exist (Python 3.8).
Instead, mock the new function here, as this is a test for code that
depends on it rather than the function itself.

* Make GetLinuxDistro tests work with Python 3.8

In Python 3.8, `platform.dist` was removed, so allow mock to create the
function by setting `create=True`.

* Make linter happy in Python 3.8

Suppress E1101(no-member) as this function was removed.
---
 cloudinit/analyze/tests/test_boot.py | 8 ++++----
 cloudinit/tests/test_util.py         | 6 +++---
 cloudinit/util.py                    | 4 ++--
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/cloudinit/analyze/tests/test_boot.py 
b/cloudinit/analyze/tests/test_boot.py
index 706e2cc0..f4001c14 100644
--- a/cloudinit/analyze/tests/test_boot.py
+++ b/cloudinit/analyze/tests/test_boot.py
@@ -12,17 +12,17 @@ class TestDistroChecker(CiTestCase):
     @mock.patch('cloudinit.util.system_info', return_value={'dist': ('', '',
                                                                      ''),
                                                             'system': ''})
-    @mock.patch('platform.linux_distribution', return_value=('', '', ''))
+    @mock.patch('cloudinit.util.get_linux_distro', return_value=('', '', ''))
     @mock.patch('cloudinit.util.is_FreeBSD', return_value=False)
-    def test_blank_distro(self, m_sys_info, m_linux_distribution, m_free_bsd):
+    def test_blank_distro(self, m_sys_info, m_get_linux_distro, m_free_bsd):
         self.assertEqual(err_code, dist_check_timestamp())
 
     @mock.patch('cloudinit.util.system_info', return_value={'dist': ('', '',
                                                                      '')})
-    @mock.patch('platform.linux_distribution', return_value=('', '', ''))
+    @mock.patch('cloudinit.util.get_linux_distro', return_value=('', '', ''))
     @mock.patch('cloudinit.util.is_FreeBSD', return_value=True)
     def test_freebsd_gentoo_cant_find(self, m_sys_info,
-                                      m_linux_distribution, m_is_FreeBSD):
+                                      m_get_linux_distro, m_is_FreeBSD):
         self.assertEqual(err_code, dist_check_timestamp())
 
     @mock.patch('cloudinit.util.subp', return_value=(0, 1))
diff --git a/cloudinit/tests/test_util.py b/cloudinit/tests/test_util.py
index 64ed82ea..be100646 100644
--- a/cloudinit/tests/test_util.py
+++ b/cloudinit/tests/test_util.py
@@ -523,7 +523,7 @@ class TestGetLinuxDistro(CiTestCase):
         self.assertEqual(
             ('opensuse-tumbleweed', '20180920', platform.machine()), dist)
 
-    @mock.patch('platform.dist')
+    @mock.patch('platform.dist', create=True)
     def test_get_linux_distro_no_data(self, m_platform_dist, m_path_exists):
         """Verify we get no information if os-release does not exist"""
         m_platform_dist.return_value = ('', '', '')
@@ -531,7 +531,7 @@ class TestGetLinuxDistro(CiTestCase):
         dist = util.get_linux_distro()
         self.assertEqual(('', '', ''), dist)
 
-    @mock.patch('platform.dist')
+    @mock.patch('platform.dist', create=True)
     def test_get_linux_distro_no_impl(self, m_platform_dist, m_path_exists):
         """Verify we get an empty tuple when no information exists and
         Exceptions are not propagated"""
@@ -540,7 +540,7 @@ class TestGetLinuxDistro(CiTestCase):
         dist = util.get_linux_distro()
         self.assertEqual(('', '', ''), dist)
 
-    @mock.patch('platform.dist')
+    @mock.patch('platform.dist', create=True)
     def test_get_linux_distro_plat_data(self, m_platform_dist, m_path_exists):
         """Verify we get the correct platform information"""
         m_platform_dist.return_value = ('foo', '1.1', 'aarch64')
diff --git a/cloudinit/util.py b/cloudinit/util.py
index 9d9d5c72..830c8e54 100644
--- a/cloudinit/util.py
+++ b/cloudinit/util.py
@@ -635,8 +635,8 @@ def get_linux_distro():
     else:
         dist = ('', '', '')
         try:
-            # Will be removed in 3.7
-            dist = platform.dist()  # pylint: disable=W1505
+            # Was removed in 3.8
+            dist = platform.dist()  # pylint: disable=W1505,E1101
         except Exception:
             pass
         finally:
-- 
2.24.1

++++++ cloud-init-19.1.tar.gz -> cloud-init-19.4.tar.gz ++++++
++++ 19515 lines of diff (skipped)

++++++ cloud-init-break-resolv-symlink.patch ++++++
--- cloudinit/net/sysconfig.py.orig
+++ cloudinit/net/sysconfig.py
@@ -705,6 +705,11 @@ class Renderer(renderer.Renderer):
             resolv_content = self._render_dns(network_state,
                                               existing_dns_path=dns_path)
             if resolv_content:
+                # netconfig checks if /etc/resolv.conf is a symlink and if
+                # that is true will write it's version of the file clobbering
+                # our changes.
+                if os.path.islink(dns_path):
+                    os.unlink(dns_path)
                 util.write_file(dns_path, resolv_content, file_mode)
         if self.networkmanager_conf_path:
             nm_conf_path = util.target_path(target,
++++++ cloud-init-mix-static-dhcp.patch ++++++
++++ 1660 lines (skipped)

++++++ cloud-init-no-tempnet-oci.patch ++++++
--- cloudinit/sources/DataSourceOracle.py.orig
+++ cloudinit/sources/DataSourceOracle.py
@@ -189,11 +189,17 @@ class DataSourceOracle(sources.DataSourc
 
         # network may be configured if iscsi root.  If that is the case
         # then read_initramfs_config will return non-None.
-        if _is_iscsi_root():
-            data = self.crawl_metadata()
-        else:
-            with dhcp.EphemeralDHCPv4(net.find_fallback_nic()):
-                data = self.crawl_metadata()
+        #if _is_iscsi_root():
+        #    data = self.crawl_metadata()
+        #else:
+        #    with dhcp.EphemeralDHCPv4(net.find_fallback_nic()):
+        #        data = self.crawl_metadata()
+        #
+        # The detection of the configured network for iscsi boot is
+        # distribution dependent and of course only implemented for
+        # Debian/Ubuntu. We know the network is up as we are booting from
+        # iscsi. Skip the BS and just read the damn data
+        data = self.crawl_metadata()
 
         self._crawled_metadata = data
         vdata = data['2013-10-17']
++++++ cloud-init-sysconf-path.patch ++++++
--- /var/tmp/diff_new_pack.vzisYD/_old  2020-02-04 17:59:24.600930050 +0100
+++ /var/tmp/diff_new_pack.vzisYD/_new  2020-02-04 17:59:24.604930053 +0100
@@ -1,13 +1,13 @@
 --- cloudinit/net/sysconfig.py.orig
 +++ cloudinit/net/sysconfig.py
-@@ -660,9 +660,7 @@ def available(target=None):
+@@ -891,9 +891,7 @@ def available_sysconfig(target=None):
          if not util.which(p, search=search, target=target):
              return False
  
 -    expected_paths = [
 -        'etc/sysconfig/network-scripts/network-functions',
--        'etc/sysconfig/network-scripts/ifdown-eth']
+-        'etc/sysconfig/config']
 +    expected_paths = ['etc/sysconfig/network/scripts/functions.netconfig']
      for p in expected_paths:
-         if not os.path.isfile(util.target_path(target, p)):
-             return False
+         if os.path.isfile(util.target_path(target, p)):
+             return True

++++++ cloud-init-write-routes.patch ++++++
--- /var/tmp/diff_new_pack.vzisYD/_old  2020-02-04 17:59:24.616930060 +0100
+++ /var/tmp/diff_new_pack.vzisYD/_new  2020-02-04 17:59:24.620930062 +0100
@@ -1,6 +1,14 @@
 --- cloudinit/distros/opensuse.py.orig
 +++ cloudinit/distros/opensuse.py
-@@ -172,7 +172,48 @@ class Distro(distros.Distro):
+@@ -11,6 +11,7 @@
+ from cloudinit import distros
+ 
+ from cloudinit.distros.parsers.hostname import HostnameConf
++from cloudinit.net.network_state import mask_to_net_prefix
+ 
+ from cloudinit import helpers
+ from cloudinit import log as logging
+@@ -172,7 +173,47 @@ class Distro(distros.Distro):
              util.write_file(out_fn, str(conf), 0o644)
  
      def _write_network_config(self, netconfig):
@@ -29,20 +37,19 @@
 +                    dest = route.get('network')
 +                    if dest in default_nets:
 +                        dest = 'default'
-+                    gateway = route.get('gateway')
-+                    config_routes += ' '.join([dest, gateway])
 +                    if dest != 'default':
-+                        config_routes += ' ' + route.get('netmask', '')
-+                    else:
-+                        config_routes += ' -'
-+                    config_routes += ' -'
-+                    config_routes += '\n'
++                        prefix = mask_to_net_prefix(route.get('netmask'))
++                        dest += '/' + str(prefix)
++                    gateway = route.get('gateway')
++                    config_routes += ' '.join(
++                        [dest, gateway, '-', '-\n']
++                    )
 +                if not config_routes:
 +                    dest = 'default'
 +                    gateway = subnet.get('gateway')
 +                    if gateway:
 +                        config_routes += ' '.join(
-+                            [dest, gateway, '-', '-', '\n']
++                            [dest, gateway, '-', '-\n']
 +                        )
 +            if config_routes:
 +                route_file = '/etc/sysconfig/network/ifroute-%s' % if_name


Reply via email to