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

kim0Morning everyone09:04
niemeyerBuenos dias!12:51
kim0Buenos dias amigos :)13:07
niemeyerkim0: Que tal? :-)13:39
kim0:)13:40
ahasenackwere you guys thinking about doing some presentation at Brazil's FISL?13:48
niemeyerahasenack: It's a good question14:34
niemeyerahasenack: It'd be quite handy14:34
niemeyerahasenack: It seems to overlap with the platform sprint, though :(14:34
=== deryck is now known as deryck[lunch]
jimbaker`kim0, niemeyer - morning!17:03
kim0jimbaker`: o/ hey17:03
jimbaker`my talk at amazon went well17:03
jimbaker`i actually had a chance to explain ensemble to guido van rossum17:03
kim0jimbaker`: woohoo! sounds cool17:04
jimbaker`fwiw, he immediately made the connection to apparently a similar internal orchestration system used at google17:04
kim0jimbaker`: I suppose he didn't really reveal any interesting info about that system17:05
jimbaker`kim0, i'm afraid not ;)17:06
kim0yeah hehe17:06
koolhead17hi all17:07
koolhead17kim0: am yet to get the approval from eucalyptus website17:07
koolhead17jimbaker`: waoo17:07
koolhead17niemeyer: hi17:07
kim0koolhead17: #ubuntu-cloud and bug obino (he's from eucalyptus systems) :)17:07
koolhead17kim0: am there :P17:08
kim0:) I notice17:09
koolhead17haha17:09
=== deryck[lunch] is now known as deryck
_mup_ensemble/expose-service-watch r228 committed by jim.baker@canonical.com17:32
_mup_Merged trunk17:32
niemeyerjimbaker`: Morning17:34
jimbaker`niemeyer, morning17:34
niemeyerkoolhead17: Hey17:35
niemeyerjimbaker`: So, expose now?17:37
jimbaker`niemeyer, indeed17:37
niemeyerjimbaker`: Ok, so as we discussed before UDS, the plan is to split it up in reasonable sized branches?17:40
jimbaker`niemeyer, exactly17:40
niemeyerjimbaker`: Ok.. can you please file bugs for the actual in progress branches as you go, and ensure https://ensemble.ubuntu.com/kanban/dublin.html reflects real activity?17:41
jimbaker`so i have branches for the machine's service units, watching a service, managing the open ports node17:41
jimbaker`for example17:41
=== niemeyer changed the topic of #ubuntu-ensemble to: Milestone: http://ensemble.ubuntu.com/kanban/dublin.html | Docs: http://j.mp/ensemble-docs | Classroom chat: http://j.mp/en2vPH
jimbaker`niemeyer, i will update that accordingly17:42
niemeyerjimbaker`: Thanks17:42
niemeyerrog: Welcome17:44
rogniemeyer: hi! thanks.17:44
=== niemeyer changed the topic of #ubuntu-ensemble to: http://ensemble.ubuntu.com/kanban/dublin.html | http://ensemble.ubuntu.com/docs
niemeyerOn my end I'm pushing the lpad Launchpad library for Go still.. good progress there17:47
rogis there a link somewhere?17:48
niemeyerrog: Yeah.. it's not the latest stuff, but there's some good info here already:17:49
niemeyerhttp://goneat.org/lp/lpad17:49
niemeyerrog: This is almost complete in terms of the patterns we have to cover17:50
niemeyerrog: But the API is quite extensive, so there's some good work to get it all in place17:50
niemeyerrog: I'm actually planning to send golang-nuts a mail once I finish the details I'm working on right now17:50
niemeyerAsking for help17:50
niemeyerrog: a hand there would be welcome17:51
roghow's launchpad used within the context of ensemble?17:51
niemeyerrog: We'll back formulas there17:51
niemeyerrog: Source branches with the formula content17:51
rogseems sensible17:51
niemeyerrog: and will interact with Launchpad from the formula repository (Go)17:52
rog(unless it becomes a bottleneck, of course)17:52
niemeyerrog: That's not an issue.. is a concern for a long time17:52
niemeyerrog: Erm17:52
niemeyerrog: That's not an issue.. scalability is a concern for a long time17:52
niemeyerrog: The design of that API is two-layered17:53
* rog loves the Go style of documentation17:53
niemeyerrog: There's a dynamic API in the bottom, which can do anything with Launchpad17:53
niemeyerrog: But is not ideal in terms of typing and documentation17:54
niemeyerrog: then, there's a static "model" layer which actually knows about which objects support which operations etc17:54
niemeyerrog: Which is more convenient to use17:54
niemeyerrog: IRCNick there is an example17:54
niemeyerrog: The Resource interface is the dynamic part17:54
rogi'd just realised that17:55
rog(not quite at the bottom on the doc page :-])17:55
niemeyerrog: As you can see, every model object is actually just a wrapper to Resource, which knows specifics about the given type17:55
rogi wasn't joking about liking go docs. it's just great to have it all in one place with links to the source.17:56
niemeyerrog: I'm now implementing an example of iteration over a list and custom operations in the model17:56
niemeyerrog: True!17:56
niemeyerrog: Once I finish this, I think we have all patterns covered, and just need to extend it to cover the whole API17:56
rogno inheritance! i've been dealing with some mac os objective C docs recently and the documentation is all over the place.17:57
niemeyerrog: Indeed!17:57
rogyou don't describe what you mean by a "model"17:57
niemeyerrog: It's also cool because a Person wraps a Resource, and is *also* a Resource itself17:57
niemeyerrog: The model is the static layer17:58
niemeyerrog: Resource is the dynamic one17:58
niemeyerrog: So, e.g. IRCNick is part of the model17:58
niemeyerrog: I realize it's just specialization of generic terminology, but I guess it fits reasonably well in this case17:59
rogi'm not quite sure what you mean by the name "model" in this context17:59
niemeyerrog: IRCNick is part of the Launchpad object model17:59
niemeyerrog: Resource is lower level generic REST17:59
rogah, so they're kinda of objects18:00
niemeyerrog: Yeah.. or types if you're into Go ;-)18:00
rogyeah18:00
niemeyerrog: This has the full Launchpad API docs:18:00
niemeyerhttps://launchpad.net/+apidoc/1.0.html18:00
niemeyerrog: This is the IRCNick backing, for the sake of understanding:18:01
niemeyerhttps://launchpad.net/+apidoc/1.0.html#irc_id18:01
* rog didn't know about http PATCH methods18:02
rogi think maybe Entity might be a better name than Model18:03
rogModel implies it's modelling something - i found it a bit confusing18:03
niemeyerrog: The model is composed of entities18:04
rogbut maybe i'm just not into the REST thing enough :-)18:04
niemeyerrog: I'm not sure it's related to REST.. the name just sounded generic enough and not too far off, so criticism accepted.18:05
rogniemeyer: so there's more than one entity represented by a Resource?18:05
niemeyerrog: Every type in the model is actually a Resource..18:06
niemeyerrog: More simply, you can think of a Resource as a JSON blob which is seen in a given URL18:07
rogthat's what i thought18:07
niemeyerrog: But specific URLs will return the same "kind" of JSON blob18:07
rogyeah18:07
niemeyerrog: This may be helpful as well:18:07
niemeyerhttps://help.launchpad.net/API/Hacking18:07
rogResource is fine, i think, but i think you could probably get rid of all instances of the term "model"18:08
rogi don't think it helps18:08
niemeyerrog: I'm fine with that18:09
niemeyerrog: But we'll need something else to put in its place :)18:09
roge.g. // NewResource creates a new resource type.  Creating resources explicitly18:09
rog/ is generally not necessary.  If you're trying to access a location in18:09
rog/ the Launchpad API which doesn't have a dedicated type yet,18:09
rog/ Link and Location methods on the Resource interface for more convenient18:09
rog/ ways to create resources.18:09
rogi think "dedicated type" may be better than "static model"18:10
rogi like the idea anyway18:10
rogthat's strange, why is the doc for Root.Me not next to the Root type18:12
rog?18:12
niemeyerrog: Hmm.. it is?18:13
niemeyerrog: Regarding the term, I don't expect we'll be talking to people about that either way.. it's more about the internal organization than about how we'll expose it18:14
niemeyerrog, jimbaker, robbiew: I need to run an errand.. will be back to finish that stuff in ~1h18:15
robbiewack18:16
niemeyerbiab18:16
rogniemeyer: i was just talking from the point of view of understanding that package on its own. i think the API is pretty good - just that bit confused me.18:19
_mup_ensemble/expose-open-ports-node r227 committed by jim.baker@canonical.com18:26
_mup_Initial commit18:26
_mup_ensemble/expose-open-ports-node r228 committed by jim.baker@canonical.com18:27
_mup_Merged trunk18:27
koolhead17i have eucalyptus account now. kim0 next step please sir!! :)18:41
kim0koolhead17: hey .. that's cool18:44
kim0koolhead17: I guess the next step would be to make sure you can launch instances using euca-xxx tools18:44
kim0koolhead17: once that's ok, we'll try to use ensemble to launch those instances18:45
kim0for that, we'll need some help from devs here18:45
koolhead17okey.18:45
* koolhead17 goes back to read eucalyptus beginners guide!!18:49
_mup_Bug #785343 was filed: Expose needs support for watching services and service units <Ensemble:In Progress by jimbaker> < https://launchpad.net/bugs/785343 >18:57
_mup_Bug #785344 was filed: Expose needs to be able to retrieve service units for a machine <Ensemble:In Progress by jimbaker> < https://launchpad.net/bugs/785344 >19:00
_mup_Bug #785352 was filed: Expose needs support for managing a service unit's open ports <Ensemble:In Progress by jimbaker> < https://launchpad.net/bugs/785352 >19:14
_mup_ensemble/expose-open-ports-node r229 committed by jim.baker@canonical.com19:25
_mup_Doc strings19:25
_mup_ensemble/expose-open-ports-node r230 committed by jim.baker@canonical.com19:25
_mup_PEP819:25
_mup_ensemble/expose-open-ports-node r231 committed by jim.baker@canonical.com19:30
_mup_Missing doc string19:30
_mup_ensemble/expose-service-watch r229 committed by jim.baker@canonical.com19:43
_mup_Removed sleeps19:43
_mup_ensemble/expose-machine-service-units r228 committed by jim.baker@canonical.com19:57
_mup_Tests19:57
_mup_ensemble/expose-machine-service-units r229 committed by jim.baker@canonical.com19:58
_mup_PEP819:58
_mup_ensemble/expose-machine-service-units r230 committed by jim.baker@canonical.com19:58
_mup_Merged trunk19:58
_mup_ensemble/expose-machine-service-units r231 committed by jim.baker@canonical.com20:09
_mup_Better comments20:09
* niemeyer waves20:13
jimbaker`niemeyer, http://ensemble.ubuntu.com/kanban/dublin.html is not updating20:23
niemeyerjimbaker`: Let me look at that20:24
jimbaker`niemeyer, also, do you want to have a standup today?20:24
niemeyerjimbaker`: Hmm.. not sure.. probably not unless you'd like to talk about something about the expose/unexpose support20:25
jimbaker`niemeyer, no, i think everything is going well on that plan20:25
jimbaker`i just submitted 3 supporting branches for review per earlier discussion20:26
jimbaker`the only thing that took time was making sure i got the sleep removal aspects solid, so i carefully looked through those tests20:27
niemeyerjimbaker`: Sounds great.. I'll have a look through those as soon as I manage to finish the broken test I have20:27
niemeyerjimbaker`: Hmm20:27
niemeyerjimbaker`: Ok20:27
niemeyerActually, let me sort out the kanban first20:29
niemeyerrog: Btw, I forgot to mention MVC.. that's why I think model is suitable for the concept: http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller20:32
rogniemeyer: yeah, i know about MVC but i think it's too abstract to be useful as a description here20:33
niemeyerrog: It's exactly the same idea I think20:33
rogthe thing is, i don't think there's a need to invoke the name - there's no type that represents it.20:34
niemeyerrog: Agreed20:34
niemeyerrog: It's just useful as a high-level description of package organization really20:35
rogi don't think you need it. when you say "static model" you could say "dedicated type" or something similar and it would be more comprehensible i think20:36
rogusing "model" only makes sense if you've couched the whole thing in terms of MVC, which you haven't20:37
rogAFAICS you've got a general purpose type (Resource) and a number of special-purpose types which layer on it20:37
niemeyerrog: The domain model of an application/library/whatever is a well understood concept I think.. but either way, this is all pretty irrelevant in the big picture20:38
rogthose don't even need to be static types BTW20:38
rogsure, i just found that it made the docs for that package a bit hard to understand ("what does that term mean here?")20:38
niemeyerrog: Sure, we can avoid using the term in the docs20:39
rog'cos in essence it's pretty simple and nice - it'd be nice if that could shine though!20:39
niemeyerHah, sweet, problem fixed20:50
* niemeyer does some real interactions with Launchpad20:50
niemeyerBurn Launchpad CPU, burn..21:10
niemeyer"Had 5732 results, iterated over 5732.".. good21:22
niemeyerAlright!22:39
niemeyerIteration works, new lpad pushed22:40
niemeyerrog: Check out FindMembers/FindPeople/FindTeams, if you're curious22:40
niemeyerThat's the good news..22:41
niemeyerjimbaker`: The bad news is I won't get to your branches today22:41
niemeyerjimbaker`: But please keep pushing this stuff22:44
jimbaker`niemeyer, not a problem22:53
niemeyerrobbiew: Very cool, +1!22:57
robbiewhuh..what?22:58
niemeyer_Ok, I need a nap.. I'll see y'all later/tomorrow23:16
jimbaker`niemeyer_, take care!23:18

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