| === godber_ is now known as godber | ||
| trackerx90 | hi there | 05:03 |
|---|---|---|
| trackerx90 | i have problem with UEC setup | 05:03 |
| trackerx90 | my node can't detect cluster | 05:03 |
| trackerx90 | why? what wrong with me | 05:03 |
| === daker_ is now known as daker | ||
| rp_ | kim0, hey | 16:07 |
| rp_ | cloud-init does that allow you to specify the versions of the packages as well? | 16:14 |
| rp_ | i can't find good documentatiokn on it | 16:14 |
| === dendrobates is now known as dendro-afk | ||
| === niemeyer is now known as niemeyer_lunch | ||
| SpamapS | hallyn: actually, ping here. ;) | 16:37 |
| hallyn | hm? | 16:37 |
| SpamapS | smoser: you too.. want to chat about lxc / mountall / cloud-init :) | 16:37 |
| hallyn | sigh, ping me when smoser answers, i wanna rmemeber where i kept the selinux testsuite | 16:38 |
| smoser | here now. | 16:39 |
| smoser | SpamapS, we can chat, but i donht have a ton of time to talk | 16:39 |
| SpamapS | smoser: is there a good time? | 16:40 |
| smoser | no. | 16:40 |
| smoser | so now is fine | 16:40 |
| SpamapS | Doh. Ok. | 16:40 |
| SpamapS | So I think I understand why you want to block mountall from moving on after virtual-filesystems .. | 16:41 |
| SpamapS | so that the network isn't brought up... | 16:41 |
| SpamapS | am I right? | 16:41 |
| smoser | no. | 16:42 |
| hallyn | SLAM | 16:42 |
| SpamapS | da da da, let the boys be boys! SLAM! | 16:42 |
| * SpamapS channels Onyx | 16:42 | |
| smoser | cloud-init takes input from a user (user-data in ec2, alternatively, can take it from filesystem or ISO transport for ovf) | 16:43 |
| smoser | cloud-init-local searches for data that was provided without needing a network | 16:43 |
| smoser | cloud-init searches for data that would come from a network source | 16:44 |
| smoser | so, cloud-init needs network | 16:44 |
| smoser | that make sense? | 16:44 |
| SpamapS | ack | 16:44 |
| smoser | cloud-init uses this data from a user to modify the fileystem (or other things) | 16:44 |
| smoser | the basic goal is to allow everything (or as close as possible) that you could do via rebundle to be done via user-data | 16:45 |
| smoser | in order to do certain things, say write an apache config, you have to make sure that apache isn't going to start while you're in the middle | 16:45 |
| hallyn | so do you or do you not want to block certain upstart jobs | 16:45 |
| hallyn | hm | 16:45 |
| smoser | i want to block system boot | 16:45 |
| smoser | until i'm done | 16:45 |
| hallyn | what does apache wait on? | 16:46 |
| smoser | probably filesystems | 16:46 |
| smoser | but it doesn't matter | 16:46 |
| smoser | ssh starts on filesystems. | 16:46 |
| hallyn | yes it does | 16:46 |
| smoser | no | 16:46 |
| SpamapS | smoser: you probably then just need to have a "wait" job that encompasses the 'starting' events of everything you want to stop. | 16:46 |
| smoser | i want to block as much of the system as i possibly can | 16:46 |
| hallyn | yes, and SpamapS and i are trying to figure out how to do that | 16:46 |
| smoser | so when cloud-init runs, i want everythign to stop. | 16:46 |
| smoser | SpamapS, i dont know what i want to stop | 16:47 |
| SpamapS | so 'start on starting' and block *EVERYTHING* | 16:47 |
| smoser | that depends upon what the user is doing | 16:47 |
| hallyn | i think you want to stop filesystem and rc | 16:47 |
| SpamapS | as hallyn found, you can 'start on starting' :) | 16:47 |
| hallyn | but then again, maybe this just isn't feasible | 16:47 |
| SpamapS | or maybe that was jhunt I forget | 16:47 |
| smoser | i can't start on starting | 16:47 |
| SpamapS | hallyn: filesystem is not "stoppable" | 16:47 |
| smoser | because at starting there is not neceissarily a network | 16:47 |
| hallyn | the events after all arent' clearly defined | 16:47 |
| hallyn | maybe we should move to #upstart? | 16:48 |
| smoser | sure. | 16:48 |
| smoser | basic goal: | 16:48 |
| hallyn | smoser: and for what you want, it doesn't suffice to just make your changes and then reboot, right? | 16:48 |
| smoser | * run as early as possible in boot | 16:48 |
| SpamapS | smoser: you can put a gate in your job that whitelists the things you want to let start. | 16:48 |
| smoser | * stop all other things from happening until you're done | 16:48 |
| smoser | hallyn, rebooting is not desireable. | 16:49 |
| smoser | SpamapS, and then that whitelist will start to break when other people modify things. | 16:49 |
| hallyn | smoser: is there a clearly defined list of services you want to be able to intercept? | 16:49 |
| smoser | hallyn, no. | 16:49 |
| smoser | "all things" | 16:49 |
| SpamapS | smoser: well we can define an environment variable that people can use to be auto whitelisted.. | 16:50 |
| SpamapS | smoser: or you can even add your job *after* the network comes up | 16:50 |
| hallyn | smoser: SpamapS: how about just blocking everything and manually bringing up the network? | 16:50 |
| SpamapS | hallyn: need /var/run but yeah thats doable. | 16:50 |
| hallyn | the upstart jobs doing that are not exctly rocket science | 16:50 |
| smoser | hallyn, its not really doable. | 16:50 |
| smoser | how am i to know when the network is up? | 16:51 |
| smoser | i need udev | 16:51 |
| smoser | that needs virutal-filesystems | 16:51 |
| smoser | i need to go arbitrarily loading modules and ifuping | 16:51 |
| smoser | blah | 16:51 |
| SpamapS | Ok so that does sound complicated. | 16:51 |
| hallyn | well you have the advantage of being on less varying virtual hardware i suppose | 16:51 |
| smoser | there is a well designed (that might be arguable) system that does that stuff. | 16:51 |
| hallyn | we coudl discuss changing mountall? | 16:52 |
| hallyn | SpamapS: do you grok mountall's code? | 16:52 |
| SpamapS | Simpler is to just check for the state and if the state you want has been reached, block | 16:52 |
| SpamapS | hallyn: yes | 16:52 |
| SpamapS | but I'm not really sure why mountall would solve anything | 16:52 |
| hallyn | ok, so can we block on mounted MOUNTPOINT=/, but teach mountall to keep doing only virtual-filesystems? | 16:52 |
| SpamapS | hallyn: no | 16:53 |
| hallyn | why not? | 16:53 |
| smoser | because mountall should figure out that it can mount /dev/pts , and should do that before /. then that woudl solve the problem. | 16:53 |
| smoser | or it just needs smarter ordering | 16:53 |
| SpamapS | Because that event is *guaranteed* to block mountall until it completes | 16:53 |
| SpamapS | its a sync point | 16:53 |
| smoser | it *does* have specific ordering rules it knows about. | 16:53 |
| hallyn | so come up with a new event | 16:53 |
| smoser | it knows that it can mount /dev without having / as rw, for example | 16:53 |
| hallyn | SpamapS: explain to me where mountall gets its list of virtual filesystems | 16:53 |
| hallyn | it's not /etc/fstab. it's not /lib/init/fstab | 16:53 |
| SpamapS | hallyn: haha .. from the place where thar be dragons ;) | 16:54 |
| hallyn | it appears to waste time spawning jobs for already-mounted filesystems | 16:54 |
| hallyn | SpamapS: let me rephrase | 16:54 |
| hallyn | SpamapS: there is in fact NOTHING for mountall to do. It only thinks there is | 16:54 |
| hallyn | (in the lxc case) | 16:54 |
| smoser | so... the mountall solution seems the easiest at the moment. but it probably solves a specific problem in a specific way. | 16:54 |
| hallyn | for that matter, we coudl simply have cloud-init fire off virtual-filesystems once mounted=/ is done. it'd be technically wrong, but practically not. | 16:54 |
| SpamapS | I think you're reading too much into mountall's influence on the boot process. | 16:55 |
| smoser | no we're not. | 16:55 |
| hallyn | no, | 16:55 |
| hallyn | i'm reading the output of 'mountall --debug' :) | 16:55 |
| hallyn | it thinks it wants to mount 9 virtual filesystems, when in fact all are already mounted | 16:55 |
| SpamapS | Thats a sure fire way to get fooled into a race tho.. | 16:55 |
| SpamapS | just because it happens in this order now doesn't mean it will continue to happen that way. | 16:55 |
| SpamapS | how does that matter at all in this cloud-init case?! | 16:56 |
| smoser | SpamapS, there is already hard coded things such as that in mountall | 16:56 |
| hallyn | SpamapS: faking virtual-filesystems i was just mentioning to make a point :) | 16:56 |
| smoser | it wouldn't to me seem all that insane that mountall would try to mount all virtual filesystems before mounting / rw | 16:56 |
| smoser | basically asusming that all virtual filesystems can be mounted immediately | 16:56 |
| hallyn | SpamapS: wha ti'm saying is that mountall could be smarter and faster about the virtual-filesystems to help us out | 16:56 |
| hallyn | well, or starting off by checking that they are already mounted, | 16:58 |
| SpamapS | Ok.. well I feel that there are two very different things and I don't understand the focus of the converstaion. cloud-init needs to have the system state a bit frozen so it can reliably change things.. and virtual-filesystems isn't as meaningful as it could be. | 16:58 |
| hallyn | and not tryign ot be smarter than the sysadmin. If I take them ou tof /lib/init/fstab, then I mean it. | 16:58 |
| SpamapS | I think adding a different hook point to mountall is totally doable to solve the cloud-init issue.. | 17:00 |
| SpamapS | changing virtual-filesystems seems a bit off that mark though | 17:00 |
| smoser | how would you have a different hook point? | 17:00 |
| SpamapS | (even if its a good idea) | 17:00 |
| SpamapS | smoser: emit another event that is waited on. | 17:01 |
| SpamapS | one that is less accidental than "mounted MOUNTPOINT=/" | 17:01 |
| SpamapS | deliberately emit something at the exact point in the mountall process that achieves your goal of being able to change things without having them pulled out from under you. | 17:02 |
| hallyn | SpamapS: sounds good | 17:02 |
| hallyn | smoser: ^ that's basically exactly what you want | 17:02 |
| SpamapS | but there may be other things happening in parallel at that point and those need addressing. | 17:02 |
| hallyn | though i can see mountall authors complaining | 17:02 |
| hallyn | (is htat sjr?) | 17:02 |
| SpamapS | yeah its Keybuk | 17:02 |
| smoser | right. | 17:02 |
| SpamapS | and jhunt maintains it too | 17:03 |
| smoser | that seems like a specific solution to a specific problem | 17:03 |
| hallyn | SpamapS: but again, i would argue that saying 'wait on X and Y' where X and Y both are issued by mountall, should be interpreted as 'the later of the two' | 17:03 |
| hallyn | SpamapS: that would keep mountall from having to change for cloud-init's case | 17:03 |
| SpamapS | hallyn: heh.. and that, sir, is upstart 2.0 | 17:03 |
| hallyn | smoser: yup, but a workable one | 17:03 |
| hallyn | SpamapS: how far down the pike is that? | 17:03 |
| smoser | i dont think its really workable | 17:03 |
| SpamapS | hallyn: and we can do that in a wait job now.. I just haven't figured out what X and Y are yet. | 17:04 |
| smoser | i tihnk its an ugly hack | 17:04 |
| hallyn | smoser: that's because you are difficult and contrarian :) | 17:04 |
| hallyn | SpamapS: x == mounted MOUNTPOINT=/, y == virtual-filesystems | 17:04 |
| SpamapS | hallyn: upstart 2.0 is an unknown for us. When keybuk has time. | 17:04 |
| smoser | i am. i agree. | 17:04 |
| SpamapS | hallyn: except virtual-filesystems is not a blocker.. so I don't think it does what you want.. hence the need for a new hook point | 17:05 |
| smoser | but i would suggest that so is keybuk. | 17:05 |
| hallyn | smoser: that's the 'difficult' part of you talking :) | 17:05 |
| SpamapS | I think its fair to ask for a 'mounted-virtual-filesystems' hook point. | 17:06 |
| SpamapS | its a fairly unique point in the filesystem lifecycle that would be helpful for other bits of the boot as well. | 17:06 |
| SpamapS | I wonder tho | 17:07 |
| SpamapS | would start on stopping networking work too? Thats basically where ifup -a has exitted. | 17:07 |
| SpamapS | or do you need to go before ifup -a ? | 17:07 |
| smoser | can't go before. | 17:08 |
| smoser | well, not for data that comes from a network | 17:08 |
| smoser | cloud-init-local does that. | 17:08 |
| smoser | but, yeah, via the non-network inputs, you can seed network information. | 17:09 |
| SpamapS | smoser: so start on stopping networking is after 'ifup -a' has exitted.. | 17:10 |
| SpamapS | smoser: unfortunately that won't block rc.. but.. we can make that block too | 17:11 |
| SpamapS | meh | 17:11 |
| SpamapS | I need a whiteboard and some coffee | 17:11 |
| === niemeyer_lunch is now known as niemeyer | ||
| hallyn | SpamapS: btw, there is going to have to be (maybe there already is?) a way to get info on which events are emitted blocking/nonblocking. | 17:26 |
| hallyn | asking SpamapS on irc is not going to be scalable :) | 17:26 |
| === Nolar_ is now known as Nolar | ||
| SpamapS | hallyn: the official ones are documented well | 17:28 |
| SpamapS | The mounted event is generated by the mountall(8) daemon after it has mounted a filesystem. mountall(8) will wait for all services | 17:28 |
| SpamapS | started by this event to be running, all tasks started by this event to have finished and all jobs stopped by this event to be stopped | 17:28 |
| SpamapS | before continuing with other filesystems. | 17:28 |
| SpamapS | also the table in 'man upstart-events' is quite clear | 17:28 |
| SpamapS | Type, S == signal (not waited on) H == hook point (waited on) | 17:29 |
| SpamapS | The virtual-filesystems event is generated by the mountall(8) daemon after it has mounted all virtual filesystems listed in fstab(5). | 17:31 |
| SpamapS | mountall(8) emits this event as an informational signal, services and tasks started or stopped by this event will do so in parallel with | 17:31 |
| SpamapS | other activity. | 17:31 |
| SpamapS | So.. really.. I hate to say "RTFM" .. but.. RTFM. ;) | 17:31 |
| hallyn | SpamapS: the FM is lying though | 17:31 |
| hallyn | i've said it 3 times now, so will wait to see if you know what i'm saying | 17:31 |
| SpamapS | which part is lying there? | 17:32 |
| hallyn | fing fstab | 17:32 |
| SpamapS | Ok so thats a bug. | 17:32 |
| hallyn | oh, is it? | 17:32 |
| hallyn | i thought it was undocumented but intended black magic | 17:33 |
| SpamapS | in the man page yes | 17:33 |
| hallyn | ah | 17:33 |
| hallyn | ok | 17:33 |
| hallyn | in any case i should read the upstart man page :) | 17:33 |
| SpamapS | AFAIK, mountall was thrown together while Keybuk was frantically working on boot speed | 17:33 |
| hallyn | and upstart? | 17:33 |
| hallyn | :) | 17:33 |
| zul | hey now play nice | 17:34 |
| hallyn | SpamapS: but so can you explain to me what it *is* doing? | 17:34 |
| hallyn | zul: that wasn't meant as a slight. | 17:34 |
| SpamapS | hallyn: you're not going to be satisfied by any explanation. Its a hack. period. | 17:34 |
| hallyn | that's fine. but a hack to do what? | 17:34 |
| hallyn | it just guesses at the virtuals so as not to have to read fstab beforehand? | 17:35 |
| zul | hallyn, i know...i was just teasing | 17:35 |
| hallyn | zul: just trying to make sure noone comes by and challenges me to do better :) | 17:36 |
| SpamapS | hallyn: its a hack to make booting a non blocking independent thread | 17:37 |
| SpamapS | hallyn: the guessing, I suspect, is more about not having all the fs's listed in fstab | 17:37 |
| hallyn | SpamapS: i thought that was the point of /lib/init/fstab | 17:40 |
| hallyn | SpamapS: so wait, did we decide that wait on stopped networking and started rc will work? | 17:41 |
| SpamapS | err no | 17:42 |
| SpamapS | I was thinking about it | 17:42 |
| SpamapS | here's one issue.. rc starts on net-device-up IFACE=lo .. which is *before* stopped networking | 17:42 |
| SpamapS | so you need to have a 'starting rc RUNLEVEL=[2345]' too | 17:44 |
| SpamapS | might work better to have two separate jobs that do that, and both wait on cloud-init-whatever to finish | 17:48 |
| === dendro-afk is now known as dendrobates | ||
| === daker is now known as daker_ | ||
| mattbillenstein | hi all | 18:39 |
| mattbillenstein | question — when a user-data script runs, where is the output logged? | 18:40 |
| mattbillenstein | I've found the script in /lib/cloud/data/scripts/part-000 | 18:41 |
| mattbillenstein | but I can't seem to find any logs | 18:41 |
| mattbillenstein | hmm, just found it on the console... | 18:44 |
| aka_ | yo | 19:44 |
| aka_ | somebody here ? | 19:45 |
| aka_ | D: | 19:56 |
| aka_ | $this = NOTCOOL | 19:57 |
| aka_ | ; | 19:57 |
| === dendrobates is now known as dendro-afk | ||
| === dendro-afk is now known as dendrobates | ||
| === niemeyer is now known as niemeyer_biab | ||
| smoser | mattbillenstein, you will have to redirect the output of your script somewhere other than console if you want it there. | 21:50 |
| smoser | in natty's cloud-init there is cloud-config syntax for doing that. | 21:50 |
| smoser | in anything else, you'll have to handle that in whatever language the script is in | 21:50 |
| smoser | ie: | 21:50 |
| smoser | #!/bin/sh | 21:50 |
| smoser | { | 21:50 |
| smoser | # my script here | 21:50 |
| smoser | } | 21:50 |
| smoser | # oops | 21:50 |
| smoser | } 2>&1 | tee /var/log/my.log | 21:51 |
| mattbillenstein | hmm | 21:52 |
| mattbillenstein | you can do that in bash? | 21:52 |
| smoser | yeah. | 21:54 |
| smoser | { ... } | 21:54 |
| smoser | does redirection | 21:54 |
| smoser | or.. command grouping | 21:54 |
| smoser | then the 2>&1 does the redirection | 21:54 |
| smoser | or, if you don't care about it going to the console then just do: | 21:54 |
| smoser | exec > /var/log/my.log 2>&1 | 21:54 |
| smoser | at the beginning | 21:54 |
| mattbillenstein | sweet | 21:55 |
| mattbillenstein | I'll try it out, thanks for the tip! | 21:55 |
| === niemeyer_biab is now known as niemeyer | ||
| aka_ | yo | 22:53 |
| spicyWith | Hi, I'm running ubuntu 10.04 and would like to upgrade it to the latest distribution. What's the recommended way to do this? | 23:02 |
| erichammond | spicyWith: See if this applies to your situation: http://ubuntu-smoser.blogspot.com/2011/02/migrating-to-pv-grub-kernels-for-kernel.html | 23:14 |
| spicyWith | erichammond: I was looking at that, and to be honest, I'm not sure. How can I check? | 23:16 |
| === dendrobates is now known as dendro-afk | ||
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!