/srv/irclogs.ubuntu.com/2014/08/26/#cloud-init.txt

harlowjaJayF hey, thanks, that should be a simple adjustment i think00:12
JayFYeah, I have an idea of what needs to be done. Haven't made much progress today other than reading the CLA :( and going to learn how to bzr00:13
harlowjaya, good ole bzr 00:13
harlowjasmoser when we moving to git ;)00:13
smoserJayF, thats great. there are some outright bugs in it that i want to fix in short order, and get them back to 14.04 also.00:59
smoserso help is definitely welcome.00:59
smoserJayF, bzr is roughly equivalent really.00:59
smoserbar branch lp:cloud-init trunk00:59
smosercd trunk00:59
smoserbzr commit -m "foo"00:59
smoserbzr push lp:~jayf/cloud-init/my-fixes00:59
smoserthere is some doc in the tree that shows basically that work flow.00:59
=== harlowja is now known as harlowja_away
=== harlowja_away is now known as harlowja
=== praneshp_ is now known as praneshp
=== harlowja is now known as harlowja_away
=== zz_gondoi is now known as gondoi
smoserharlowja_away, or harmw do you have any icehouse clouds up that have latest stable release ?13:49
smoseror juno 13:49
smoserhttps://bugs.launchpad.net/nova/+bug/136135713:50
harmwIm running icehouse, yes13:56
harmwdon't know if I'm suffering from that though, since my cloud sucks :p13:59
harmwhm, I did notice it took ages to crawl the metadata.. just didn't think much of it at the time14:19
harmwIll see if I can look/confirm this tonight when I'm done here at $work14:19
smoserharmw, i'm not sure i'm right. but something recently in our upgrade from 2014.1.1 to 2014.1.2 regressed that bad.14:39
smoseri really hate pypi. tried to run devstack, and transient failures related to 14:39
smoserDistributionNotFound: No distributions at all found for xstatic-rickshaw>=1.4.6.2 (from horizon==2014.2.0.dev366.g987c83a)14:39
=== kwadrona1t is now known as kwadronaut
=== harlowja_away is now known as harlowja
harlowjasmoser think there is icehouse somewhere, although we don't use the metadata service :-P17:17
smoserwell you smell17:19
harlowjalol17:19
harmwah, I was wondering who's responsible for murdering my nose17:22
harmwthat explains it17:22
smoserharlowja, ba.17:43
harlowja??17:43
harlowjai didn't do it, lol17:43
smoserpretty sure read_metadata_service is double loading everything it loads17:44
harmwinstant backup! +117:44
harlowjaya, instant backup17:45
harlowjawhat if the bits get corrupted man17:45
harmwthe horror17:45
harlowjaexactly, i save u17:45
smoserthank you harlowja 17:45
harlowjanp17:46
harlowjanp17:46
smoser:)17:46
smoseryou're redundant on read *and* write17:46
smoserman. thats good.17:46
harlowjalol17:46
harmwsmoser: I wnt cirros/ci to print MTU values some day, agreed?17:55
smoserok. 17:58
=== gondoi is now known as zz_gondoi
JayFsmoser: just now getting around to seeing your messages, so there's no step to change branches before the commit with bzr? the only thing that makes a 'branch' (as I'd call it in git) is when you push your commits to another remote ref?18:09
JayFsmoser: sorry if I'm mixing the terms :)18:09
harmwsmoser: checkout my re.compile goodness :>18:11
harmwI wonder who ever wrote test_generic.py18:18
JayFShould I expect tests to pass against master? make test pylint pep8 as the hacking.rst file says to do shows a ton of failures18:22
JayFit looks like there may be some unmocked stuff expecting certain physical attributes (like there's a test that appears to be running blkid, unmocked)18:22
JayFHmm. even just pylint/pep8 isn't passing...18:24
JayFsmoser: assuming you'd accept a pair of commits to fix pep8 and pylint?18:27
smoserJayF, pylint just sucks.18:31
smoserpep8 does too really.18:31
smoseri really, really hate that they arbitrarily change what they think is good.18:31
smoserat one point (precise) ./tools/run-pep8 and ./tools/run-pylint preduced no warnings18:32
JayFthere are ways to ignore checks you don't like, or opt into only certain ones18:32
smoseryeah, but they change the defaults18:32
smoserand add new crap18:32
smoserand make it the default18:32
JayFthe issues I've seen all seem fairly reasonable so far, but that's all opinion18:32
smoserbut i'm open to anything that gets a static check across pretty much any distro18:33
smoseri'd love that.18:33
JayFSo does that mean the answer is no you wouldn't or yes you would but you wouldn't reccomend trying18:33
JayFb/c I'm already about a third of the way through, haha18:33
smoseryes, i'd take that, and very happily if you told me that it wasn't going to start having new things complain in 6 months18:33
smoserjust because18:33
smoser(and i'm ok to ditch pylint too)18:34
smoserit seems pyflakes is much more popular18:34
JayFI'll make pep8 pass as it sits on my box, remove pylint from the Makefile and the hacking.rst, and that should be a reasonable starT?18:34
smosersure. what is your pep8 version?18:34
smoseri've 1.5.618:35
JayF$ pep8 --version18:35
JayF1.5.718:35
JayFfreshly installed in my venv using pip18:35
JayFthat might actually be a way to get static results. lock the version of pep818:35
JayFthat way you bump the version, you also fix pep8 issues created by bumping version (or make pep8 can ignore the new ones)18:35
harmwsmoser: 18:46
harmwAssertionError: '/etc/rc.conf' not in {'/etc/resolv.conf': <tests.unittests.test_distros.test_netconfig.WriteBuffer object at 0x807298a10>}18:46
harmwthat's what I got on that netconfig test18:46
smoserJayF, yeah. i agree. peip and venv is a solution.18:48
JayFsmoser: https://code.launchpad.net/~jason-oldos/cloud-init/pep8-fixed/+merge/232289 how does that look? Pretty sure I bzr'd correctly :)18:56
harlowjasmoser where did u see the double-read?19:00
harlowjain loading openstack metadata?19:00
smoserharlowja, i htink is it basically does a full get in a stat19:02
smoserfor does_exist.19:02
smoserlet me find19:02
harlowjakk19:02
harlowjahmmm19:02
smoseryeah, i'm pretty sure that _path_exists19:02
smoseris doing a get19:02
smoserand throwing away 19:02
harlowjahmmm19:03
harlowjaya, i believe thats cause openstack doesn't support head requests for the metadata service, at least i think thats true from what i remeber19:04
smoserright. maybe we just need to cheat and re-use or something?19:04
smoserhonestly, i am only aware of this because something is bad wrong19:04
smoserin openstack19:04
harlowjabad wrong in openstack19:05
harlowjahaha19:05
smoseron ec2, you crawl the whole datasource in 0.07 seconds19:05
harlowjasmoser sure, i can add re-use in19:05
smoserin openstack, each get causes you ~.5 or something19:05
harlowjalol19:05
harlowja:-/19:05
smoserwhich is clearly stupid19:05
harlowjadef19:05
harlowjaclearly something19:05
harlowjalol19:05
harlowjabrb19:06
harlowjaalright smoser  adding caching19:09
harlowjahow can openstack metadata take 0.5 sec per request :-/19:09
smoserJayF, i'll take that MP for sure. but i need you to sign the contributors agreement.19:29
JayFsmoser: just did19:29
JayFliterally about 60s ago finished it19:29
JayFhad the tab open since yetserday19:29
smoseryou put my name on contact ?19:29
JayF'smoser / cloud-init' is what I put in that field19:29
smoserdeal. thanks.19:30
JayFbecause I wasn't exactly sure what it wanted :)19:30
smosergood enough.19:30
JayFso if you're OK with that, I'm going to do my other changes based on that branch to ensure I don't break pep8 again :)19:31
JayFthis will be the fixes for upgrading the configdrive version + parsing vendor_data.json properly19:31
harlowjasmoser https://code.launchpad.net/~harlowja/cloud-init/os-caching/+merge/23230319:42
JayFIt worries me a little that I wrote https://code.launchpad.net/~jason-oldos/cloud-init/upgrade-configdrive and it didn't break tests19:47
JayFheh19:47
harlowjadeep breaths 19:49
harlowjathou shall not worry19:49
JayFhttps://code.launchpad.net/~jason-oldos/cloud-init/upgrade-configdrive/+merge/232308 19:50
JayFharlowja: Your name is /very/ familiar to me. Have we worked together on anything before?19:50
harlowjaunsure19:50
harlowjalol19:50
harlowjaJayF where are u from :-P19:50
JayFI'm thinking opscode/chef?19:50
harlowjanegative19:50
JayFI work on rackspace.com/onmetal / Openstack Ironic19:51
JayFbefore that did devops for a slew of different Rackspace products19:51
JayFI used to be JasonF on IRC19:51
harlowjakk, might have seen u before then, i was the one of the yahoo hosts of the midcycle meetup at yahoo before this19:51
harlowjabefore the last meetup19:51
harlowjaif u went to that one, u had to sign in with me, haha19:51
harlowjagatekeeper harlow19:51
harlowjalol19:51
harlowjaJayF the code that mocks is @ http://bazaar.launchpad.net/~cloud-init-dev/cloud-init/trunk/view/head:/tests/unittests/test_datasource/test_openstack.py#L83 ; from what i remember we aren't simulating a full version compliant metadata service, but if u want to make that better, feel free19:52
JayFAha! Totally where I know you from then. That's the first meetup we were at, when 'teeth-agent' became 'ironic-python-agent' in Sunnyvale19:52
JayFWell that's for metadata service19:52
JayFI'm working on ConfigDrive19:52
harlowjasame thing19:52
JayFwe don't run a metadata service (slow or otherwise)19:52
harlowja:-P19:52
JayFhmm. I will look and see if I can make those tests better19:52
harlowjahttp://bazaar.launchpad.net/~cloud-init-dev/cloud-init/trunk/view/head:/tests/unittests/test_datasource/test_configdrive.py#L67 then19:53
harlowjathey both use the same code, just read from different places19:53
JayFI wonder if there's a similar patch to mine for the metadata service19:53
harlowjaone http:// the other file://19:53
JayFto add support for the newer version of data and the vendor_data.json19:54
harlowjanot afaik19:54
harlowjai haven't made one, ha19:54
JayFwell what I'm saying is, one might be needed19:54
JayFI just don't have a great way to test it19:54
harlowjagotcha19:54
harlowjacould be19:54
harlowjabtw, i'm interested why doesn't the onmetal stuff use the metadata service?19:55
smoserJayF, merging that soon. i did a bunch more cleanup of pylint remnants19:55
harlowjaisn't config-drive much harder to make work on baremetal ?19:55
harlowjaif u can share....19:55
JayFMetadata service in the real world is not easy for $network_reasons19:57
JayFI don't understand them all specifically, but smart people assure me it's difficult19:57
harlowjaright, sure19:57
JayFfor configdrive, we patched cloud-init a while back to not exclude partitions when looking for configdrive19:58
JayFso we just write down an iso partition at the end of the disk that is properly labelled and contains a configdrive19:58
JayFand that's been working golden19:58
harlowjaah19:58
harlowjais that gonna be the way that most people using ironic do it?19:58
harlowjaor just onmetal folks19:58
JayFIt's the only way IPA supports right now19:58
JayFand that's upstreamed19:58
JayFwell, wait19:58
JayFI don't know if IPA + configdrive is upstreamed19:59
JayFbecause lots of features blocked on getting the ironic-nova driver in19:59
JayFwe have a stack of things running in OnMetal that will land quickly when K opens19:59
JayFconfigdrive, long-running-agents, decom19:59
harlowjacool19:59
JayFwhat I'm working on with cloud-init is support for the new proposed nova-neutron JSON file with networking information19:59
harlowjagotcha, ya, sounds faimilar20:00
JayFwe have a local patch (https://github.com/pquerna/cloud-init/pull/1) that we're using to build configs20:00
JayFbecause bonding with vlans on top isn't supported in cloud-init yet...20:00
JayFso my hope is that you guys will let us upstream this version, that uses network info opportunistically if it's in vendor_data.json20:00
JayFand hopefully when K releases, and the 'real' JSON support lands, we'll port the stuff we're doing over to the proper upstream openstack format20:01
JayFI'd strongly prefer us not have to hold patches, on cloud-init especially :)20:01
harlowjacool20:01
harlowjaJayF https://review.openstack.org/#/c/85673 u saw that i hope?20:03
harlowja^ was a way to make the openstack network info less ubuntu-like20:03
harlowjaand other stuff20:04
harlowjanot sure if that one got superseded or died or other20:04
JayFJosh sits across from me :)20:05
harlowjakk20:05
JayFhe wrote our vendor_data.json patch that writes, basically that exact info, out to our vendor_data.json20:05
harlowjacool20:05
JayFwe're using it right now with any onmetal images other than debian20:05
JayFand works really well20:05
harlowjanice so plan is to still have https://review.openstack.org/#/c/85673 someday20:06
JayFin K20:06
harlowjaby 205020:06
harlowjaah20:06
harlowjakk20:06
harlowjaless than 2050 then20:06
JayFyeah, so I'd *really* like to get our patches integrated with you guys even before then20:06
JayFjust looking for that format under a key in vendor_data.json20:06
JayFthen when the 'real' support is finalized, we can integrate that into the configdrive bits and go use it20:07
JayFI figure y'all will be quite glad to not have the /etc/network/interfaces file as a pseudo-api anymore?20:07
harlowja+1 from me, ha20:07
smoserharmw, around ?20:09
smosercan we fix your test failure ?20:09
smoserharlowja, what do you think about htat cache ?20:11
smoseri can see caching being a pain at some point.20:11
smoserif the files in /files/ are big20:11
JayFI personally have seen people inject, using cloud-init, full rpms (of cloud-init, actually, it's pretty insane and recursive)20:12
JoshNanggah i hope the network json spec gets merged before 205020:12
harlowjawtf20:12
harlowjalol20:12
smoserwell, the goal is to be able to do such silly things.20:12
harlowjaok, i can reduce it to an existence cache only20:12
smoserwell, then we'd pull it again.20:13
smoserwhich would be what i was annoyed by20:13
smoseri'm just asking.. do you think its worth it.20:13
harlowjaah20:13
smoserreally we need to fix the MD20:13
smoserto not suck20:13
harlowjaya, i'd rather be able to like use a HEAD request :-P20:13
harlowjaas far as worth it, hmm20:15
harlowjasmoser other option is to have the cache exist say in /var/lib/cloud/data/cache 20:17
harlowjaand when a item is read, write it there and first check there20:18
JayFharlowja: -120:18
harlowjak20:18
JayFharlowja: what about diskless nodes?20:18
JayFthat may only have a small ramdisk for writable /20:18
smoserharlowja, yeah, thats true.20:18
smoserthat would seem not insane. 20:18
harlowjaexcept for the i only have a floppy as a disk node20:18
harlowja1.44 mb ftw20:18
smoserhm.. i dont know.20:18
harlowjaor fix the os metadata service to actually respond to head requests20:19
JayFWhy not do the optimization where it belongs? File a bug in Openstack to get HEAD added to metadata service, and a bug about how freakin' slow it is, then let them get faster instead of oyu :)20:19
harlowjaand then i can see if i can find the code that i had that used that before i found out it didn't exist, lol20:19
smoserJayF, well, it should be reasonably quick20:19
JayFshould is a funny word :)20:20
smoserit does cache and hold the cache20:20
smoserhttps://bugs.launchpad.net/nova/+bug/136135720:20
smoserbut something seriously regressed recently.20:20
harlowjakk, u opened one, thx smoser 20:20
smoser(my diagnosis in the summary is wrong, but on that same cloud before upgrade  my small amount of logs still show 3 seconds and such to crawl the MD)20:20
smoseri dont know that head is all that big of a deal really.20:21
smoserharlowja, what are we using 'exists' for ?20:21
smoseri think the MD is fairly well designed to list what is in it from the entry point20:21
smoserright?20:21
harlowjaso a couple things, checking version support20:22
harlowjaand then checking files exist before reading (Required or not)20:22
harlowjai can probably cut some of these out though20:22
harlowjalet me give that a shot20:23
smoserthe version support is listed20:24
smoserit takes a query20:24
smoserbut that list of versions should be returned20:24
harlowjak, let me see if i can optimize a few of these away20:27
JayFhttps://code.launchpad.net/~jason-oldos/cloud-init/upgrade-configdrive/+merge/232312 should be good to go, I'll look at improving tests but I'll do that in another merge req since this one still passes tests :x20:33
smoserJayF, that is wrong .. 20:35
smoser+ # TODO(pquerna): this is so wrong.20:35
smoserlets fix that a differet way.20:35
JayFheh :)20:35
JayFHow do you suggest?20:36
smoserread it in as a string and keep the string.20:36
JayFI left it be for now because I can assure you that vendor_data.json parsing works with it as written (primarily because we're using it, right now)20:36
JayFhm. is there an equivalent to git commit --amend in bzr? or how to edit a commit?20:37
smoserits just a different mentality.20:38
smoseryou dont.20:38
smoseryou fix it20:38
smoserand commit20:38
smoseryou could if you wanted 'bzr uncommit'20:38
smoserand bzr commit 20:38
smoserwith the same message (and i do do that)20:38
JayFyou'd prefer keep the intermediate commit or uncommit/recommit?20:38
JayFI don't care, you tell me :)20:39
harlowjasmoser alright, https://code.launchpad.net/~harlowja/cloud-init/smart-read/+merge/23231620:43
harlowjacheck that out, bb, food20:43
smoserJayF, i'm fine with either way really.20:52
smoser(network back)20:52
smoserbzr just more accepts that humans make mistakes and does not expect you to try to hide them.20:52
smoserthen, you merge in and have a merge commit and all that history stays around.20:52
JayFsmoser: Well, git workflows differ :) I squash now primarily because openstack/gerrit insist upon it20:53
JayFfor bzr and cloud-init I'll do w/e else20:53
smoseryes, i know.20:53
JayFsmoser: trying to grok what you meant by "read it in as a string and keep the string."20:53
JayFsmoser: you want me to parse self.vendordata_raw somewhere else?20:53
smoserlet me lok20:53
JayFiirc pq said when he did it before, it was assumed to be yaml and caused tracebacks20:54
JayFbut at this point I'm still mainly porting our patch so I know less about it than I should20:54
smoserJayF, start here20:56
smoser http://paste.ubuntu.com/8153171/20:56
smoserthen fix up the other code to not expect a dict there.20:56
smoserhm..20:57
smoserit is .json. so its clearly json20:57
=== zz_gondoi is now known as gondoi
JayFyeah, I don't get why there's any value in parsing it later when it's explicitly a json file20:57
smoserJayF, can we just do20:59
smoserits always a dict, right?21:00
smoserso at https://code.launchpad.net/~jason-oldos/cloud-init/upgrade-configdrive/+merge/23231221:00
smoserline 13 is pointless check21:00
smoserso then can we just do:21:00
smoserif 'cloud-init' in vd:21:00
JayFI don't know if it's always a dict or not21:00
smoser self.vendordata_raw = vd['cloud-init']21:00
JayFor let me correct21:00
JayFI don't know the object results.get('vendor_data') is returning21:01
smoserah. ok. yeah.21:01
smoserhm..21:01
smoserwell, its the json.load()21:01
smoserright21:01
smoser?21:01
smosererr.. load_json21:01
smoseri'm sorry21:02
smoseri have to run. i will be in tomorrow and we can sort this out more.21:02
JayFI'll dig in and clean it up21:02
=== harlowja is now known as harlowja_away
=== harlowja_away is now known as harlowja
JayFsmoser: rfr -> https://code.launchpad.net/~jason-oldos/cloud-init/upgrade-configdrive/+merge/23231222:16
=== praneshp_ is now known as praneshp
=== gondoi is now known as zz_gondoi

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!