[12:01] <Odd_Bloke> smoser: Review of https://code.launchpad.net/~daniel-thewatkins/cloud-init/lp1411582/+merge/264831 would be much appreciated.
[13:14] <smoser> Odd_Bloke, why are symlinks bad ?
[13:15] <Odd_Bloke> smoser: Some of the FS tools fall over on symlinks.
[13:15] <Odd_Bloke> I think mkfs.ext4, for example.
[13:17] <Odd_Bloke> And to check that it's a valid block device in cc_mounts, we have to dereference it to find the actual device to check.
[13:18] <smoser> why?
[13:18] <smoser> not being a jerk, dont rmember. and checking a symlink to a device should be ok
[13:22] <Odd_Bloke> smoser: We check in /sys/block; that uses the sda1-esque name.
[13:31] <smoser> Odd_Bloke, you can also check /sys/block/ to see if it is a partition
[13:31] <smoser> rather than just checking existance.
[13:31] <smoser>  ie, /sys/block/sda/sda1/partition
[13:31] <smoser> that file exists iff sda1 is a partition on sda
[13:32] <Odd_Bloke> smoser: Oh, cool.
[13:32] <Odd_Bloke> smoser: I've just taken the logic that was already there; I'll make that change if you think it's a good idea.
[13:32] <Odd_Bloke> I don't really have a sense of what sort of weird block devices we might end up seeing. :p
[13:33] <smoser> its incredibly inconsistent
[13:33] <smoser>  https://bugs.launchpad.net/curtin/+bug/1263181
[13:33] <smoser>  and
[13:33] <smoser>  https://bugs.launchpad.net/curtin/+bug/1471928
[13:34] <smoser> your suggestion handles the second naming convention ('p')
[13:34] <smoser> the first is obscene
[13:34] <Odd_Bloke> That 'p' logic was already there as well.
[13:35] <smoser> right
[13:40] <smoser> Odd_Bloke, claudiupopa to today's call i'd like to talk about blueprints / specs / tracking
[13:40] <smoser> and what to do.
[13:40] <Odd_Bloke> smoser: Yeah, that would be good.
[13:52] <smoser> wish i had easier access to things to test.
[13:52] <smoser> for p in glob.glob("/sys/class/block/%s/*/partition" % dev):
[13:52] <smoser>     with open(p, "r") as fp:
[13:52] <smoser>         if fp.read().rstrip() == part:
[13:52] <smoser>             found = p
[13:52] <smoser>             break
[14:20] <pankaj2934> can we make cloud-init run a local script in image on first boot : default for all builds : even if user does not provide any user-data
[14:21] <Odd_Bloke> smoser: claudiupopa: harlowja_: You should all have invites to a Trello org in your inbox(es).
[14:21] <claudiupopa> Yeah, saw it, thanks!
[14:21] <smoser> pankaj2934, put executable files into /var/lib/cloud/data/scripts/per-instance
[14:22] <pankaj2934> it should be on controller or into the image
[14:22] <smoser> in image.
[14:22] <pankaj2934> doesnt cloud-init wipe out /var/lib/cloud whenit runs first
[14:22] <smoser> alternatively, vendor-data is provided by the "vendor" , cloud-inti finds it from the datasource, and it can provide can provide boothooks or user-scripts
[14:22] <smoser> pankaj2934, no. it wipes a link (/var/lib/cloud/instance , which points to the current /var/lib/cloud/instance)
[14:23] <pankaj2934> does it have to be #cloud-config file or i can just put a shell script in that directory
[14:23] <smoser> er... instance/<instance-id-here>
[14:23] <smoser> executable file in that dir is run in run-parts style
[14:23] <smoser> ie, C locale sorted order
[14:24] <pankaj2934>  thanks  i will try that .
[14:46] <claudiupopa> Odd_Bloke, smoser: we have a new public board for the things we need to track: https://trello.com/b/HoPNdiTI/cloud-init-development-roadmap.
[14:46] <Odd_Bloke> harlowja_: ^
[14:46] <Odd_Bloke> claudiupopa: Thanks!
[14:46] <claudiupopa> I started moving a couple of things from the etherpad there.
[14:46] <claudiupopa> No problem. ;-)
[14:47] <claudiupopa> basically there are 3 columns, to do, doing and done but I'm open to other suggestions.
[14:54] <Odd_Bloke> claudiupopa: smoser: Maybe a column to do with specifications.
[14:55] <claudiupopa> What kind of specifications?
[14:55] <Odd_Bloke> The "we're working on a spec but nobody is implementing it yet" type.
[14:58] <pankaj2934> i have a in /etc/cloud/cloud.cfg.d/09_pk.cfg  , it contains #cloud-config , runcmd: - touch /tmp/pk.txt  .. when the instance boots cloud-init.log has read 66 bytes from /etc/cloud/cloud.cfg.d/09_pk.cfg  but no file in tmp .
[14:58] <pankaj2934> i have a file *
[15:01] <smoser> pankaj2934, it should work. unless user-data provides runcmd also.
[15:01] <smoser> lists dont merge well.
[15:02] <pankaj2934> not providing anything in user data , target is to run a script like firstboot for every instance : even if user does not provide any user data
[15:03] <smoser> why did you not like /var/lib/cloud/data/scripts/per-instance ?
[15:03] <pankaj2934> put the same file there  it did not work .
[15:03] <pankaj2934> should i be putting .sh file in per-instance
[15:03] <smatzek> yes
[15:03] <smoser> i suspect its the same issue. cloud-init final is not running. i think.
[15:04] <smoser> or for /var/lib/cloud/data/scripts/per-instance if you did that after the instance booted, it wont recognize it on reboot as the marker is just on the instance-id.
[15:14] <pankaj2934> i deleted the instances folder and retried
[15:15] <pankaj2934> rebooted
[15:30] <smoser> can you paste /var/log/cloud-init.log ?
[15:45] <smatzek> you probably need to delete  /var/lib/cloud/data/instance-id along with the instances directory before reboot.
[17:05] <harlowja_> Odd_Bloke claudiupopa cool
[18:24] <smoser> Odd_Bloke, where di you send me an invite ?
[18:30] <smoser> never mind. i see.