=== rcj` is now known as rcj | ||
=== praneshp_ is now known as praneshp | ||
=== harlowja is now known as harlowja_away | ||
harmw | harlowja_away: I'm looking over netutils.py again, and isn't Nova just by design skipping the network_template stuff when it's dealing with a dhcp'ed network? | 11:41 |
---|---|---|
smoser | harmw, that may well be how it works. | 13:08 |
smoser | i have never succeeded in getting a template available in config drive :) | 13:08 |
smoser | its definitely something that needs work. | 13:08 |
harmw | yea, well | 13:08 |
smoser | i really hope to fix openstack and cloud-init to do sane things | 13:08 |
harmw | I hope to get a better look at things tonight | 13:08 |
harmw | and that'll could very well result in a bugreport | 13:10 |
harmw | not that it is a true bug, but given how it currently looks it should just do what I want - not what someone decided it 'should probably do in this or that situation' | 13:11 |
glev | Hello, I have a question about fs_setup. Does it need to be entered under the cloud configmodules section in cloud.cfg to be used in my user-data cloud-config file? | 14:07 |
glev | It appears cc.disk_setup is the appropriate module, but it doesnt seem to work. Where is this all documented? The documentation I find shows configuration examples, but they don't work for my CentOS instance. The log seems to not provide much useful information. | 15:03 |
glev | Am I in the correct place for cloud-init project related information? | 15:14 |
=== zz_gondoi is now known as gondoi | ||
=== gondoi is now known as zz_gondoi | ||
=== zz_gondoi is now known as gondoi | ||
=== gondoi is now known as zz_gondoi | ||
=== zz_gondoi is now known as gondoi | ||
harmw | harlowja: ping | 18:38 |
harlowja | harmw pong | 18:38 |
harmw | wow | 18:38 |
harlowja | ping pong | 18:38 |
harmw | I which everything was so low-latency | 18:38 |
gholms | Heh | 18:39 |
harlowja | well u can't play ping pong at high latency | 18:39 |
harlowja | it doesn't work out so well | 18:39 |
harmw | true, true | 18:39 |
harmw | listen, I'm checking out netinfo.py in nova | 18:39 |
harlowja | kk | 18:39 |
harmw | return template.render({'interfaces': nets, 'use_ipv6': ipv6_is_available}) | 18:39 |
harmw | that should print the template with everything substituted | 18:40 |
harlowja | right | 18:40 |
harmw | but it doesn't | 18:40 |
harmw | it just prints the original template | 18:40 |
harlowja | is there anyway u can add in a print before/after the render? | 18:40 |
harlowja | and the variables to | 18:40 |
harlowja | maybe this is a juno bug :-/ | 18:41 |
harmw | (im on icehouse) | 18:41 |
harlowja | oh | 18:41 |
harlowja | can u add those prints anyway | 18:41 |
harmw | ofc | 18:41 |
harmw | in build_template i've added print of very function (template.render()) | 18:42 |
harmw | which just prints out the original template | 18:42 |
harmw | with the nasty literal $ signs | 18:42 |
harmw | the net_info that is set on L136 contains proper values | 18:43 |
harmw | eg. this works: LOG.debug("NET_INFO: eth%s %s %s %s %s", ifc_num, address, netmask, gateway, dns) | 18:43 |
harmw | and this prins the original template: LOG.debug("OK, got template with contents: %s" % template.render({'interfaces': nets, 'use_ipv6': ipv6_is_available})) | 18:43 |
harmw | this jinja2 stuff is way to complex for me :P | 18:44 |
harmw | (btw, I hacked away 2 continue statements to make it this far) | 18:45 |
harmw | nets[0]: {'broadcast': '192.168.168.255', 'netmask': '255.255.255.0', 'gateway_v6': '', 'name': 'eth0', 'dns': u'212.54.35.25', 'address': u'192.168.168.66', 'gateway': u'192.168.168.1', 'netmask_v6': None, 'address_v6': None} | 19:02 |
harmw | so thats good | 19:02 |
smoser | JayF, in thinking about netowrking and cloud-init | 19:40 |
smoser | and that netowkring config. | 19:40 |
smoser | i think i'd like some bit of info that says "block boot on this adapter" | 19:40 |
smoser | or something like that | 19:40 |
JayF | that info comes from neutron atm | 19:41 |
JayF | idk if there's a way to link that in, but I'd make a comment on the blueprint if you have desires | 19:41 |
smoser | i'm saying the new format. | 19:41 |
smoser | i realize the information comes from nuetron | 19:41 |
smoser | the reason being, if cloud-init gets this info on a config drive. | 19:42 |
smoser | its going to configure networking. | 19:42 |
smoser | but then it should not let user code run until sane bits of netwoork are up. | 19:42 |
smoser | hm.. | 19:42 |
JayF | who is to decide what is a sane amount of network? | 19:42 |
JayF | I'm always careful about that | 19:43 |
smoser | right. | 19:43 |
JayF | bceause in our cloud, at least, you can spin up boxes in 100% private networks | 19:43 |
smoser | its non-trivial | 19:43 |
JayF | so we can't depend on things for the general case that require internet to exist | 19:43 |
smoser | so heres the thing i was thinking about. | 19:43 |
smoser | system boots. reads some network from config drive. | 19:43 |
smoser | user hotplugs network device | 19:43 |
smoser | cloud-init reads config from MD server for that device and configures it. | 19:44 |
smoser | should cloud-init block the next boot on presense of that device ? | 19:44 |
JayF | I don't know about that specific scenario | 19:45 |
JayF | but I'd say cloud-init should do as much as it can regardless of some failures | 19:45 |
JayF | (and then give me a way as a developer to instead have it throw a hissy fit, aka exception, if something breaks) | 19:45 |
smoser | theres a difference between failure | 19:45 |
smoser | and "hasnt hotplugged yet" | 19:45 |
JayF | Ah | 19:45 |
smoser | and no real way to know the difference | 19:46 |
JayF | Yeah, IDK about those cases | 19:46 |
JayF | because I don't hotplug things :) | 19:46 |
JayF | atm at least | 19:46 |
smoser | right. | 19:46 |
smoser | so vm, neutron hotplug the thing. | 19:46 |
smoser | on reboot, i dont know if i should expect that nic or not. | 19:46 |
smoser | and dont know if i've missed an event that would have pulled it from my config. | 19:47 |
smoser | ie, missed the hotplug remove during the reboot. | 19:47 |
JayF | this is why in the model I proposed for event-driven changes | 19:47 |
JayF | that you just pass the event and the updated data and say "make it right" | 19:47 |
JayF | you can't manage this as a certain number of steps to perform in order every time imo | 19:47 |
JayF | you have to just take the data you're given and do a thing with it, and if, for instance, that data references a network drive that the hypervisor didn't hook up, or that the OS image didn't wait to be ready before cloud-init runs | 19:48 |
JayF | then that can't be a cloud-init problem, it's an environmental problem | 19:48 |
smoser | hm. | 19:48 |
smoser | thats a good point. | 19:49 |
smoser | but then makes the data on config-drive possibly stale. | 19:49 |
JayF | yes | 19:50 |
smoser | and at that point in boot, before a network is available to the MD thats all i have. | 19:50 |
JayF | I mean, should we support a mix of sources generally? Do we? | 19:50 |
JayF | ooooooooh. | 19:50 |
smoser | so if data on config drive had 'required' or not. | 19:50 |
smoser | then i could block until all required. | 19:50 |
smoser | and just "never unplug stuff that is required" rule. | 19:50 |
smoser | and then once required are up i can hit MD and get updated info | 19:51 |
JayF | Yeah I'm not sure I have a good informed opinion on this, and I have other stuff I need to finish this week, but I'm going to let that bake for a while and think about it | 19:51 |
smoser | :) | 19:51 |
smoser | this was bout all the time i could spend on this now too | 19:52 |
smoser | i'll comment in gerrit | 19:52 |
harlowja | harmw so it seems like the template is getting populated then right? | 20:07 |
harmw | it's beeing read just fine, but nothing gets replaced inside... so the original template is copied with any specifics in to the configdrive | 20:08 |
harlowja | ya, thats totally weird | 20:09 |
harmw | what else is new :P | 20:09 |
harlowja | is it possible to open a nova bug for this, it seems like someting is wrong ;) | 20:09 |
harlowja | although i'm not sure why y! hasn't seen it since we run that code | 20:09 |
harlowja | and are running icehouse | 20:09 |
harlowja | so that part doesn't quite make sense, ha | 20:10 |
harmw | haha | 20:10 |
harmw | template.render(nets[0]) | 20:11 |
harmw | that still produces the original template :| | 20:11 |
harmw | I don't get it | 20:11 |
harlowja | that should run via https://github.com/openstack/nova/blob/stable/icehouse/nova/virt/netutils.py#L150 right? | 20:11 |
* JayF suspects requirements differences | 20:12 | |
harmw | yup | 20:12 |
harmw | JayF: I'm growing a feeling in that direction as well | 20:12 |
harlowja | but jinja2 not processing variables would be like a bad bug, ha | 20:12 |
harlowja | or not processing in the same manner, lol | 20:12 |
harmw | indeed, so I'm doubting my own setup as well :p | 20:12 |
harlowja | can u dump 'nets' and such, then try to load the template in a smaller script that uses your own code, try to replace nets in that code instead? | 20:13 |
harlowja | just to cause the same failure | 20:13 |
harmw | already trying something like that | 20:14 |
harlowja | hmmm, and your template is https://github.com/openstack/nova/blob/stable/icehouse/nova/virt/interfaces.template right? | 20:14 |
harmw | oh my | 20:14 |
harmw | no | 20:14 |
harmw | nowhere near | 20:14 |
harlowja | hmmm | 20:14 |
harlowja | that might be it | 20:14 |
harmw | uhu | 20:15 |
harlowja | it seems https://github.com/openstack/nova/commit/fa0d61084e50 changed cheetah -> jinja2 | 20:15 |
harmw | I'm reading the vars in the template should be {{ bla }} as well | 20:15 |
harlowja | did RDO forget to pickup that file :-/ | 20:15 |
harmw | which is merely a $bla in my template | 20:15 |
harlowja | ya, thats cheetah syntax :( | 20:15 |
harmw | ah! | 20:15 |
harlowja | so ya, that would be an issue ;) | 20:15 |
harlowja | u used RDO? | 20:16 |
harmw | ofcourse | 20:16 |
harmw | centos6 + rdo icehouse | 20:16 |
harlowja | ah, ya, rdo packagign bug i think | 20:16 |
harlowja | wonder if thats been reported | 20:16 |
harmw | # rpm -qf /usr/share/nova/interfaces.template | 20:16 |
harmw | openstack-nova-common-2014.1.2-1.el6.noarch | 20:16 |
harmw | though thats the old file | 20:17 |
harlowja | ya, i bet they forgot to update it or something | 20:17 |
harlowja | *they being RH | 20:17 |
harmw | uhu | 20:17 |
harmw | you know where their bugzilla is at? | 20:17 |
harlowja | not sure, ha | 20:17 |
harmw | h | 20:17 |
harmw | bugzilla.rh | 20:17 |
harlowja | something like that | 20:18 |
harlowja | u can poke 'dprince_' in #openstack-dev | 20:18 |
harlowja | he might be able to get that to occur quicker | 20:18 |
harlowja | afaik he knows the people that know the people | 20:18 |
harmw | ah ok | 20:18 |
harlowja | *and also works @ RH | 20:18 |
harmw | hhe | 20:18 |
harmw | openstack-dev, guess I should join that channel as well then | 20:18 |
harlowja | ya, openstack has tons of channels, lol | 20:19 |
harmw | my irssi is getting a bit crowded | 20:19 |
harlowja | :) | 20:19 |
harmw | does he share your TZ? | 20:20 |
harlowja | harmw i think EST us | 20:22 |
harlowja | so not mine (PST) | 20:22 |
harmw | ok, well added a bug | 20:30 |
harmw | hhee, well that apparently did the trick - I changed the template to be jinja2 | 20:35 |
harmw | so I now have a configdrive with proper network file, woohoo | 20:36 |
harmw | hm, well, this *almost* works | 20:47 |
harmw | nova just told my vm something about eth0... and freebsd only knows of vtnet0 | 20:48 |
harmw | so thats something to look into in freebsd.py | 20:48 |
harmw | but other than that, configdrive works and even configured the network (eventhough it was the wrong interface) | 20:49 |
harmw | and now it's bedtime :) | 20:49 |
harlowja | harmw coolness | 21:02 |
=== gondoi is now known as zz_gondoi | ||
=== zz_gondoi is now known as gondoi | ||
=== gondoi is now known as zz_gondoi |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!