_mup_ensemble/expose-provider-ec2 r278 committed by jim.baker@canonical.com01:26
_mup_Update mock expectations for launch01:26
_mup_ensemble/expose-provider-ec2 r279 committed by jim.baker@canonical.com01:32
_mup_Fix EC2MachineLaunchTest mocks01:32
_mup_ensemble/expose-provider-ec2 r280 committed by jim.baker@canonical.com01:39
_mup_Fix EC2BootstrapTest mocks01:39
_mup_ensemble/expose-provider-ec2 r281 committed by jim.baker@canonical.com01:46
_mup_Reuse security group listing01:46
jimbakerfwereade, glad in reading over it just now that your branch proposal is orthogonal to what i'm working on :)03:58
jimbakerlooks like a nice change03:58
fwereadejimbaker, heh: it's actually a bit less horrifying thaan it looks03:59
jimbaker(i'm also touching the launch code, to manage security groups)03:59
fwereade...but then I would say that, I've been breathing it all day ;)03:59
fwereadethe security group stuff is totally untouched I think03:59
jimbakerfwereade, are you in miami?03:59
fwereadeit's nice :)03:59
jimbakerfwereade, cool. from one beachfront to another, i guess04:00
fwereadejimbaker, I actually came from the UK this time04:00
jimbakerfwereade, btw, i understand you worked on the ironpython c ext api work04:00
fwereadeyeah, that was a lot of fun04:00
fwereadebut babies are the great enemy of open source, as they say ;)04:01
jimbakerfwereade, cool. i work on jython. we plan to add that functionality sometime. probably next summer04:01
fwereadeah, nice04:01
fwereadedefinitely look me up04:01
jimbakerfwereade, oh sure. that's why i'm scheduling it out so far in advance ;) - i have 2 kids myself04:01
fwereadethe last thing I did was a pile of abstraction intended to make that easier04:02
fwereadejimbaker, cool :)04:02
fwereadeif I try really hard I might be able to remember how some of it works ;)04:02
jimbakermaciej gave me a nice rundown on his work last year to help on the pypy impl04:02
fwereadeI seem to recall they took quite a different approach04:03
jimbakerbut in general, it seems like cextapi is the right approach04:03
fwereadeand frankly a better one... binary compatibility is kinda cool but it was never going to be a 100% solution04:04
jimbakerfwereade, i think the details will vary. we have a codegen system in place that we can leverage for jython04:04
fwereadejimbaker, excellent, we can put our respective codegen systems in a machine together and watch them fight it out04:04
fwereadetake bets on the outcome :p04:05
jimbakerthe more interesting question will be how to make cextapi lowcost04:05
fwereadeI seem to recall that one thing that was especially painful in ironclad was chatty APIs with callbacks that kept having to set up managed contexts again and again04:06
jimbakerfwereade, there's a student working on invokedynamic support, it's looking quite promising for overall jython performance. for cextapi, it's about leveraging zerocopy with NIO bytebuffers and figuring out how to get the GIL cost down04:07
fwereadeI tried really hard to kill the GIL... no dice ;)04:07
jimbakerfwereade, yeah, i can see that as particularly bad. basically chattiness kills inlining04:08
jimbakerfor the obvious reasons04:08
fwereadeyep :)04:08
fwereadeanyway, this has been a great day in which I keep losing track of time... but that then means I really must sleep ;)04:09
jimbakerfwereade, sounds good, take care!04:09
kim0Morning all07:49
=== daker_ is now known as daker
=== koolhead17|afk is now known as koolhead17
SpamapSkim0: howdy10:46
* SpamapS hasn't quite switched back to PDT yet :-P10:46
kim0SpamapS: hi there 10:55
kim0up early I guess10:55
kim0SpamapS: before the channel gets busy, is there any interesting topic you'd like to present in Cloud Days ?10:56
SpamapSkim0: ensemble seems like a good topic. ;)10:57
kim0I was thinking of doing a basic getting started with Ensemble, and Mark is doing node+mongo on ensemble10:58
kim0You can have the intro session if you want, or you can do something more exciting :)10:58
kim0SpamapS: You can add yourself to https://wiki.ubuntu.com/UbuntuCloudDays/Timetable10:58
SpamapSYeah I'm just not sure what non-general topic should be covered.11:00
kim0SpamapS: do you know if orchestra is in a state that can be demo'ed somehow ?11:01
SpamapSkim0: no11:02
SpamapSand I'm hesitant to demo the LXC stuff I did because it may not ever see trunk in its current form.11:03
kim0well .. the people wouldn't see the code :)11:03
kim0it's just a demo11:03
kim0SpamapS: can I sign you up for LXC session, and you can change it later if you think of something else ?11:05
SpamapSno like, it won't even work the way I did it11:05
kim0ok np, I'm sure you'll find another cool topic :)11:07
SpamapSDunno... seems like bad timing as everything is heavily in flux.11:07
SpamapSThere are *tons* of formulas now tho.. that is quite interesting.11:08
kim0Yeah .. formulas are cool to demo :)11:08
kirklandSpamapS: yeah, i'm jetlaggin too11:09
kirklandkim0: actually, check with RoAkSoAx;  parts of orchestra are demo-able (even if the ensemble bits are not)11:09
kim0kirkland: thanks .. I sure will11:09
kim0RoAkSoAx: please ping me when you're up :)11:09
kim0wonder if Orchestra can be demo'ed on ec2 !11:10
kirklandkim0: certainly not the cobbler/pxe/install bits11:10
kirklandkim0: on ec211:11
kim0I know someone who runs virtualbox on ec211:11
* kim0 scratches head11:11
kim0wasn't there some ajaxterm formula .. I think it'd be cool for such irc events .. cant find it in https://code.launchpad.net/principia11:12
SpamapSkirkland: ^^ you were working on byobu classroom weren't you?11:17
kirklandSpamapS: yeah, i was;  i'll finish it today, actually11:17
kirklandSpamapS: i'm giving a presentation in irc tomorrow11:17
kirklandSpamapS: and i'm planning on using that11:17
kirklandSpamapS: presentation is on dotdee11:17
kirklandSpamapS: but i'm going to point people to the URL/ajaxterm to watch11:18
kim0kirkland: I thought your dotdee session is today ? https://wiki.ubuntu.com/UbuntuDeveloperWeek11:25
kirklandkim0: so it is11:25
kirklandkim0: okay, i'll get right onto that formula :-)11:26
kim0hehe :)11:26
* SpamapS looks at clock.. 4:40am .. to sleep, or not to sleep.. that is the question11:39
kim0life is too exciting to sleep!11:53
koolhead17SpamapS, don`t sleep :D13:07
koolhead17hello kim0 niemeyer and all :)13:07
niemeyerkoolhead17: Yo!13:08
niemeyerkoolhead17: How's it going?13:08
RoAkSoAxkim0: I'm here13:09
kim0koolhead17: hey o/13:10
kim0RoAkSoAx: Hey o/ 13:10
koolhead17niemeyer, am great. in love with buggy dbconfig-common13:10
koolhead17RoAkSoAx, hi :D13:10
kim0So we're having Ubuntu cloud days on the 25th-26th13:10
RoAkSoAxkoolhead17: hi!13:10
kim0RoAkSoAx: Dustin was just telling me perhaps some parts of Orchestra might be ready for a demo13:10
RoAkSoAxkim0: \o/13:10
kim0can you dazzle the world with a session :)13:11
RoAkSoAxkim0: heh when?13:11
koolhead17RoAkSoAx, you had time to play with koan recently?13:11
kim025th or 26th :)13:11
kim0RoAkSoAx: here's the time tablet https://wiki.ubuntu.com/UbuntuCloudDays/Timetable13:11
RoAkSoAxkoolhead17: yes13:11
kim0Would be awesome to grab a session13:11
kim0RoAkSoAx: I wonder if we can demo the pxe and deployment part somehow ?!13:12
kim0it's gonna be hard for sure13:12
kim0if that doesn't work .. feel free to demo any other part :)13:12
koolhead17RoAkSoAx, cool13:12
kim0RoAkSoAx: what say you 13:13
RoAkSoAxkim0: yeah I guess I could do that13:14
kim0Awesome! yipeee13:14
RoAkSoAxkoolhead17: play with it every day13:14
kim0RoAkSoAx: so which part to demo .. or session title ?13:14
koolhead17RoAkSoAx, :D i need to learn a bit kvm/xen to do koan 13:14
RoAkSoAxkim0: I guess for that matter it would be cobbler rather than exactly orchestra13:14
kim0RoAkSoAx: still dazzling :)13:15
kim0RoAkSoAx: so please pick a session title13:15
RoAkSoAxkim0: ok, will do by the EOF as i'm gonna do a call in a bit13:15
kim0sure thing 13:16
kim0RoAkSoAx: thanks man .. cheers13:16
jcastrokirkland: ccze is that log prettyizer I showed you13:30
kirklandjcastro: awesome, thanks13:56
niemeyerAram: Welcome!14:53
robbiewwelcome Aram15:09
SpamapSRoAkSoAx: so did you guys give up on trying to use my branch? ;-)15:15
fwereadeSpamapS, I fully expect to pull in all the meat from your branch, it's just the structure I've been going at with an axe ;)15:17
fwereadeSpamapS, the pre-existing structure15:17
fwereadebzr diff15:19
koolhead17kim0, 15:23
SpamapSfwereade: awesome. :)15:24
kim0koolhead17: hey15:24
SpamapSfwereade: I'm glad you've got the fire in your belly necessary to blow apart that EC2 branch. It was a mess. :-P15:24
fwereadeSpamapS, I love doing this sort of thing :)15:25
fwereadeSpamapS, the tests seem really solid though, makes life *much* easier15:25
fwereade(and, ofc, we'll find out what assumptions I didn't even know I was making pretty soon ;))15:26
koolhead17kim0, do we have members from europe belin/athens/madris/rome15:26
koolhead17that way i could meet some of us15:26
kim0koolhead17: we? the global ubuntu community ?15:26
SpamapSfwereade: indeed.. ensemble has made me a believer in TDD ;)15:27
kim0I'm sure hell yeah :)15:27
SpamapSkoolhead17: where are you based?15:27
koolhead17SpamapS, am from India. i am travelling to berlin for desktop summit and after that travelling to these places i mentioned earlier15:27
koolhead17i am thinking of having lug meetup in all the cities when i am there so that i can meet local linux folks15:28
SpamapSkoolhead17: By chance, most of the core ensemble devs are in the Americas somewhere. But there are tons of European Ubuntu folks. :)15:29
koolhead17SpamapS, yeah i know that. i am thinking of mailing the local lug for some meetup. let see if am lucky15:30
RoAkSoAxSpamapS: I did, though adding some bootstrap process at the moment15:31
koolhead17kim0, will we have ensemble logo in place soon. I would like to get it printed on my t-shirt :D15:32
kim0koolhead17: lol, robbie's one seems to be winning :)15:32
RoAkSoAxSpamapS: as discussed here with niemeyer , the idea is that ensemble bootstrap starts a new system that will run zookeeper as how it does it in ec215:32
koolhead17i don`t like small e15:32
koolhead17it makes me feel internet explorer15:33
kim0IE'ish 15:33
koolhead17so i asked robbie for capital E15:33
kim0maybe it should be engraved like enlightenment or something15:33
* kim0 jumps back to writing some stuff15:33
koolhead17well we need to do sumthing to the circle around that e15:33
SpamapSRoAkSoAx: yeah thats fine. We had a debate in Dublin and decided it really didn't matter either way.15:40
SpamapSRoAkSoAx: or at least, the end of the discussion was "lets move forward from this because it doesn't matter for a proof of concept"15:40
RoAkSoAxSpamapS: yeah smoser updated me on the matter15:40
SpamapSRoAkSoAx: by system, I hope you mean a vm using koan. ;)15:40
RoAkSoAxSpamapS: yes15:41
RoAkSoAxSpamapS: for the PoC i'm working atm i'm using koan15:41
SpamapSRoAkSoAx: alright, so .. did you actually get something to boot?15:48
RoAkSoAxSpamapS: yeah more or less 16:02
RoAkSoAxwill send you a difff later for you to see16:02
RoAkSoAxSpamapS: but yesterday we were concentrating on the best approach to pass coud-init stuff usoing the preseed16:02
SpamapSYeah I'm wondering how that can be done too16:02
SpamapSAt this point a late_command that acceps a massive base64 encoded string is probably the best bet unless you found something better?16:03
RoAkSoAxSpamapS: we have that already, hold on ;)16:04
RoAkSoAxSpamapS: http://paste.ubuntu.com/643355/16:05
RoAkSoAxSpamapS: http://paste.ubuntu.com/643356/16:05
SpamapSRoAkSoAx: I've had difficulty getting the system <-> actual mac bits working right16:05
etnegkim0: uploading a few rough concepts now16:07
etnegsladentoo ^^16:07
RoAkSoAxSpamapS: what do you mean exactly?16:08
SpamapSRoAkSoAx: I think I just figured it out actually16:09
=== koolhead17 is now known as koolhead17|
kim0etneg: awesome :)16:11
kim0sladen: ^16:12
SpamapSRoAkSoAx: yeah, I didn't assign the MAC right before. Its working fine.16:12
RoAkSoAxSpamapS: ok ;) yeah you have to assign and interface first, and then the MAC address it is a tricky thing that's not being validated16:13
etneglaunchpad takes awhile to send an email16:16
etnegi forgot my pass and wanted to reset, still havent received a confirmation code to reset..16:17
etnegk since its taking awhile to reset the password. cant post it in the bug now but here it goes16:23
etneg1 concept for it16:23
etnegignore the colors pls, that was just to give an idea16:25
etnegand the last one http://i51.tinypic.com/28jguvt.jpg16:28
etnegignore the coloring:D16:28
etnegcomments, critique! if it sucks it sucks, but let me know!16:28
kim0etneg: thanks for the great work man :)16:29
kim0many options to choose from is always a good thing16:29
etnegkim0: sure:P16:29
etnegkeep options open16:29
kim0sladen: ^16:29
sladenetneg: do you want me to link those into the bug report, or can you do it yourself directly?16:29
etnegbut till someone colors it up not sure how it's going to look16:29
etnegsladen: i could but i forgot my password to login16:29
kim0The oxygen atom concept is still on the top of my list though :)16:30
etnegand was trying to reset, launchpad hasnt sent me the confirmation code yet 16:30
kim0etneg: check ur spam folder ?16:30
sladenetneg: btw, you should submit something to the wallpaper contest16:30
etnegunless osomeone can color it out, i dont know if i could16:30
etnegi could do the concepts but not sure thats what they'd want16:31
etnegkim0: the oxygen atom idea is quite digitized though16:34
etnegmine are still in pencil16:34
kim0yeah :)16:35
etnegfrom this http://i52.tinypic.com/t62vzl.jpg16:37
sladenetneg: details of the Ubuntu 11.10 contest at  http://design.canonical.com/2011/07/get-excited-and-make-things-wallpaper-edition/16:39
etnegto http://i55.tinypic.com/2bckrn.png16:40
sladenetneg: what's your username, I can try asking one of the Launchpad people to look at the mail and see how far it got16:40
etnegmake s a huge difference in the coloring16:40
sladenetneg: Launchpad doesn't seem to think there's anyone with that email address (I've tried subscribing it)16:41
etnegForgotten your password?16:42
etnegWe’ve just emailed mellgoth29@gmail.com (from noreply@launchpad.net) with instructions on resetting your password.16:42
etnegi dont have an account on launchpad, i just subscribed to the ensemble list, that was it and now to the bugs list so i can post it there16:43
etnegbut i forgot my password so i can post to the lists16:43
sladenetneg: ahhh, no Launchpad account, that'll be why I can't subscribe you to the bug report :)16:43
etnegi'll  need a launchpad account to post to the bugs report?16:44
sladenetneg: yes, cunning spam avoidance mechanism16:45
sladenetneg: there are a couple of wish-list bugs about eg. enabling posting by Debian Developers, or GPG-signed emails without having an account first16:45
sladenetneg: or for allowing OpenID (my preference for a number of years)16:46
etnegah ok16:47
etnegah ok launchpad created16:48
adam_gneed suggestions here on a formula im writing. ive got a serivce unit that has many clients relating to it. i need a hook that will fire (for each relation) after a minimum number of peer relations is reached, and again for every new relation added. any ideas? SpamapS m_3 ?16:49
etnegif i click show bugs by heat16:49
etnegi get an (Error ID: OOPS-2020AT233) 16:49
sladenetneg: I've used the example and added another comment to the requests for OpenID:  https://bugs.launchpad.net/launchpad/+bug/21094316:49
_mup_Bug #210943: Launchpad only permits user authentication via the Ubuntu single-signon OpenID server <feature> <lp-foundations> <openid> <openidrp> <Launchpad itself:Triaged> < https://launchpad.net/bugs/210943 >16:49
sladenetneg: and subscribed you to:  https://bugs.launchpad.net/ubuntu-branding/+bug/80710016:50
_mup_Bug #807100: Develop Ensemble logo (ensemble.ubuntu.com) <ubuntu-branding:In Progress> < https://launchpad.net/bugs/807100 >16:50
etnegsweet thanks sladen 16:51
sladenetneg: would you like to introduce + link to the latest sketches in your own words?16:51
etnegna na i just want post it and get some feedback i guess16:51
etnegpossibly get someone to color it16:51
sladenetneg: okay, perhaps just "here are three more colour sketches I did, I'd love feedback and anyone who can help with colouring them"16:52
sladenetneg: well, maybe not colour sketches, if you want help colouring them :)16:53
sladenetneg: but this one with the Nemo fishes, I would definately put that foward for the wallpaper contest http://i55.tinypic.com/2bckrn.png16:53
etnegohhh no way16:54
etnegsomeone else is using it16:54
etnegi just wanted to give a rough idea on how coloring makes a difference16:54
etnegi just did the pencil part and someone else did the coloring part16:54
sladenetneg: out of interest, what's using it?16:55
etnegnoticed you16:55
etnegbasically i got my fingers in every pie :P16:56
etnegbut we were done with the wallpaper stuff, all finalised, so figured i'll do some logo stuff and bumped into ensemble:D16:56
etnegsladen: thanks for the headsup in the bugs list16:58
robbiewkim0 so what's the process with the logo?17:00
robbieware we gathering submissions and then doing a vote?17:00
robbiewI don't think we want this dragging on for much longer17:00
sladenrobbiew: the only basic requirement is that we shop it past marcushaslam (Ubuntu Brand Lead) to ensure that whatever is proposed fits with the brand (and we'll probably get ideas on how to improve it if not)17:02
robbiewsladen: uh...I don't think so17:03
sladenrobbiew: *blink*17:04
robbiewthis is more project oriented...nothing to do with wallpapers17:04
etnegok done17:04
sladenrobbiew: correct, this has nothing to do with wallpapers17:04
sladenrobbiew: and the wallpapers has nothing to do with Ubuntu Branding17:04
robbiewneither does Ensemble, really17:04
sladenrobbiew: but this here Ensemble logo probably has to tie in with the Ubuntu/Canonical brand eco-sphere to some degree (it would be good if you could clarify to what extent---there's a question about just that on the bug report)17:05
robbiew<sigh>....this seems overly complicated17:05
sladenrobbiew: I think the Design Team would love to be useful, but need some metrics about how to be useful :)17:06
etnegoh we'll need canonical as part of the logo as well?17:07
robbiewthey are useful17:07
etnegcause all of mine are geared towards ubuntu+ensemble17:07
sladenrobbiew: right, so the Design Team's long-suffering techie sought to enquire 'A big question I'd like to know is how closely is this going to be tied to the Ubuntu or Canonical brands, or is it intended to be stand-alone? Eg. will it always be "Ubuntu Ensemble", or "Canonical Ensemble", or just "Ensemble".'  ( https://bugs.launchpad.net/ubuntu-branding/+bug/807100/comments/5 )17:09
_mup_Bug #807100: Develop Ensemble logo (ensemble.ubuntu.com) <ubuntu-branding:In Progress> < https://launchpad.net/bugs/807100 >17:09
robbiewit will be Ensemble17:09
robbiewjust like Upstart is Upstart17:09
etnegif nobody can color mine i guess there's nothing much left to decide or vote17:11
etnegits the oxygen atom concept17:11
robbiewone point, and I believe niemeyer has made this before, is that ensemble is not just for clouds17:12
robbiewit's service orchestration17:12
robbiewwhich can occur on bare-metal machines as well17:12
sladenrobbiew: https://bugs.launchpad.net/ubuntu-branding/+bug/807100/+addcomment?field.text=For+the+branding+it+will+just+be+Ensemble,+just+like+Upstart+is+upstart17:12
_mup_Bug #807100: Develop Ensemble logo (ensemble.ubuntu.com) <ubuntu-branding:In Progress> < https://launchpad.net/bugs/807100 >17:12
etnegbut cloud is still part of it17:12
robbiewindeed...but doesn't define it17:14
etnegso where is cloud being defined?17:14
etnegor orchestration in any of the logos though17:14
sladenrobbiew: https://bugs.launchpad.net/ubuntu-branding/+bug/807100/+addcomment?field.comment=For+the+branding+it+will+just+be+Ensemble,+just+like+Upstart+is+upstart  lets try that again17:15
_mup_Bug #807100: Develop Ensemble logo (ensemble.ubuntu.com) <ubuntu-branding:In Progress> < https://launchpad.net/bugs/807100 >17:15
etneghere's something to think about from an artistic point o view and not from a technical aspect17:15
etnegpeople give two shits about a 2hr lecture on how the logo was made, maybe 10% would care, 17:15
etnegrest is if the logo looks good, you're done17:16
etnegeveryone's happy, and it'll stay in people's head17:16
etnegwaht you want is people to remember it17:16
etnegnot about the long explanation on bare metal machines or cloud or orchestration, sure the people designing it could think about all those aspects but the audience really just wants to see a nice good looking logo17:17
etnegatleasts in my experience:D17:18
etnegwe could just have a plain E and then color it just enough to look good, but if it acually is well done, nothing else will matter17:19
etnegall the orchestration and cloud and any other theme we thought of would just slowly fit into it simply because people like it17:19
etneglike it= like the logo17:19
robbiewi guess...I'm staying out this17:20
robbiewgood luck all!17:20
etnegyou're the guy who designed the oxygen atom concept17:20
etnegeither way i think your idea is the winner, we got nobody to color mine17:22
sladenetneg: yup, meet superman^W^W robbiew, Server Team Lead 17:22
etnegoh ok17:22
etneghe isn't very happy at the moment lol17:22
etnegok i guess i can stop with the concepts then, instead of dragging this like robbiew  said, go with the oxygen idea even kim0 likes it17:25
robbiewnot unhappy...just busy with some other stuff17:25
robbiewseriously...I'm fine with anything chosen17:25
robbiewnot pushing my idea...I just don't want this to drag on for months17:26
* etneg nods17:28
kim0Glad everyone is happy, and indeed let's finish this off17:36
SpamapSRoAkSoAx: how goes the battle? ;)17:48
etnegwell anyohw nice working with you guys, if you need anything else let me know17:55
etneglater sladen , kim0 17:56
smoserRoAkSoAx, bug 810044 for the cloud-init race on mutiple interfaces18:08
_mup_Bug #810044: cloud-init will have race conditions for cloud-config with multiple network adapters <amd64> <apport-bug> <oneiric> <cloud-init:New> <cloud-init (Ubuntu):New> < https://launchpad.net/bugs/810044 >18:08
smoserSpamapS, i'd like your suggestions for upstart magic that would handle "all itnerfaces up" (i think there is something in upstart now for that)18:09
SpamapSNo I'm supposed to add that.18:09
SpamapSthe closest thing is 'started networking' because it comes after 'ifup -a'18:09
SpamapSstopped networking actually18:10
* SpamapS curses the task18:10
SpamapSsmoser: I'm supposed to be adding one for oneiric that happens when all statically configured interfaces are up.18:10
smoseryou ahve a bug opne for that ?18:11
smoserthat i cna reference?18:11
serue_yeah stopped networking is what i'm using in libvirt18:14
SpamapSIts in a blueprint18:14
SpamapSsmoser: https://blueprints.launchpad.net/ubuntu/+spec/server-o-boot-experience18:14
=== daker is now known as daker_
RoAkSoAxSpamapS: just came back from lunch, should have something more solid later today18:38
RoAkSoAxsmoser: let's see18:38
SpamapSRoAkSoAx: cool. I've been playing and I keep running into the "how do we know when to turn off netboot for a system" problem..18:40
SpamapSRoAkSoAx: seems like we need to have something that turns that off in the latecmd.18:40
RoAkSoAxsmoser: so, as you mention, checking if we can access a public ubuntu archive give us the impression that there';s outside world connectivity?18:40
smoserwell, it would indeed give that impression18:41
smoserbut that could be useless information18:41
smoserespecially in the case where it has an internal archive that it was told to use by the preseed.18:41
RoAkSoAxSpamapS: in the cobbler "system" you mean?18:41
RoAkSoAxsmoser: right, but I mean, accessing an always available Ubuntu archive on the internet18:42
SpamapSRoAkSoAx: yeah, basically my box gets installed correctly and then reboots and because it is defined as a "system" it starts installing itself again rather than defaulting to local boot18:42
RoAkSoAxSpamapS: is that in a VM or in real HW?18:43
smoserSpamapS, i agree, you need something there.18:43
smoserRoAkSoAx, why would it matter real or virt?18:43
smoserthe issue is that the system is set to netboot, and cobbler is told to netboot it.18:43
smosercobbler needs to be told to stop netbooting it18:43
smoserhow is this general problem addressed18:43
smoserit is not specific to ensemble , or even ubuntu18:44
SpamapSI think there's some snippets for kickstarts that do it18:44
SpamapS    ## PXE JUST ONCE18:45
SpamapS    #if $pxe_just_once in [ "1", "true", "yes", "y" ]18:45
SpamapS        #if $breed == 'redhat'18:45
SpamapS            #set nopxe = "\nwget \"http://%s/cblr/svc/op/nopxe/system/%s\" -O /dev/null" % (srv, system_name)18:45
SpamapSthats from kickstart_done18:45
smoserthat seems easy enough18:45
RoAkSoAxSpamapS: yeah that's it with $pxe_just_once18:45
SpamapSbut that is only in kickstart snippets18:46
RoAkSoAxbut seems disabled by default18:46
smoserwell we're providing our own preseed file.18:46
SpamapSthe variable seems meaningless with pre-seeds w/o another snippet18:46
smoserand i can't imagine any case where you would want to install again and again18:46
RoAkSoAxI actually haven't run into the problem18:47
SpamapSif you have hardware that only PXE's when you ask it to, not by default, this isn't an issue18:47
smoserjust put into our preseed 18:47
smoser  wget \"http://%s/cblr/svc/op/nopxe/system/%s\" -O /dev/null" % (srv, system_name)18:47
SpamapSsmoser: that needs to be run as part of the latecmd18:47
smoserso let it be18:47
smoserby default18:47
RoAkSoAxSpamapS: that's easy to achieve18:47
smoserdo not put this in ensemble though18:47
smoserjust put it in the late-command by default18:48
smoser(or early command)18:48
smosermeh. 6 in one half a dozen in the other.18:48
SpamapSI see some advantages to either18:48
smoserso i dont care18:48
smoserit does seem strange to me that the option to turn off pxe is not acl'd18:49
SpamapSsmoser: couldn't you make cloud-init's nocloud seed data "pre-seedable" ..18:49
smoserie, anyone can do that.18:49
SpamapSsmoser: that way you wouldn't have to use latecmd.. you could just say  cloud-init cloud-init/nonet-base64 string asdflkja1383185a0easdfasdfffa0918:49
smoserSpamapS, there is no issue really with utilizing late-command multiple times.18:49
SpamapSsmoser: its additive?!18:50
smoserie, we could definitely do that in cloud-init though18:50
smoserthe way we've got it now , it is easily additive18:50
SpamapSah well then i'll stop bike shedding18:50
smoserhold on. let me dig it up18:50
smoserSpamapS,  see line 105 and 106 at18:51
smoserjust insert a :18:51
smoser# wget "http://%s/cblr/svc/op/nopxe/system/%s\" -O /dev/null % (srv, system_name) 18:52
smoserbefore the ensembel line18:52
SpamapSNot sure I understand how it is 'string true' .. but I'll take your word for it. :)18:53
smoseri dont know how you get 'srv' set in that snippit.19:00
smoserbut i just tested rendering of:19:00
smoserSpamapS, the 'true' is just part of the string19:01
smoseronly there so that it is [apparently not very] obvious where you could insert additional commands19:01
SpamapSsmoser: anything in 'sudo cobbler system dumpvars --name=x' is available19:02
smoseryeah, and i dont see any 'server' there. or anything that indicates my cobbler server19:02
SpamapSsmoser: oh, srv is special19:02
smoserdo you?19:02
SpamapS#set srv = $getVar('http_server','')19:02
smosermy cobbler thinks that19:03
smoserhttp_server :
smoserdont know where it gets that19:03
SpamapSI think thats actually in settings19:04
SpamapSserver: cobbler19:05
_mup_ensemble/expose-provider-ec2 r282 committed by jim.baker@canonical.com19:07
_mup_EC2 port ops19:07
RoAkSoAxSpamapS: by any chance do you have a user-data sample file of an ensemble zookeeper machine?19:07
SpamapSRoAkSoAx: it just installs zookeeperd19:08
SpamapSRoAkSoAx: the rest is some run commands to initialize the instance of zookeeper19:08
RoAkSoAxSpamapS: ok19:08
smoserso that works.19:12
SpamapSsmoser: *nice*19:13
SpamapSbtw that is a truly glorious latecmd ;)19:14
smoserwell, the really nice thing is that its so easy to tell whats going on19:14
m_3RoAkSoAx: user-data from my bootstrap instance is http://paste.ubuntu.com/643463/19:15
smoserRoAkSoAx, we should add that "pxe-once" snippet to any preseeds we ship19:15
RoAkSoAxm_3: thanks!!19:16
RoAkSoAxsmoser: yeah cool19:17
adam_ghey python people, any idea why this may be failing to install from install hook, but installs fine manually and cleansup fine with 'apt-get -f install' after failure?19:18
smoseri still think its strange that anyone can just turn off pxe boot for anyone else19:20
SpamapSadam_g: there are some transitions going on w/ python.. might be just borken in oneiric19:21
adam_gSpamapS: in what way? using the same AMI, manually installing the same packages (even executing the hook manually) works fine19:21
SpamapSadam_g: try it with 'apt-get -y install foo | cat'19:22
SpamapSadam_g: its possible that there's something broken in their config scripts that depends on the terminal.. though that sounds unlikely19:23
SpamapSyeah thats worth a go as well19:25
adam_give already set to noninteractive19:27
adam_gill give natty a shot in a min19:27
RoAkSoAxSpamapS: http://paste.ubuntu.com/643476/ --> so this is just a test bootstrap procedure19:27
RoAkSoAxniemeyer: http://paste.ubuntu.com/643476/19:27
SpamapS+        #log.info("Run ensemble-admin --instance_id orchestra-server --admin_id %s" % self._admin_id)19:29
SpamapSRoAkSoAx: IIRC, ensemble-admin initialize is run as part of the scripts from common.. I think19:30
RoAkSoAxSpamapS: I have yet to fully discover ensemble :) but just wanted to provide a quick demo using what you worked on and the approach discussed here19:32
RoAkSoAxSpamapS: of course this needs to be integrated correctly with the refactoring that fwereade is working on19:32
RoAkSoAxsmoser: http://paste.ubuntu.com/643476/ that's over SpamapS' branch19:33
RoAkSoAxsmoser: so the only thing missing would be to install by default cloud-init in the target system to run what we are passing through the preseed right?19:36
smoserRoAkSoAx, yeah, so i have two thoughts on that.19:37
smoserin my preseeds i've had EXTRA_PACKAGES as a ks value19:37
smoserwe *could* use that, similarly '$ENSEMBLE_PACKAGES'19:37
smoserbut i think we can also just assume that cloud-init is in the packages list.19:37
smoserand i lean towards assuming it is.19:38
SpamapSI think for completeness of solution, ensemble bootstrap should actually install this preseed file if cobbler will allow it.19:39
RoAkSoAxSpamapS: unless we ship it with orchestra as an ensemble preseed19:40
SpamapSThat seems like a good fallback. "Orchestra - Now with Ensemble Support" ;)19:41
smoserSpamapS, cobbler will not allow it19:45
smoserwell, you can only change existing kickstarts.19:45
smoseri thik...19:45
niemeyerThis code, in Jim's branch, looks awesome19:45
smosermaybe i'm wrong, but there was some limitation there.19:46
niemeyerLet's have more of it19:46
smoserSpamapS, i think it is not desireable for ensemble to insert the kickstart itself19:46
RoAkSoAxi think we should have the kickstart provided19:46
SpamapSOk. That is a simpler solution.19:47
smoserthis is because in any real world situation, the admin will have a taylored preseed for their systems.19:47
SpamapSEh, but thats just the kind of thing we don't want.19:47
RoAkSoAxand when we have system's in foo-available, we set the kickstart to the one for ensemble19:47
smoserit is the kind of thing we *do* want19:47
smoserand admins want19:47
SpamapSErr.. ok.19:47
smoseryou buy a honking large server with a 3200RPM disk on / and a high end raid attached19:48
SpamapS(I'd err on the side of pure machines so we can continue to make assumptions in formulas)19:48
smoseryou want to tell your preseed to use the high end disk19:48
smosernot jsut accept the defaults of the installer19:48
SpamapSsmoser: I think we can do that w/ snippets19:48
smoserdo what with snippets?19:48
SpamapSWell, s/that/what we need to/19:48
smoserwell, we already have that basically19:49
SpamapSWe can include an ensemble snippet, and a default pre-seed that does not disk config..19:49
smoserensemble needs one hook in19:49
smoseryou put that text in your preseed and you're good19:49
smoserwe provide a documented example in orchestra that shows what it needs19:49
SpamapSThen let people make their own pre-seed that just includes the ensemble snippet.. rather than copy/paste19:49
RoAkSoAxwe can have a bsic preseed and also chainload another preseed or use snippets, it will work either way19:49
SpamapSYeah, I'd keep the magic in the snippets19:49
smosercopy and paste a snippet or copy and paste a bit of code19:49
RoAkSoAxI think adding a snippet would be easier19:50
SpamapSa call to a snippet is going to evolve with releases and updates..19:50
SpamapScopy/pasted code will not19:50
smoserthats possibly true, but a preseed file will *also* evolve with releases19:50
SpamapStho one thing that sucks.. the snippets live in /var/lib don't they?19:50
SpamapSyeah.. suck.. that means if we update them in the package they don't get updated in your installation19:51
smoserand a snippet doesn't really solve all your problem.19:51
SpamapSa unicorn would19:51
smoseri think as much as possible we shoudl rely on only late_command19:51
smoserand so a snippet for late_command, that allows the user to add their own commands is not terribly prettier19:52
SpamapSThats fair, but I'm concerned with people doing things in a weird way on these servers that will make formulas fail.. until we have container support in the machine agent, thats going to be a real danger.19:52
smoserthey're going to do things.19:53
smoserand there are very good reasons for wanting to modify a preseed.19:53
SpamapSyeah, I want the default to allow them to do those things w/o copy/pasting something we need to change later.19:53
smoserbut i dont think you can.19:54
smoseri'm saying keep it to only touching late_command19:54
smoserwe can do just about anything inside of a late command19:54
smoserand we can inject anything we want in there.19:54
smoserand a snippet wouldn't help you there, really.19:55
smosersince its basically a patch collision on likely modified code19:55
SpamapSYou can define a python function, with default arguments.. and the default kickstart would be something like19:55
SpamapS## put your custom pre-seed here19:55
SpamapS$ensemble_latecmd() # Add an argument if you need to add late commands as well.19:56
SpamapSNow the magic is hidden in ensemble_latecmd()19:56
_mup_ensemble/expose-provider-ec2 r283 committed by jim.baker@canonical.com19:56
_mup_Adjust provider interface for port mgmt to take machine_id19:56
smoserSpamapS,  i don't folow19:57
SpamapSyou can fix the magic, and even put it in a python lib which the snippet imports19:57
smoseroh. sure.19:57
niemeyerjimbaker: expose-provision-machines has a review19:57
_mup_ensemble/expose-provider-ec2 r284 committed by jim.baker@canonical.com19:57
_mup_Merged expose-provision-machines19:57
jimbakerniemeyer, thanks19:57
niemeyerhazmat: That's a good candidate for a review break: https://code.launchpad.net/~jimbaker/ensemble/expose-provision-machines/+merge/6762319:57
smoserso, sure. i'm fine saying a snipet.19:57
smoserand then on the late_command line using $ensemble_latecmd19:57
smoserbut you still have cut and paste19:58
smoserso really you'd want19:58
smoserlate_command string $SNIPPET('ensemble_latecommand')19:58
SpamapS$SNIPPET() is like an include19:58
SpamapSbut yeah details details.. I do like having the explicit latecmd line there so its clear that this is where late_command is set.19:59
smoserand where the user would want to add their own.19:59
SpamapSyeah, that makes it easier not to screw up20:00
smoserso all you did is change what they will copy and paste. ;-)20:00
jimbakerniemeyer, looks good. re try-finally for observation, this is to ensure the observation happens even if there's an error (eg  ProviderInteractionError)20:02
niemeyerjimbaker: If you put at the top there's no possible error that may happen besides from itself20:02
niemeyerjimbaker: Is there a reason why it can't be at the top?20:02
jimbakerniemeyer, sure, but i also want it to happen last, otherwise the timing gets off20:03
jimbakeri should note, this only occurs with repeated looping20:03
jimbakerotherwise the ordering is unnecessary20:04
niemeyerjimbaker: This feels a bit vague20:04
niemeyerjimbaker: How does the timing get off?20:04
niemeyerjimbaker: What is depending on that order?20:04
jimbakerniemeyer, sorry i'm just recalling the torture :)20:04
jimbakeras you may know, i fully support the move to go based on this work ;)20:04
SpamapSsmoser: yes I want to change what they will copy and paste so that it has no logic in it20:05
smoser$ENSEMBLE_COMMAND has no logic20:06
smoseronly the spelling of the word20:06
smoserbut this is not worth arguing20:06
jimbakerniemeyer, the observation is there to ensure that a specific sequence of activities associated with a particular event (open_close_ports) has completed. otherwise, it is possible for a callback to still be in process, which defeats the observation rationale20:06
niemeyerjimbaker: Cool, please just paste that as the answer to that review point then.  Thanks for the explanation.20:07
jimbakerniemeyer, sounds good!20:08
niemeyerjimbaker: In terms of the migration, it will certainly help us getting rid of those issues, but it's not a free pass to be lax in terms of understanding why/how things work right now.20:08
* jimbaker doesn't want to write such complex code in twisted again20:08
jimbakerniemeyer, indeed20:09
jimbakerniemeyer, fortunately i think we have a very good pattern in place with this code. it is robust, if complex. it just needs some doc in place to explain the why behind the necessary complexity20:10
jimbakerso i will address that :)20:11
niemeyerjimbaker: Kind of.. there are still tricks in there which clearly are made out of explosions noted while testing20:27
niemeyerjimbaker: if not self._running, etc20:28
niemeyerjimbaker: StateChangeds..20:28
jimbakerniemeyer, sure20:28
niemeyerjimbaker: Hopefully the final pattern we'll get to will be more resilient ("if this call failed, then 20:29
jimbakerniemeyer, none of which seem to be necessary when the tests are just run once, only when looped. but justified after the fact20:29
niemeyerjimbaker: That's exactly my worry20:30
jimbakeralso seen in supporting state code, so needing to add guards against topology changes20:30
niemeyerjimbaker: What you're really saying is "None of that fails when thing happen on that very precise order"20:30
niemeyerjimbaker: Which is artificial20:30
niemeyerjimbaker: I know.. your guards are sane20:30
niemeyerjimbaker: The problem I see isn't that you've put them in place.. but rather that I'm sure you've figured they were needed because things failed while running20:31
niemeyerjimbaker: This means it's still harder to come up with correct logic than it ought to be20:31
niemeyerjimbaker: We'll get there, though.. don't worry :)20:31
jimbakerniemeyer, yeah, i'm certainly looking forward to golang making it easier to express things deterministically20:32
_mup_ensemble/expose-provider-ec2 r285 committed by jim.baker@canonical.com20:35
_mup_Now pass in the machine_id to port ops in provisioning agent20:35
SpamapSniemeyer: I'm curious why only twisted is used for non-blocking code. I have zero experience w/ python threads.. but.. are they that useless?20:38
niemeyerSpamapS: It's a bit like the opposite20:39
niemeyerSpamapS: Twisted runs in a main thread20:39
niemeyerSpamapS: and it has a dispatching loop as most event based systems do20:40
niemeyerSpamapS: Like most Python code, though, Twisted is not thread safe20:40
SpamapSThat much seems straight forward.. the couple of twisted based things I've written were just a protocol handler hanging off the reactor.20:40
niemeyerSpamapS: So it has its own thread, and it orchestrates calls between pending events20:40
niemeyerSpamapS: The trickiness comes when you want to execute a blocking call20:41
SpamapSAh.. I recall it was a huge breakthrough when libevent became thread safe.20:41
SpamapSmemcached got an order of magnitude faster w/o adding much code complexity.20:41
niemeyerSpamapS: The issue is that _everything_ happening through Twisted logic (deferreds), happens in that one thread20:42
niemeyerSpamapS: So if you call something that blocks within that one thread, it wedges the whole thing20:42
niemeyerSpamapS: So the right way to do it is to defer to a thread20:42
SpamapSYeah.. as is the usual case with non-blocking event based systems.20:42
niemeyerSpamapS: (which is why I said it was the opposite)20:42
SpamapSI read a good white paper on why event based systems always start simpler than threaded systems, but usually end up more complex over time.20:43
niemeyerSpamapS: Even more when it's an after-thought20:43
niemeyerSpamapS: .. as in, Python itself as a language wasn't designed like that20:45
niemeyerSpamapS: Oh, that looks interesting, thanks!20:45
niemeyerSpamapS: I'm sending to Ubuntu One for the reading queue right now :)20:45
niemeyer"is being uploaded to your personal cloud." is sooooo cheesy, btw :-)20:47
SpamapSI don't let U1 tell me anything.. I ask it occasionally if it did something. ;)20:47
adam_gare there any published formulas that serve as a good example of peer relations vs require/provides?21:08
SpamapSadam_g: I think negronjl has some21:11
SpamapSadam_g: tomcat6 maybe21:11
m_3maybe cassandra?21:13
SpamapSYeah I don't know if the cassandra formula is published just yet21:15
niemeyeradam_g: I'm not sure I'm really answering your question there, to be honest21:26
niemeyeradam_g: Are you trying to do a ring, or 1-N relationship?21:26
niemeyeradam_g: Both are doable.. I just want to make sure we're on the same page21:27
adam_gniemeyer: 1-N. the term "ring" is specific to swift in this case i think21:27
adam_gwhat you've described on the list sounds like a good solution. 21:27
niemeyeradam_g: Hmm, ok21:28
niemeyeradam_g: I wasn't sure because peer relations work within the same service21:28
niemeyeradam_g: So when you need two _different_ formulas/services, it's a 1-N relationship21:28
adam_gi basically need relation-changed to be fired on all nodes participating in the relationship21:28
niemeyeradam_g: Which just works.. you don't have to do anything about it21:28
adam_gok wait.. 21:28
adam_gi'll have 1 swift-proxy that relates to many swift-storage-nodes21:29
adam_gwhen a new storage-node joins, i need relation-changed to be fired on all other storage-nodes to get the new ring configuration21:29
niemeyeradam_g: Ok.. are all the swift-storage-nodes deployed with the same service, or with different services?21:29
adam_gniemeyer: not sure i follow the question. they'll all be using the same swift-storage-node formula, if that means anything21:30
niemeyeradam_g: Or, in more simple words, how do you add a new swift-storage-node?21:30
niemeyeradam_g: Ok.. so you can have a peer relation21:30
niemeyeradam_g: and the list conversation makes sense21:30
niemeyeradam_g: Well, one more question:21:30
niemeyeradam_g: Do you want a change in _swift-proxy_ to affect all nodes?21:31
niemeyeradam_g: Or the nodes themselves to be self-aware?21:31
niemeyer(aware of the ring they're in)21:31
_mup_ensemble/expose-provider-ec2 r286 committed by jim.baker@canonical.com21:33
_mup_Mock test for EC2OpenedPorts21:33
adam_gthe workflow is basically this. swift-proxy is alone with no ring config. storage-node joins. proxy configures ring with 1 node, sends config to storage-node1. storage-node2 joins. rign is reconfigured with 2 nodes, config is sent to storage-node1 + storage-node221:33
niemeyeradam_g: Ok, that's a NOOP, I think :-)21:33
niemeyeradam_g: I mean, it just works21:33
adam_gin the context of peer relations?21:34
niemeyeradam_g: If you have one formula for swift-proxy, and one formula for swift-storage-node21:34
adam_gor in general?21:34
niemeyeradam_g: in general21:34
niemeyeradam_g: Then you do21:34
niemeyeradam_g: add-relation proxy storage21:34
niemeyeradam_g: You get a relation established between these21:34
niemeyeradam_g: Then, you can do21:34
niemeyeradam_g: add-unit storage21:34
niemeyeradam_g: add-unit storage21:34
niemeyeradam_g: and get a couple of new units (3 in total now)21:34
niemeyeradam_g: These are units of the same service (storage) and all of them are in a relation with the proxy21:35
niemeyeradam_g: When the proxy does "relation-set whatever=foo"21:35
niemeyeradam_g: all the units get the notification21:35
niemeyeradam_g: through relation-chagned21:35
niemeyeradam_g: Is that what you wanted?21:36
adam_gok. that is exactly what i needed. 21:36
adam_give not used 'add-unit' yet21:36
niemeyeradam_g: Ok.. that's awesome.. it should just work21:36
adam_gbut i think now would be a good time to start21:36
niemeyeradam_g: Oh, you should try it!  I personally find that one of the most awesome things about the model we have21:36
niemeyeradam_g: all of the units of a single service share the same relations and the same configuration21:37
niemeyeradam_g: Makes it trivial for the user to scale things up at will21:37
niemeyerensemble add-unit <service-name>, profit21:38
* SpamapS hearts add-unit too21:38
adam_gfor another formula that has a provides/requires metadata layout, does add-unit 'just work' or it needs to be configured as peer relation?21:38
m_3adam_g: lp:principia/haproxy under the reverse-proxy-relation-xxx uses "relation-list" too21:38
niemeyeradam_g: add-unit just work for all kinds of relations21:39
adam_ga second issue21:39
niemeyeradam_g: Of course, the service has to be aware of it needs to support multiple units in the same relation21:39
niemeyeradam_g: In the near future we'll define max-units21:39
niemeyeror similar21:39
adam_ginstead of using relation-set to pass a KEY=VALUE to the peer, i need to send a gzip archive. :)21:39
niemeyeradam_g: Uh oh :)21:40
niemeyeradam_g: That's generally not great to be sending that way, but for now it should work to base64 encode it21:40
niemeyeradam_g: The detail to be aware of is that this is going to memory21:40
niemeyeradam_g: I really want us to have a storage mechanism tied to Ensemble itself21:40
adam_gi was thinking of dumping it to s3 and passing the url via relation-set, but that'd require credentials 21:41
niemeyeradam_g: So that we can do integrated file storage operations like this at will21:41
niemeyeradam_g: yeah21:41
niemeyeradam_g: Is the file big?21:41
adam_gno, ~200k21:41
niemeyeradam_g: I'd say base64-encode it, to get going21:41
adam_gactually, s3 is a stupid idea. swift provides s3 storage. s3 is only an option when testing in ec221:42
niemeyeradam_g: It's a nice problem to have :)21:42
SpamapSit would be useful if ensemble abstracted a shared file storage mechanism away, since it is guaranteed to have one available for formulas.21:43
niemeyeradam_g: 200k in memory won't be a big deal right now.. once we smooth out other corners, we can fix that in a more elegant fashion21:43
niemeyerSpamapS: Agreed21:43
SpamapSadam_g: What about just popping up a webserver on an alternate port and serving it up that way? I did that for mysql replication snapshots.21:43
SpamapSwhen slaves join I feed them a url to fetch the latest snapshot21:44
adam_gthats an option as a work around21:44
SpamapSniemeyer: https://launchpad.net/~gophers/+archive/go is that the official go pa ?21:44
niemeyerSpamapS: This is dying, pretty much21:45
niemeyerSpamapS: But it is21:45
SpamapSadam_g: It works pretty well really.. I lock it down so only the slaves can grab the snapshot21:45
SpamapSniemeyer: its not even working. :(21:45
niemeyerSpamapS: We'll be using packages from Debian21:45
SpamapSniemeyer: well I want it on natty21:45
niemeyerSpamapS: Why not?21:45
SpamapSW: Failed to fetch http://ppa.launchpad.net/golang/ppa/ubuntu/dists/natty/main/source/Sources  404  Not Found21:45
SpamapSoh wait21:45
SpamapSthats the other one21:45
niemeyerI have no idea about what'd be going on there21:45
adam_gSpamapS: seems strange to be worrying about a utility webserver from within a formula, tho. maybe it would make sense to run something like that on the bootstrap node, and formulas can publish to / grab from as needed21:45
SpamapSadam_g: in the case of the mysql server, that would be 100GB files.. :-P21:46
_mup_ensemble/expose-provider-ec2 r287 committed by jim.baker@canonical.com21:46
_mup_More mocks for EC2 port ops21:46
SpamapSadam_g: eventually I want the url to stream the results of mysqldump if its big.21:47
niemeyeradam_g: Yeah21:47
m_3adam_g: because of your proxy<->storage relation, you might not need real "peer" relations between storage nodes21:48
_mup_ensemble/expose-provider-ec2 r288 committed by jim.baker@canonical.com21:52
_mup_Change example formula21:52
m_3SpamapS: I've got an interface naming problem...22:02
m_3SpamapS: mysql provides relation 'db' with interface 'mysql'22:02
m_3SpamapS: postgresql provides relation 'db' with interface 'postgresql'22:03
m_3but now when something wants to consume these...22:03
m_3it needs to do two optional interfaces?22:04
SpamapSuh, no?22:11
SpamapSthe relation name is meaningless22:11
SpamapScall it db-mysql and db-postgresql if they can do either/or22:11
m_3I'm getting no endpoints on add-relation unless I do something like22:12
m_3the formula doesn't care which db it is22:13
m_3oh, wait, I see what you mean22:13
SpamapSI suggest that you *always* explicitly say which relation you mean22:14
SpamapSthe implicit stuff is cool, but leads to confusion22:14
m_3they still both have to be optional though22:14
m_3so it's the same difference if it's the same hooks22:15
m_3but I'll use the more specific relation names22:16
SpamapSoptional meaning not "required" ?22:16
SpamapSI think the word Requires: is a bit misleading in the metadata.22:16
SpamapSmany of these are just things that the service *can* use22:16
m_3optional: true22:16
SpamapSnot that it must use.22:16
SpamapSis that a valid used metadata flag?22:17
m_3seems to be, but I guess it's redundant based on what you just said22:17
m_3it's not like it waits for relations before setting the service state to 'started'22:17
SpamapSm_3: right but when we start doing a lot of auto-resolution.. it may matter22:34
m_3SpamapS: yeah, looks like one of those planned lockdowns according to the docs22:37
m_3SpamapS: how long have you been up now?  you were in the logs waaaaay early22:38

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