Hello community, here is the log from the commit of package cloud-init for openSUSE:Factory checked in at 2019-02-28 21:24:27 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/cloud-init (Old) and /work/SRC/openSUSE:Factory/.cloud-init.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cloud-init" Thu Feb 28 21:24:27 2019 rev:57 rq:678302 version:18.5 Changes: -------- --- /work/SRC/openSUSE:Factory/cloud-init/cloud-init.changes 2019-02-08 12:07:01.565612815 +0100 +++ /work/SRC/openSUSE:Factory/.cloud-init.new.28833/cloud-init.changes 2019-02-28 21:24:28.925911458 +0100 @@ -1,0 +2,20 @@ +Fri Feb 22 22:11:20 UTC 2019 - Robert Schweikert <[email protected]> + +- Add cloud-init-trigger-udev.patch (bsc#1125950) + + When the user configures a new rules file for network devices + the rules may not apply immediately, trigger udevadm + +------------------------------------------------------------------- +Fri Feb 22 16:20:28 UTC 2019 - Robert Schweikert <[email protected]> + +- Modify cloud-init-write-routes.patch (bsc#1125992) + + Fix the order of calls, the SUSE imaplementation of route config file + writing must clobber the default implementation. + +------------------------------------------------------------------- +Fri Feb 22 00:42:14 UTC 2019 - Robert Schweikert <[email protected]> + +- Add cloud-init-proper-ipv6-varname.patch (bsc#1126101) + + Use the proper name to designate IPv6 addresses in ifcfg-* files + +------------------------------------------------------------------- New: ---- cloud-init-proper-ipv6-varname.patch cloud-init-trigger-udev.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cloud-init.spec ++++++ --- /var/tmp/diff_new_pack.asNooa/_old 2019-02-28 21:24:29.657911213 +0100 +++ /var/tmp/diff_new_pack.asNooa/_new 2019-02-28 21:24:29.657911213 +0100 @@ -53,6 +53,10 @@ # 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 BuildRequires: fdupes BuildRequires: filesystem @@ -200,6 +204,8 @@ %patch43 %patch44 %patch45 +%patch46 +%patch47 %build %if 0%{?suse_version} && 0%{?suse_version} <= 1315 ++++++ cloud-init-proper-ipv6-varname.patch ++++++ --- cloudinit/net/sysconfig.py.orig +++ cloudinit/net/sysconfig.py @@ -369,10 +369,13 @@ class Renderer(renderer.Renderer): ipv6_cidr = "%s/%s" % (subnet['address'], subnet['prefix']) if ipv6_index == 0: iface_cfg['IPV6ADDR'] = ipv6_cidr + iface_cfg['IPADDR6'] = ipv6_cidr elif ipv6_index == 1: iface_cfg['IPV6ADDR_SECONDARIES'] = ipv6_cidr + iface_cfg['IPADDR6_0'] = ipv6_cidr else: iface_cfg['IPV6ADDR_SECONDARIES'] += " " + ipv6_cidr + iface_cfg['IPADDR6_%d' % ipv6_index] = ipv6_cidr else: ipv4_index = ipv4_index + 1 suff = "" if ipv4_index == 0 else str(ipv4_index) --- tests/unittests/test_distros/test_netconfig.py.orig +++ tests/unittests/test_distros/test_netconfig.py @@ -496,6 +496,7 @@ class TestNetCfgDistroRedhat(TestNetCfgD BOOTPROTO=none DEFROUTE=yes DEVICE=eth0 + IPADDR6=2607:f0d0:1002:0011::2/64 IPV6ADDR=2607:f0d0:1002:0011::2/64 IPV6INIT=yes IPV6_DEFAULTGW=2607:f0d0:1002:0011::1 @@ -588,6 +589,7 @@ class TestNetCfgDistroOpensuse(TestNetCf BOOTPROTO=none DEFROUTE=yes DEVICE=eth0 + IPADDR6=2607:f0d0:1002:0011::2/64 IPV6ADDR=2607:f0d0:1002:0011::2/64 IPV6INIT=yes IPV6_DEFAULTGW=2607:f0d0:1002:0011::1 --- tests/unittests/test_net.py.orig +++ tests/unittests/test_net.py @@ -369,6 +369,9 @@ DEVICE=eth0 GATEWAY=172.19.3.254 HWADDR=fa:16:3e:ed:9a:59 IPADDR=172.19.1.34 +IPADDR6=2001:DB8::10/64 +IPADDR6_0=2001:DB9::10/64 +IPADDR6_2=2001:DB10::10/64 IPV6ADDR=2001:DB8::10/64 IPV6ADDR_SECONDARIES="2001:DB9::10/64 2001:DB10::10/64" IPV6INIT=yes @@ -407,6 +410,9 @@ DEVICE=eth0 GATEWAY=172.19.3.254 HWADDR=fa:16:3e:ed:9a:59 IPADDR=172.19.1.34 +IPADDR6=2001:DB8::10/64 +IPADDR6_0=2001:DB9::10/64 +IPADDR6_2=2001:DB10::10/64 IPV6ADDR=2001:DB8::10/64 IPV6ADDR_SECONDARIES="2001:DB9::10/64 2001:DB10::10/64" IPV6INIT=yes @@ -658,6 +664,7 @@ NETWORK_CONFIGS = { BOOTPROTO=none DEVICE=iface0 IPADDR=192.168.14.2 + IPADDR6=2001:1::1/64 IPV6ADDR=2001:1::1/64 IPV6INIT=yes NETMASK=255.255.255.0 @@ -927,6 +934,7 @@ pre-down route del -net 10.0.0.0 netmask DEFROUTE=yes DEVICE=br0 IPADDR=192.168.14.2 + IPADDR6=2001:1::1/64 IPV6ADDR=2001:1::1/64 IPV6INIT=yes IPV6_DEFAULTGW=2001:4800:78ff:1b::1 @@ -1322,6 +1330,7 @@ pre-down route del -net 10.0.0.0 netmask MACADDR=aa:bb:cc:dd:e8:ff IPADDR=192.168.0.2 IPADDR1=192.168.1.2 + IPADDR6=2001:1::1/92 IPV6ADDR=2001:1::1/92 IPV6INIT=yes MTU=9000 @@ -1377,6 +1386,7 @@ pre-down route del -net 10.0.0.0 netmask MACADDR=aa:bb:cc:dd:e8:ff IPADDR=192.168.0.2 IPADDR1=192.168.1.2 + IPADDR6=2001:1::1/92 IPV6ADDR=2001:1::1/92 IPV6INIT=yes MTU=9000 @@ -1467,6 +1477,7 @@ pre-down route del -net 10.0.0.0 netmask GATEWAY=192.168.1.1 IPADDR=192.168.2.2 IPADDR1=192.168.1.2 + IPADDR6=2001:1::100/96 IPV6ADDR=2001:1::bbbb/96 IPV6INIT=yes IPV6_DEFAULTGW=2001:1::1 @@ -1528,6 +1539,7 @@ pre-down route del -net 10.0.0.0 netmask BRIDGE=br0 DEVICE=eth0 HWADDR=52:54:00:12:34:00 + IPADDR6=2001:1::100/96 IPV6ADDR=2001:1::100/96 IPV6INIT=yes NM_CONTROLLED=no @@ -1541,6 +1553,7 @@ pre-down route del -net 10.0.0.0 netmask BRIDGE=br0 DEVICE=eth1 HWADDR=52:54:00:12:34:01 + IPADDR6=2001:1::101/96 IPV6ADDR=2001:1::101/96 IPV6INIT=yes NM_CONTROLLED=no ++++++ cloud-init-trigger-udev.patch ++++++ --- cloudinit/net/sysconfig.py.orig +++ cloudinit/net/sysconfig.py @@ -15,6 +15,7 @@ from .network_state import ( is_ipv6_addr, net_prefix_to_ipv4_mask, subnet_is_ipv6) LOG = logging.getLogger(__name__) +PERS_NET_RULES_DEFAULT = 'etc/udev/rules.d/70-persistent-net.rules' def _make_header(sep='#'): @@ -276,7 +277,7 @@ class Renderer(renderer.Renderer): config = {} self.sysconf_dir = config.get('sysconf_dir', 'etc/sysconfig') self.netrules_path = config.get( - 'netrules_path', 'etc/udev/rules.d/70-persistent-net.rules') + 'netrules_path', PERS_NET_RULES_DEFAULT) self.dns_path = config.get('dns_path', 'etc/resolv.conf') nm_conf_path = 'etc/NetworkManager/conf.d/99-cloud-init.conf' self.networkmanager_conf_path = config.get('networkmanager_conf_path', @@ -676,6 +677,15 @@ class Renderer(renderer.Renderer): 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) + # Making the assumption that the configured file is in a sane + # location + if ( + os.path.basename(PERS_NET_RULES_DEFAULT) + != os.path.basename(netrules_path) + ): + util.subp( + ['udevadm', 'trigger', '-a ACTION=add', '-a SUBSYSTEM=net'] + ) sysconfig_path = util.target_path(target, templates.get('control')) # Distros configuring /etc/sysconfig/network as a file e.g. Centos ++++++ cloud-init-write-routes.patch ++++++ --- /var/tmp/diff_new_pack.asNooa/_old 2019-02-28 21:24:29.713911195 +0100 +++ /var/tmp/diff_new_pack.asNooa/_new 2019-02-28 21:24:29.717911193 +0100 @@ -1,12 +1,15 @@ --- cloudinit/distros/opensuse.py.orig +++ cloudinit/distros/opensuse.py -@@ -172,8 +172,40 @@ class Distro(distros.Distro): +@@ -172,7 +172,41 @@ class Distro(distros.Distro): util.write_file(out_fn, str(conf), 0o644) def _write_network_config(self, netconfig): +- return self._supported_write_network_config(netconfig) ++ net_apply_res = self._supported_write_network_config(netconfig) ++ # Clobber the route files that were written in RH key-value style + self._write_routes(netconfig) - return self._supported_write_network_config(netconfig) - ++ return net_apply_res ++ + def _write_routes(self, netconfig): + """Write route files, not part of the standard distro interface""" + # Due to the implementation of the sysconfig renderer default routes @@ -37,7 +40,6 @@ + if config_routes: + route_file = '/etc/sysconfig/network/ifroute-%s' % if_name + util.write_file(route_file, config_routes) -+ + @property def preferred_ntp_clients(self): - """The preferred ntp client is dependent on the version."""
