=== shardy is now known as shardy_lunch === shardy_lunch is now known as shardy [17:39] hrm just reviewing our active queue today. https://code.launchpad.net/~johnguthrie/cloud-init/+git/cloud-init/+merge/331905 it feels like a nice thought (chef variable substitution. I feel like we could provide a variable substiturion mechanism for cloud-config modules based on the instance-data.json though instead which could be a bit more generic. [17:40] Pretty please? [17:43] Right now I am writing a wrapper script to do substitutions in my yaml files and writing another script to do substitutions in config files on the box as I am trying to see how far I can get without using chef/puppet/et al. [17:44] variable substitution within cloud-init would be great... [17:45] hehe :) yep. I need to get https://code.launchpad.net/~chad.smith/cloud-init/+git/cloud-init/+merge/330115 landed so we can build the substitution framework on that standardized instance-data.json [17:46] I might take a quick stab at it today to see how tough this substitution framework would be. [17:47] I am sure a generic framework will be much more challenging than the very specific little tidbits I am doing. :-) [17:53] definitely, I'm trying to weigh how painful and whether it's better in the short term to grow our cc_* modules individual templating language vs. just swallowing the cost of generic templating [17:54] (I'm an unrealistic optimist and hope the generic templating isn't too bad) [17:57] Heh [18:48] thx robjo on the branch. couple comments for discussionhttps://code.launchpad.net/~rjschwei/cloud-init/+git/cloud-init/+merge/333575 [18:49] OK, will take a look in about 10 minutes, thanks [19:14] blackboxsw: fixed the comment and the substitution, for the other stuff, just let me know the desired direction, symlink or template name substitution [20:51] I think there is a latent bug in cc_ntp, on line 127 rename_ntp_conf() is called, but if the timesync client is timesyncd the configuration file that may or may not be provided by the distro is never renamed as the file to be renamed alwasy falls back to NTP_CONF [20:51] the call should really be rename_ntp_conf(confpath) IMHO [20:52] smoser: blackboxsw ^^^^ thoughts? [20:59] checking [21:01] robjo: +1 on rename_ntp_conf(confpath) given that we could be dealing with a different service than actually NTP. and renaming NTP_CONF -> NTP_CONF_FILE too [21:02] OK, starting with chrony support so this will be intermingled ;) [22:00] rharper, ping ... heys ... it's James working on that net-tools deprecation :) [22:01] jhogarth: hey [22:01] I've made it a personal mission to "cleanse" Fedora of the dependancy ... not trivial though ... [22:02] hehe [22:02] just grabbed a NetBSD ISO so I can validate that ifconfig and route/netstat output and options against the net-tools version [22:03] is sysconfig net-tools free? [22:03] jhogarth: I think there are bsd images on azure as well, in case you just want to kick off one of those instead of the installer [22:03] yes ... as of about F19 I think or a little before that ... EL7 is net-tools free for the network service so it must be around F15-F19 they finished up on that [22:04] that means using azure ... I'm allergic to MS stuff :P [22:04] in all seriousness though it's probably useful to have a BSD VM template on my laptop for cloneing and testing [22:04] cool [22:05] currently the sysconfig renderer checks for "ifup" and "ifdown" as well as the /etc/sysconfig/network-scripts/network-functions [22:05] in F19/EL7 are there still ifup/ifdown tools provided outside of net-tools ? [22:05] see cloudinit/net/sysconfig.py:def available() [22:07] yes ifup and ifdown are owned by the initscripts package rather than the net-tools one and they either use nmcli if NM is running (and the interface isn't marked with NM_CONTROLLED=NO) or call the relevant network service funstions which use iproute2 [22:08] so far as I can tell the only things that cloud-init relies on net-tools for on Red Hat based systems is the info printouts [22:09] so once netinfo.py is ported to have ip as a preference and ifconfig/netstat as a fallback then we *should* be good to drop the net-tools dependency in the rpm spec [22:09] cloudinit/sources/DataSourceAzure.py has some ifconfig uses [22:10] sorry, just eaves dropping [22:10] jhogarth: yeah; that's what I recall as well [22:10] however that's spelled ;/ [22:10] blackboxsw: good find [22:10] it's actually been quite amusing on this journey at times since at least a few packages already had iproute2 codepaths upstream but the maintainers just didn't realise they could drop the dependancy :) [22:10] I suspect there are other ifconfig (I think in the bsd space as well) [22:10] don't thank me, thank fgrep -r :) [22:10] so a grepping of the source for dropped binaries is worth it [22:10] rharper: true cloudinit/distros/freebsd.py [22:11] mmm, legacy [22:11] grep -E '\b(ifconfig|netstat|arp|route)\b' -R * <-- you're friend ;) [22:11] heh [22:11] well we dont' need to worry about porting the bsd stuff as that will never have ip ;) [22:12] right, it would be non-bsd paths use of net-tools [22:12] and looking at the code that azure adat source stuff is bsd only :) [22:12] indeed [22:13] yeah though the stock BOUNC_COMMAND.. isn't bsd-specific is it? [22:13] line 30 [22:13] there's some test stuff calling route etc ... but that's your debian/canonical packaging and testing : [22:13] :p [22:14] blackboxsw, that's calling ifup/ifdown which is safe though [22:14] ahh too true. [22:15] hrm, I wonder how the Azure stuff on artful/bionic are getting on then; [22:15] we've no ifup/ifdown in netplan only images [22:15] I'll spin one up now that we have images [22:15] luck? heh [22:16] well, there is some mystical things that happen under the agent which may or maynot need the bounce [22:16] this is why CI setups are good at both unit and integration/functional levels :p [22:16] =) [22:31] so .... NetBSD ifconfig output is different from even the current net-tools ifconfig linux snapshot heh ... glad I checked ;) [22:32] because everyone easily can read the netmask when it looks like: inet 192.168.124.96 netmask 0xffffff00 broadcast 192.168.124.255 :/ and hwaddr actually has a tok of address .... NetBSD output on cloud-init most have been nothing like the linux output :/ [22:33] still ... now I have sample output to add to the test cases :) [22:33] do you guys just support NetBSD or should I confirm if FreeBSD has the same output? [22:40] and of course BSD has to have completely different routing output with netstat -rn ... and now I doubel check the code paths and it's FreeBSD you support, not NetBSD ... although I could have sworn NetBSD was referenced in a bug ... [22:43] rharper: http://paste.ubuntu.com/25963614 [22:43] bionic works on azure [22:43] oh well ... enough of my verbiage ... it's bed time in the UK ... thanks for the feedback and discussion ... I'll keep on hacking this over the next week to hopefully get every case tested and something nice to merge with a bunch of bugs solved too :) [22:43] because of the magic :) [22:44] erm ,,,, heh n/,m [22:44] traceback on hostname bounce [22:44] due to failed ifdown/ifup [22:44] I'll file a bug [22:45] i'll be about in the channel whilst working on the patch this week or so :) laters [22:45] smoser: already had it https://bugs.launchpad.net/cloud-init/+bug/1722668 [22:45] Launchpad bug 1722668 in cloud-init (Ubuntu) "Azure: bouncing of network device/publishing of hostname fails on artful" [Critical,Confirmed]