From 6927c014db1a6ee5afc0c8fedfe633deda3b1b329a2eb81425e175b6f55f42e2 Mon Sep 17 00:00:00 2001 From: Robert Schweikert Date: Wed, 8 Nov 2017 21:31:54 +0000 Subject: [PATCH 1/7] - Add cloud-init-hosts-template.patch (bsc#1064594) + Properly expand the /etc/hosst file when manage_etc_hosts is set OBS-URL: https://build.opensuse.org/package/show/Cloud:Tools/cloud-init?expand=0&rev=92 --- cloud-init-hosts-template.patch | 95 +++++++++++++++++++++++++++++++++ cloud-init.changes | 6 +++ cloud-init.spec | 5 +- 3 files changed, 105 insertions(+), 1 deletion(-) create mode 100644 cloud-init-hosts-template.patch diff --git a/cloud-init-hosts-template.patch b/cloud-init-hosts-template.patch new file mode 100644 index 0000000..19ac198 --- /dev/null +++ b/cloud-init-hosts-template.patch @@ -0,0 +1,95 @@ +--- templates/hosts.suse.tmpl.orig ++++ templates/hosts.suse.tmpl +@@ -13,12 +13,18 @@ you need to add the following to config: + # /etc/cloud/cloud.cfg or cloud-config from user-data + # + # The following lines are desirable for IPv4 capable hosts +-127.0.0.1 localhost ++127.0.0.1 {{fqdn}} {{hostname}} ++127.0.0.1 localhost.localdomain localhost ++127.0.0.1 localhost4.localdomain4 localhost4 + + # The following lines are desirable for IPv6 capable hosts ++::1 {{fqdn}} {{hostname}} ++::1 localhost.localdomain localhost ++::1 localhost6.localdomain6 localhost6 + ::1 localhost ipv6-localhost ipv6-loopback +-fe00::0 ipv6-localnet + ++ ++fe00::0 ipv6-localnet + ff00::0 ipv6-mcastprefix + ff02::1 ipv6-allnodes + ff02::2 ipv6-allrouters +--- /dev/null ++++ tests/unittests/test_handler/test_handler_etc_hosts.py +@@ -0,0 +1,69 @@ ++# This file is part of cloud-init. See LICENSE file for license information. ++ ++from cloudinit.config import cc_update_etc_hosts ++ ++from cloudinit import cloud ++from cloudinit import distros ++from cloudinit import helpers ++from cloudinit import util ++ ++from cloudinit.tests import helpers as t_help ++ ++import logging ++import os ++import shutil ++ ++LOG = logging.getLogger(__name__) ++ ++ ++class TestHostsFile(t_help.FilesystemMockingTestCase): ++ def setUp(self): ++ super(TestHostsFile, self).setUp() ++ self.tmp = self.tmp_dir() ++ ++ def _fetch_distro(self, kind): ++ cls = distros.fetch(kind) ++ paths = helpers.Paths({}) ++ return cls(kind, {}, paths) ++ ++ def test_write_etc_hosts_suse_localhost(self): ++ cfg = { ++ 'manage_etc_hosts': 'localhost', ++ 'hostname': 'cloud-init.test.us' ++ } ++ os.makedirs('%s/etc/' % self.tmp) ++ hosts_content = '192.168.1.1 blah.blah.us blah\n' ++ fout = open('%s/etc/hosts' % self.tmp, 'w') ++ fout.write(hosts_content) ++ fout.close() ++ distro = self._fetch_distro('sles') ++ distro.hosts_fn = '%s/etc/hosts' % self.tmp ++ paths = helpers.Paths({}) ++ ds = None ++ cc = cloud.Cloud(ds, paths, {}, distro, None) ++ self.patchUtils(self.tmp) ++ cc_update_etc_hosts.handle('test', cfg, cc, LOG, []) ++ contents = util.load_file('%s/etc/hosts' % self.tmp) ++ if '127.0.0.1\tcloud-init.test.us\tcloud-init' not in contents: ++ self.assertIsNone('No entry for 127.0.0.1 in etc/hosts') ++ if '192.168.1.1\tblah.blah.us\tblah' not in contents: ++ self.assertIsNone('Default etc/hosts content modified') ++ ++ def test_write_etc_hosts_suse_template(self): ++ cfg = { ++ 'manage_etc_hosts': 'template', ++ 'hostname': 'cloud-init.test.us' ++ } ++ shutil.copytree('templates', '%s/etc/cloud/templates' % self.tmp) ++ distro = self._fetch_distro('sles') ++ paths = helpers.Paths({}) ++ paths.template_tpl = '%s' % self.tmp + '/etc/cloud/templates/%s.tmpl' ++ ds = None ++ cc = cloud.Cloud(ds, paths, {}, distro, None) ++ self.patchUtils(self.tmp) ++ cc_update_etc_hosts.handle('test', cfg, cc, LOG, []) ++ contents = util.load_file('%s/etc/hosts' % self.tmp) ++ if '127.0.0.1 cloud-init.test.us cloud-init' not in contents: ++ self.assertIsNone('No entry for 127.0.0.1 in etc/hosts') ++ if '::1 cloud-init.test.us cloud-init' not in contents: ++ self.assertIsNone('No entry for 127.0.0.1 in etc/hosts') diff --git a/cloud-init.changes b/cloud-init.changes index 119526d..05060b7 100644 --- a/cloud-init.changes +++ b/cloud-init.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Nov 8 21:26:15 UTC 2017 - rjschwei@suse.com + +- Add cloud-init-hosts-template.patch (bsc#1064594) + + Properly expand the /etc/hosst file when manage_etc_hosts is set + ------------------------------------------------------------------- Thu Nov 2 13:16:49 UTC 2017 - rjschwei@suse.com diff --git a/cloud-init.spec b/cloud-init.spec index de728da..a549551 100644 --- a/cloud-init.spec +++ b/cloud-init.spec @@ -26,9 +26,11 @@ Url: http://launchpad.net/cloud-init/ Group: System/Management Source0: %{name}-%{version}.tar.gz Source1: rsyslog-cloud-init.cfg -# FIXME zypp_add_repos.diff needs proposed for upstream merge +# Remove Patch 4 & 5 for next source updated, included upstream Patch4: zypp_add_repos.diff Patch5: zypp_add_repo_test.patch +# FIXME cloud-init-hosts-template.patch proposed for upstream merge (bsc#1064594) +Patch6: cloud-init-hosts-template.patch Patch10: cloud-init-no-user-lock-if-already-locked.patch Patch12: fix-default-systemd-unit-dir.patch # FIXME cloud-init-more-tasks.patch proposed for upstream merge @@ -190,6 +192,7 @@ Documentation and examples for cloud-init tools %setup -q %patch4 -p0 %patch5 -p0 +%patch6 %patch10 -p1 %patch12 %patch13 From e03ed2d7368f40e80ad300ab310df7cfb627e7f3316776904a40760069237bd0 Mon Sep 17 00:00:00 2001 From: Robert Schweikert Date: Sat, 11 Nov 2017 12:33:43 +0000 Subject: [PATCH 2/7] - Add cloud-init-ntp-conf-suse.patch + ntp configuration was broken on sles and opensuse lp#1726572 OBS-URL: https://build.opensuse.org/package/show/Cloud:Tools/cloud-init?expand=0&rev=93 --- cloud-init-ntp-conf-suse.patch | 166 +++++++++++++++++++++++++++++++++ cloud-init.changes | 6 ++ cloud-init.spec | 6 +- 3 files changed, 176 insertions(+), 2 deletions(-) create mode 100644 cloud-init-ntp-conf-suse.patch diff --git a/cloud-init-ntp-conf-suse.patch b/cloud-init-ntp-conf-suse.patch new file mode 100644 index 0000000..54ff770 --- /dev/null +++ b/cloud-init-ntp-conf-suse.patch @@ -0,0 +1,166 @@ +--- cloudinit/config/cc_ntp.py.orig ++++ cloudinit/config/cc_ntp.py +@@ -23,7 +23,7 @@ frequency = PER_INSTANCE + NTP_CONF = '/etc/ntp.conf' + TIMESYNCD_CONF = '/etc/systemd/timesyncd.conf.d/cloud-init.conf' + NR_POOL_SERVERS = 4 +-distros = ['centos', 'debian', 'fedora', 'opensuse', 'ubuntu'] ++distros = ['centos', 'debian', 'fedora', 'opensuse', 'sles', 'ubuntu'] + + + # The schema definition for each cloud-config module is a strict contract for +@@ -172,6 +172,9 @@ def rename_ntp_conf(config=None): + + def generate_server_names(distro): + names = [] ++ pool_distro = distro ++ if distro == 'sles': ++ pool_distro = 'opensuse' + for x in range(0, NR_POOL_SERVERS): + name = "%d.%s.pool.ntp.org" % (x, distro) + names.append(name) +--- /dev/null ++++ templates/ntp.conf.opensuse.tmpl +@@ -0,0 +1,88 @@ ++## template:jinja ++ ++## ++## Radio and modem clocks by convention have addresses in the ++## form 127.127.t.u, where t is the clock type and u is a unit ++## number in the range 0-3. ++## ++## Most of these clocks require support in the form of a ++## serial port or special bus peripheral. The particular ++## device is normally specified by adding a soft link ++## /dev/device-u to the particular hardware device involved, ++## where u correspond to the unit number above. ++## ++## Generic DCF77 clock on serial port (Conrad DCF77) ++## Address: 127.127.8.u ++## Serial Port: /dev/refclock-u ++## ++## (create soft link /dev/refclock-0 to the particular ttyS?) ++## ++# server 127.127.8.0 mode 5 prefer ++ ++## ++## Undisciplined Local Clock. This is a fake driver intended for backup ++## and when no outside source of synchronized time is available. ++## ++# server 127.127.1.0 # local clock (LCL) ++# fudge 127.127.1.0 stratum 10 # LCL is unsynchronized ++ ++## ++## Add external Servers using ++## # rcntpd addserver ++## The servers will only be added to the currently running instance, not ++## to /etc/ntp.conf. ++## ++{% if pools %}# pools ++{% endif %} ++{% for pool in pools -%} ++pool {{pool}} iburst ++{% endfor %} ++{%- if servers %}# servers ++{% endif %} ++{% for server in servers -%} ++server {{server}} iburst ++{% endfor %} ++ ++# Access control configuration; see /usr/share/doc/packages/ntp/html/accopt.html for ++# details. The web page ++# might also be helpful. ++# ++# Note that "restrict" applies to both servers and clients, so a configuration ++# that might be intended to block requests from certain clients could also end ++# up blocking replies from your own upstream servers. ++ ++# By default, exchange time with everybody, but don't allow configuration. ++restrict -4 default notrap nomodify nopeer noquery ++restrict -6 default notrap nomodify nopeer noquery ++ ++# Local users may interrogate the ntp server more closely. ++restrict 127.0.0.1 ++restrict ::1 ++ ++# Clients from this (example!) subnet have unlimited access, but only if ++# cryptographically authenticated. ++#restrict 192.168.123.0 mask 255.255.255.0 notrust ++ ++## ++## Miscellaneous stuff ++## ++ ++driftfile /var/lib/ntp/drift/ntp.drift # path for drift file ++ ++logfile /var/log/ntp # alternate log file ++# logconfig =syncstatus + sysevents ++# logconfig =all ++ ++# statsdir /tmp/ # directory for statistics files ++# filegen peerstats file peerstats type day enable ++# filegen loopstats file loopstats type day enable ++# filegen clockstats file clockstats type day enable ++ ++# ++# Authentication stuff ++# ++keys /etc/ntp.keys # path for keys file ++trustedkey 1 # define trusted keys ++requestkey 1 # key (7) for accessing server variables ++controlkey 1 # key (6) for accessing server variables ++ +--- templates/ntp.conf.sles.tmpl.orig ++++ templates/ntp.conf.sles.tmpl +@@ -1,17 +1,5 @@ + ## template:jinja + +-################################################################################ +-## /etc/ntp.conf +-## +-## Sample NTP configuration file. +-## See package 'ntp-doc' for documentation, Mini-HOWTO and FAQ. +-## Copyright (c) 1998 S.u.S.E. GmbH Fuerth, Germany. +-## +-## Author: Michael Andres, +-## Michael Skibbe, +-## +-################################################################################ +- + ## + ## Radio and modem clocks by convention have addresses in the + ## form 127.127.t.u, where t is the clock type and u is a unit +--- tests/unittests/test_handler/test_handler_ntp.py.orig ++++ tests/unittests/test_handler/test_handler_ntp.py +@@ -429,5 +429,31 @@ class TestNtp(FilesystemMockingTestCase) + "[Time]\nNTP=192.168.2.1 192.168.2.2 0.mypool.org \n", + content.decode()) + ++ def test_write_ntp_config_template_defaults_pools_empty_lists_sles(self): ++ """write_ntp_config_template defaults pools servers upon empty config. ++ ++ When both pools and servers are empty, default NR_POOL_SERVERS get ++ configured. ++ """ ++ distro = 'sles' ++ mycloud = self._get_cloud(distro) ++ ntp_conf = self.tmp_path('ntp.conf', self.new_root) # Doesn't exist ++ # Create ntp.conf.tmpl ++ with open('{0}.tmpl'.format(ntp_conf), 'wb') as stream: ++ stream.write(NTP_TEMPLATE) ++ with mock.patch('cloudinit.config.cc_ntp.NTP_CONF', ntp_conf): ++ cc_ntp.write_ntp_config_template({}, mycloud, ntp_conf) ++ content = util.read_file_or_url('file://' + ntp_conf).contents ++ default_pools = [ ++ "{0}.{1}.pool.ntp.org".format(x, 'opensuse') ++ for x in range(0, cc_ntp.NR_POOL_SERVERS)] ++ self.assertEqual( ++ "servers []\npools {0}\n".format(default_pools), ++ content.decode()) ++ self.assertIn( ++ "Adding distro default ntp pool servers: {0}".format( ++ ",".join(default_pools)), ++ self.logs.getvalue()) ++ + + # vi: ts=4 expandtab diff --git a/cloud-init.changes b/cloud-init.changes index 05060b7..d64e924 100644 --- a/cloud-init.changes +++ b/cloud-init.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Sat Nov 11 12:32:54 UTC 2017 - rjschwei@suse.com + +- Add cloud-init-ntp-conf-suse.patch + + ntp configuration was broken on sles and opensuse lp#1726572 + ------------------------------------------------------------------- Wed Nov 8 21:26:15 UTC 2017 - rjschwei@suse.com diff --git a/cloud-init.spec b/cloud-init.spec index a549551..91b0f00 100644 --- a/cloud-init.spec +++ b/cloud-init.spec @@ -29,11 +29,13 @@ Source1: rsyslog-cloud-init.cfg # Remove Patch 4 & 5 for next source updated, included upstream Patch4: zypp_add_repos.diff Patch5: zypp_add_repo_test.patch -# FIXME cloud-init-hosts-template.patch proposed for upstream merge (bsc#1064594) +# Remove Patch 6 for next source updated, included upstream (bsc#1064594) Patch6: cloud-init-hosts-template.patch +# FIXME cloud-init-ntp-conf-suse.patch proposed for upstream merge (lp#1726572) +Patch7: cloud-init-ntp-conf-suse.patch Patch10: cloud-init-no-user-lock-if-already-locked.patch Patch12: fix-default-systemd-unit-dir.patch -# FIXME cloud-init-more-tasks.patch proposed for upstream merge +# Remove Patch 13 for next source updated, included upstream Patch13: cloud-init-more-tasks.patch # python2 disables SIGPIPE, causing broken pipe errors in shell scripts (bsc#903449) Patch20: cloud-init-python2-sigpipe.patch From 56e2c9145ad68bdc647229a11356913fd3d813fec2c9aa38d4141c52115ea4e6 Mon Sep 17 00:00:00 2001 From: Robert Schweikert Date: Thu, 16 Nov 2017 22:51:16 +0000 Subject: [PATCH 3/7] - Add cloud-init-translate-netconf-ipv4-keep-gw.patch (bsc#1064854) + Properly insert the gateway information for v1 json network config data OBS-URL: https://build.opensuse.org/package/show/Cloud:Tools/cloud-init?expand=0&rev=94 --- ...-init-translate-netconf-ipv4-keep-gw.patch | 46 +++++++++++++++++++ cloud-init.changes | 6 +++ cloud-init.spec | 4 ++ 3 files changed, 56 insertions(+) create mode 100644 cloud-init-translate-netconf-ipv4-keep-gw.patch diff --git a/cloud-init-translate-netconf-ipv4-keep-gw.patch b/cloud-init-translate-netconf-ipv4-keep-gw.patch new file mode 100644 index 0000000..6e68a20 --- /dev/null +++ b/cloud-init-translate-netconf-ipv4-keep-gw.patch @@ -0,0 +1,46 @@ +--- cloudinit/distros/net_util.py.orig ++++ cloudinit/distros/net_util.py +@@ -67,6 +67,10 @@ + # } + # } + ++import re ++ ++ipv4 = re.compile("\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}") ++ + def translate_network(settings): + # Get the standard cmd, args from the ubuntu format + entries = [] +@@ -88,7 +92,14 @@ def translate_network(settings): + consume = {} + consume[cmd] = args + else: +- consume[cmd] = args ++ if consume.get(cmd): ++ val = consume[cmd] ++ if isinstance(val, list): ++ consume[cmd].append(args) ++ else: ++ consume[cmd] = [val, args] ++ else: ++ consume[cmd] = args + # Check if anything left over to consume + absorb = False + for (cmd, args) in consume.items(): +@@ -148,6 +159,16 @@ def translate_network(settings): + hw_addr = hw_split[1] + if hw_addr: + iface_info['hwaddress'] = hw_addr ++ if 'post-up' in info: ++ routes = info['post-up'] ++ if isinstance(routes, list): ++ for route_info in routes: ++ if 'default gw' in route_info: ++ iface_info['gateway'] = ipv4.search( ++ route_info).group(0) ++ elif 'default gw' in route_info: ++ iface_info['gateway'] = ipv4.search(route_info).group(0) ++ + # If ipv6 is enabled, device will have multiple IPs, so we need to + # update the dictionary instead of overwriting it... + if dev_name in real_ifaces: diff --git a/cloud-init.changes b/cloud-init.changes index d64e924..451f9b3 100644 --- a/cloud-init.changes +++ b/cloud-init.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Nov 16 22:48:40 UTC 2017 - rjschwei@suse.com + +- Add cloud-init-translate-netconf-ipv4-keep-gw.patch (bsc#1064854) + + Properly insert the gateway information for v1 json network config data + ------------------------------------------------------------------- Sat Nov 11 12:32:54 UTC 2017 - rjschwei@suse.com diff --git a/cloud-init.spec b/cloud-init.spec index 91b0f00..2295181 100644 --- a/cloud-init.spec +++ b/cloud-init.spec @@ -33,6 +33,8 @@ Patch5: zypp_add_repo_test.patch Patch6: cloud-init-hosts-template.patch # FIXME cloud-init-ntp-conf-suse.patch proposed for upstream merge (lp#1726572) Patch7: cloud-init-ntp-conf-suse.patch +# Patch 8 cloud-init-translate-netconf-ipv4-keep-gw (bsc#1064854) +Patch8: cloud-init-translate-netconf-ipv4-keep-gw.patch Patch10: cloud-init-no-user-lock-if-already-locked.patch Patch12: fix-default-systemd-unit-dir.patch # Remove Patch 13 for next source updated, included upstream @@ -195,6 +197,8 @@ Documentation and examples for cloud-init tools %patch4 -p0 %patch5 -p0 %patch6 +%patch7 +%patch8 %patch10 -p1 %patch12 %patch13 From fa9ea3d43ede5a7b25ede87a113ec85621662bef0a9100a2dd12634641306199 Mon Sep 17 00:00:00 2001 From: Robert Schweikert Date: Fri, 17 Nov 2017 17:10:35 +0000 Subject: [PATCH 4/7] - Fix variable name in cloud-init-translate-netconf-ipv4-keep-gw.patch OBS-URL: https://build.opensuse.org/package/show/Cloud:Tools/cloud-init?expand=0&rev=95 --- cloud-init-translate-netconf-ipv4-keep-gw.patch | 2 +- cloud-init.changes | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/cloud-init-translate-netconf-ipv4-keep-gw.patch b/cloud-init-translate-netconf-ipv4-keep-gw.patch index 6e68a20..bfef553 100644 --- a/cloud-init-translate-netconf-ipv4-keep-gw.patch +++ b/cloud-init-translate-netconf-ipv4-keep-gw.patch @@ -38,7 +38,7 @@ + if 'default gw' in route_info: + iface_info['gateway'] = ipv4.search( + route_info).group(0) -+ elif 'default gw' in route_info: ++ elif 'default gw' in routes: + iface_info['gateway'] = ipv4.search(route_info).group(0) + # If ipv6 is enabled, device will have multiple IPs, so we need to diff --git a/cloud-init.changes b/cloud-init.changes index 451f9b3..2db27cc 100644 --- a/cloud-init.changes +++ b/cloud-init.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Nov 17 17:10:09 UTC 2017 - rjschwei@suse.com + +- Fix variable name in cloud-init-translate-netconf-ipv4-keep-gw.patch + ------------------------------------------------------------------- Thu Nov 16 22:48:40 UTC 2017 - rjschwei@suse.com From 7a8b456518b33a6b22c10bce9f73d552c2102861a5379c92c637721a3dd6b488 Mon Sep 17 00:00:00 2001 From: Robert Schweikert Date: Fri, 17 Nov 2017 18:55:19 +0000 Subject: [PATCH 5/7] OBS-URL: https://build.opensuse.org/package/show/Cloud:Tools/cloud-init?expand=0&rev=96 --- cloud-init-translate-netconf-ipv4-keep-gw.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cloud-init-translate-netconf-ipv4-keep-gw.patch b/cloud-init-translate-netconf-ipv4-keep-gw.patch index bfef553..3a34fd7 100644 --- a/cloud-init-translate-netconf-ipv4-keep-gw.patch +++ b/cloud-init-translate-netconf-ipv4-keep-gw.patch @@ -39,7 +39,7 @@ + iface_info['gateway'] = ipv4.search( + route_info).group(0) + elif 'default gw' in routes: -+ iface_info['gateway'] = ipv4.search(route_info).group(0) ++ iface_info['gateway'] = ipv4.search(routes).group(0) + # If ipv6 is enabled, device will have multiple IPs, so we need to # update the dictionary instead of overwriting it... From 100e3dffbf3606b021b6e897e2b097fef865ba95efd2f86cc1e4dbd992066507 Mon Sep 17 00:00:00 2001 From: Robert Schweikert Date: Sun, 19 Nov 2017 20:45:04 +0000 Subject: [PATCH 6/7] - Add cloud-init-break-cycle-local-service.patch + Let systemd pull in the default targets. This breaks a cycle OBS-URL: https://build.opensuse.org/package/show/Cloud:Tools/cloud-init?expand=0&rev=97 --- cloud-init-break-cycle-local-service.patch | 15 +++++++++++++++ cloud-init.changes | 6 ++++++ cloud-init.spec | 6 +++++- 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 cloud-init-break-cycle-local-service.patch diff --git a/cloud-init-break-cycle-local-service.patch b/cloud-init-break-cycle-local-service.patch new file mode 100644 index 0000000..dc2c025 --- /dev/null +++ b/cloud-init-break-cycle-local-service.patch @@ -0,0 +1,15 @@ +--- systemd/cloud-init-local.service.tmpl.orig ++++ systemd/cloud-init-local.service.tmpl +@@ -13,12 +13,6 @@ Before=shutdown.target + Before=sysinit.target + Conflicts=shutdown.target + {% endif %} +-{% if variant in ["suse"] %} +-# Other distros use Before=sysinit.target. There is not a clearly identified +-# reason for usage of basic.target instead. +-Before=basic.target +-Conflicts=shutdown.target +-{% endif %} + RequiresMountsFor=/var/lib/cloud + + [Service] diff --git a/cloud-init.changes b/cloud-init.changes index 2db27cc..84fe0b4 100644 --- a/cloud-init.changes +++ b/cloud-init.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Sun Nov 19 20:43:46 UTC 2017 - rjschwei@suse.com + +- Add cloud-init-break-cycle-local-service.patch + + Let systemd pull in the default targets. This breaks a cycle + ------------------------------------------------------------------- Fri Nov 17 17:10:09 UTC 2017 - rjschwei@suse.com diff --git a/cloud-init.spec b/cloud-init.spec index 2295181..1ab6c4c 100644 --- a/cloud-init.spec +++ b/cloud-init.spec @@ -33,8 +33,11 @@ Patch5: zypp_add_repo_test.patch Patch6: cloud-init-hosts-template.patch # FIXME cloud-init-ntp-conf-suse.patch proposed for upstream merge (lp#1726572) Patch7: cloud-init-ntp-conf-suse.patch -# Patch 8 cloud-init-translate-netconf-ipv4-keep-gw (bsc#1064854) +# FIXME cloud-init-translate-netconf-ipv4-keep-gw (bsc#1064854) +# proposed for upstream merge (lp#1732966) Patch8: cloud-init-translate-netconf-ipv4-keep-gw.patch +# FIXME cloud-init-break-cycle-local-service.patch +Patch9: cloud-init-break-cycle-local-service.patch Patch10: cloud-init-no-user-lock-if-already-locked.patch Patch12: fix-default-systemd-unit-dir.patch # Remove Patch 13 for next source updated, included upstream @@ -199,6 +202,7 @@ Documentation and examples for cloud-init tools %patch6 %patch7 %patch8 +%patch9 %patch10 -p1 %patch12 %patch13 From cc9a47a4b71226675f07dfc7636b75f3dafb054280e9cfc53774b102ad10efea Mon Sep 17 00:00:00 2001 From: Robert Schweikert Date: Sun, 19 Nov 2017 21:10:16 +0000 Subject: [PATCH 7/7] - Add cloud-init-translate-netconf-ipv4-keep-gw.patch (boo#1064854) OBS-URL: https://build.opensuse.org/package/show/Cloud:Tools/cloud-init?expand=0&rev=98 --- cloud-init.changes | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cloud-init.changes b/cloud-init.changes index 84fe0b4..7e0c4db 100644 --- a/cloud-init.changes +++ b/cloud-init.changes @@ -12,7 +12,7 @@ Fri Nov 17 17:10:09 UTC 2017 - rjschwei@suse.com ------------------------------------------------------------------- Thu Nov 16 22:48:40 UTC 2017 - rjschwei@suse.com -- Add cloud-init-translate-netconf-ipv4-keep-gw.patch (bsc#1064854) +- Add cloud-init-translate-netconf-ipv4-keep-gw.patch (boo#1064854) + Properly insert the gateway information for v1 json network config data -------------------------------------------------------------------