=== harlowja is now known as harlowja_away [00:52] utlemming, https://code.launchpad.net/~utlemming/cloud-init/sdc-op-script/+merge/206065 [00:52] the only thing wrong with a boothook is that it doesnt guarantee network. === harlowja_away is now known as harlowja === pquerna_ is now known as pquerna === harlowja_ is now known as harlowja_away === shardy_afk is now known as shardy [12:01] harlowja_away, one comment on datasource openstack [12:01] can't 'wait_for_url' [12:01] i know it sucks [12:01] but you can't [12:01] only ec2 can be annoying [12:02] ie, we want to be able to have both OpenStack and EC2 enabled [12:02] and not block boot for some stupid seconds [16:15] harlowja_away, wake up. man. [16:15] utlemming, did you see my half written response to the smart os change? [16:16] smoser: yeah, and it makes sense [16:16] smoser: I'll look at it later [16:16] ok. i really, really, really want an upload of cloud-init today [16:16] there is a bunch of stuff in [17:46] smoser: will we see an new cirros release this month aswell? [17:47] :) [17:47] i've been meaning to do that. [17:47] pathetically, one of my motivations for doing so is so i can get in a icehouse commit log :) [17:48] nice, though how does cirros fit into icehouse commitlogs? ;p [17:49] devstack [17:49] i'll change the default cirros used to be the released version. [17:52] nice nice [17:55] what do you use cirros for harmw? [18:03] testing openstack, or something else where I 'just want a vm shell' [18:03] instead of booting fedora/centos [18:05] which take considerably longer to boot :) === harlowja_away is now known as harlowja_ [18:17] smoser waked up, lol [18:22] smoser wait_for_url, can be removed :-P [18:23] is $INSTANCE_ID only available at bootcmd? It didn't seem to be there at runcmd time === shardy is now known as shardy_afk [18:43] harlowja_, i just about have it i think. was testing that it actually worked [18:43] then gonna merge it. [18:44] hm.. [18:44] mfisch, the doc says it is. [18:44] i'm ok to put it in at runcmd also. [18:45] smoser did u get the overall change, basically unifying cfgdrive and osmetadata datasource, being backed by a common class, and then only really changing in the child classes how the data is fetched and from where (url or disk) [18:46] mfisch, it does appear that it should be there for you in bootcmd and in boothooks, but it is only done there. [18:46] harlowja_, yeah, it looks good. [18:46] smoser k [18:46] thx boss [18:46] :-P [18:48] harlowja_, http://paste.ubuntu.com/6927014/ [18:48] thats my changes so far. [18:49] smoser seems ok, although should i just remove 'wait_for_url' [18:50] cause i know we all love waiting for datasources to come online, lol [18:50] and watchign the log [18:52] harlowja_, well, i had removed wait_for_url [18:52] but then i put it back [18:52] :-P [18:52] i figured its more useful being configurable [18:52] ah [18:52] if you had a openstack where it just wasn't working [18:52] ie, it didn't come up right way, you could turn max_wait up [18:52] and it would retry [18:53] ya [18:53] looks good to me then [18:53] shall i patch or u? [18:55] merged. [18:57] k [18:57] i know the heat folks and others wanted , https://code.launchpad.net/~harlowja/cloud-init/ec2-ssl ? [18:58] although in general since i don't use ssl for this stuff anyway (cfgdrive stil..) up to u :-P [18:58] harlowja_, didn't i pull that lareday? [18:58] oh [18:58] possibly [18:58] will double check [18:59] if not i will [18:59] seems not [19:01] harlowja_, there are merge conflicts there [19:01] can you resolve those really quick ? [19:02] k, one sec, writing up little speaker summary/abstract for atalanta summit stuff [19:03] ooh. fancy. [19:06] harlowja_, i'd also like to get the tox stuff too. but can't really pull it if it means it doesn't work "offline" [19:06] ya, understandable [19:21] harlowja_, random question. [19:21] yo [19:22] i'd like to have cloud-init write some "state" to /run/cloud-init [19:22] k [19:22] i dont have any ideas for a mechanism on doing tha tthat doesn't result in potential race conditions on reading it [19:22] ie, cloud-init writing the state file while a reader is reading it [19:22] do you? [19:23] write to temp state file, then swap it? [19:23] mv is atomic i think in linux [19:23] who's the readers in this case? users [19:23] ? [19:36] readers is users, yes (or tools) [19:36] mv is atomic, yes. but if i write state to 'cloud-init.state', then go to update it. [19:36] then that is not atomic. [19:37] mv cloud-inti.state cloud-init.state.old && mv cloud-init.state.new cloud-init.state [19:37] would leave a race. [19:37] probably over thinking [19:37] :) [19:39] smoser, how do I ask cloud-init to re-run [19:39] :) [19:40] med_ is asking because I want to test a feature w/o rebuilding an image [19:40] (ie, on an image after I locally hack the cloud-init code0 [19:40] * med_ is mfisch proxy [19:40] what i do very commonly is [19:40] rm -Rf /var/lib/cloud /var/log/cloud-init* [19:40] reboot [19:40] He made me drive him to work and now he asks me to ask questions [19:40] nod. that's it. [19:40] you can be less invasive too [19:40] * med_ knew there was a way [19:40] and you can run modules by themselves [19:40] cloud-init single [19:41] smoser: I'm toying with the idea of having access to INSTANCE_ID inside the landscape module [19:41] although I wonder if landscape uses hostname by default, /me checks [19:41] mfisch, sounds like you're still working for (C) [19:41] j/k [19:44] mfisch, so 2 things there.. [19:44] a.) i'm not opposed to having INSTANCE_ID just in the environment whenever we set it [19:44] b.) you do have access to the instance id in the landscape module [19:44] b) not currently [19:45] and its not a shell script like bootcmd is [19:45] so I'd have to do a pass of the dictionary we're building [19:45] you do have access. [19:45] you get 'cloud' passed in [19:45] that has it. [19:46] ah cool [19:46] would a simple check like if the dict has a key of $INSTANCE_ID set it there work? [19:47] may want to make that more generic [19:49] mfisch, ? [19:49] the 'cloud' object has 'get_instance_id()' [19:50] and it proxies most things through to cloud.datasource. [19:50] smoser: I mean in the config file, we need a token that says "substitute this with the instance ID" [19:51] i'm confused now. [19:53] smoser: the landscape stuff gets loaded as a dictionary in that file [19:54] account: foo [19:54] for example [19:54] computer-title could default to instance id if unset [19:55] or something like if dict[computer-title] == "$INSTANCE_ID" then do the substitution [19:55] smoser: let me propose a fix and maybe it makes more sense [19:57] http://paste.ubuntu.com/6927388/ ? [19:57] smoser: yes, exactly [19:57] that doesn't do any template/rendering, but functional [19:58] smoser: I will test that [20:07] smoser: it screwed up the ordering in the config file to change it there, I'll look into it [20:08] also instance human readable name, whatever that is would work better there [20:15] mfisch, yeah, yaml wont write in any predictable order [20:18] smoser: it's sticking it above [client] which confused landscape [20:18] oh? [20:18] yeah it comes out as [20:18] computer-title = foo [20:18] [client] [20:18] ... [20:18] oh. yeah, it would [20:18] :) [20:18] cause i put it there. [20:18] i didn't realize that. [20:18] just put it in the right place. [20:20] mfisch, http://paste.ubuntu.com/6927527/ [20:21] smoser: I [20:21] smoser: I just moved it up and checked if it was in ls_cloudcfg [20:21] above the merge [20:22] ewll that paste there should basically fill it into instance id if its not present. [20:27] smoser: yep and that explains why my idea didnt work [20:48] smoser: sorry for the delay, this is what I ended up doing based on the 12.04 version: [20:48] http://paste.ubuntu.com/6927655/ [20:58] mfisch, well, if you do it after the mergeTogether [20:58] then you ensure that you're lowest priority [20:58] ie, merge all the stuff the way it does [20:58] then only fill it if its not set elsewhere [20:59] hi smoser, It's Vaidas. We've been talking over email re GCE data source [21:00] smoser: true [21:04] zooz, hey. [21:04] trunk has gce now. woohoo. [21:05] (possibly not working as i might have broke your code :) [21:05] cool, I am about to look at your improvements and add them to my changes [21:05] I have got proper tests now, handling of user-data and more [21:05] smoser, no worries, I will test in GCE before I do a pull request [21:07] in fact I have been using cloud-init in GCE without any issues for some time now [21:20] smoser, a merge request is on the way for your review. I have tested it in GCE and ran unit tests. No issues. [21:22] zooz, thank you. [21:22] i plan on a cloud-init upload to ubuntu tonight. [21:23] great [21:23] so this will make its way into cloud images for trusty tonight [21:23] awesome! [21:28] done [21:28] let me know if any issues [21:42] thanks smoser. [21:43] does cloud-init get SRUd (or have a MRE for prior releases)? [21:43] well, SRU. [21:44] but for "hardware" enablement, sru team has let things in. [21:44] nodz. [21:44] it is honestly though, somewhat of apain to port back to 12.04 at this point. although datasources are fairly standalone. [21:44] 'k [21:44] * med_ will just take a look at rmadison in the morning [21:52] zooz, still there? [21:52] smoser, yeah [21:52] is there a reason you'd not want the dns resolution? [21:52] the way i did it it actually works (should work) in gce [21:52] and will fail quickliy (dns resolution) just about anywhere else [21:53] smoser, no particular reason, I can test it using dns name [21:53] without attempting to get access to a 169.254.169.254 that might be firewalled off (and socket level timeout) [21:53] good point [21:53] let me do a quick test [21:54] smoser, it does work in GCE using dns name [21:55] ok. so lets keep that part, that will save people elsewhere from doing a request to that url. [21:55] (unless there is a dns entry external there, which would be unlikely) [21:56] smoser, do you want me to quickly add it back? [21:56] sure. [21:56] i have to go now for a couple hours. [21:56] so i'll take a look again later. [21:57] thanks [23:27] smoser alrihgt, i got some free time