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

fwereadeniemeyer: heyhey12:43
niemeyerfwereade!12:44
niemeyerfwereade: What's up?  Ready to rock?12:44
fwereadeniemeyer: yep, looking forward to it12:44
fwereadeniemeyer: bit miffed my fancy airport pass hasn't arrived yet, I'll be ravelling nearly 24h :/12:44
fwereadetravelling^^^12:44
fwereadeniemeyer: but stlil :)12:45
fwereadeok, I can't type.12:45
niemeyerfwereade: Welcome to my life12:45
fwereadeniemeyer: heh :)12:47
niemeyerfwereade: 3h in a bus, just to get started..12:47
fwereadeniemeyer: ouch!12:47
niemeyerfwereade: But I'm happy to do it.. just to enjoy the awesomeness of everyone's presence12:48
fwereadeniemeyer: didn't picture that I must admit12:48
niemeyer(honestly)12:48
fwereadeniemeyer: oh, likewise :)12:48
fwereadeniemeyer: btw, can you bear another rambling chat about appropriate levels of testing? :p12:49
niemeyerfwereade: Absolutely12:49
fwereadeniemeyer: the starting point is: https://code.launchpad.net/~fwereade/ensemble/cobbler-find-zookeepers/+merge/6990712:49
fwereadeniemeyer: basically, I'm not sure that directly testing CobblerClient is the right thing to do12:50
niemeyerfwereade: Do you agree code should not stay around untested?12:50
fwereadeniemeyer: definitely12:50
fwereadeniemeyer: but all that is tested in the context of the tests for the public interactions with the provider itself12:51
niemeyerfwereade: So it should be covered.. testing a public interface as a side-effect of other tests is better avoided if we want to maintain coverage over time12:51
fwereadeniemeyer: ah, so you consider CobblerClient to be a public interface?12:51
niemeyerfwereade: There's logic inside that one method, which should be explored in every angle directly, because it's a public interface whose clients can change independently12:51
niemeyerfwereade: Well, is it a private method?12:52
niemeyerfwereade: It surely looks like a well defined encapsulation12:52
niemeyerfwereade: CobblerClient.describe_system12:53
fwereadeniemeyer: no, but my impression was that most of the accessible stuff in the provider packages was... accientally public, if you like12:53
niemeyerfwereade: Feels pretty unity :)12:53
niemeyerfwereade: It is internally public precisely because we want to organize it properly and test it adequately12:53
niemeyerfwereade: It is not package public12:53
niemeyerfwereade: In the sense that other packages should not interact with the internals12:54
niemeyerfwereade: There's an analogy I provide every once in a while when this issue comes up12:54
fwereadeniemeyer: that does make sense12:54
niemeyerfwereade: We have a gradient12:54
fwereadeniemeyer: cool, go on12:54
niemeyerfwereade: and gradients are often well understood by exaggeration12:55
niemeyerfwereade: On one end of the gradient, we test every line with an individual test.. (ugh)12:55
niemeyerfwereade: On the other end of the spectrum, though, we could claim that only the public interface of the _project_ needs testing12:55
niemeyerfwereade: So we test every possible interaction though the command line (!)12:56
niemeyerfwereade: Why is that latter option crazy?12:56
fwereadeniemeyer: combinatorial explosion12:56
niemeyerfwereade: Exactly12:56
fwereadeniemeyer: which is what I'm concerned about here...12:56
niemeyerfwereade: Which may also be seen as the difficulty of covering every path, and the difficulty of setting up and tearing down the project for so many combinations, and so on12:57
niemeyerfwereade: The same thing can be said about testing good encapsulations through their client users12:57
fwereadeniemeyer: I feel like there are a lot of lines where one change will break many tests12:57
niemeyerfwereade: To a lesser degree, of course..12:57
niemeyerfwereade: Yes, entirely agreed12:58
niemeyerfwereade: and to me preventing that is an artificial goal introduced by the purists of unit testing12:58
niemeyerfwereade: In practice,12:58
niemeyerfwereade: what happens is that changes are done piece-meal..12:58
niemeyerfwereade: and tested very carefully12:59
fwereadeniemeyer: heh, I've one or twice found myself in a situation where I wished I'd followed that advice a bit better ;)12:59
niemeyerfwereade: You'll always know when you change logic which breaks 10 tests instead of 112:59
niemeyerfwereade: This is good..12:59
niemeyerfwereade: It means the semantics we've defined as correct were being asserted12:59
niemeyerfwereade: Now, imagine that tomorrow.. you change the client code to not use all of describe_system's logic13:00
niemeyerfwereade: Which is totally fine13:01
niemeyerfwereade: Suddenly we have entirely uncovered logic13:01
niemeyerfwereade: Which is truly bad, even more in a dynamic language13:01
fwereadeniemeyer: well, we have dead code which has the potential to become uncovered logic if we drop the ball on testing in the future, which isn't *quite* as bad13:02
fwereadeniemeyer: ...but I take your point13:02
=== otubo[AFK] is now known as otubo
fwereadeniemeyer: I'm just finding it a bit painful to be wilfully duplicating code, even if it is test code ;)13:03
niemeyerfwereade: You don't have to duplicate tests..13:04
niemeyerfwereade: The tests closer to the implementation are generally more detailed than the ones that take it as a client13:04
niemeyerfwereade: You _have_ to cover it all in the tests which are next to the implementation13:05
fwereadeniemeyer: so, for example, tests for describe_system handle all the crazy stuff I can imagine13:06
niemeyerfwereade: It's fine to not cover the sub-method details in the tests that just takes other bits of the implementation13:06
niemeyerfwereade: Right, exactly.. you've actually doe that before13:06
niemeyerfwereade: E.g.13:06
niemeyerfwereade: In the MachineProvider interface13:06
niemeyerfwereade: It's just a simple/boring test13:06
fwereadeniemeyer: but the tests for things which happen to use describe_system can just assume the happy path, and trust the other tests are solid13:06
niemeyerfwereade: Well, mostly.. e.g. if describe_system has an error path that raises a problem, and the client code from that interface reacts to such error, you have to cover the reaction within the client code's test13:07
niemeyerfwereade: But in that case you're not testing describe_system13:08
niemeyerfwereade: You're testing the client reaction to an eror13:08
niemeyererror13:08
fwereadeniemeyer: ...but then we *do* end up having to duplicate the coverage of the details in the distant test13:08
niemeyerfwereade: No, not really13:08
niemeyerfwereade: The test for describe_system will cover its own behavior which cause the error to be raised13:08
niemeyerfwereade: The client test will test the reaction to the fact describe_system raised an error..13:09
niemeyerfwereade: Simple example:13:09
fwereadeniemeyer: ok, but we still need to mock all the external interactions which would cause that error, right?13:09
niemeyerfwereade: describe_system could have 10 reasons why it would raise OhMyGod13:09
niemeyerfwereade: You have to cover it all in its tests13:09
fwereadeniemeyer: ...ok, yes, I only need to hit one of the sad paths in a distant test13:09
niemeyerfwereade: If the client code has to take care of OhMyGod, you just the fact it can cope with it13:09
niemeyerjust test13:10
fwereadeniemeyer: it just feels like, in the average case, foo_method will have one or two reasons for raising OhMyGod, and one reason to raise Gadzooks, and one to raise JiminyJillikers13:10
niemeyerfwereade: Preferably, not mocking13:10
niemeyerfwereade: But we've covered that13:10
niemeyerfwereade: Are you saying you have an abstraction that isn't useful and should be removed?   I can buy that :-)13:11
fwereadeniemeyer: (indeed, but with external systems we're kinda forced down that path)13:11
fwereadeniemeyer: [JiminyJillikers] ...and so the only stuff we can avoid is one of the OhMyGod paths ...and that applies for every single thing that uses foo_method13:13
fwereadeniemeyer: I don't quite follow the abstraction comment13:14
fwereadeniemeyer: anyway, I think you have clarified your position, and I'm happy to follow your lead; it's just taking me a little while to get used to the project style, it's rather different to what I'm used to13:16
fwereadeniemeyer: thanks :)13:16
niemeyerfwereade: No problem, and I know where you're coming from13:17
niemeyerfwereade: In part, I'd be way less worried about that if we were not using a dynamic language13:17
niemeyerfwereade: Uncovered code in a dynamic language is a bomb13:17
niemeyerfwereade: I'd rather have duplication than increase the risks of having untouched logic 13:18
fwereadeniemeyer: yeah, that's a perfectly reasonable position :)13:18
fwereadeniemeyer: well, then, I've got some tests to write :)13:19
fwereadeniemeyer: (and I think I'll be beefing up the coverage in some of the pre-approved branches stacked on top of this one before I merge them, too)13:20
niemeyerfwereade: That sounds awesome indeed, thanks a lot, and sorry for the extra pain13:20
fwereadeniemeyer: don't worry, solid testing is worth a bit of extra typing... you make solid arguments for the strategy, and all my objections are essentially what-ifs :)13:28
fwereadeniemeyer: I think I will need to do quite a lot of rearrangement though, it'll take a little while :(13:30
niemeyerfwereade: No worries.. you've been cranking in a good pace13:31
niemeyerfwereade: If you have to take a moment or two to rearrange in a way you feel is more suitable for the problem we have, that sounds positive13:32
fwereadeniemeyer: I'm suddenly not even sure it's a good idea: I *could* test some of the more distant things a bit less, but I suspect the best time to fix that is in the future13:34
fwereadeniemeyer: I'll see how it goes13:34
niemeyerfwereade: That sounds reasonable too13:35
niemeyerfwereade: I'm not personally worried that you might be testing too much :-)13:36
fwereadeniemeyer: haha :)13:36
niemeyer"mgo enables us to blazingly serve more than 1.000.000 book covers a day while reducing our servers load" - Feedbooks.com13:37
niemeyerAwesomeness13:37
fwereadeniemeyer: cool D:13:39
fwereadeer, :D13:39
hazmatg'morning13:44
hazmatargh.. just lost my reply to namespaces..13:45
hazmataha.. there's still a copy in a temp file13:49
noodles775Is there a relation-set (equivalent of relation-get?). I'm just trying to find in the docs how I provide my ip to the postgresql db-relation-changed hook from my own hook?13:58
RoAkSoAxfwereade: howdy!!14:01
fwereadeRoAkSoAx: heyhey :)14:01
niemeyernoodles775: Yeah, relation-set is exactly the name14:01
noodles775Sweet, trying now.14:01
RoAkSoAxfwereade: how's it going14:01
niemeyernoodles775: This document may be helpful: https://ensemble.ubuntu.com/docs/formula.html14:02
niemeyernoodles775: Look for relation-set there14:02
fwereadeRoAkSoAx: not too shabby... got a lot of tests to write this afternoon to firm up some of my languishing branches14:02
fwereadeRoAkSoAx: and yourself?14:02
RoAkSoAxfwereade: pretty good14:02
RoAkSoAxfwereade: so we have ensemble deploying14:03
RoAkSoAxfwereade: then only things that seems to be complaining about is not yet have the shutdown methods14:03
fwereadeRoAkSoAx: in theory, you shouldn't have to worry about those, because they exist14:04
noodles775niemeyer: Ah, I was searching https://ensemble.ubuntu.com/docs/write-formula.html (where it's not mentioned). Thanks.14:04
RoAkSoAxfwereade: well, when deploying a machine, you can see in the provision log that there's an error and the code fails to execute :)14:04
fwereadeRoAkSoAx: sadly they're (1) still in the process of being turned into something I can propose (trying to avoid all duplication with ec2) and (2) stacked up behind branches that aren't accepted yet14:04
fwereadeRoAkSoAx: why do we need to shut stuff down when we're deploying?14:05
RoAkSoAxfwereade: yeah no worries, it is not a deal braker for me at the moment as I can still deploy14:05
fwereadeRoAkSoAx: cool :D14:05
m_3noodles775: here's an example of that very task... http://pastebin.com/utdiAHSs14:05
RoAkSoAxfwereade: I don't, but when I deploy it executes one of those functions for some reason14:05
RoAkSoAxfwereade: and I have to restart ensemble to be able to actually deploy14:06
fwereadeRoAkSoAx: that's bizarre...14:06
RoAkSoAxon the zookeeper14:06
RoAkSoAxfwereade: indeed14:06
fwereadeeveryone else: any guesses?14:06
RoAkSoAxfwereade: other than that, I found an error of complaining that "something needs to be str instead of unicode" when doing a "PUT"14:06
noodles775m_3: Ah, thanks!14:06
fwereadeRoAkSoAx: oof, good catch14:06
RoAkSoAxfwereade: and that something is the url14:07
fwereadeRoAkSoAx: would you file a bug for that one please, that stuff's in trunk now14:07
fwereadeRoAkSoAx: I presume it doesn't happen all the time?14:08
RoAkSoAxfwereade: no only when trying to store the formula on the webdav14:08
RoAkSoAxfwereade: what I did is simply url = str(url)14:08
fwereadeRoAkSoAx: the formula url is always unicode then?14:08
RoAkSoAxfwereade: appears to be14:09
fwereadeRoAkSoAx: good to know, thanks14:09
fwereadeRoAkSoAx: hmm, yeah, there are unicode tests for the s3 FileStorage :/14:09
* fwereade hangs his head14:10
hazmatfwereade, the unicode gets introduced by yaml.load14:11
fwereadehazmat: ah, makes sense14:11
hazmatagainst the formula metadata, used for constructing the key to storage14:11
m_3noodles775: sure thing... lemme know if I can help14:12
noodles775m_3: I wonder if it's even worth including that example in the README.markdown?14:13
m_3noodles775: we're workign on the best way to document formulas and relation interfaces14:16
noodles775m_3: Great - let me know if I can help.14:16
m_3noodles775: that particular interface is simple enough to put it in the readme... good idea, I'll do that for now14:16
_mup_Bug #821493 was filed: tilda-expansion for deploy repository value <Ensemble:New> < https://launchpad.net/bugs/821493 >14:22
RoAkSoAxfwereade: ok, so I'll prepare a branch for you14:23
RoAkSoAxfwereade: so that we can have a branch ready for next week14:24
RoAkSoAxfwereade: which I presume the shutdown stuff willa lso be there14:24
fwereadeRoAkSoAx: cool; I hope I'll get to it before Monday, but it won't be today :(14:24
RoAkSoAxfwereade: no worries14:24
RoAkSoAxfwereade: we just need a working branch by monday to work on that all week14:24
niemeyerI've got 5 calls this morning, 2 door bells, 1 family visit, ... slightly harder to focus today.14:29
noodles775m_3: Hrm, I'm not sure what's ambiguous? http://paste.ubuntu.com/659326/14:38
* noodles775 looks more closely at the error message.14:38
m_3noodles775: there're two relations in postgres14:40
m_3noodles775: db and db-admin14:40
m_3noodles775: so you need something like 'ensemble add-relation postgres:db ogt14:41
m_3'14:41
noodles775m_3: I see, thanks.14:41
m_3noodles775: did the relation complete?14:48
=== otubo is now known as otubo[AFK]
m_3kim0: sorry, didn't see that there were other sheets in that workbook15:10
kim0it's ok .. too much is better than too little :)15:11
m_3kim0: move stuff whereever you need to15:11
RoAkSoAxfwereade: ping15:15
fwereadeRoAkSoAx: pong15:15
RoAkSoAxfwereade: what does this do and is it really necessaru?15:15
RoAkSoAxhttp://pastebin.ubuntu.com/659354/15:15
RoAkSoAxfwereade: cause if I return connect.run() it still works15:16
fwereadeRoAkSoAx: I'm not totally convinced by that _run_operation thing, I feel we should either wrap it around everything or skip it entirely15:16
RoAkSoAxfwereade: ok, so in the orchestra stuff will only return connect.run() then (which is what I'm using right now15:17
robbiewhazmat: ping15:18
fwereadeRoAkSoAx: you certainly don't need to worry about it in your tree, I'll figure out what to do with it when I have to ;)15:18
RoAkSoAxfwereade: ok cool. Do you want me to include the url = str(url) on the branch?15:18
fwereadeRoAkSoAx: yeah, I think it's my responsibility to make sure I do the right thing15:19
hazmatrobbiew, pong15:19
robbiewhazmat: so I'm an idiot and forgot about our call...again15:19
robbiewhazmat: given we are meeting all next week and just spoke...I don't have anything critical, but if you want to talk...I'm game15:20
hazmatrobbiew, no worries, i've got an open time today, if you want to do it adhoc today, else next week15:20
hazmatrobbiew, next week sounds good15:20
robbiewcool deal....and bring shorts!!!15:20
robbiewhigh today: 10715:21
hazmatugh..15:21
* hazmat plans on running at high speeds between a/c environments15:21
robbiewyou could die in that run15:22
robbiewlol15:22
m_3wow... that's impressive15:22
* m_3 trying to imagine laptops and power strips at the pool bar15:24
hazmatotoh, i guess i should be used to it by now, washington, dc hit a heat index of 118 a few weeks ago, high humidity, actual temp around 105.. lots of hot air in dc ;-)15:24
robbiewhazmat: heh, yeah15:33
robbiewI have family there, and used to go every Summer as a kid15:33
robbiewthe only difference is that in the evening, it generally cools down....not here :/15:33
RoAkSoAxfwereade: lp:~andreserl/+junk/ensemble-sprint15:34
robbiewsome towns/cities have gone 40+ days of +100....damn dust bowl15:34
RoAkSoAxhere it is 91F with 65% humidity15:35
robbiewyuk..that's jungle heat15:53
heckjsounds like a US midwest temp, except maybe a bit dry...15:55
RoAkSoAxI wish I was leaving right in front of the ocean15:56
niemeyerLunch time here16:22
fwereadeeod, later all :)16:40
robbiewfwereade: peace out!16:44
kirklandhowdy peeps ... in case you missed it elsewhere, here's a good read on Orchestra + Ensemble http://blog.dustinkirkland.com/2011/08/formal-introduction-to-ubuntu-orchestra.html17:01
hazmatkirkland, nice17:04
kirklandkim0: ping17:27
robbiewbcsaller: hey...just realized I missed our call...but given we just spoke as a team and have all next week together, I figured it was cool17:31
* robbiew is batting two for two on missing 1:1s17:31
* robbiew notes not to reschedule 1:1s on Fridays17:31
bcsallerrobbiew: no problem, we'll see each other next week anyway17:33
robbiewcool deal...well, not "cool" heh17:34
=== otubo[AFK] is now known as otubo
_mup_ensemble/security-connection r290 committed by kapil.thangavelu@canonical.com18:19
_mup_ssh client uses single inheritance to get policy enforcement.18:19
niemeyerkirkland: Very nice post18:22
_mup_ensemble/security-connection-redux r287 committed by kapil.thangavelu@canonical.com18:22
_mup_merge security connection redux and trunk18:22
kirklandNicke: thanks!18:22
_mup_ensemble/security-groups r292 committed by kapil.thangavelu@canonical.com18:26
_mup_resolve conflict from security-connection merge.18:26
_mup_ensemble/security-otp-principal r295 committed by kapil.thangavelu@canonical.com18:27
_mup_resolve conflict from security-connection merge18:27
_mup_ensemble/security-acl r300 committed by kapil.thangavelu@canonical.com18:29
_mup_resolve conflict from security-connection merge18:29
_mup_ensemble/states-with-principals r317 committed by kapil.thangavelu@canonical.com18:29
_mup_resolve conflict from security-connection merge18:29
_mup_ensemble/trunk-merge r275 committed by kapil.thangavelu@canonical.com18:30
_mup_merge trunk18:30
_mup_ensemble/security-groups r294 committed by kapil.thangavelu@canonical.com18:43
_mup_address review comments, conflicts are silent (same goal state reached), duplicate state creation errors are runtime-exceptions.18:43
_mup_ensemble/security-acl r302 committed by kapil.thangavelu@canonical.com18:51
_mup_resolve security-group merge conflict.18:51
_mup_Bug #821621 was filed: add custom commands to the cli <Ensemble:New> < https://launchpad.net/bugs/821621 >18:55
_mup_ensemble/trunk r295 committed by kapil.thangavelu@canonical.com19:04
_mup_merge security-groups [r=niemeyer,fwereade][f=814260]19:04
_mup_Implements a security group as a stored/persistent principal19:04
_mup_with membership denoting acl to utilize the group node, 19:04
_mup_and thus credential usage on a connection.19:04
hazmathmm. i mislabed that last merge19:10
hazmati just accidentally committed security-connection with the commit message from security-groups.. 19:11
hazmatnot a big deal practically, but the commit message is wrong, just curious if there is a way to fix the message19:11
niemeyer_hazmat: No way to fix it19:18
niemeyer_hazmat: You'd have to uncommit..19:18
niemeyer_hazmat: The potential disaster of doing so isn't worth the trouble19:18
hazmatits a remote repo, i'll just note in the next commit message19:18
niemeyer_hazmat: THat's a good plan19:19
_mup_ensemble/trunk r296 committed by kapil.thangavelu@canonical.com19:19
_mup_merge security-groups [r=niemeyer,fwereade][f=814260]19:19
_mup_Previous merge (r295) was of security-policy-connection19:19
_mup_Implements a security group as a stored/persistent principal19:19
_mup_with membership denoting acl to utilize the group node, 19:19
_mup_and thus credential usage on a connection.19:19
_mup_ensemble/states-with-principals r319 committed by kapil.thangavelu@canonical.com19:21
_mup_resolve conflict from merge of security-group19:21
_mup_ensemble/security-policy-rules-redux r325 committed by kapil.thangavelu@canonical.com19:23
_mup_resolve conflict from security-group merge19:23
_mup_ensemble/security-policy-rules-redux r326 committed by kapil.thangavelu@canonical.com19:27
_mup_resolve conflict with security-groups merge19:27
=== niemeyer_ is now known as niemeyer
hazmatniemeyer, what do you think about using blueprints for the next milestone19:52
hazmati'd like a better way of capturing working in progress on multi-branch features than what the kanban view gives us19:52
hazmats/working/work19:53
niemeyerhazmat: I feel we shouldn't introduce additional burden without taking something out now19:53
niemeyerhazmat: For features, we have specs + a branch per change + a bug per branch + a merge proposal per branch19:54
niemeyerhazmat: We need a holistic view on that workflow and to understand what's the role of any additions, before going into it19:54
niemeyerhazmat: The conversation about the task management the other day might solve your worries on that area19:56
niemeyerhazmat: But if we introduce it, my suggestion was to replace the kanban and the hand management of MP state out19:57
hazmatniemeyer, good point, i'm abusing bug tags to keep track of all the security work now, but we probably don't need more process atm19:57
niemeyerhazmat: and bugs too, actually19:57
hazmatniemeyer, what if the kanban viewhad management of state inline to the ui19:57
niemeyerhazmat: When the bug is artificial19:57
niemeyerhazmat: Wouldn't solve.. our current workflow lacks information ATM.. doing the same workflow in a different location wouldn't solve the issue19:58
niemeyerhazmat: Nowhere we track the "This is pending a re-review from Kapil", nor do we have a way to say "These are the things the team is waiting on you to do"19:59
niemeyerhazmat: So, my ideal change would be taking Kanban + Artificial bugs + MP state management out, and replace it by a _good_ task management + calendar software that includes task assignment and team-scoped view20:00
niemeyerhazmat: I don't have a good proposal for that system yet, but I'm looking20:01
niemeyerhazmat: We can end up implementing it, but I'd rather not20:01
hazmatniemeyer, i mean pivotal tracker is nice.. but i think at the end of the day, we'll probably need something custom ontop of lp20:01
niemeyerhazmat: Or less of Launchpad20:03
niemeyerhazmat: For the project management aspects20:03
hazmatniemeyer, perhaps but unless its a tool that works well with an opensource community, a commercial tool would need to allow participation from the public, and ideally see our branches on lp, i'm not sure its ever going to outweigh lp20:05
hazmatand then we just end up dividing data20:06
hazmatbetter to build the ui we want onto of lp imo20:06
niemeyerhazmat: We have zero community contributors right now20:07
niemeyerhazmat: Integrated into the workflow of development20:07
niemeyerhazmat: and if/when we do have, we can certainly sponsor them in whatever system we have20:07
niemeyerhazmat: There's really no friction in that regard20:07
hazmatniemeyer, we're just beginning our community.. every road block to participation, halfs (at least) participation.20:07
hazmattheirs tons of market/ui architect research to support that20:08
niemeyerhazmat: Sorry, I don't really understand the point you're making20:08
niemeyerhazmat: How's a good task/project management solution bad in any way for the community?20:09
niemeyerhazmat: I'm trying to take the burden out of workflow, simplifying it and making it more enjoyable.. hard to believe the community with be bothered with it.20:09
hazmatniemeyer, your removing the relevant word, commercial tools for ensemble, need to be publicly available, commercial projects are typically billed against customers, we need public access to decrease barriers of entry, 20:11
hazmats/commercial project tools20:11
niemeyerhazmat: Heh20:11
niemeyerhazmat: Let's start by not using EC2 then.20:11
niemeyerhazmat: Or Google20:12
hazmatniemeyer, commercial resources consumed as the cost of using the project are fine, the later is atm private team meetings20:12
niemeyerhazmat: Google, search..20:12
niemeyerhazmat: Gmail.. Google+20:12
hazmatis a publicly available tool20:13
niemeyerhazmat: Yes.. and I'm saying we'll make whatever tool we use available to anyone who wants to participate20:13
niemeyerhazmat: How's that different?20:13
niemeyerhazmat: We're producing software.. under great licenses20:14
niemeyerhazmat: We're in a public channel.. our list is public.. Ubuntu is open20:14
niemeyerhazmat: If we have to use a commercial tool to handle a less relevant aspect of the project management, we will20:15
hazmatniemeyer, that's not what you said at least re project management tools, afaics, correct me if i'm wrong20:15
niemeyerhazmat: Just like we use Google search, and EC220:15
niemeyerhazmat: and Google+, and used Skype for conferences20:15
hazmatprivate team meetings aren't the issue, the work that tracks what in release is20:15
niemeyerhazmat: We're pushing the envelope making good free software available for people, and using these tools does not compromise our goal in any way20:16
hazmatwhat!?20:16
niemeyerErm..20:16
niemeyerSounds like that conversation isn't being positive.20:16
hazmati don't think we're pushing the envelope in the scope of free software20:17
niemeyerOh, really?  You don't think Ensemble is pushing the envelope in terms of free software?20:17
* niemeyer misses the point20:17
hazmatwe're creating a new unique tool that's great.. but pushing the envelope of actually putting out free softare?20:17
niemeyerhazmat: Isn't Ensemble free software?  I'm lost now..20:17
hazmatbut we're talking about making the process less free to the public20:18
hazmatand pushing the envelope?20:18
niemeyerhazmat: And I'm talking about Ensemble, the product we develop.20:18
hazmatllvm pushes the envelope, sqlite pushes the envelope, openstack is pushing the envelope...  many projects push the envelope.. all free, all quite easy to contribute to, because they have public tools, i think your conflating the question..20:19
hazmatcomment actually, that any tool we use should be publicly available20:20
hazmatto enable participation20:20
niemeyerhazmat: All of these push the envelope, and Ensemble does as well.20:20
hazmatniemeyer, that's not the question.. or the discussion. let's not make it one. i agree.20:20
hazmatthe question is how do we get better tools, that do what we want?20:21
niemeyerhazmat: That's my point.  My goal is to develop Ensemble, and to make it rock, and to make it free.20:21
niemeyerhazmat: If I have to use Google search for that, even though it's closed source software, I will.20:21
niemeyerhazmat: If I have to use a closed source communication software (or hardware, for that matter) so that I can communicate with people, I will.20:21
hazmatto enable or foster a development community those tools that we use to produce it should be available for public participation.20:21
niemeyerhazmat: I'm not solving those problems.. I'm not interested in developing good task management software right now (maybe some day).20:22
robbiewI think the issues are being mixed up20:22
niemeyerhazmat: I am very interested in the community.  If you think that to build a community you need to be using open source software in all edges, you're very mistaken.20:22
niemeyerhazmat: Google+ has 25M users today.20:22
niemeyerhazmat: If you want to continue that conversation, let's do so next week.20:23
hazmatniemeyer, i didn't say opensource at the edges, i said publicly available20:23
robbiewright, and Google+ doesn't require users to pay for it...which is where I think hazmat is going20:23
robbiewit's publicly available to use20:23
hazmatthe data we have and automatically collect at lp is valuable20:23
niemeyerrobbiew, hazmat: and I just said repeatedly we'll make them available to anyone who's interested in participating.20:23
niemeyer</rant>20:24
robbiewright...i think you are agreeing more than you know ;)20:24
hazmatniemeyer, "<niemeyer> hazmat: Yes.. and I'm saying we'll make whatever tool we use available to anyone who wants to participate" is not the same as publicly available20:24
hazmatits selective20:24
niemeyerhazmat: "anyone" is selective.. please stop the bikeshed20:24
hazmatniemeyer, i don't think its a bikeshed.. although perhaps a misunderstanding.. the difference  between people we select ("make available") and register in a tool vs. available to non-registered users (aka anyone. the public)  is a rather different selection criteria.20:28
niemeyerhazmat: "anyone" != "people we select".. let's please stop.  There's no tool.20:29
niemeyerhazmat: Basecamp allows projects to be available openly, as a trivial example of the lack of reason for any kind of discussion before we have a proposal.20:31
hazmatniemeyer, sounds good, sometimes its good to have evaluation criteria before a proposal begins20:33
niemeyerhazmat: Heh.. thanks for bashing my lack of proposal to death.20:33
niemeyerI'm stepping out for the day.. I'll see you guys next week.20:45
_mup_ensemble/security-otp-principal r298 committed by kapil.thangavelu@canonical.com21:58
_mup_speling suggestions and use of runtimerror instead of valueerror per review comments.21:58
_mup_ensemble/security-otp-principal r299 committed by kapil.thangavelu@canonical.com22:09
_mup_update tests with new exceptions22:09
_mup_ensemble/trunk r297 committed by kapil.thangavelu@canonical.com22:15
_mup_merge security-otp-principal [r=niemeyer,fwereade][f=814320]22:15
_mup_Implements an OTP Principal, that stores the credentials22:15
_mup_for a named persistent principal in a node protected22:15
_mup_by an ACL referencing a separate OTP credentials. The22:15
_mup_credentials and path to the OTP node can be serialized22:15
_mup_and passed around to their consumption target. The OTP22:15
_mup_node is destroyed upon API usage. 22:15
_mup_This is not a true OTP, but the best we can do atm without22:15
_mup_extension of zookeeper. See bug: 819379 for tracking this issue22:15
_mup_and merge proposal comments on this branch for further reference.22:15
_mup_https://code.launchpad.net/~hazmat/ensemble/security-otp-principal/+merge/6875422:15
_mup_ensemble/states-with-principals r321 committed by kapil.thangavelu@canonical.com22:51
_mup_make acl.grants for the same principal additive in nature, removes a potential source of conflict.22:51
_mup_ensemble/security-acl r304 committed by kapil.thangavelu@canonical.com22:55
_mup_make acl.grants for the same principal additive in nature, removes a potential source of conflict.22:55
_mup_ensemble/trunk r298 committed by kapil.thangavelu@canonical.com22:58
_mup_merge security-acl [r=niemeyer,fwereade][f=816108]22:58
_mup_Implement an ACL abstraction for manipulating a zk node's ACL.22:58
hazmathave a good weekend folks, cheers22:59
niemeyerTime for pre-sprint bill-paying23:37

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