/srv/irclogs.ubuntu.com/2011/04/25/#ubuntu-cloud.txt

=== godber_ is now known as godber
trackerx90hi there05:03
trackerx90i have problem with UEC setup05:03
trackerx90my node can't detect cluster05:03
trackerx90why? what wrong with me05:03
=== daker_ is now known as daker
rp_kim0, hey16: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 it16:14
=== dendrobates is now known as dendro-afk
=== niemeyer is now known as niemeyer_lunch
SpamapShallyn: actually, ping here. ;)16:37
hallynhm?16:37
SpamapSsmoser: you too.. want to chat about lxc / mountall / cloud-init :)16:37
hallynsigh, ping me when smoser answers, i wanna rmemeber where i kept the selinux testsuite16:38
smoserhere now.16:39
smoserSpamapS, we can chat, but i donht have a ton of time to talk16:39
SpamapSsmoser: is there a good time?16:40
smoserno.16:40
smoserso now is fine16:40
SpamapSDoh. Ok.16:40
SpamapSSo I think I understand why you want to block mountall from moving on after virtual-filesystems ..16:41
SpamapSso that the network isn't brought up...16:41
SpamapSam I right?16:41
smoserno.16:42
hallynSLAM16:42
SpamapSda da da, let the boys be boys! SLAM!16:42
* SpamapS channels Onyx16:42
smosercloud-init takes input from a user (user-data in ec2, alternatively, can take it from filesystem or ISO transport for ovf)16:43
smosercloud-init-local searches for data that was provided without needing a network16:43
smosercloud-init searches for data that would come from a network source16:44
smoserso, cloud-init needs network16:44
smoserthat make sense?16:44
SpamapSack16:44
smosercloud-init uses this data from a user to modify the fileystem (or other things)16:44
smoserthe basic goal is to allow everything (or as close as possible) that you could do via rebundle to be done via user-data16:45
smoserin 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 middle16:45
hallynso do you or do you not want to block certain upstart jobs16:45
hallynhm16:45
smoseri want to block system boot16:45
smoseruntil i'm done16:45
hallynwhat does apache wait on?16:46
smoserprobably filesystems16:46
smoserbut it doesn't matter16:46
smoserssh starts on filesystems.16:46
hallynyes it does16:46
smoserno16:46
SpamapSsmoser: you probably then just need to have a "wait" job that encompasses the 'starting' events of everything you want to stop.16:46
smoseri want to block as much of the system as i possibly can16:46
hallynyes, and SpamapS and i are trying to figure out how to do that16:46
smoserso when cloud-init runs, i want everythign to stop.16:46
smoserSpamapS, i dont know what i want to stop16:47
SpamapSso 'start on starting' and block *EVERYTHING*16:47
smoserthat depends upon what the user is doing16:47
hallyni think you want to stop filesystem and rc16:47
SpamapSas hallyn found, you can 'start on starting' :)16:47
hallynbut then again, maybe this just isn't feasible16:47
SpamapSor maybe that was jhunt I forget16:47
smoseri can't start on starting16:47
SpamapShallyn: filesystem is not "stoppable"16:47
smoserbecause at starting there is not neceissarily a network16:47
hallynthe events after all arent' clearly defined16:47
hallynmaybe we should move to #upstart?16:48
smosersure.16:48
smoserbasic goal:16:48
hallynsmoser: 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 boot16:48
SpamapSsmoser: 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 done16:48
smoserhallyn, rebooting is not desireable.16:49
smoserSpamapS, and then that whitelist will start to break when other people modify things.16:49
hallynsmoser: is there a clearly defined list of services you want to be able to intercept?16:49
smoserhallyn, no.16:49
smoser"all things"16:49
SpamapSsmoser: well we can define an environment variable that people can use to be auto whitelisted..16:50
SpamapSsmoser: or you can even add your job *after* the network comes up16:50
hallynsmoser: SpamapS: how about just blocking everything and manually bringing up the network?16:50
SpamapShallyn: need /var/run but yeah thats doable.16:50
hallynthe upstart jobs doing that are not exctly rocket science16:50
smoserhallyn, its not really doable.16:50
smoserhow am i to know when the network is up?16:51
smoseri need udev16:51
smoserthat needs virutal-filesystems16:51
smoseri need to go arbitrarily loading modules and ifuping16:51
smoserblah16:51
SpamapSOk so that does sound complicated.16:51
hallynwell you have the advantage of being on less varying virtual hardware i suppose16:51
smoserthere is a well designed (that might be arguable) system that does that stuff.16:51
hallynwe coudl discuss changing mountall?16:52
hallynSpamapS: do you grok mountall's code?16:52
SpamapSSimpler is to just check for the state and if the state you want has been reached, block16:52
SpamapShallyn: yes16:52
SpamapSbut I'm not really sure why mountall would solve anything16:52
hallynok, so can we block on mounted MOUNTPOINT=/, but teach mountall to keep doing only virtual-filesystems?16:52
SpamapShallyn: no16:53
hallynwhy not?16:53
smoserbecause mountall should figure out that it can mount /dev/pts , and should do that before /. then that woudl solve the problem.16:53
smoseror it just needs smarter ordering16:53
SpamapSBecause that event is *guaranteed* to block mountall until it completes16:53
SpamapSits a sync point16:53
smoserit *does* have specific ordering rules it knows about.16:53
hallynso come up with a new event16:53
smoserit knows that it can mount /dev without having / as rw, for example16:53
hallynSpamapS: explain to me where mountall gets its list of virtual filesystems16:53
hallynit's not /etc/fstab.  it's not /lib/init/fstab16:53
SpamapShallyn: haha .. from the place where thar be dragons ;)16:54
hallynit appears to waste time spawning jobs for already-mounted filesystems16:54
hallynSpamapS: let me rephrase16:54
hallynSpamapS: there is in fact NOTHING for mountall to do.  It only thinks there is16:54
hallyn(in the lxc case)16:54
smoserso... the mountall solution seems the easiest at the moment. but it probably solves a specific problem in a specific way.16:54
hallynfor 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
SpamapSI think you're reading too much into mountall's influence on the boot process.16:55
smoserno we're not.16:55
hallynno,16:55
hallyni'm reading the output of 'mountall --debug'  :)16:55
hallynit thinks it wants to mount 9 virtual filesystems, when in fact all are already mounted16:55
SpamapSThats a sure fire way to get fooled into a race tho..16:55
SpamapSjust because it happens in this order now doesn't mean it will continue to happen that way.16:55
SpamapShow does that matter at all in this cloud-init case?!16:56
smoserSpamapS, there is already hard coded things such as that in mountall16:56
hallynSpamapS: faking virtual-filesystems i was just mentioning to make a point :)16:56
smoserit wouldn't to me seem all that insane that mountall would try to mount all virtual filesystems before mounting / rw16:56
smoserbasically asusming that all virtual filesystems can be mounted immediately16:56
hallynSpamapS: wha ti'm saying is that mountall could be smarter and faster about the virtual-filesystems to help us out16:56
hallynwell, or starting off by checking that they are already mounted,16:58
SpamapSOk.. 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
hallynand not tryign ot be smarter than the sysadmin.  If I take them ou tof /lib/init/fstab, then I mean it.16:58
SpamapSI think adding a different hook point to mountall is totally doable to solve the cloud-init issue..17:00
SpamapSchanging virtual-filesystems seems a bit off that mark though17:00
smoserhow would you have a different hook point?17:00
SpamapS(even if its a good idea)17:00
SpamapSsmoser: emit another event that is waited on.17:01
SpamapSone that is less accidental than "mounted MOUNTPOINT=/"17:01
SpamapSdeliberately 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
hallynSpamapS: sounds good17:02
hallynsmoser: ^ that's basically exactly what you want17:02
SpamapSbut there may be other things happening in parallel at that point and those need addressing.17:02
hallynthough i can see mountall authors complaining17:02
hallyn(is htat sjr?)17:02
SpamapSyeah its Keybuk17:02
smoserright.17:02
SpamapSand jhunt maintains it too17:03
smoserthat seems like a specific solution to a specific problem17:03
hallynSpamapS: 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
hallynSpamapS: that would keep mountall from having to change for cloud-init's case17:03
SpamapShallyn: heh.. and that, sir, is upstart 2.017:03
hallynsmoser: yup, but a workable one17:03
hallynSpamapS: how far down the pike is that?17:03
smoseri dont think its really workable17:03
SpamapShallyn: and we can do that in a wait job now.. I just haven't figured out what X and Y are yet.17:04
smoseri tihnk its an ugly hack17:04
hallynsmoser: that's because you are difficult and contrarian :)17:04
hallynSpamapS: x == mounted MOUNTPOINT=/, y == virtual-filesystems17:04
SpamapShallyn: upstart 2.0 is an unknown for us. When keybuk has time.17:04
smoseri am. i agree.17:04
SpamapShallyn: except virtual-filesystems is not a blocker.. so I don't think it does what you want.. hence the need for a new hook point17:05
smoserbut i would suggest that so is keybuk.17:05
hallynsmoser: that's the 'difficult' part of you talking :)17:05
SpamapSI think its fair to ask for a 'mounted-virtual-filesystems' hook point.17:06
SpamapSits a fairly unique point in the filesystem lifecycle that would be helpful for other bits of the boot as well.17:06
SpamapSI wonder tho17:07
SpamapSwould start on stopping networking work too? Thats basically where ifup -a has exitted.17:07
SpamapSor do you need to go before ifup -a ?17:07
smosercan't go before.17:08
smoserwell, not for data that comes from a network17:08
smosercloud-init-local does that.17:08
smoserbut, yeah, via the non-network inputs, you can seed network information.17:09
SpamapSsmoser: so start on stopping networking is after 'ifup -a' has exitted..17:10
SpamapSsmoser: unfortunately that won't block rc.. but.. we can make that block too17:11
SpamapSmeh17:11
SpamapSI need a whiteboard and some coffee17:11
=== niemeyer_lunch is now known as niemeyer
hallynSpamapS: 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
hallynasking SpamapS on irc is not going to be scalable :)17:26
=== Nolar_ is now known as Nolar
SpamapShallyn: the official ones are documented well17:28
SpamapS       The  mounted  event  is  generated  by  the mountall(8) daemon after it has mounted a filesystem.  mountall(8) will wait for all services17: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  stopped17:28
SpamapS       before continuing with other filesystems.17:28
SpamapSalso the table in 'man upstart-events' is quite clear17:28
SpamapSType, 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  with17:31
SpamapS       other activity.17:31
SpamapSSo.. really.. I hate to say "RTFM" .. but.. RTFM. ;)17:31
hallynSpamapS: the FM is lying though17:31
hallyni've said it 3 times now, so will wait to see if you know what i'm saying17:31
SpamapSwhich part is lying there?17:32
hallynfing fstab17:32
SpamapSOk so thats a bug.17:32
hallynoh, is it?17:32
hallyni thought it was undocumented but intended black magic17:33
SpamapSin the man page yes17:33
hallynah17:33
hallynok17:33
hallynin any case i should read the upstart man page :)17:33
SpamapSAFAIK, mountall was thrown together while Keybuk was frantically working on boot speed17:33
hallynand upstart?17:33
hallyn:)17:33
zulhey now play nice17:34
hallynSpamapS: but so can you explain to me what it *is* doing?17:34
hallynzul: that wasn't meant as a slight.17:34
SpamapShallyn: you're not going to be satisfied by any explanation. Its a hack. period.17:34
hallynthat's fine.  but a hack to do what?17:34
hallynit just guesses at the virtuals so as not to have to read fstab beforehand?17:35
zulhallyn, i know...i was just teasing17:35
hallynzul: just trying to make sure noone comes by and challenges me to do better :)17:36
SpamapShallyn: its a hack to make booting a non blocking independent thread17:37
SpamapShallyn: the guessing, I suspect, is more about not having all the fs's listed in fstab17:37
hallynSpamapS: i thought that was the point of /lib/init/fstab17:40
hallynSpamapS: so wait, did we decide that wait on stopped networking and started rc will work?17:41
SpamapSerr no17:42
SpamapSI was thinking about it17:42
SpamapShere's one issue..  rc starts on net-device-up IFACE=lo .. which is *before* stopped networking17:42
SpamapSso you need to have a  'starting rc RUNLEVEL=[2345]' too17:44
SpamapSmight work better to have two separate jobs that do that, and both wait on cloud-init-whatever to finish17:48
=== dendro-afk is now known as dendrobates
=== daker is now known as daker_
mattbillensteinhi all18:39
mattbillensteinquestion — when a user-data script runs, where is the output logged?18:40
mattbillensteinI've found the script in /lib/cloud/data/scripts/part-00018:41
mattbillensteinbut I can't seem to find any logs18:41
mattbillensteinhmm, just found it on the console...18:44
aka_yo19:44
aka_somebody here ?19:45
aka_D:19:56
aka_$this = NOTCOOL19: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
smosermattbillenstein, you will have to redirect the output of your script somewhere other than console if you want it there.21:50
smoserin natty's cloud-init there is cloud-config syntax for doing that.21:50
smoserin anything else, you'll have to handle that in whatever language the script is in21:50
smoserie:21:50
smoser#!/bin/sh21:50
smoser{21:50
smoser # my script here21:50
smoser}21:50
smoser# oops21:50
smoser} 2>&1 | tee /var/log/my.log21:51
mattbillensteinhmm21:52
mattbillensteinyou can do that in bash?21:52
smoseryeah.21:54
smoser{ ... }21:54
smoserdoes redirection21:54
smoseror.. command grouping21:54
smoserthen the 2>&1 does the redirection21:54
smoseror, if you don't care about it going to the console then just do:21:54
smoserexec > /var/log/my.log 2>&121:54
smoserat the beginning21:54
mattbillensteinsweet21:55
mattbillensteinI'll try it out, thanks for the tip!21:55
=== niemeyer_biab is now known as niemeyer
aka_yo22:53
spicyWithHi, 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
erichammondspicyWith: See if this applies to your situation: http://ubuntu-smoser.blogspot.com/2011/02/migrating-to-pv-grub-kernels-for-kernel.html23:14
spicyWitherichammond: 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!