/srv/irclogs.ubuntu.com/2016/05/24/#cloud-init.txt

harlowjai almost feel like the above bridge stuff would be fixed by just assuming things bridge to eth0 if not provided a port iface to bridge to00:10
harlowjaor maybe bridges in openstack are something different00:12
rharperdmsimard: what's the setup?  the network_data.json you posted is an empty bridge (AFAICT);   is that a running instance?  if so, can you paste ifconfig  ?  I'd suspect that the openstack providing network_data.json is missing something13:02
cpaelzerI must admit I don't 100% understand what apt_old_mirrors is for - doc isn't telling a lot and the code neither13:16
cpaelzerI'll dig through the commit log for it, but if one knows that part as his best buddy please feel free to share :-)13:16
rharperdmsimard:  I see what's going on; thanks for the test case;13:24
smosercpaelzer, when the image is built, you can/probably-should leave apt's '/var/lib/apt/lists/' around13:26
smoserthat way, the next time someone 'apt-get update' they dont have to pull 20M or whatever it is of data that hasnt changed (the release pocket at least).13:26
cpaelzersmoser: thanks, but you are jumping to the decision - I wanted to understand what it is actually for13:26
cpaelzerother than "renaming" I don't see what it really does (by my lack of apt knowlegde about that subdir)13:27
smoserbut since cloud-init picks / writes a different mirror, then your *new* apt-get update is going to miss all that cache13:27
cpaelzerah13:27
smoserso it renames files from the old mirror name to the new mirror name13:27
smoserbut you have to know the old mirror (or at least i allowed you to configure that)13:27
cpaelzerthat makes sense, so if old/new have lot of same content it will not pull all of it then13:27
smoserprobably you could figure it all out and dtrt, or possibly it was more difficult to do that.13:28
cpaelzerI'd drop this feature (apt_old_mirror) then13:28
smoser?13:28
smoseroh. yeah, out of curtin.13:28
smoserdrop13:28
cpaelzerexactly - thanks for the explanation13:28
smoseris that waht you meant ?13:28
smoserit is useful for cloud-init still13:28
cpaelzeryep13:28
smoseralthough i admittedly don't know if it ends up being used13:29
cpaelzeroh I understand the cloud-init use case now that I understand what it really does :-)13:29
smoserthe cloud-images may actually have apt-get clean run on them13:29
cpaelzerI can tell you that the doc is rather ... nonexisting13:29
smoserthat is pointless13:29
cpaelzerit isn't even listed in examples or such13:29
smoseras anything in the release pocket is static so you should really never throw that away13:29
smoser:)13:29
smoserwell, some things aren't really made to be configured.13:29
smoserclearly documentation is good. and severlely lacking.13:30
=== sterfield_ is now known as sterfield
smoserbut that is'nt really something that a end user would be expected to configure. so its less important.13:30
smoserits just configurable rather than having a hard coded value13:30
smosercpaelzer, https://code.launchpad.net/~paelzer/cloud-init/test-apt-source/+merge/294521 has merge conflicts13:40
smoserand did you think at all about the sucky fact that curtin and cloud-init's merging algorithms differ by default ?13:41
cpaelzersmoser: I did think about the sucky fact (that sounds wrong) and decided to not overhaul any majore piece especially since it would change behaviour13:44
cpaelzersmoser: but - I added it right away in the example13:44
cpaelzersmoser: so that anybody that starts at doc/examples would be made aware that to get an equivalent mergeing he would need to set it13:45
cpaelzersmoser: merge conflicts in bzr is the same as in git - i.e. something else got merged that now conflicts - right ?13:45
smoseryeah.13:46
smoserbzr merge ../trunk13:46
smoserbzr conflicts13:46
smoserbzr resolve foo13:46
cpaelzersmoser: I'll look into it and (try to avoid) hate bzr :-) after I finished my config example for curtin13:48
cpaelzersmoser: will upload updates later on then (hoepfulyl no too complex conflicts)13:48
smosercpaelzer, fwiw, i just checked in a xenial container and the image *does* have /var/lib/apt/ populated, so that cloud-init's renaming those should result in not having apt-get update re-download static data.14:12
=== rangerpbzzzz is now known as rangerpb
cpaelzersmoser: cool will look into that, but I'd expect for curtin to only hardcode the paths then (no config option)14:28
smosercpaelzer, you can drop that from curtin if you'd like14:30
smoserit is probalby useful14:31
smoserbut a small-ish optimization compared to installing an operating system14:31
rharperdmsimard: https://code.launchpad.net/~raharper/cloud-init/trunk.network-data-bridge/+merge/29559114:43
dmsimardrharper: what do you need to know for linuxbridge ? What a network_data.json looks like with multiple networks and ports?14:45
rharperdmsimard: yeah14:45
dmsimardI can get you that.14:45
rharperand if it sets any bridge properties14:45
rharperunder the link section14:46
dmsimardWell, the json I provided is a linuxbridge environment so I'm not sure what else could be there14:46
rharpercurrently in that patch I'll copy in any keys that start with bridge;  the rackspace config I've seen had bond related stuff that I've not seen elsewhere and vlan'; but I lack a deep list of network_data.json examples from real clouds14:46
rharperdmsimard: you can set things like bridge_stp, bridge_fd, bridge_hello14:47
rharperthe most interesting would be a set of interfaces to add to the bridge14:47
dmsimardHmm, perhaps mgagne would have something for bonded networks14:47
rharperI've got a good bond example from rackspace a while back; but others are welcome14:47
dmsimardYeah Rackspace tends to do things slightly differently, it's best not to rely just on them14:48
rharpersure14:48
dmsimardI'll get you a config drive with multiple networks and ports later14:49
rharperthanks!14:50
cpaelzersmoser: once the conflicts are understood and fixed in the file - do I do bzr commit followed by bzr resolve - or will bzr resolve alone be what I want?15:56
cpaelzerdocu reads like the second15:57
smoserbzr resolve15:57
smoserand then bzr commit15:57
cpaelzersmoser: thanks15:57
cpaelzerah in the log I see now how this works (hopefully)15:58
cpaelzerit is not rebasing mine onto current upstream (like git) but adding a merge commit on top of mine so that they match again in that regard15:59
cpaelzerat least that is how it looks like and that also explains why the diff of that last commit was so big it was the delta of the merge essentially15:59
mgagnesmoser: is there anything I can do to help with bug #1577982 ?16:07
smosermgagne, i have told some people that i'll have something in yakkety by eod my friday.16:23
mgagnecool, thanks for the follow up16:25
smosermgagne, would you be able to consume a branch for me ?16:27
smoserif i send you a link ?16:27
smoser(i dont have it now, but if i point you at a bzr branch woudl you be able to test that or do you need a ppa ? or .... how can i get you to help me on this)16:28
mgagnesmoser: I don't know how to build from bzr16:28
smoserwould a ppa build be sufficent ?16:29
mgagneyes16:30
smoserok. thanks. i'llj ust ping you here when i have somethign16:30
mgagnesure, thanks!16:30
harlowjarharper yt17:06
rharperharlowja: here17:43
harlowjahey, so i was running dmsimard example openstack network json file through https://gist.github.com/harlowja/d63a36de0b405d83be9bd3222a5454a7 (updated)17:57
harlowjabut am wondering what your expected parts for bridges are17:58
rharperdmsimard was going to see about getting another example with multiple networks and such;18:05
harlowjak18:05
dmsimardyeah I haven't got around to it yet18:05
dmsimardextinguishing some fires first18:06
harlowjai can make the bond stuff work, just when i run that18:06
rharperharlowja: but what I was looking for was whether there would be additional bridge_  options set in the link18:06
harlowjahttps://gist.github.com/harlowja/358358fc41685874a12f4db809504c1918:06
rharperharlowja: I have a bond example from rackspace if you're interested18:06
harlowjahmmm, bridge doesn't have the params the network_state.py stuff seems to require18:06
harlowjamaybe shouldn't be required?18:06
rharperharlowja: I posted a MR with the fix18:06
harlowjaMR?18:06
harlowjamapreduce18:07
harlowjalol18:07
rharperbah18:07
rharperMP18:07
rharper<rharper> dmsimard: https://code.launchpad.net/~raharper/cloud-init/trunk.network-data-bridge/+merge/29559118:07
harlowjak18:07
rharperI hadn't see a network_data.json with type: bridge before18:07
dmsimardrharper: ok, getting you that network_data.json now.18:14
dmsimardrharper: eta ~40 mins or so while the environment is spawned18:15
rharperdmsimard: cool18:16
harlowjasmoser good to go with https://code.launchpad.net/~harlowja/cloud-init/cloud-init-net-refactor/+merge/293957 ?18:40
smoserwhat is usedevelop ?18:42
smoserand i can't use py26 by default.18:42
smoseras there simply isn't a py26 anywhere on ubuntu :)18:42
harlowjathat's ok :-P18:43
smoserother than 'deadsnakes'18:43
harlowjausedevelop just is a time saving thing, in that it doesn't do a full pip install of cloud-init18:43
harlowjabut uses symlinks18:43
harlowjai can remove that if needed18:43
smoserand you're using some magic for tox that is i think not available in 14.0418:43
harlowjashouldn't matter18:43
smoserthe 'py26' magic18:43
harlowja??18:43
smoserhm.. maybe not18:44
harlowjahttp://tox.readthedocs.io/en/latest/config.html#confval-usedevelop=BOOL18:44
smoserodd18:44
harlowjai can turn that off though, not that big of a deal18:44
smoseryeah, that doesnt' seem too bad.18:44
smoserbut why chage 'python -m nose' to nosetests ?18:44
smoseri think we adtually want {basepython} -m nose18:44
harlowjathink that didn't work on 2618:45
harlowjalet me double check18:45
harlowja$ python -m nose18:46
harlowja  /home/jxharlow/.venv/bin/python: nose is a package and cannot be directly executed18:46
harlowjamaybe this was something special on 2.7 + ?18:46
smoserprobably. but how did you drop the tesenv:py2618:47
harlowjakk, i can just add the special case for 2618:47
harlowjareposting in a sec18:49
harlowjaok, reposted, and py26 still work, so goodie18:57
harlowjaand 27 it seems to, so even better18:58
harlowja:-P18:58
harlowjahttps://github.com/harlowja/remote_tox (my tool for testing these on different envs)18:58
=== mfisch is now known as Guest92937
=== Guest92937 is now known as mfisch
smoserharlowja, so far in curtin we've even staye daway from xi19:21
smosersix19:21
smoserxi = 11. :)19:21
smoserharlowja, you dropped if PY26 ?19:24
smoseri'm not opposed to being *able* to run tox -e py2619:24
smoseri just cant have it in the default 'tox'19:25
smoseras then it errors because ENOINTERPRETER and you can't distinguish that as easily from ETESTFAIL19:25
harlowjasmoser  unittest2 seems to handle that all just fine for tests19:26
smoseroh. i see.19:26
harlowjaso no more need for crazy if PY26: <testcrap>19:26
harlowjawill take 26 out of default tox list19:27
smoserharlowja, some 'from cloudinit import in cmdline.py'19:33
smoserwith better quoting that might make sense.19:33
smoserharlowja, some 'from cloudinit import' in cmdline.py19:33
smoserand would we not want 'from . import' ?19:33
smoseror is that a py27 thing too19:33
harlowjajust a thing that i guess is something i've gotten used to from openstack land19:34
smoserwhat do you mean ?19:34
harlowjahttp://docs.openstack.org/developer/hacking/#imports19:34
harlowjai've always thought releative imports a little pita, i guess openstack folks do also, so ya, idk19:34
smoserwhy?19:34
harlowjaless clear i think (in my view)19:35
harlowjabut maybe its from my java days, idk19:36
harlowjalol19:36
harlowjabut if we want to just say meh, that's fine also19:37
smoserwell, if we're expecting to be able to 'export' that module so that it is free of cloud-init, then 'import cloudinit' is kind of a fail path19:37
harlowjafixed via tiny little script :-P19:38
harlowjareplace 'from cloudinit.net' --> 'from <thing>.net'19:38
harlowjacould just make that thing a lib in the first place :-P19:39
smoser:-P~19:39
* harlowja is trying to shutdown a openstack project that did this kind of copy/paste for years, lol19:40
harlowjafinally getting rid of it, lol19:40
dmsimardrharper: hai19:40
dmsimardhttps://gist.github.com/dmsimard/d5b14f5cba05307a3008315d11520e2619:40
smoserinto its own proper library ?19:40
harlowjaya19:40
dmsimardfull disk.config = https://dmsimard.com/disk.config19:40
harlowjamany proper libs19:40
dmsimardharlowja: ^ multi-network/multi-port vm19:41
harlowjathe project i'm a PTL of started off with this copy/paste junk19:41
harlowjadmsimard nice19:41
harlowjacomplex examples ftw19:41
harlowjawith bridges :-P19:41
dmsimardthat was surprisingly harder to set up than I thought, the deployment we're testing only has one network, not two19:41
dmsimardso I had to do some fiddling by hand19:41
harlowjaya, i'm hoping the sysconfig stuff i have here handles most of those19:41
harlowjacause it gets whacky real quick, lol19:42
harlowjasmoser  https://wiki.openstack.org/wiki/Oslo#Incubation19:42
harlowjalol19:42
dmsimardI'll have that dev environment for 24 hours until it self destructs (reaped by auto reprovision) so let me know if you need anything else from it19:43
harlowjakk19:43
dmsimardI think that gist and disk.config should have what you need19:44
harlowjaas many examples u can make would be sweet :-P19:44
harlowjaonce liberty is deployed where i'm at that should help also19:44
harlowjabut the more the merrirer19:44
dmsimardthat example is mitaka19:44
harlowjak19:44
rharperdmsimard: thanks!19:53
dmsimardrharper: np, like I said you have 24h if you need anything else :P19:55
rharperdmsimard: that looks fine; the MP I posted earlier parses that just fine;  I was mostly interested to see if any other bridge related parameters might get set in the "links" entries of type: bridge; they look the same here so unless you know of an Openstack that might twiddle with bridge settings like forward delay, stp or other things like that (and have a network_data.json with those values) I think we're good with th19:57
rharpere current MP to support things.19:57
rharperdmsimard: hrm, actuall, your network dump from in the guest is interesting;  why doesn't the network_data.json have a the ethernet devices listed ?19:58
harlowjaya, it almost seems like there is something missing :-P19:58
dmsimardethernet devices, like eth0 and eth1 ?19:59
harlowjaare there ethernet devices just assumed to exist19:59
harlowjaya19:59
rharperright, so I'd think we'd see bridge_interfaces = list_of_link_id's19:59
rharperdmsimard: right19:59
dmsimardI guess it's made agnostic through network0 and network119:59
harlowjaeth<magic>19:59
dmsimardbut I don't know19:59
harlowjaya, the dump of /etc/sysconfig stuff would be useful, or whatever else u got 'ifconfig'20:00
rharperthe network describes the ip network config of the link, the link is one of 'ethernet', 'bond', 'vlan', and now 'bridge'; in the vlan and bond case, the "link" indicates if it consumes other links20:00
dmsimardharlowja: that particular VM was setup through dhcp, not with your branch of cloud init or anything20:01
dmsimardbut the network_data.json and the rest of the info are relevant20:01
rharperhttp://paste.ubuntu.com/16664758/  for example this one20:02
rharperdmsimard: something did the bridge config there ; I think that's what's the interesting part20:02
dmsimardrharper: from what, the brctl output ? That's from the compute node, not the guest20:03
dmsimardthat's handled by the neutron linuxbridge agent20:03
rharperok20:03
rharperwell, I'm somewhat confused then, what does networking look like wihtin the guest that got the network_data.json  ?20:04
dmsimardlet me log in to it, sec20:04
rharpercool20:04
dmsimardrharper: what do you want to know exactly ? which files, commands, etc20:05
smoserharlowja, is it appropriate to call a static method with self.methodname ?20:06
harlowjaya20:06
harlowjait is20:06
smoserok. so you dont have to do something like self.__class__.methodname20:07
harlowjanopers20:07
harlowjasame for class methods20:07
naccsmoser: in python? it's allowed in publishe documentation, i just looked this up for the importer :)20:07
harlowjaman, gonna make me cut out six :-P20:07
rharperdmsimard: ls -al /sys/class/net and ifconfig -a would be useful ; brctl show would be useful from within in the guest20:07
rharperharlowja: hehe20:08
smoseri knew it would work, i just didn't knwo if it was bad form20:08
dmsimardrharper: there are no bridges in the guest20:11
harlowja:-/20:12
harlowjaopenstack is weird20:12
harlowjalol20:12
rharperright, I didn't think so; but the network_data.json is supposed to be exported into the guest;  it appears then like the ovs type; type bridge should be interpreted as a ethernet ... I wonder why it's emitting type bridge with it's not creating one in the gues ?20:12
rharperharlowja: I think the network_data/metadata is partially implemented20:12
harlowjapossible, https://github.com/openstack/nova/blob/master/nova/virt/netutils.py#L172 is the code for this20:13
harlowjabut ya, i'm unsure if its busted or missing stuff (especially for bridges?)20:13
dmsimardrharper: why are you expecting bridges inside the guest ?20:13
rharperthe previous example, and the rackspace one which does bonds of ethernet devices and adds vlans is functional20:13
dmsimardthe guest has eth0, that's it, there's no bridges to be had20:13
rharperdmsimard: because the linkls type is bridge, this is what the guest would get in the network_data.json20:13
harlowjadmsimard what OS ?20:14
dmsimardthe vtap is bridged on the compute node20:14
rharperie, "make me a bridge"20:14
harlowjaif its rhel, i can tell u why its not implemented :-P20:14
harlowja(cause the gist i have is that impl, lol)20:14
dmsimardthe networking on that VM wasn't setup by cloud init, it was setup by dhcp20:14
dmsimardI know, I'm the one poking you about rhel/centos support ;p20:14
rharperdmsimard: I'm aware of how the host networking and VM networks are configured;  I'm trying to understand why the network_data.json would say type: bridge when it's really just type: ethernet (aka, do dhcp on the guest ethernet device)20:14
dmsimardrharper: some guest info https://gist.github.com/dmsimard/d5b14f5cba05307a3008315d11520e26#file-guest-info-txt20:15
rharperdmsimard: right, network_data.json can be used to confer a network configuration into the guest20:15
dmsimardrharper: the network_data.json wasn't used by cloud-init to configure networking20:15
rharperie, emit a network config dynamically in the guest, it could be , run dhcp on eth0, or configure eth0 and eth1 as a bridge, etc.20:15
dmsimardso I don't know if cloud-init would have done anything20:15
rharperit does now20:15
dmsimardnot for centos :p20:15
rharperright, which we're trying to fix20:16
rharperharlowja 's branch and all20:16
dmsimardthough, I *can* spin a ubuntu vm20:16
dmsimardwith the same network config20:16
dmsimardif you'd like20:16
rharperit won't matter20:16
harlowjaya, don't try centos, ha ;)20:16
rharperthe concern is that the openstack metadata is saying the links for the guest are type bridge, which the back end of the device (bridge on the host, or tap pair) doesn't matter; the guest has a virtual nic, and it should run dhcp;  so we can either assume that type: bridge means an  ethernet device in the guest (likew do for type: ovs)20:17
rharperbah, I've got relocate bbiab20:17
dmsimardtype bridge is probably where you would see type ovs ?20:19
dmsimardso it probably just stands for "this is a linuxbridge type thing, not an ovs type thing"20:19
* dmsimard shrugs20:19
harlowjaya, so maybe the bridge isn't what we think a bridge is, lol20:21
dmsimardpretty sure it can be safely ignored20:25
larsksLet me chime in: I can tell you definitely it can be ignored.  The guest doesn't care if the underlying l2 infrastructure is using ovs, linuxbridge, or something else.  From the perspective of the guest, it's just an interface.20:26
dmsimardmore than that, the whole links part is probably not relevant20:26
dmsimardunless, I don't know, it's a baremetal use case or something like that20:26
dmsimardI don't know much of cloud-init usage beyond openstack VMs20:27
dmsimardmgagne: are ironic machines using cloud-init for the network config ? (bonding, vlan, etc)20:27
harlowjaya, there's already code that discards the various types, but weird that it exists in the first place :-P20:28
smoserdmsimard, there are20:28
smosernot trunk cloud-init at the moment, but we do hope to have that20:28
dmsimardsmoser: have what ?20:28
smoserrackspace baremetal use cloud-init and config-drive in bare metal systems for network20:29
larsksdmsimard: I think network config is via puppet.  I guess mgagne can confirm...20:29
mgagnedmsimard: yes, there is no other way around for centos7, can't read complex debian bonding config20:29
smoserbut they use out of tree.20:29
larsksOh, well, there you go.20:29
smoserwe would like to have that functional all in cloud-init proper20:29
dmsimardok, I wasn't sure if it was done by IPA or cloud-init, now we know :)20:29
mgagnewe don't use puppet in customer's instances20:29
mgagnehold on20:29
mgagnereading backlog20:29
mgagnejust to make sure I'm answering the right question20:30
smoseris mgagne rackspace ?20:30
mgagneI'm Internap20:30
mgagneor iWeb20:30
smoserJayF, woudl knwo more about the rackspace for sure.20:30
JayFYou should be careful telling people I know things20:30
mgagnewe talking about baremetal delivered to customers?20:30
JayFYou'll just lead them to disappointment :)20:31
JayFme and mgagne know each other already20:31
JayFnatorious: do you have the link to our cloud-init fork for mgagne to check out?20:31
dmsimardmgagne: I guess the question is more around.. is the "links" part of the network_data.json relevant at all -- It doesn't seem to be for guest virtual machines (since it's l2 knowledge from the compute node) but we were wondering if it was relevant for bare metal.20:31
mgagnehttps://github.com/jayofdoom/cloud-init-fedora-pkg ?20:31
dmsimardmgagne: i.e, referring a linuxbridge network_data.json from mitaka: https://gist.github.com/dmsimard/d5b14f5cba05307a3008315d11520e26#file-network_data-json20:32
JayFmgagne: no, the one we're using now is in bazaar, natorious will know where it is20:32
smoser:)20:32
smosersome day. we will be done of czr20:32
smoserbzr20:32
smoseri promise20:32
mgagnedmsimard: what specifics of links are you referring to?20:32
dmsimardmgagne: would something like bonding be represented there, for example ?20:32
natoriousits https://code.launchpad.net/~nathan-house-0/cloud-init/cloud-init20:32
natoriousthe pkg build scripts are all linked to the working bzr branch so you would want to fork it if your planning on doing distro builds20:33
mgagnehttps://bugs.launchpad.net/cloud-init/+bug/157798220:33
smoserharlowja, https://code.launchpad.net/~harlowja/cloud-init/cloud-init-fix-test-times/+merge/29485420:33
mgagnehttp://paste.openstack.org/show/498744/20:33
mgagnecontent is here20:33
smoseryou did not remove nose-timer20:33
mgagnelet me check20:34
mgagnehold on20:34
mgagneIm not sure it's the right ocntent20:34
harlowjasmoser  oh, working on it :-P20:34
mgagnenope, not the right one it seems20:34
mgagnethat's strange, I thought it was bonding20:34
mgagneok, let me get one20:35
copumpkinis it safe to move keys back and forth between userdata and cloud.cfg?20:35
copumpkinor if not, how can I make things that I would normally write in userdata happen regardless of userdata?20:35
mgagneok, issue wasn't with bonding, just ubuntu16.04, wrong bug20:36
smosermgagne, if you want see what i'm thinking: http://paste.ubuntu.com/16665427/20:38
rharperdmsimard: ok; I think we have two cases for when network_data.json is being used;  in your case; (as with the ovs case I've seen) the network metadata refers to how the computenode has configured networking;  bridge, or ovs; however, it's not currently exporting any guest configuration (though it could, for example instead of ipv4_dhcp; it could be ipv4 and emit the static ip config it wanted to assign).  I'll rework th20:43
rharpere MP to treat the type: bridge like type:ovs, which is to say that we will not attempt to assemble a bridge in the guest, rather each link of type: bridge means we have an ethernet device20:43
dmsimardrharper: mgagne gave me http://specs.openstack.org/openstack/nova-specs/specs/liberty/implemented/metadata-service-network-info.html#rest-api-impact20:43
dmsimardIt looks like a good sample20:43
rharperdmsimard: yeah, and notice it doesn't have the linuxbridge example you have20:44
mgagneand https://github.com/openstack-infra/glean/blob/master/glean/tests/fixtures/liberty/mnt/config/openstack/latest/network_info.json20:44
rharperbut I think the right of it is as I stated above;  for type: ovs and type: bridge, we merely need to translate that to ethernet interfaces in the guest (rather than attempting to assemble a device of type: X in the guest)20:44
rharpernow that's contrasted with the other types which is somewhat in conflict if network_data.json is meant to describe the guest network20:45
rharperso, I'm not 100% clear on what the right thing is if in the future we wanted to describe how to configure a bridge in the guest with the ethernet devices on the VM20:45
mgagnethere is no bridge on the guest20:46
rharperright20:46
rharperI understand that;20:46
mgagneanything related to bridge is leaked details from internal implementation on the hypervisor, not the guest20:46
rharperright; so I think the network_data.json you have should have type: phys instead of type: bridge in it20:47
rharperif we agree that network_data.json is describing guest networking20:48
smoserso that is actually leaking ?20:49
smosercopumpkin, for the fast majority of things, yes.20:49
smosersome things can't really take affect in the user-data but have to be in cloud.cfg.d20:49
dmsimardrharper: perhaps the nova developers are a better resource to better understand what goes where and why20:50
copumpkinsmoser: like the list of modules for init/config/final? :)20:50
dmsimardI don't think the network_data.json I gave you is inherently wrong20:50
smoserthe list of modules for config and final can, right? or are you reminding me of a bug, copumpkin20:50
smoserthey should be able to :-(20:50
dmsimardIt's just that the links portion is more than likely just not relevant for guest networking, although it could be for bare metal network (vlan, bonding, etc.)20:50
rharperdmsimard: well, it's ambiguous; the bridges are clearly on the host; and not part of the guest20:50
smoserso lets fix that.20:50
smoserin theory they can. in practice maybe not.20:50
harlowjasmoser ok, whenever u ready https://code.launchpad.net/~harlowja/cloud-init/cloud-init-net-refactor/+merge/293957 has mini six like module now, and using the imports that should be easier to 'extract that net folder out'20:51
dmsimardrharper: maybe it's a bug and shouldn't be exposed to guests, I don't know20:51
harlowjarharper dmsimard ya, weird stuff, lol20:51
copumpkinsmoser: oh, interesting, I didn't realize that. Is there some way to disable that?20:51
copumpkinnot reminding you of a bug, nope!20:51
rharperdmsimard: yeah from my reading of the spec; it's meant to describe networking on the "machine" executing cloud-init and fed the network_data.json20:52
harlowjaif it gets host info, that's odd lol20:52
rharperso the generator of the json shouldn't include things that aren't meant to be configured/rendered where the json is consumed;20:52
smosermgagne, http://paste.ubuntu.com/16665693/ is where i am on making those changes described in the other paste. nothing tested yet, just looking at making the changes.20:52
dmsimardtake it up to the nova guys, I have no clue :(20:53
rharperdmsimard: sure;thanks for the help20:53
smosercopumpkin, disable what ?20:53
smoserit sure would seem both broken and wrong to tell the guest what the host's networking configuration looks like20:54
smosereven if only partially20:54
rharperharlowja: I'm leaning on bug here; mostly because it's an under consumed/tested spec.20:54
copumpkinsmoser: the ability to change loaded modules on the fly. I'd like to force userdata to only use a handful of modules20:54
harlowjahttps://gist.github.com/harlowja/d63a36de0b405d83be9bd3222a5454a7 (the updated next thing after that refactor branch gets merged)20:54
harlowjarharper ya20:54
mgagneI'm not sure I'm qualified to review those changes =)20:54
smosercopumpkin, i dont think you can disable it. generally the goal is that the user-data wins.20:55
smoserthey're the ones who say waht goes.20:55
copumpkinhmm20:55
copumpkinthat's unfortunate20:55
smoserthey're the "owner"20:55
rharpersmoser: did we get our network_data.json turned on in serverstack ?20:55
mgagnedmsimard: there was a bug in earlier version where network_data.json wasn't available in the versioned path (only latest/)20:55
harlowjarharper i can send out a mail to the openstack dev list, if we can't figure out wtf is going on here :P20:55
smoserrharper, checking20:55
rharperharlowja: ok; I suppose I should join that ml20:55
harlowja(a non ambiguous network_json)20:55
copumpkinsmoser: I guess I could delete the cc_* modules I'm not using? :P20:55
harlowjarharper  if u want, ha20:55
rharperharlowja: I think the spec is pretty clear20:56
rharperharlowja: well, not really but I don't want you to have to be a proxy unless you want20:56
smoseryeah. you could. but they could put them back in :).20:56
copumpkinwhat if I took out write_file?20:56
harlowjarharper :)20:56
smosercopumpkin, its definitely never been a intended goal20:56
smoseri woudlnt be entirely opposed to having the system be able to limit things.20:57
smoserbut i've always been really focused on the other side... amking the user-data able to make me do anything i want with a system.20:57
copumpkinthe main idea would be to provide a well defined interface with a few knobs that the image maker wants tunable20:57
copumpkinand otherwise making it fairly hard to do arbitrary work on the machine20:58
copumpkinso the image maker might provide a custom cloud-init module that's enabled20:58
copumpkinand possibly a couple of the standard ones, but write_file, runcmd, and various other "arbitrary power" ones would be disabled20:58
smoserrharper, no i dont think so. you should bother openstack team20:59
smoserhttp://paste.ubuntu.com/16665816/20:59
rharpersmoser: cool!20:59
smosercopumpkin, yeah, i can see the point. but that has just never been a focus.20:59
copumpkinfair enough21:00
smoseri ahve to run.21:00
copumpkinthanks for the help!21:00
rharperharlowja: ok, I've joined; feel free to lob something out there and CC me21:01
harlowjak21:01
* rharper will attempt to not look like an fool when responding 21:02
harlowjameh, its ok if u do21:02
harlowjalol21:02
rharperhaha21:03
harlowjasmoser https://code.launchpad.net/~harlowja/cloud-init/cloud-init-fix-test-times/+merge/294854 fixed up21:08
harlowjaenjoy faster testing lol21:08
harlowjadamn retries :-P21:08
rharperharlowja: what's the net speed up there?  could you include that in the commit message21:10
* rharper likes nose timer21:10
harlowjalike u really want to know my netspeed?21:10
harlowjafast i guess?21:10
harlowjalol21:10
rharperand setupClass21:10
rharperharlowja: haha, the net speedup with the timeout=521:10
rharperversus trunk21:10
harlowjaoh21:11
rharperheheh21:11
harlowjavery good vs shitty21:11
harlowjabut sure i can get the number21:11
harlowjalol21:11
rharpercool21:11
harlowjarharper https://gist.githubusercontent.com/harlowja/b015a0751a954b043edb4206768085ec/raw/2ff148bd3c965bcbed5c1f43a532dc998d9219a7/gistfile1.txt let me know if makes sense (or i should add anything else); u can respond with additional questions i guess to (just i don't want to sound stupid in not understanding the issue, ha)21:17
harlowjaweird bridges :-P21:18
rharperharlowja: I think core  questions 1)  confirm that given link to the spec (http://specs.openstack.org/openstack/nova-specs/specs/liberty/implemented/metadata-service-network-info.html#rest-api-impact)  that the info in the network_data.json represents *guest* network config (either baremetal for ironic, or a VM)21:18
harlowjak21:19
rharperif (1) is true; then the example you present is leaking *host* network config21:19
harlowjaok, u want to followup with those questions ;)21:19
rharpersure21:19
harlowjakk21:19
harlowjarharper  http://lists.openstack.org/pipermail/openstack-dev/2016-May/095835.html sent, will look for followup, tag team emails21:21
harlowjalol21:21
rharperk21:21
harlowjamaybe br == phy and they just want the bridge flag set (in sysconfig terms)21:21
harlowjanot quite sure :-P21:21
harlowjahttps://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s2-networkscripts-interfaces_network-bridge.html21:22
harlowjanot sure what the equivalent is in ubuntu21:22
rharperharlowja: I think it's just under implemented; it clearly could have used the type: phys21:23
rharperand the ironic use-case would have used type: bridge to mean, make a bridge21:23
harlowjaya, perhaps21:24
harlowjaalso put times on https://code.launchpad.net/~harlowja/cloud-init/cloud-init-fix-test-times/+merge/29485421:24
harlowja12.376s vs 1m12s21:24
harlowja;-P21:24
harlowja:-P21:24
rharper\o/21:24
harlowjaha21:24
rharperdata-driven commits!21:24
rharperhow can smoser say no now!21:24
harlowjai'll find smoser if he says no21:25
harlowjain his basement21:25
harlowjalol21:25
rharperhehe21:29
rharperrelocating, bbiab21:32
harlowjak21:36
=== rangerpb is now known as rangerpbzzzz
harlowjarharper have u seen https://github.com/openstack-infra/glean/blob/master/glean/cmd.py#L34422:44
harlowjaanother renderer of this stuffs22:44
rharperharlowja: looking22:49
rharperharlowja: also; we may want to employ a version'ed converter if this type: bridge and type: ovs are bugs;  in current version or older, we can translate those thoes to type: physical for the network-config yaml22:50
harlowjaya22:50
rharperharlowja: that looks like a subset of our eni writer22:51
harlowjaya, cough cough library22:51
harlowjathat all can share22:51
harlowjacough cough22:51
harlowjalol22:51
harlowjarharper if that refactor goes in, shouldn't be to hard to make the openstack converter versioned to handle that kind of crap23:10
smoserharlowja, the other slow test is ec223:20
smoserand i think its just wrong logic23:20
harlowjahmmm, could be23:20
smosertest_userdata_fetch_fail_server_not_found is the test23:21
harlowjamight be another one that is retrying23:21
smoseri think the return of _skip_retry_on_codes is just wrong23:21
harlowjaah, could be that to23:21
smoserits supposed to say that 404 on user-data is ok.23:21
smoser(and should not be retried)23:21
harlowjawho made that crap, lol23:21
smoserhttp://paste.ubuntu.com/16668369/23:22
smoserthat makes it faster23:22
smoserand faster always means better23:22
smoserright?23:22
harlowjayup23:22
harlowjalol23:22
harlowjadelete all the code23:22
harlowjalol23:22
smoserthen the other only slow one is test_seed_runs23:23
smoserwhich does for i in range(1, 50)23:23
smoser   for j in range (1, 50)23:23
smosermakes a bunch of dictionaries (2500)23:25
harlowjau trying to remove the speedup loop23:25
harlowjalol23:25
smoserso now http://paste.ubuntu.com/16668426/ and we're down to 2.6 seconds here locally. with the longgest one still being test_seed_runs23:25
harlowjacool23:26
harlowjabtw smoser i think the shade guys would be up for considering using a tiny-lib of this net stuff ;)23:34
smosershade guys ?23:34
harlowjasorry i mean glean23:34
harlowjathat other cloud-init thingy23:34
harlowjathe majority of https://github.com/openstack-infra/glean/blob/master/glean/cmd.py  is networking_json stuff23:35
harlowjahttps://github.com/openstack-infra/glean/blob/master/glean/cmd.py#L701 ...23:35
harlowjaand looks like that handles (to some degree) sysconfig, eni, gentoo ?23:35
smoser./tools/export-net --toplevel=curtin | tar -C ~/your-project -xf -23:36
harlowjaya ya, they don't want to vendor though i think23:36
harlowjawhich is what that would be23:37
smoseryeah23:37
harlowjabut they might be up for using a tiny-lib23:38
harlowjaor that's what i hear :-P23:38
harlowjasoooo how bout that23:45
harlowjalol23:45

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