[14:03] <smoser> he all.
[14:03] <smoser> hey.
[14:03] <smoser> time for cloud-inti meeting.
[14:04] <smoser> claudiupopa sends regrets as he's on a plane.
[14:04] <jgrimm> o/
[14:04] <smoser> we've now got two smatzeks so that is good.
[14:04] <Odd_Bloke> o/
[14:04] <smoser> Odd_Bloke, ?
[14:04] <smoser> there he is
[14:04] <natorious> o/
[14:04] <smoser> http://bit.ly/cloudinit-reviews-public
[14:05] <smoser> we'll run through there, then some open discussion
[14:05] <smatzek> you can thank Windows7 ability to completely hide / lose track of running applications on sleep/awake for the dual smatzeks.
[14:06] <smoser> if only there were a high quality freely available desktop operating system that could handle such things.
[14:06]  * smoser ducks
[14:06] <Odd_Bloke> <3
[14:06] <smatzek> :)
[14:06] <smoser> ah. have to read that spec some. please others take a look there too.
[14:07] <smoser> for the next one .. that is Odd_Bloke 's  [WIP] TaskFlow for running shell commands
[14:07] <smoser> can you summarize what you're thinking there, Odd_Bloke
[14:07] <smoser> ?
[14:07] <smoser> oh yeah... this was the 2.6 thing that i was supposed to think some on.
[14:07]  * smoser terrible.
[14:08] <Odd_Bloke> So taskflow is good at what it does.
[14:08] <smoser> ok. i will take an action to look at options for non-2.6 python on older OSes.
[14:08] <Odd_Bloke> I've set up a simple graph of tasks, and it will execute those based on required dependencies etc.
[14:09] <Odd_Bloke> Importantly, we can save off the state of execution so that we don't have to execute everything all at once.
[14:09] <smatzek> I read the spec this morning. I agree with it but didn't +1 it.  I'm not sure if we should +1 / merge it or wait for the investigation into running datasource discovery in parallel with modules.  The spec calls out two ways to handle parallel data source discovery and parallel module running each with pros / cons.
[14:10] <Odd_Bloke> This gives us the 'run everything' on Windows and 'run parts as they become sensible' on non-Windows OSes.
[14:10] <Odd_Bloke> It could also enable us to do some more complex dependency stuff with config modules etc.
[14:11] <Odd_Bloke> So say we have a module which puts SSH keys in place which needs users to have been created, we can just declare that dependency and taskflow will ensure they are executed in order.
[14:11] <smoser> Odd_Bloke, ok. so benefits are clear enough.
[14:12] <smoser> and 2.6 support in taskflow is not possible ?
[14:12] <smoser> i'm sorry that my memory is fuzzy
[14:12] <Odd_Bloke> It's actually one of taskflow's dependencies that has been bumped.
[14:12] <Odd_Bloke> networkx.
[14:13] <Odd_Bloke> taskflow may not need to depend on the newer version of networkx, but it started requiring it due to a general OpenStack requirements bump.
[14:13] <smoser> ok. thanks.
[14:13] <smoser> lets do 'open discussion' now.
[14:14] <Odd_Bloke> And, of course, that's only viable as long as there isn't a bug in networkx that we need a fix for, or a new feature that taskflow starts depending on.
[14:14] <Odd_Bloke> Sure.
[14:14] <Odd_Bloke> I don't have any open discussion topics.
[14:14] <smoser> and anyone listenting who has not read claudiu's spec for parallel discover, please do and ahave a think and add comments
[14:14] <smoser> natorious, you were looking for work last week, i think
[14:14] <smoser> and quite possibly i left you hanging ?
[14:15] <smatzek> natorious: you were going to start work on the ConfigDrive datasource, right?
[14:15] <natorious> smoser: I was.  I've been poking around with ConfigDrive.  Looking to support network json data
[14:15] <smoser> ah. fun.
[14:16] <smoser> thats a key thing that we want.
[14:16] <natorious> I'd imagine we'd need a spec on network config templates?
[14:16] <smoser> do you want to chat some ? we can do so now or later. i have thoughts on this, and an idea of where i want to go.
[14:17] <natorious> I can now, sure
[14:18] <smoser> some others on my team have recently been workign code in curtin ("ubuntu fast path installer"). that takes a network config format and renders it to the system
[14:18] <smatzek> natorious: if you're starting with the 0.7 configdrive datasource as a base, can you ensure the calls to 'util.mount_cb' and the find_candidate_devs method are architected in such a way that its easy for non-Linux OSes to have their own impls?  Possily have the datasource call the OS distro class to do it?
[14:18] <smoser> that happens in /etc/network/interfaces (ENI) format now.
[14:19] <smoser> my plan has been to mvoe that code into a library, and then use it from cloud-init.  cloud-init woudl read the network info from openstack, and then tell the library to render it to the system.
[14:19] <natorious> so like in 0.7.7 I was using jinja or similar templates to translate net settings to config files to lay down.
[14:20] <natorious> smatzek: for sure.  I've only been basing off the Openstack http source thats in 2.0
[14:20] <natorious> so far
[14:20] <natorious> smoser: so like would we be able to contribute to this code library though still?
[14:21] <natorious> were doing ha bonding and would need to support that
[14:21] <natorious> like 802.3 etc
[14:21] <smoser> bonding for ubuntu is there now.
[14:21] <smoser> but yes, code contirbution there would be appreciated
[14:22] <smoser> currently its part of curtin, but he intent to pull it out
[14:22] <smoser> natorious, the supported config format right now looks like
[14:22] <smoser>  http://bazaar.launchpad.net/~curtin-dev/curtin/trunk/view/head:/examples/network-all.yaml
[14:22] <smoser> that is what maas declares.
[14:22] <smoser> interneally, it reads that, comes up with a model and renders it to the system.
[14:23] <smoser> so we can also support the openstack networking definition model too
[14:23] <smoser> and then there is one from amazon that comes in the MD service that we'd also have to support reading
[14:23] <smoser> that all make sense ?
[14:24] <natorious> it does.  Not sure how well the yaml would translate ex - https://gist.github.com/naterh/a88646595ad94033a100
[14:24] <smatzek> I'd expect the library would have different impls of the interface for the various distros, so the network settings can get written to all the appropriate files on the OS such as route files, ifcfg files, hostname files, resolv.conf, etc on RedHat/SLES?
[14:24] <smatzek> and run commands to set networking vs writing files on non-Linux OSes?
[14:24] <natorious> that project is also currently deb based only right?  So like we'd need to come up w/ all the other os's config layouts
[14:25] <smoser> smatzek, right. thats the idea.
[14:25] <smoser> and then we have changes to the networking also
[14:25] <smoser> and ideally it can go from A to B with no bouncing or unnecessary down time
[14:26] <natorious> that gist was openstack's net json btw ^^
[14:26] <smoser> natorious, you're right. other than s/"deb based"/ENI rendering/
[14:26] <smoser> right.
[14:27] <smoser> essentially cloud-init (either through a library or not) needs to have a model of networking
[14:27] <smoser> and has to read from multiple different formats (maas, openstack, ec2) and "render" to multiple formats (ENI, sysconfig, networkd, 'ip', windows-whatever)
[14:28] <natorious> so, I might handle that as a separate task and just get a base config drive source in place then?
[14:28] <smoser> yeah, i think that makes sense.
[14:29] <smoser> natorious, please feel free to ping me if you're looking for feedback. i do best wtih irc pings.
[14:29] <smoser> the only other thing i had for this meeting would be to see what people might think of a meeting time change...
[14:29] <natorious> I'd read thru claudio's parallel spec too.  Had some thoughts on capabilities too
[14:30] <natorious> smoser: ty
[14:30] <smoser> but since we have neither our furthest east member (claudio) nor our furthest west member (harlowja)... that seems not a useful conversation to have at the moment.
[14:30] <smatzek> what timezone is claudio in?
[14:35] <Odd_Bloke> CET, I think.
[14:35] <Odd_Bloke> Well, CEST ATM.
[14:36] <smoser> CET = +0200
[14:37] <smoser> also atm
[14:37] <Odd_Bloke> Oh, actually, he's probably on Eastern European Time, which is +0200.
[14:38] <Odd_Bloke> (CEST is CET+1 for summer)
[14:38] <Odd_Bloke> Uh, but maybe on Easter European Summer Time, which is UTC+3.
[14:41] <natorious> is there a preferred template engine for this project?
[14:43] <natorious> ideally something windows compatible thoughI've no clue on how windows networking works
[14:47]  * natorious finds jinja2
[14:47] <Odd_Bloke> Jinja2 would be my preference; don't know what dependencies etc. look like.
[14:50] <smatzek> the library should probably hide the engine used. I like jinja2 as well. The 'apply network to OS' part will likely need to render files and run commands, possibly even on Linux.
[16:26] <smoser> harlowja, awake ?
[16:26] <smoser> or Odd_Bloke
[16:26] <smoser> as my resident python experts
[16:27] <smoser> someone is using subprocess.check_call with timeout=
[16:27] <smoser> which ends up doing Popen.kill
[16:27] <smoser> which is SIGKILL
[16:27] <smoser> which is just not nice
[16:28] <smoser> any ideas on how to get a different signal sent or otherwise easily implement the same functionality as subprocess.check_call(timeout=)
[16:33] <Odd_Bloke> smoser: Just a heads-up, timeout= is Py3-only.
[16:33] <smoser> yeah
[16:34] <Odd_Bloke> smoser: So you may need to solve this problem anyway if this code needs to work on Python 2. :p
[16:34] <smoser> i think  https://gist.github.com/kirpit/1306188
[16:34] <smoser> this code didnt need to run py2
[16:34] <smoser> other than the shlex bit, i think that is sane
[16:35] <Odd_Bloke> smoser: https://hg.python.org/cpython/file/tip/Lib/subprocess.py#l665 is what is called under the hood.
[16:36] <Odd_Bloke> smoser: So it doesn't look like there's any way to stop it being kill'd.
[17:36] <harlowja> smoser suppp
[17:37] <harlowja> process.kill() nice, ha
[17:37] <harlowja> u can use https://review.openstack.org/#/c/218597/ :-P
[17:38] <harlowja> or at least '_try_term_then_kill' from that
[17:38] <harlowja> ha
[17:38] <harlowja> my gift to u
[17:38] <harlowja> lol
[17:42] <harlowja> i personally like the psutil approach better
[17:42] <harlowja> but up to u guys :-P
[19:36] <stanguturi> Hi everyone, I am learning the 'cloud-init' stuff. Need some assistance with the initial dev environment setup. Where can I find the latest 2.0 / 2.x development code for cloud-init, github / https://launchpad.net/cloud-init
[19:54] <harlowja> https://github.com/stackforge/cloud-init/ stanguturi
[19:55] <harlowja> 0.7.x is also a branch there (although not exactly in sync with the bzr one)
[19:55] <harlowja> smoser how goes that bzr + git turning on ;)
[19:55] <smoser> harlowja, bah
[19:55] <harlowja> press da button!!! :)
[19:55] <harlowja> pwease
[19:55] <harlowja> with sugar
[19:56] <smoser> hey stanguturi
[19:57] <smoser> harlowja, i need some sort of workaline for revno
[19:57] <smoser> revno sucks for all sorts of reasons
[19:57] <smoser> but its so nice for many others.
[19:57] <harlowja> workaline?
[19:57] <smoser> a single increasing number
[19:57] <smoser> workalike
[19:57] <harlowja> ah
[19:57] <harlowja> so that should already exist in 2.x since its using pbr
[19:57] <smoser> ?
[19:58] <harlowja> it calculates versions from git commits
[19:58] <harlowja> http://docs.openstack.org/developer/pbr/#version
[19:58] <harlowja> it should already be increasing it afaik
[20:00] <smoser> well that is neat.
[20:00] <harlowja> and then when u make a tag, pbr should lock to that tag
[20:00] <harlowja> and thats your version
[20:00] <harlowja> *signed tag
[20:00] <harlowja> sooo python setup.py --version should work as u would expect (increasing when on a branch, not increasing on a tag)
[20:00] <harlowja> ...
[20:01] <smoser> so. that sonds really neat.
[20:01] <smoser> but in 0.7 what i need is to replace 'bzr' from tools/*
[20:02] <harlowja> keep 0.7 on bzr, let it still work there (just have git+bzr launchpad read-only mode enabled or something?)
[20:02] <harlowja> and then i get openstack-infra people to drop 0.7.x on git/stackforge or something
[20:02] <harlowja> ?
[20:03] <harlowja> annnd win?
[20:03] <harlowja> lol
[20:04] <harlowja> right now on git stackforge cloud-init head
[20:04] <harlowja> $ python setup.py --version
[20:04] <harlowja> 1.9.0.dev172
[20:04] <smoser> i'm fine to swithc it really
[20:05] <harlowja> hmmm
[20:05] <harlowja> for real?
[20:05] <harlowja> i wonder why pbr picked '1.9.0'
[20:05] <harlowja> lol
[20:05] <harlowja> $ git tag
[20:05] <harlowja> 0.7.0
[20:05] <harlowja> 0.7.1
[20:05] <harlowja> 0.7.2
[20:05] <harlowja> 0.7.3
[20:05] <harlowja> 0.7.4
[20:05] <harlowja> 0.7.5
[20:05] <harlowja> 0.7.6
[20:05] <harlowja>  (the only tags)
[20:07] <harlowja> i can replace the tools/* stuff though if u are for real
[20:07] <harlowja> with josh-awesome-sauce
[20:11] <smoser> i think i'm ok with that.
[20:11] <harlowja> k
[20:11] <harlowja> pinky swear?
[20:12] <smoser> yeah.
[20:12] <smoser> so the stuff in tools
[20:12] <smoser> and then http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/trusty/cloud-init/trusty/view/head:/debian/README.source
[20:12] <smoser> (New Snapshot) there.
[20:12] <smoser> i use that wheneer i upload to ubuntu
[20:12] <smoser> probably you dont have to replace 'bzr' there.
[20:12] <harlowja> k
[20:13] <harlowja> i'll get openstack-infra to do the sync they said they would (one last final time)
[20:13] <smoser> as the packaging can still be bzr and the upstream as git
[20:13] <harlowja> since confirmed pinky swear happened
[20:13] <smoser> wait...
[20:13] <harlowja> oh
[20:13] <harlowja> k
[20:13] <smoser> i can't stop committing to bzr until i have those things fixed
[20:13] <harlowja> pinky swear still in progres
[20:13] <harlowja> oh
[20:13] <smoser> then i can
[20:13] <harlowja> kk
[20:14] <harlowja> u addicted to bzr
[20:14] <harlowja> its a drug
[20:14] <harlowja> get your fix man
[20:14] <harlowja> lol
[20:14] <harlowja> detox...
[20:14] <smoser> 6 years addicted.
[20:14] <harlowja> lol
[20:14] <smoser> before i was addicted to the git
[20:14] <smoser> and thought the bzr was silly
[20:14] <harlowja> but then u got hooked
[20:14] <smoser> but the addiction is there now. even if i still think silly.
[20:14] <harlowja> just say no to drugs man
[20:15] <harlowja> didn't u learn anything in school
[20:15] <harlowja> lol
[20:15] <harlowja> ok, so what needs to get into bzr first, lol
[20:15]  * harlowja serious-mode-enabled
[20:18] <smoser> i guess just have it ready in git that we can test.
[20:19] <harlowja> http://paste.openstack.org/show/465192/ (the handy dandy resync script)
[20:20] <harlowja> bb, foods
[21:53] <harlowja> smoser ok https://code.launchpad.net/~harlowja/cloud-init/cloud-init-git-tarball-make/+merge/271394 i think should be part of this
[21:53] <harlowja> or maybe not, ha, let me know
[21:54] <harlowja> seems to work with .git or .bzr