/srv/irclogs.ubuntu.com/2013/01/16/#juju-dev.txt

=== slank is now known as slank_away
hazmatdavecheney, he asked to ask, but never actually asked re #juju01:54
=== imbrando1 is now known as nodnaebmi
davecheneyhazmat: well, that is two problems02:26
* hazmat is missing how to query store stats w/ usernames02:50
hazmataha username is last on stats03:35
TheMue*: Morning all.07:17
fwereade_TheMue, heyhey07:39
fwereade_TheMue, do you have a bit of time for reviews today? if so: https://codereview.appspot.com/7095049/ should only require simple sanity checks; but https://codereview.appspot.com/7095059/ is complex and important, and I would especially appreciate reviews focusing on the logic expressed therein and the clarity with which it is done so08:09
TheMuefwereade_: Sorry, not now. I'll drive into town to upgrade my notebook to run more test vms in a few moments and this afternoon I'm out of office as I told yesterday. But I'll take a look when I'm back from the city and this evening.08:12
fwereade_TheMue, ok, no worries: enjoy :)08:12
TheMuefwereade_: Thx.08:12
fwereade_rogpeppe1, morning08:14
rogpeppe1fwereade_: yo!08:14
rogpeppe1fwereade_: i'm with you about dfc's remarks on 7095059.08:17
fwereade_rogpeppe1, cool, good to know that if I'm crazy I'm not alone ;p08:17
rogpeppe1fwereade_: i think i've seen a similar complaint from dave before actually, also misguided.08:18
fwereade_rogpeppe1, yeah, I think so too08:18
rogpeppe1wallyworld: morning08:23
rogpeppe1wallyworld: so it *was* possible to use an authenticating client, i guess?08:24
rogpeppe1fwereade_: could i have a post-facto LGTM on https://codereview.appspot.com/7106052/ for form's sake, please? gustavo stated it here on IRC but didn't reply to the CL.08:26
fwereade_rogpeppe1, looking08:26
fwereade_rogpeppe1, done08:28
rogpeppe1fwereade_: thanks08:28
rogpeppe1fwereade_: i think it's ok for the Dead methods to exist for the convenience of the tests, tbh - it's just a line of code08:29
fwereade_rogpeppe1, yeah, I'm not *really* bothered about it :)08:29
rogpeppe1fwereade_: and i'm going to be adding a Dead method to api.Server (used outside of tests), so there'll be good company08:30
fwereade_rogpeppe1, cool :)08:30
fwereade_wallyworld, fwiw I just reviewed https://codereview.appspot.com/7086055/ with basically 1 question -- if you have a quick response to that now you can probably get an LGTM by the time you start work tomorrow(?)08:31
arammoin09:15
rogpeppe1aram: hiya09:15
fwereade_rogpeppe1, https://codereview.appspot.com/7137044 might be trivial, I would appreciate your opinion10:56
rogpeppe1 fwereade_a 500 line diff trivial? i don't think so. (well, i'd need to spend a reasonable amount of time on it, so it's not trivial for me...)10:59
rogpeppe1fwereade_: ^11:00
rogpeppe1fwereade_: i'll have a look in a bit though11:00
fwereade_rogpeppe1, fair enough -- maybe the term I was looking for is "mechanical"11:01
rogpeppe1fwereade_: it might've been mechanical for you, but it's not easy for me to see the relationship between old and new, i'm afraid. i'll have to look quite hard to see that the new is equivalent to the old.11:02
fwereade_rogpeppe1, np at all, I understand my perspective is skewed ;)11:02
rogpeppe1fwereade_: sometimes it's easier to write than to read...11:02
fwereade_rogpeppe1, heh, I have become very familiar with those InferEndpoints blocks11:03
fwereade_niemeyer, morning11:18
niemeyerfwereade_: Yo11:20
wallyworldrogpeppe1: yeah, i figured it out11:29
rogpeppe1wallyworld: cool.11:29
rogpeppe1niemeyer: hiya11:30
niemeyerrogpeppe1: Hey ho11:30
wallyworldfwereade_: i had another look at the ec2 implementation and it uses auth with the public bucket, so i did the same11:30
fwereade_wallyworld, ok, fair enough, thanks11:31
wallyworldfwereade_: i initially thought as you did and messed up the first go at it11:32
wallyworldfwereade_: so in essence, you need auth to write to the public bucket, but then can use wget etc without auth to get stuff from it11:32
fwereade_wallyworld, ah ok, hmm, let me backpedal a mo11:33
fwereade_wallyworld, in what circumstances is it sensible for a juju client to write to the public bucket?11:33
wallyworldfwereade_: give me a few minutes, on a standup11:34
fwereade_wallyworld, ah sorry11:34
wallyworldfwereade_: np, i was the one who pinged you11:34
rogpeppe1fwereade_: in normal circumstances, a juju client will never be able to write to the public bucket.11:41
rogpeppe1fwereade_: but by using the normal authentication, we make it possible for the tests to write to the public bucket without adding any more code.11:41
niemeyerrogpeppe1: Agreed. It's even safe to say that the real public bucket is never written to.11:42
niemeyer(by juju)11:42
fwereade_rogpeppe1, I'm not sure I generally approve of that approach -- what code are you actually saving? just not having to create a client with auth in the tests?11:43
niemeyerfwereade_: How to test the public bucket if it's always empty?11:43
fwereade_niemeyer, er, I'm not suggesting that the tests should not put stuff in the public bucket11:44
rogpeppe1fwereade_: we'd need more code to create a bucket that's neither of the ones provided by the Environ11:44
fwereade_niemeyer, I'm saying that it seems weird to give the provider authenticated access to something it should not need, just to save the effort of creating an authenticated client in the tests11:45
rogpeppe1fwereade_: tbh, i'm not sure there's a good use case for the swift unauthenticated connection11:46
niemeyerfwereade_: I'm probably out of context there11:46
rogpeppe1fwereade_: why not always present your credentials. at worst they're ignored.11:46
niemeyerfwereade_: I'm reading that as "It's weird to create authenticated access just to save the trouble of creating authenticated access", which makes no sense11:46
fwereade_rogpeppe1, the "in the tests" bit is important11:47
niemeyerfwereade_: That's probably the bit I'm missing.. what's that again?11:47
fwereade_niemeyer, AIUI the contents of the public-bucket should be available to anyone, and should never be written to by juju11:48
niemeyerfwereade_: That is the case, but not in tests11:48
fwereade_niemeyer, right11:49
niemeyerfwereade_: We write to a bucket in tests, and set it as the public bucket, because we need content in it11:49
fwereade_niemeyer, yes, this is not hard or complicated11:49
niemeyerfwereade_: That's what it seems to me as well11:49
fwereade_niemeyer, I just don't understand why the *environ* needs to have an authed connection when there is never any real use case, and creating a separate authed connection -- to write with -- in the tests is trivial11:50
rogpeppe1fwereade_: in goamz there's no way to create an unauthed connection. is that a problem?11:51
fwereade_niemeyer, it feels like the justification is "meh, it's convenient" but IMO it's misleading to put test-only code into an implementation without heavily flagging it with comments11:51
niemeyerfwereade_: Hmm11:52
niemeyerfwereade_: I see11:52
fwereade_rogpeppe1, well, at least it's behind a PublicStorage interface -- if we weren't casting back to Storage in the tests I probably wouldn't care how it was implemented11:52
niemeyerfwereade_: But I'm not sure I agree.. let me reverse the question: what's the *problem* with the current implementation?11:53
fwereade_niemeyer, the problem is that the openstack code became less clear -- it took me some time to understand that the change to an authed connection was entirely to accommodate the tests11:54
niemeyerfwereade_: AFAIK, there's nothing wrong with downloading files from S3 while being identified11:54
niemeyerfwereade_: That's a pretty problem from what we've been discussing thus far11:55
niemeyerpretty different11:55
fwereade_niemeyer, yeah, this is true -- the context is entirely "why did this change add something that is only needed for the tests?"11:55
fwereade_niemeyer, if "we did it that way before" is all the justification we need then I'll shut up11:55
niemeyerfwereade_: No, I think you're right in your argument.. it's just the problem statement that was hard to grasp11:56
niemeyerfwereade_: It's not about S3, or goamz, or the ec2 environ11:56
niemeyerfwereade_: It's about openstack11:56
niemeyerfwereade_: So you're saying just returning an authed connection with the public bucket is tricky?11:57
niemeyerfwereade_: (with openstack)11:57
fwereade_niemeyer, it seems like code that doesn't need to exist11:57
niemeyerfwereade_: What's that code?11:57
niemeyerfwereade_: Or where is it?11:57
fwereade_niemeyer, https://codereview.appspot.com/7086055/11:58
fwereade_niemeyer, actually https://codereview.appspot.com/7086055/diff/5001/environs/openstack/provider.go#newcode22311:58
fwereade_niemeyer, the whole business of casting a PublicStorage to a Storage in the tests strikes me as a touch icky, because it doesn't seem like creating a separate connection in the tests would be very hard at all... I may be missing something?11:59
niemeyerfwereade_: What's the code that shouldn't exist?11:59
fwereade_niemeyer, the commented change that I linked?12:00
niemeyerfwereade_: Are we talking about 5 or 6 characters?12:00
fwereade_niemeyer, if you want to reduce it to that, don't worry, rubber-stamp LGTM12:01
niemeyerfwereade_: I'm being silly.. I'm actually honestly trying to understand what you're arguing about.. when I hear "code that shouldn't exist" I think about maintenance12:02
niemeyerfwereade_: That doesn't look like it12:02
niemeyerfwereade_: If what you're arguing about is purely conceptual, I think this is actually correct12:02
niemeyerfwereade_: For other reasons12:02
fwereade_niemeyer, it is as simple as "why are we using a type with writey methods when they are not required?"12:02
niemeyerfwereade_: Having an authenticated connection is not just about writing12:03
niemeyerfwereade_: It's also about reading12:03
niemeyerfwereade_: Think the case of private clouds12:03
rogpeppe1niemeyer: that's a good point. it might be fine to have a public bucket that's only readable by the given user.12:03
rogpeppe1niemeyer: but not writable12:03
rogpeppe1niemeyer: assuming openstack has ACLs12:04
niemeyerfwereade_: The only change I see in this CL is "use credentials when accessing the public bucket", with a trivial one-liner.. it doesn't look bad by itself on that ground12:05
* mgz catches up with the log on this topic12:05
fwereade_niemeyer, ok, so, no default public-bucket for openstack?12:06
niemeyerfwereade_: That said, if tests are requiring the public bucket interface to have write methods, it does sound sensible to fix the test to not require that.12:06
niemeyerfwereade_: Wait what?12:06
niemeyerfwereade_: I didn't see that coming.. what's the relation?12:06
fwereade_niemeyer, well, if we're authenticating the connection, those credentials need to be recognised by the public bucket server... right?12:06
rogpeppe1niemeyer: no public tests require that12:06
fwereade_niemeyer, I may be on crack12:06
rogpeppe1niemeyer: it's only in the provider-savvy test code that it makes that assumption12:07
fwereade_niemeyer, it seems like a stretch to assume that your local credentials will work with whatever public-bucket weprovide by default12:07
niemeyerfwereade_: Will swift block a read of a publicly available file if a signature is provided?12:08
fwereade_niemeyer, honestly I have no idea12:08
niemeyerfwereade_: Ah, interesting.. you're thinking of the case across clouds I suppose12:09
fwereade_niemeyer, I think the cross-cloud case is here today if weprovide some sort of default public-bucket for openstack12:09
fwereade_niemeyer, and I think we do want to12:09
fwereade_niemeyer, even if we advise people to keep a local tools bucket to save bandwidth, not depend on us, etc, I think we also want a default "let's try juju with this openstack" to work without messsing around like that12:10
niemeyerfwereade_: Yeah, you mean default public bucket as in default storage in a random swift server for all openstack providers12:10
niemeyerfwereade_: That's a good point12:11
fwereade_niemeyer, yeah, I assumed we'd have to have something like that12:11
niemeyerfwereade_: I doubt the signature would go by if the user doesn't exist, of course12:11
niemeyerfwereade_: Sure, I just didn't have that context in mind12:11
fwereade_niemeyer, np, it's an awful lot harder to communicate the context than it is the problem12:12
niemeyerfwereade_: For supported clouds, we will have a default public bucket, in the cloud itself, so that's not an issue12:12
rogpeppe1niemeyer: the other side of the coin is when there's a public bucket that isn't fully public, of course, just shared12:12
niemeyerfwereade_: and that's what I had in mind when you said "real public bucket"12:12
fwereade_niemeyer, ah yeah, I'd discarded those as "easy to deal with" and basically forgotten about them ;p12:13
niemeyerfwereade_: Cool, I think the context is in sync now12:13
niemeyerfwereade_: Agreed, it'd be best for the test to not enforce that need12:14
niemeyerfwereade_: Since it should be easy to12:14
fwereade_niemeyer, yeah, that was my read of the situation12:14
mgz"public" is meaning too many different things in this conversation...12:14
niemeyerfwereade_: We can be smarter about having credentials when operating in the same cloud in the future12:14
fwereade_niemeyer, I imagine the thing to do there is clean up the public-bucket/public-bucket-url business12:15
niemeyerfwereade_: But that's a scenario we don't have to test/code right now, to make things simpler12:15
fwereade_niemeyer, ie if there's a public-bucket, it's assumed to be in the same cloud and accessible by name12:15
fwereade_niemeyer, public-bucket-url has a default pointing to our super-public bucket (heh :/)12:16
fwereade_niemeyer, and public-bucket-url is only used in the absence of public-bucket12:16
fwereade_niemeyer, sane?12:16
niemeyerfwereade_: Not sure.. the matter of "defaults" is that it depends on the cloud being run12:16
mgzfwereade_: that's not really ideal from an openstack perspective12:16
fwereade_niemeyer, agreed -- maybe that's a big derail12:17
niemeyerfwereade_: We'll want juju itself to be able to figure when it can use a public bucket in the same cloud, and to fallback to that public-bucket-url when it doesn't know better12:17
niemeyerfwereade_: So that's not really a matter of "what is set", but rather of "where am I"12:18
fwereade_niemeyer, ok, yes, that makes sense12:19
fwereade_mgz, I'm interested to hear your perspective on what I suggested12:19
fwereade_mgz, because I'm not really comfortable with what I've seen of those settings, but that is almost certainly down to ignorance12:19
=== rogpeppe1 is now known as rogpeppe
wallyworldfwereade_: i'll let mgz fill you in on the fine details, i'm quite tired tonight and need some sleep soon. the openstack provider implementation wrt public buckets was done similar to the existing ec2 way of doing it and was done is such a way to make the existing juju tests pass12:29
fwereade_wallyworld, yep, np, enjoy your sleep :)12:30
wallyworldie a container was created for the public storage, and made readable by all, but the tests need to writw to it, hence need auth12:30
wallyworldthe readable by all bit then allows wget etc to fetch the tools12:30
fwereade_wallyworld, sure, I understand, I'm just saying there's no justification for auth in the implementation when it's only there so the tests can cast an interface to another and abuse it ;p12:30
wallyworldfwereade_: yeah, i understand your concerns. i took the approach that the exisitng tests were all ok and i just needed to write code to make them pass aka TDD :-)12:31
fwereade_wallyworld, I'm doing my very best to criticize the code alone, rather than your approach to it, and I'm sorry if it'snot coming across that way12:32
mgzfwereade_: so, the main issue is that for unauthenticated read access, we just want a url12:33
wallyworldfwereade_: oh no, don't apologise. i have a thick skin and in any case did not in any way take your concerns badly. i'm very glad you raised them12:33
mgzto put stuff there, we need authentication and a bunch of extra details12:33
fwereade_wallyworld, cool :)12:33
wallyworldi love a good robust discussion12:33
wallyworldespecially when it comes to improving the code base12:33
mgzthe tests fake out the global bucket in order to test that, and write tools to a temporary test globabl bucket12:33
fwereade_mgz, we are in agreement so far12:34
wallyworldfwereade_: so whatever is decided, i'd love it to be from a holicstic perspective and if changes are needed we fix the tests as a whole with possible changes to both ec2 and openstack providers if required. perhaps we can land my mp as is and follow up with a separate branch12:36
mgzwell, apart from the naming being a pain, and a lack of commands to propogate tools, I think we're happy12:42
fwereade_wallyworld, I'm -0 on that but I will think more on it -- I think there's a real distinction between ec2 and openstack, because we don't need to take cross-env credentials into account12:43
fwereade_wallyworld, mgz: if the client really will work when it tries to read a bucket with the wrong credentials, I think it's fine12:44
fwereade_wallyworld, mgz: but if so it certainly deserves commenting12:44
rogpeppei'd like to know what actually happens if you use invalid credentials on an openstack node when reading from a publicly-accessible container.12:45
wallyworldfwereade_: i thought we only needed the public container for wget and the like?12:45
mgzthe read should really not be trying to give a token at all.12:46
wallyworldrogpeppe: i did read that there is/was a bug of some sort that raised a 401 when it shouldn't but i need to find the reference to that, and in any case, it might also be fixed12:46
wallyworldanyways, i'll go sleep and catch up with things tomorrow. thanks for the inetresting discussion12:47
fwereade_wallyworld, mgz: if it works, and there's a comment pointing out that the credentials might be wrong but it doesn't matter, then I'd be ok with landing that as-is, along with a bug pointing out that the live tests make some slightly icky assumptions about the nature of provider storage and it would be nice if they didn't12:49
fwereade_wallyworld, cheers12:49
fwereade_wallyworld, I'll add some notes to the CL12:49
rogpeppeniemeyer, fwereade_: simple change to goamz/ec2/ec2test to support compressed user data: https://codereview.appspot.com/713504513:26
rogpeppeniemeyer: i wonder if it might make sense to have ec2 always compress user data. i'm not sure.13:27
rogpeppeniemeyer: in fact, scratch that, it should definitely not.13:28
niemeyerrogpeppe: I think it should attempt to uncompress based on the magic instead of picking any errors as uncompressed13:30
rogpeppeniemeyer: i wondered about that. gzip.NewReader reads the header - i could bail out if NewReader fails.13:31
rogpeppeniemeyer: rather than duplicating the header magic13:31
niemeyerrogpeppe: I still think it should simply read the magic13:32
niemeyerrogpeppe: if string(data[:magicSize]) == "foo" { profit }13:33
niemeyerrogpeppe: Pretty simple13:33
rogpeppeniemeyer: i'm not sure though. user data is arbitrary - there's nothing to say that user data with a valid gzip header followed by random contents is necessarily invalid13:33
rogpeppeniemeyer: that's a cloudinit thing, not a user data thing13:33
niemeyerrogpeppe: user data is not arbitrary.. it's fine to explode if we don't reckon it in our own test server13:34
rogpeppeniemeyer: i thought cloudinit was just one way of using user data13:35
niemeyerrogpeppe: Hmm.. you're right actually13:35
niemeyerrogpeppe: -1 on the change then13:35
niemeyerrogpeppe: This is ec2 test server.. there's nothing about cloudinit there13:35
rogpeppeniemeyer: yeah, i suppose so.13:36
rogpeppeniemeyer: i was trying to avoid having environs/ec2 knowing about the compression scheme.13:36
niemeyerrogpeppe: If it knows about interpreting a cloud-init oriented configuration, it should know about what cloud-init expects13:37
rogpeppeniemeyer: the cloudinit package knows about that (i'd just added a RenderCompressed method)13:38
rogpeppeniemeyer: but i guess i can either remove that, or just document that the compression format is gzip13:38
niemeyerrogpeppe: If it doesn't know about interpreting a cloud-init oriented configuration, there's no reason for it to know about the compression13:38
niemeyerrogpeppe: Seems self-exclusive.. you only have to uncompress if you care about the data13:39
niemeyerrogpeppe: If you care about the data, it's natural to know its format13:39
rogpeppeniemeyer: yeah, and the environs/ec2 tests know that the cloudinit data is in yaml format, so they may as well know it's compressed too.13:41
niemeyerrogpeppe: +113:42
rogpeppeniemeyer: ok, here's the CL to compress the cloudinit data: https://codereview.appspot.com/7138044/13:50
rogpeppeniemeyer: user data now down to 4984 bytes, much better13:52
niemeyerrogpeppe: Reviewed13:54
rogpeppeniemeyer: thanks. a reasonable point. will add trivial.Gzip and probably Gunzip too for symmetry13:56
niemeyerrogpeppe: Super, thanks13:56
rogpeppeniemeyer: updated accordingly:  https://codereview.appspot.com/713804414:32
niemeyerrogpeppe: Reviewed14:51
rogpeppeniemeyer: submitted14:51
rogpeppeniemeyer: thanks14:51
niemeyerrogpeppe: np!14:54
=== slank_away is now known as slank
niemeyerfwereade_: Is it okay if I use state-service-api as a chance to review the whole death-and-destruction doc?15:14
rogpeppefwereade_, niemeyer: PTAL https://codereview.appspot.com/708506215:17
rogpeppefwereade_: i'll do some reviews now. what's your highest priority?15:17
fwereade_niemeyer, that works for me15:19
niemeyerfwereade_: Coo15:19
niemeyerl15:19
fwereade_rogpeppe, any of them really :)15:19
niemeyerI'll step out for lunch though, as it's pretty late15:20
niemeyerbiab15:20
fwereade_niemeyer, enjoy15:20
rogpeppefwereade_: what does EnterScope immediately followed by LeaveScope accomplish?16:27
fwereade_rogpeppe, create the subordinate but get back to the expected starting state for the initial tests (ie nothing in scope)16:28
rogpeppefwereade_: so in the real system, what calls EnterScope to cause the subordinate to be created?16:29
fwereade_rogpeppe, the principal unit agent16:29
rogpeppefwereade_: ah, so the subordinate agent starts already in scope, then leaves scope when it dies?16:30
fwereade_rogpeppe, no -- the action of the principal entering scope causes the subordinate to be created; when the subordinate's unit agent is running it will enter scope, and at that point the two units will see each other16:31
rogpeppefwereade_: ah, i see noe16:31
rogpeppew16:31
fwereade_rogpeppe, (and fwiw: the principal and the subordinate each leave scope independently when they observe themselves, or the relation, to be Dying)16:34
rogpeppefwereade_: you've got a couple of reviews16:35
fwereade_rogpeppe, cheers16:36
mrammhazmat: rogpeppe: we still doing that API sync call?16:37
rogpeppemramm, hazmat: yes, i just noticed that. am ready if you are.16:38
mrammI'm alone in the hangout, hanging out16:38
rogpeppemramm: i just joined then left :-)16:38
mramminteresting16:39
fwereade_rogpeppe, comments on https://codereview.appspot.com/7137044/ when you have a mo16:51
hazmatmramm2, rogpeppe sorry i got double booked16:54
hazmattotally missed it.. i'm in the hang out now if you've got time16:54
hazmatmramm2, rogpeppe should i reschedule for tomorrow?16:56
rogpeppehazmat, mramm2: i'm ok if you are16:57
hazmatrogpeppe, mramm2 let's do tomorrow.. i have another meeting starting now..16:57
rogpeppehazmat: ok, np16:57
hazmatrogpeppe, thanks16:57
rogpeppefwereade_: replied17:00
fwereade_rogpeppe, SGTM, thanks17:00
niemeyerfwereade_: The first bug described in the death doc went a bit over my head17:13
niemeyerfwereade_: Would appreciate some quick exchange on it when you have a moment17:13
fwereade_niemeyer, ping -- I must be brief -- the issue is that the Uniter uses its relation state dir to record what relations it's joined, while actually it should be using... what relations it's joined17:38
niemeyerfwereade_: He17:38
niemeyery17:38
niemeyerfwereade_: Hmm17:39
aramholly shit, I've been scammed. I bought 12 SD cards for my raspberry pis, and I bought expensive ones that can do 30MB/sec, and they were all chinese pirate copies that can't even do 1MB/sec.17:39
fwereade_niemeyer, so if an instance dies, and a UA comes up on a fresh instance, it won't leave dying relations because it doesn't know it's in them17:39
fwereade_aram, ouch, crap :(17:40
niemeyerfwereade_: Okay, the doc can probably be reworded a bit then17:40
niemeyerfwereade_: It's trusting on logic we don't even have yet17:40
niemeyerI think17:40
fwereade_niemeyer, I *think* that the provisioner will start fresh instances17:40
fwereade_niemeyer, but I'd have to check17:41
niemeyerfwereade_: For an already deployed machine with running units? That'd be awkward17:41
niemeyerfwereade_: I'd expect some clean up to take place in those cases17:42
niemeyerfwereade_: With some kind of formal acknowledgement in the logic handling it that things went bad17:42
niemeyerfwereade_: I don't recall us having that yet, at least17:42
fwereade_niemeyer, ah, hmm, looks like we don't17:42
fwereade_niemeyer, funny, could have sworn it went in quite early17:43
niemeyerfwereade_: Either way, the point is valid.. it just seems worded in an involved way17:45
niemeyerfwereade_: The core point, if I get it, is that if the known unit state is corrupted, it won't auto-recover17:45
fwereade_niemeyer, yeah -- but I think it would recover ok if we didn't use local dirs as evidence of relation membership17:48
niemeyerfwereade_: Or maybe not.. you offer solutions there as well.. my comprehension of the problem just seems to have made the wordin gmore clear somehow17:48
fwereade_niemeyer, haha17:49
rogpeppearam: presumably you bought from a reputable seller, so have some comeback... ?18:14
aramyeah.18:14
rogpeppearam: bummer though18:14
aramyeah.18:14
arambtw, Plan 9 works really really well.18:15
rogpeppearam: on the pi?18:15
aramLinux is comically slow.18:15
aramyes.18:16
rogpeppearam: cool18:16
aramthough quake 3 runs really well because it is 3D.18:16
rogpeppearam: have you tried inferno?18:16
aramnot yet.18:16
rogpeppearam: what are you planning to do with your pis?18:17
aramthe first thing In want to do is implement a full TCP/IP stack over the GPIO ports. I'd like to learn more about TCP/IP this way.18:17
rogpeppearam: what's the point? can't you just implement a transport?18:18
rogpeppearam: assuming you're doing it under plan 918:18
aramyes, I'll do the transport at first, but I want to learn more about implementing TCP/IP in general.18:19
rogpeppei'm off for the night18:26
rogpeppesee y'all tomorrow18:26
aramcheers18:26
=== slank is now known as slank_away

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