/srv/irclogs.ubuntu.com/2011/05/26/#ubuntu-ensemble.txt

_mup_ensemble/expose-provision-service-hierarchy r243 committed by jim.baker@canonical.com00:21
_mup_Method cleanup, more tests00:21
_mup_ensemble/expose-provision-service-hierarchy r244 committed by jim.baker@canonical.com01:59
_mup_Guard refactoring on watching exposed services01:59
_mup_ensemble/expose-provision-service-hierarchy r245 committed by jim.baker@canonical.com02:08
_mup_Name refactoring02:08
niemeyerBed time!02:48
niemeyerNIght all02:48
_mup_ensemble/expose-provision-service-hierarchy r246 committed by jim.baker@canonical.com04:42
_mup_Naming and PEP804:42
_mup_ensemble/expose-provision-service-hierarchy r247 committed by jim.baker@canonical.com05:57
_mup_Testing through the check_service_unit_ports funnel05:57
_mup_ensemble/expose-provision-service-hierarchy r248 committed by jim.baker@canonical.com05:59
_mup_Removed unnecessary code in guard05:59
_mup_ensemble/expose-provision-service-hierarchy r249 committed by jim.baker@canonical.com06:05
_mup_Uncommented raising StopWatcher06:05
_mup_ensemble/watching-godot-redux r250 committed by kapil.thangavelu@canonical.com12:20
_mup_change the ordering to ensure we wait on a second callback after a failure callback.12:20
_mup_ensemble/watching-godot-redux r251 committed by kapil.thangavelu@canonical.com12:31
_mup_merge trunk and resolve conflict12:31
hazmati'm seeing a few errors on trunk12:37
niemeyerGood morning!12:48
niemeyerhazmat: What kind of error?12:48
kim0Morning everyone 13:36
niemeyerkim0: Morning!13:42
kim0hey13:42
hazmatniemeyer, have you thought about dns integration14:18
hazmatniemeyer, i've been thinking about how we've laid out port exposing, and one case that concerned me14:18
niemeyerhazmat: Not enough14:18
niemeyerhazmat: What kind of problem were you referring to earlier, btw?14:19
hazmatIf we don’t have static information, how can we prevent port conflicts when doing unit placement, short answer, we can’t. Now we need a way for services to interrogate information on open ports on their machine so they can select a non-conflicting port (container network is separate than the machine so no way of identifying within the container). So let’s say thats fine for app servers, now we connect a proxy service to them, and we have a def14:19
hazmatined traffic port, ideally we’d just assign a dns entry to the proxy service, but now we have a problem in that we have a port offset on the url.14:19
hazmatniemeyer, trunk unit test failures, and several additional ones on the godot branch.14:19
hazmatniemeyer, one of them is fixed in godot, but the other two are new14:20
niemeyerhazmat: Haven't seen that yet, no14:20
hazmathttps://pastebin.canonical.com/47875/14:21
hazmatfailures14:21
niemeyerhazmat: I don't understand the problem you're describing re. DNS14:21
hazmatniemeyer, its tangentially dns in that case, but the use case is i want to assign a domain name to some service i've deployed, and i don't want to have any port offset as part of the url14:22
hazmatwithout unit placement consideration of ports taking place, there will be conflicts14:22
niemeyerhazmat: I don't really understand what you mean by that14:23
niemeyerhazmat: Yes, we know about the conflict problem.. we've discussed that before, but I don't understand what's new about it14:23
hazmatthose conflicts are silent incidentally.. till the ports are exposed, (different network devices between the container and host) those conflicts would need to be resolved by a mechanism which would allow the unit to determine an unallocated port 14:24
hazmatokay so now we have a bunch of appservers for this to be exposed web service, and then we connect a proxy to them, and want to assign the domain name to the proxy14:24
hazmathmm14:24
hazmatso in the end we get a proxy with a domain name which contains a non port 80 response.. the question is how to avoid that14:26
niemeyerhazmat: We put the port on 80?14:26
niemeyerkim0: Review for tutorial delivered!14:28
hazmatniemeyer, that assumes we new what port a service unit was going to use14:30
hazmatknewd14:30
niemeyerhazmat: Indeed it does14:30
niemeyerhazmat: All of the discussion about ports we had before applies.14:31
niemeyerrobbiew!15:10
niemeyerrobbiew: Welcome to our little party15:10
robbiewheh15:10
robbiewgetting crowded in here15:11
hazmatskype goes dark15:11
niemeyerhazmat: What?15:11
hazmathttp://www.thinq.co.uk/2011/5/26/skype-crashes-and-burns/15:11
kim0The MS effect15:12
niemeyerMan..15:12
niemeyerThey were probably helding sysadmins hostage in a room before they managed to sell it.15:13
niemeyerIt's too soon to blame MS for that15:14
niemeyerSkype was always extremely sensitive to the wind direction15:14
hazmattrue enough15:15
_mup_ensemble/trunk r232 committed by gustavo@niemeyer.net15:20
_mup_Merging doc-typo branch from mthaddon.  [r=niemeyer]15:20
_mup_This fixes a couple of minor issues in the documentation.15:20
_mup_ensemble/trunk r233 committed by gustavo@niemeyer.net15:26
_mup_Merged doc-fixes branch by Ahmed. [r=kapil,niemeyer]15:26
_mup_A couple of tweaks in the documentation.15:26
_mup_ensemble/watching-godot-redux r252 committed by kapil.thangavelu@canonical.com15:55
_mup_fix missing return from last trunk merge conflict resolution15:55
SpamapSniemeyer: how's the daily build PPA going?16:29
koolhead17niemeyer: found u on Twitter :P16:36
niemeyerSpamapS: Sorry, was on a call16:55
niemeyerSpamapS: It's going *very* well now :)16:55
niemeyerSpamapS: I've suffered somewhat to get through the maze, but we've got ZooKeeper 3.3.3 up and building fine on Oneiric, Natty and Maverick now16:55
niemeyerSpamapS: and I'll push the other packages after I manage to do a round of reviews after lunch16:56
niemeyerI have to unblock hazmat, jimbaker, and bcsaller first on reviews16:56
niemeyerActually, bcsaller and jimbaker only for now16:56
niemeyerI'll grab some lunch now.. back in a bit16:57
SpamapSniemeyer: sweet. I think we'll actually upload Zookeeper into Oneiric and we can probably push to get it into lucid/natty backports as well.17:03
hazmatbcsaller, i'm looking at ensemble.hooks.tests.test_communications.TestCommunications.test_get_no_such_unit  it appears that sometimes the exception doesn't get translated back to NoSuchUnit, and instead just comes out as an Exception class, just curious if that rings any bells17:05
bcsallerhazmat: no, doesn't ring a bell17:08
bcsallerhazmat: I can can look at it later, but I'm prepping for that conference today, going to give a lightning talk17:09
hazmat  bcsaller nice17:22
hazmatbcsaller, i think it might be an amp issue17:22
bcsallerhazmat: there was a change there that allowed passing exceptions back in their raw form to aid in debugging. in hook/protocol.py :: Exception: "Exception"  It could be that its upcasting the exception to pass its message over the wire?17:24
hazmatbcsaller, not sure, the they have different value tags for the wire protocol so its not clear, its a test that fails sometimes.. sometimes it works17:25
SpamapSSo I'm curious.. I had this crazy idea that you could write a "Local" machine provider that just does stuff on your local machine. Is there any reason this won't work other than sometimes services will want to listen on the same port?17:32
hazmatSpamapS, no reason offhand17:38
hazmatSpamapS, the lxc provider was going to be looking at doing effectively that via libvirt17:38
hazmatSpamapS, one could also concievably ditch the lxc provider, if you where willing to run arbitrary formulas on your laptop.. but currently the placement logic for a unit wants a 1-1 mapping machine to unit.17:39
SpamapSI feel quite strongly that we will lock ourselves out of the lower end sites if we don't enable deploying to less than 1 machine per service unit.17:40
hazmatSpamapS, absolutely, we can address separately in the ec2 lxc integration17:41
hazmatbut that's distinct to running formulas local to the admin client17:41
SpamapSI think it would be cool if deploy or add-unit had a '--machine ##' parameter17:53
hazmatbcsaller, yeah.. its picking the generic exception one sometimes, because its going through the dictionary the result is random17:58
bcsallerhuh, maybe I should just take that back out17:58
bcsallerit does slightly easy development though17:59
bcsallerSpamapS: I'd still like to see a local provider that just fires up fully virtualized  instances. That way you have some notion of containment and you don't mess with the local package space18:00
_mup_ensemble/watching-godot-redux r253 committed by kapil.thangavelu@canonical.com18:01
_mup_fix unreliable tests from trunk, dont trap generic exceptions in the protocol as it interferes with more specific exception handling, the generic will get a ampremoteexception by default18:01
hazmatbcsaller, doesn't the generic amp exception work for that?18:01
hazmatbcsaller, looks like it will just throw the description with an  UnknownRemoteError which is about the same as what was there before instead of a generic Exception class18:02
hazmats/class/instance18:02
bcsallerhazmat: if its not in the list you don't see it. The amp exception just shows up as unknown error,  if there is better native support for that I am unaware 18:02
hazmatbcsaller, hmm so  the unknownremote error is a probably treated as a fatal exception then18:03
bcsallerI believe so, yes18:03
SpamapSbcsaller: yes, I think LXC is totally the way to go. I'm really whining about two things. 1) no lxc, 2) no way to specify which physical machine to run the LXC container on.18:04
bcsallerSpamapS: I wasn't talking about LXC, I think the fast path is to fire up full instances18:04
bcsallerits heavy, but for testing small, 2-4 node deployment scripts it should be ok18:05
SpamapSer, you mean kvm?18:05
bcsalleryeah, for example or any of the others 18:06
SpamapSSure, in fact really that should just be "libvirt"18:06
_mup_ensemble/trunk r234 committed by kapil.thangavelu@canonical.com18:06
_mup_merge waiting-for-godot [r=niemeyer][f=778628]18:06
_mup_Improve watch apis to wait for their initial invocation against the18:06
_mup_current state before returning. This allows for much better18:06
_mup_synchronization betewen the invoker and background activity. Also18:06
_mup_fixes some broken tests from trunk.18:06
bcsallerthat seems like a small project that would still be a real gain18:07
_mup_ensemble/ensemble-deploy-auto-resolve r225 committed by kapil.thangavelu@canonical.com18:07
_mup_merge trunk18:07
bcsallerit might also help us identify where we currently depend on the provider too much in the example formula 18:07
bcsallerthings like curl to the metadata server 18:08
_mup_Bug #788735 was filed: deploy command with auto-resolve dependency support <Ensemble:In Progress by hazmat> < https://launchpad.net/bugs/788735 >18:10
hazmatbcsaller, SpamapS yeah.. any desktop integration should probably go via libvirt, it takes care of some of the networking/bridge/dnsmasq setup.. which we'd rather not touch on an end user's computer.18:13
* niemeyer waves18:16
SpamapSbcsaller: I'm not sure why we curl the hostname from the metadata server. `hostname -f` is perfectly accurate. :)18:51
bcsallerI thought that returned the internal local name18:52
bcsallerwhich for the cases its used for would be fine as well, but because things like apache dir names were using the public name it became a pattern18:53
jimbakerwe actually make a distinction between the internal name and the external name; the latter one would require this metadata server usage18:54
jimbakeri know we talked at some point about making something like "ensemble info" for this type of service unit properties18:54
SpamapSIt should be provided via tools that query the machine provider.18:54
SpamapSrelation-get needs a local partner18:55
SpamapS"tell me about myself"18:55
SpamapSbecause one of the formulas I want to write is a DNS server formula18:56
SpamapSso we can have route53 type service in ensemble18:56
SpamapSBut it requires that there be a generic relation.. "info", that I can always relate to.18:57
SpamapS(which I plan to implement in each formula until ensemble does it)18:57
jimbakerSpamapS, i know that we have been trying to avoid generic relations like this, fwiw18:57
SpamapS*every* service relationship seems to at one level benefit from knowing the IP of the other side18:58
jimbakermy original plan for expose was to use something a generic relation concept too18:58
SpamapSI was just working on adding  @'$remote_ip' to the mysql formula in principia18:58
SpamapSso that the user given can only be used from the one unit's ip18:59
jimbakerSpamapS, the ip we can probably special case on the relation itself, it would seem18:59
SpamapSLets talk though the use case for a DNS service18:59
SpamapSI want to deploy named .. and relate it to haproxy19:00
SpamapSI don't want to use the actual external IP of the instance though19:01
SpamapSI want to use an elastic IP... hrm19:01
SpamapSThis is too tricky for IRC, n/m  ;)19:01
jimbakerSpamapS, maybe you can discuss this over our standup, which is scheduled for this time anyway?19:02
jimbakerbcsaller, hazmat, niemeyer - speaking of which, standup?19:02
hazmatjimbaker, skype is dying on me constantly.. i could mumble19:03
jimbakerhazmat, i dpn19:03
jimbakeri don't have a headset w/ me... that's going to be tough19:03
hazmatjimbaker, push to talk works 19:03
SpamapSjimbaker: push to talk works fine on mumble19:03
SpamapSjinx!19:03
niemeyerhazmat: Sounds good19:03
bcsallerI don't have that configured on this computer yet, but I can try to set it up again 19:03
jimbakermy recollection is that you needed push to talk + headset to get anything decent, but ok19:04
SpamapSI've found that the right super key works well19:04
jimbakerlet me install19:04
SpamapSheadset helps w/ the echo but it can work w/o it19:04
niemeyerI've had success with the auto-detection of voice on today's meeting19:06
jimbakerare we going to use the canonical mumble server, or is there an open one for ubuntu?19:08
hazmatjimbaker, its on the wiki19:09
jimbakeri only see the canonical mumble server there...19:09
hazmatbcsaller, ping19:11
bcsallersetting it up19:11
=== deryck[lunch] is now known as deryck
jimbakernot taking off just yet, of course :) but for standup tuesday19:47
kim0niemeyer: I applied the modifications for hook execution traces .. since initially I was merging into the bashified branch, I ended up with a new propose for merge19:54
kim0https://code.launchpad.net/~kim0/ensemble/adding-hook-traces-to-readme-for-bashified-example19:54
kim0https://code.launchpad.net/~kim0/ensemble/adding-hook-traces-to-readme-for-bashified-example/+merge/62537 that is19:54
niemeyerkim0: That's fine, thanks a lot for pushing it19:55
kim0cool19:55
kim0niemeyer: thanks for the review to the contribution doc .. I'll add a more concrete example to that 19:55
kim0I thought this would be simpler to follow .. but yeah, it's probably not19:56
niemeyerkim0: Awesome!  This is a critical piece19:56
niemeyerbcsaller: ping20:22
bcsallerniemeyer: pong, haven't left yet20:22
niemeyerbcsaller: Oh, cool.. just a small note re. the review: [5] seems untouched20:23
bcsallerchecking20:23
niemeyerbcsaller: Re. [6], thanks for the test.  We really need tests specific to the feature, otherwise you remove the other method later and this logic goes untested20:24
niemeyerbcsaller: It would be fine to move the logic from the other tests though20:24
niemeyerbcsaller: and only test on the layer above what you haven't already tested for the layer below20:24
niemeyerbcsaller: Having a ton of logic on a layer below which is only touched by tests for upper layers is the issue20:24
bcsalleryeah, looks like maybe I did miss [5], I think I made changes related to [9] and thought I got it 20:24
niemeyerbcsaller: No worris20:25
niemeyeres20:25
niemeyerbcsaller: re [8], is there a reason why you didn't use our schema framework in the same way we do for metadata and configuration?20:27
bcsallerniemeyer: yes, the formula author has to write these things, so either I did something simple or I had to write a yaml serialization of the schema denifnition20:28
niemeyerbcsaller: I don't understand.. how's that different from the metadata file, or the environments configuration file?20:28
bcsallerbecause the schema is coded in Python by us for the metadata file, for the config.yaml they are writing a validation spec of their own20:29
niemeyerbcsaller: No, it's not..20:29
niemeyerbcsaller: The schema is a generic piece of framework which you can use to parse plain dictionaries and values20:29
niemeyerbcsaller: and is used both for the metadata and the environments file, which are also written by hand20:30
bcsalleryes, but the desc of that is done in python20:30
niemeyerbcsaller: Yes, and we can do the same for the config yaml, I believe20:30
niemeyer?20:30
bcsallerI didn't want formula authors to have to write in python to use the schema system20:30
niemeyerbcsaller: They don't have to..20:30
niemeyerbcsaller: We're talking about validating a yaml file20:30
bcsalleroh, you mean to validate that the config.yaml is correct20:31
niemeyerbcsaller: Yes20:31
niemeyerbcsaller: Point [8] in the review20:31
bcsallerthat's fine, yes, I implemented validation of option values 20:31
niemeyerbcsaller: Yes, and why isn't that written using our schema framework?20:31
bcsallerI think I misunderstood in that case, oh well we get a new feature 20:31
niemeyerbcsaller: in declarative style.. that was the actual questoin20:31
bcsallervalidating the config.yaml (which isn't really done now) using the schema would be fine20:32
niemeyerbcsaller: Yeah, that was point [8]20:32
niemeyerbcsaller: You can do that in a follow up branch20:32
bcsallerI have no objection to that, I thought you wanted to have them write schema to validate the options they allow for the service 20:32
niemeyerbcsaller: Nope20:32
niemeyerbcsaller: We just have to validate the file format before bundling a formula20:32
niemeyerbcsaller: Otherwise it will blow up when the formula is deployed only, which would be quite sad20:33
bcsallerok, I can add that tonight, it's a small change 20:33
niemeyerbcsaller: Should be indeed, no rush, and thanks!20:34
niemeyerbcsaller: Just [5] then, plus that in a separate branch20:36
niemeyerbcsaller: and +120:36
bcsallerok, cool20:36
_mup_ensemble/test-api r235 committed by kapil.thangavelu@canonical.com20:36
_mup_extract the test api base class from the auto resolve work20:36
jimbakerhttps://ensemble.ubuntu.com/kanban/dublin.html is not updating again21:25
_mup_Bug #788825 was filed: Update watch_exposed_flag <Ensemble:In Progress by jimbaker> < https://launchpad.net/bugs/788825 >21:29
niemeyerjimbaker: Indeed :-(22:22
niemeyerjimbaker: Will ping is22:22
niemeyerjimbaker: Will ping IS22:22
niemeyerjimbaker: Meanwhile: http://people.canonical.com/~niemeyer/dublin.html22:22
niemeyerjimbaker: Paul had a look at it and it should be unstuck now22:29
jimbakerniemeyer, sounds good22:31
jimbakerniemeyer, it's interesting that the needs release column has what looks like a different template being applied - apparently from the css - and that it's different from what is on your personal pages22:34
niemeyerjimbaker: Hmm22:37
niemeyerjimbaker: I see what you mean22:38
niemeyerjimbaker: Weird indeed22:38
niemeyerLooks a bit nicer actually22:38
jimbakeragreed about https://ensemble.ubuntu.com/kanban/dublin.html having a better layout22:40
pooliehi niemeyer 22:44
niemeyerpoolie: Hey!22:44
niemeyerMan, I'm very excited about the whole bzr branch + PPA = daily build thing22:46
poolieso you should be :)22:47
niemeyer:-)22:48
niemeyerand another package set is churning!22:54
niemeyerAnother one bites the dust: https://code.launchpad.net/~ensemble/+recipe/txaws23:10
pooliei just last week stopped them sending excessive email23:33
pooliewhich is a good start23:33
niemeyerpoolie: Indeed, no issues on that area23:34

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