[06:01] <wallyworld_> jam: g'day, can haz mumble?
[07:11] <TheMue> Good morning.
[07:16] <fwereade_> mornings
[07:18] <TheMue> fwereade_: Thx for your reviews. And yes, so far I've concentrated on positive testing. I will harden it now.
[07:23] <TheMue> fwereade_: Btw, over night I found a little trouble with your regex for valid machine ids.
[07:23] <TheMue> fwereade_: Right now leading zeros are ok, like "000000001".
[07:24] <TheMue> fwereade_: I don't think that's wanted.
[07:24] <fwereade_> TheMue, hmm, interesting
[07:24] <fwereade_> TheMue, yeah, thank you, good catch
[07:24] <TheMue> fwereade_: Cheers.
[09:06] <fwereade_> morning rogpeppe1
[09:08] <TheMue> rogpeppe1: Good morning.
[09:35] <fwereade_> hm, I appear to be nutritionally challenged, need to pop out for a croissant or something, bbs
[09:44] <rogpeppe1> fwereade_, TheMue: morning!
[09:45] <TheMue> rogpeppe1: Hiay.
[09:46]  * TheMue has somewhat crooked fingers again this morning.
[10:20] <rogpeppe1> fwereade_, TheMue: if you've a moment at some point, i would quite like a review of a branch that fixes an earlier trunk-reverted branch. this CL is exactly the changes that were LGTM'd, submitted and reverted: https://codereview.appspot.com/6852081/. this CL holds the changes that i've made to fix it: https://codereview.appspot.com/6850087/
[10:24] <TheMue> rogpeppe1: *click*
[10:26] <TheMue> rogpeppe1: Could you please tell me more about the current state of the fake home?
[10:26]  * fwereade_ looks
[10:26] <rogpeppe1> TheMue: i'm not sure what you mean, sorry
[10:28] <TheMue> rogpeppe1: As far as I remember the discussion about the fake home has been controversal. But I may be wrong.
[10:28] <rogpeppe1> TheMue: in this case it's just a local helper function
[10:28] <TheMue> rogpeppe1: Ah, ok.
[10:28] <rogpeppe1> TheMue: the controversial thing was making it into a test fixture
[10:29] <TheMue> rogpeppe1: Yes, now I remember.
[10:29] <fwereade_> rogpeppe1, sorry, but I'm having a bit of difficulty orienting myself -- I haven't been paying close attention to your discussions
[10:30] <rogpeppe1> fwereade_: ok, brief summary:
[10:30] <rogpeppe1> fwereade_: the original branch made ca-cert and ca-private-key keys in the config.Config
[10:31] <rogpeppe1> fwereade_: with logic to read them from ~/.juju/<envname>-cert.pem and ~/.juju/<envname>-private-key.pem if necessary
[10:31] <rogpeppe1> fwereade_: (similar to the authorized-keys behaviour)
[10:31] <rogpeppe1> fwereade_: that branch was approved and submitted, but...
[10:32] <rogpeppe1> fwereade_: unfortunately it interacted badly with another parallel change, and a bad test meant i didn't catch it
[10:33] <rogpeppe1> fwereade_: so, after discussion with gustavo, this pair of CLs a) reapplies all the changes that were reverted and b) applies a fix
[10:33] <fwereade_> rogpeppe1, can we drill down into the bad interaction a little?
[10:34] <rogpeppe1> fwereade_: ok. the bad interaction was with juju.Bootstrap
[10:34] <rogpeppe1> fwereade_: which expected the old scheme of putting both certificate and key in the same file
[10:35] <rogpeppe1> fwereade_: the problem was that i was expecting juju.Bootstrap to generate a certificate that the config could read
[10:35] <rogpeppe1> fwereade_: but it didn't
[10:35] <rogpeppe1> fwereade_: (i did have an explicit test for that, but it wasn't working, which is the cause of all these problems)
[10:36] <rogpeppe1> fwereade_: so this is a temporary band-aid fix that gets this huge branch in without breaking trunk so i can fix juju.Bootstrap in the next iteration.
[10:37] <rogpeppe1> fwereade_: (the config stuff will remain as proposed)
[10:38] <rogpeppe1> fwereade_: i really don't to pile more changes into this CL if at all possible
[10:39] <fwereade_> rogpeppe1, I remain confused about whether we're expecting one file or two
[10:40] <fwereade_> rogpeppe1, that []byte in juju/bootstrap.go implies one; the config stuff implies 2
[10:40] <rogpeppe1> fwereade_: this CL leaves us in a half-way house - juju.Bootstrap expectes one; the config expects two
[10:40] <rogpeppe1> fwereade_: but nothing in this branch relies on juju.Bootstrap to generate a certificate
[10:40] <rogpeppe1> fwereade_: or to read a certificate
[10:41] <rogpeppe1> fwereade_: (because all tests explicitly pass in the cert/key pair)
[10:41] <fwereade_> rogpeppe1, ok... but what about actually running juju?
[10:42] <rogpeppe1> fwereade_: that's fine. we don't use juju.Bootstrap.
[10:42] <rogpeppe1> fwereade_: the cert/key pair isn't used anyway
[10:42] <rogpeppe1> yet
[10:43] <rogpeppe1> fwereade_: note the changes here: https://codereview.appspot.com/6850087/diff/3003/cmd/juju/bootstrap.go
[10:43] <rogpeppe1> fwereade_: i have tested it live - it works
[10:43] <fwereade_> rogpeppe1, yeah, that was the source of my confusion really :)
[10:44] <rogpeppe1> fwereade_: yeah, the whole thing is a little confusing - two independent branches interacting badly.
[10:44] <rogpeppe1> fwereade_: (i'd abandoned the config change 'cos gustavo said it was crack, but he later changed his mind and said that was just what we wanted)
[10:46] <fwereade_> rogpeppe1, heh :)
[10:47] <dimitern> rogpeppe, mgz, jam: please have a look https://codereview.appspot.com/6858052/ - after fixing what was suggested
[10:48] <mgz> dimitern: sure.
[10:49] <fwereade_> rogpeppe, so... to follow up, you're going to cause [some bootstrap machinery] to generate cert/key where required, and make it mandatory again in config; and then subsequently start depending on it on the server side?
[10:50] <rogpeppe> fwereade_: yes to the first, but actually the cert will remain optional
[10:50] <rogpeppe> fwereade_: because otherwise we can't read a config file without first generating the certificates
[10:50] <fwereade_> rogpeppe, ok, but the cert will not be optional on the server side?
[10:51] <rogpeppe> fwereade_: no indeed. it'll be a required flag in cmd/jujud, and required when creating a cloudinit MachineConfig too.
[10:51] <fwereade_> (grumble grumble, user config and state config are not the same)
[10:52] <rogpeppe> fwereade_: yeah
[10:52] <fwereade_> rogpeppe, ok; and what you're really interested in is review of the second branch, on the basis that the first one has in fact already been LGTMed?
[10:52] <rogpeppe> fwereade_: precisely
[10:52] <mgz> hm, how do to I get the interdiff on cr? or should I just branch this locally...
[10:52] <rogpeppe> mgz: the interdiff?
[10:53] <rogpeppe> mgz: you can get a diff between any two stages in cr by adjusting the "Left" and "Right" popup menus
[10:53] <mgz> dimitern updated his merge proposal, I want to see what changed... I guess I can just use lp.
[10:54] <mgz> the whats?
[10:54] <dimitern> mgz: well, I did the changes in the same branch, pushed and then lbox propose - did I do it wrong?
[10:54] <fwereade_> mgz, look in the "Delta from patch set" column
[10:54] <rogpeppe> mgz: if you're in the "Side by Side Diff" page, there's are two buttons at the top left, labelled "Left" and "right"
[10:55] <mgz> dimitern: nope, I just don't know how to use cr
[10:55] <rogpeppe> mgz: Each one holds one iteration of the review. You can adjust as you like, then click "Go" to see the differences
[10:55] <mgz> there's only '1' listed in that column
[10:56] <fwereade_> mgz, so that is then the diff from patch set one, right?
[10:56] <rogpeppe> mgz: i see two: for instance: https://codereview.appspot.com/6858052/diff2/1:5002/environs/openstack/config.go
[10:57] <rogpeppe> davecheney: yo!
[10:57] <mgz> ah, so it's 0 otherwise
[10:57] <rogpeppe> mgz: "j" and "k" are convenient keyboard shortcuts for moving forward and backwards between files
[10:58] <fwereade_> mgz, yeah, if you expand Patch Set 1 you will see the column is empty
[10:58]  * rogpeppe never uses the "Delta from patch set" column, other than as informational content.
[10:59] <dimitern> cool! I was looking for that too - the delta column is great
[10:59] <rogpeppe> what i usually do is click on a comment, then adjust the "Right" button to point to the latest iteration.
[11:00] <rogpeppe> 'cos i'm almost always interested in what's changed since a given comment
[11:02] <wallyworld_> dimitern: mgz: jam: standup?
[11:03] <TheMue> rogpeppe: You've got a review.
[11:03] <niemeyer> Morning!
[11:03] <rogpeppe> TheMue: thanks!
[11:03] <rogpeppe> niemeyer: yo!
[11:03] <TheMue> niemeyer: Hiya.
[11:04] <dimitern> mgz, jam: wallyworld_ and me are in mumble
[11:05] <mgz> jam is off again today I think, I'll be with you guys shortly
[11:11] <wallyworld_> dimitern: mgz: https://pastebin.canonical.com/78914/
[11:12] <fwereade_> niemeyer, morning
[11:17] <TheMue> lunchtime
[11:17] <mgz> that odd "Get http://example.com/marker" bit is the same as dimitern had, but you're not getting the crash
[11:18] <niemeyer> mgz: This is an issue introduced in 1.0.3
[11:18] <niemeyer> mgz: and unfortunately there isn't a workaround
[11:19] <niemeyer> mgz: Even more unfortunately, I perceived that in advance of the release, and we fixed it
[11:19] <niemeyer> mgz: But luck wanted the bug to be cherrypicked for the release, and not the fix
[11:52] <rogpeppe> i'm having an extended lunch break today, back in about 3 hours
[11:56] <dimitern> rogpeppe: cool :)
[11:58] <niemeyer> rogpeppe: Enjoy
[11:58] <niemeyer> rogpeppe: We should catch up when you're back, to sync up on the branches that should go in
[11:59] <rogpeppe> niemeyer: yes please
[11:59] <rogpeppe> niemeyer: in case you manage to get to it before i return, here's a summary of the one i'm most concerned about:
[11:59] <rogpeppe>  this CL is exactly the changes that were LGTM'd, submitted and reverted: https://codereview.appspot.com/6852081/. this CL holds the changes that i've made to fix it: https://codereview.appspot.com/6850087/
[12:00] <niemeyer> rogpeppe: Ah, great.. so the former one is just the revert reverted :-)
[12:00] <rogpeppe> niemeyer: yeah
[12:00] <niemeyer> rogpeppe: Thanks, that makes things a lot easier
[12:01] <rogpeppe> niemeyer: i hoped it might help :-)
[12:05] <dimitern> fwereade_: ping
[12:06] <dimitern> niemeyer: so now, after having 2 positive reviews, how's the process to land the CL into lp:juju-core?
[12:07] <dimitern> niemeyer: just merge the branch into trunk and push it?
[12:09] <dimitern> TheMue: maybe you can help? ^^
[12:10] <TheMue> dimitern: You're working with lbox?
[12:10] <niemeyer> dimitern: No
[12:10] <niemeyer> dimitern: lbox submit
[12:10] <dimitern> niemeyer: I see, just that?
[12:10] <niemeyer> dimitern: That said, can you please wait a moment on that one
[12:10] <niemeyer> dimitern: Since this is the bootstrap, I'd like to follow at least the first few steps on it
[12:11] <dimitern> niemeyer: sure, I'd like that
[12:12] <niemeyer> dimitern: I'll look up right now so I don't block you
[12:12] <dimitern> niemeyer: thanks!
[12:12] <niemeyer> dimitern: What's "tenant-name"?
[12:13] <dimitern> niemeyer: that's one of openstack's auth credentials
[12:13] <dimitern> niemeyer: it's a bit controversial - sometimes called project-name, and in the api it's called tenant id
[12:13] <niemeyer> dimitern: Cool
[12:13] <niemeyer> dimitern: SO why do we go in the middle?
[12:14] <niemeyer> :)
[12:14] <niemeyer> dimitern: tenant-name isn't either of them :)
[12:14] <dimitern> niemeyer: but the env var is called OS_TENANT_NAME or NOVA_PROJECT_ID
[12:14] <niemeyer> dimitern: Wow, okay
[12:14] <mgz> it's a little more complicated...
[12:14] <niemeyer> Seriously diverse
[12:14] <mgz> what exactly it is depends across versions and deployments, we probably want some fancier logic here in future
[12:15] <niemeyer> mgz: Can you describe a bit more of the issue?
[12:16] <mgz> want the long fairy tale? :)
[12:16] <mgz> so, in the beginning there was nova
[12:16] <dimitern> niemeyer: from the openstack docs: "Credentials are a combination of your username, password, and what tenant (or project) your cloud is running under. " (http://docs.openstack.org/api/quick-start/content/)
[12:16] <niemeyer> Thanks, it would be useful to picture what we should do
[12:17] <mgz> it had code for handling authentication itself#
[12:18] <mgz> and that had support added for using 'project' as a sort of group id for resources, so multiple users could share control of a resource
[12:18] <mgz> with the growth of the project, various things that used to be in nova started getting pulled out into seperate codebases
[12:20] <mgz> the new auth stuff is keystone... which is a complicated history itself... the initial version wasn't accepted but got rewritten as keystone-lite just in time for being a core component of essex
[12:21] <mgz> for... not very good reasons, they use 'tenant' for the same concept, so you as a user are a member of one or more tenants
[12:21] <mgz> which are then the things that own particular resources, and when you request an access token, that token is (generally) associated with a particular tenant
[12:21] <mgz> so, all api calls using that token are scoped to that tenant
[12:22] <mgz> the confusing thing is 'tenant' was already in use as a term for a different concept, particularly with regards to multi-tenancy
[12:22] <niemeyer> Gosh :(
[12:22] <mgz> so, they keystone guys were threatening to rename back to 'project' again... but that's probably too disruptive now
[12:23] <mgz> the name vs id thing is simpler
[12:23] <mgz> the old way of refering to a project in nova was by an integer (basically a unique id straight from the db I think)
[12:24] <mgz> ...is that right?... it might have been a string
[12:24] <mgz> at any rate, the new style is all objects have a UUID associated
[12:25] <niemeyer> mgz: Okay, and how did "name" get in there?
[12:25] <mgz> and any that used to have a unique name still have that, and some api calls take a name rather than the UUID
[12:25] <niemeyer> mgz: Is it a uuid or something else?
[12:25] <mgz> it was originally a string name in the first versions of the code, so eg, my username is gz, the default tenant that gets created just for me is gz_project
[12:26] <mgz> that's nice because you can see at a glance what the tenant is about
[12:27] <mgz> but... when constructing urls and such like, the style is /object/UUID/stuff
[12:27] <niemeyer> OMG
[12:27] <niemeyer> :)
[12:28] <niemeyer> It's hard to believe such a trivial concept can get so involved
[12:28] <mgz> for keystone and tenants, this diversion doesn't matter too much, as there's basically only one api call juju needs to use (everything else is admin related)
[12:28] <mgz> and these days it accepts either the name or the id
[12:28] <mgz> you just need to know which you have.
[12:29] <mgz> the fun part only comes when supporting deployments based on older versions
[12:30] <niemeyer> mgz: I see
[12:30] <mgz> generally though, we always have one way of refering to a tenant, and should be able to tell from the envvar whether it's a name or an id.
[12:30] <niemeyer> mgz: So what's name? :)
[12:30] <niemeyer> mgz: "gz_project"?
[12:30] <mgz> yup.
[12:30] <niemeyer> mgz: and that's automatically assigned by the provider?
[12:30] <niemeyer> mgz: or can you customize it?
[12:31] <mgz> it's part of the keystone user account management stuff
[12:31] <mgz> so, the cloud admin sets it, and you'll get one in your account details from them
[12:33] <mgz> eg, on my hp cloud api keys page,
[12:34] <mgz> there's a "Tenant" heading that lists both an id (...which is an integer not a uuid, hp is special) and a name (which is <username>-default-tenant)
[12:36] <niemeyer> mgz: i see
[12:36] <niemeyer> mgz: What about "container"?
[12:36] <mgz> in what context?
[12:36] <niemeyer> mgz: Does it have such an involved history as well? :)
[12:36] <niemeyer> mgz: THe setting
[12:37] <dimitern> niemeyer: the container is the equivalent of control-bucket for aws
[12:37] <mgz> ah, I think I just used bucket-name for that in the python as there's no useful reason to distinguish it from S3
[12:38] <niemeyer> Can we use "control-bucket" then?
[12:38] <mgz> that's the thingy.
[12:38] <dimitern> mgz: but in the python version, the s3-compatible api is used, not swift where there are no buckets
[12:39] <mgz> dimitern: both are supported
[12:39] <mgz> and both use control-bucket for the key name as that's then less confusing (except for the person writing the swift api code)
[12:39] <mgz> I wonder what the benefit fo expecting the user to configure that is though
[12:39] <dimitern> mgz: exactly, the swift api uses containers instead of buckets
[12:40] <mgz> have had people having issues because they used "yourrandombucketname" literally... as did someone else
[12:40] <dimitern> niemeyer: sure, we can use "control-bucket", but won't it be confusing for people who know openstack swift?
[12:41] <mgz> dimitern: that can safely be assumed to be a minority of people :)
[12:41] <niemeyer> dimitern: I'd prefer to not confuse people that know juju
[12:41] <dimitern> niemeyer: ok, I can change container->controlBucket then
[12:41] <niemeyer> dimitern: I don't like control-bucket either, to be honest.. I hope we can kill it soon, on both providers
[12:41] <mgz> right, having it manually configured is... not pretty
[12:42] <niemeyer> mgz: Yeah, it's actually automatically generated in Python at the moment.. we should do that for openstack too
[12:42] <niemeyer> mgz: So a sample file is generate with the field pre-filed
[12:42] <mgz> the issue is it always appears in the example juju configs
[12:42] <niemeyer> mgz: Eventually, juju will not require any external storage
[12:42] <niemeyer> mgz: and then we can kill this for good
[12:42] <dimitern> niemeyer: apart from this, other things look ok to you?
[12:42] <mgz> people too often don't seem to use the pre-fill logic when setting up juju for the first time
[12:42] <niemeyer> dimitern: Btw, I just noticed you have a review from Roger pending
[12:42] <niemeyer> dimitern: I'm providing a review.. nothing large so far
[12:43] <dimitern> niemeyer: pending? he did it yesterday and I fixed what he proposed..
[12:44] <mgz> I think you can carry over the lgtm, it's just marked him as he looked at the previous version
[12:44] <niemeyer> dimitern: Yes, but once someone reviews your code and asks for changes, you should wait for a LGTM from them
[12:44] <niemeyer> dimitern: Or at least an explicit dismissal saying "wait for someone else"
[12:44] <niemeyer> dimitern: "LGTM" is the special key there
[12:44] <dimitern> niemeyer: I see, I just assumed he generally liked it, once I do the changes it will be "LGTM", maybe I'm wrong here
[12:44] <mgz> niemeyer: do you have a lgtm-and-I-trust-you-to-change-these-trivial-things-before-landing concept?
[12:44] <mgz> or are things generally always re-reviewed?
[12:45] <niemeyer> mgz: No, we do have that
[12:45] <niemeyer> mgz: "LGTM with the following:"
[12:45] <niemeyer> mgz: That assumes the reviewer trusts it to go in, assuming the suggestions are sensible and are applied
[12:45] <dimitern> niemeyer: Ok, I see, I'll ping roger later for re-review
[12:45] <niemeyer> mgz: Sometimes it doesn't quite fly because the author doesn't think they are sensible, which causes talks and re-reviews
[12:45] <niemeyer> mgz: But that's the exception
[12:45] <mgz> thanks.
[12:46] <niemeyer> No problem
[12:47] <dimitern> niemeyer: in the mean time, I started another related branch to implement private/public addresses in the provider
[12:47] <niemeyer> dimitern: Super
[12:47] <niemeyer> dimitern: You can even push that to review if you get to completion, by using -req
[12:47] <niemeyer> dimitern: on lbox
[12:47] <dimitern> niemeyer: yeah, that's my plan
[12:54] <niemeyer> dimitern: Review sent
[12:54] <niemeyer> dimitern: Very nice bootstrap
[12:54] <dimitern> niemeyer: thanks!
[13:15] <dimitern> niemeyer: updated as suggested https://codereview.appspot.com/6858052/
[13:17] <niemeyer> dimitern: Thanks!
[13:19] <dimitern> niemeyer: so now, as soon as roger gives his final LGTM, I can lbox submit it?
[13:20] <niemeyer> dimitern: Yep!
[13:20] <dimitern> super, thanks
[13:25] <dimitern> niemeyer: one more question about the lbox process - so, after I have a review I see I can reply to each inline comment (done or reply), once I do that I send my replies, should I do lbox propose again, or I need just to push the branch changes only?
[13:26] <niemeyer> dimitern: You need to do propose again
[13:26] <dimitern> ok
[13:26] <niemeyer> dimitern: Otherwise the diff in Rietveld isn't updated
[13:26] <dimitern> niemeyer: so I shouldn't worry I'm sending too many emails for a CL :)
[13:26] <niemeyer> dimitern: Note that if you write down drafts after the comments (done, reply, etc), you can do "lbox propose" and it'll publish your drafts as well
[13:27] <dimitern> niemeyer: nice! so I don't need to publish them from the site myself
[13:27] <niemeyer> dimitern: Thta's right
[13:29] <fwereade_> dimitern, sorry, just back from lunch
[13:33] <dimitern> fwereade_: np, just got some reviews flowing :)
[13:33] <fwereade_> dimitern, cool
[13:34] <dimitern> fwereade_: if you want to take a look: https://codereview.appspot.com/6858052/
[13:34]  * fwereade_ looks
[13:37] <fwereade_> dimitern, just a quick thought: can you at least check that the region != ""? or can even that be valid?
[13:37] <dimitern> fwereade_: good point, I can check for this
[13:37] <dimitern> fwereade_: I has to be set to something at least
[13:41] <fwereade_> dimitern, maybe also worth checking that auth-url is actually a valid URL?
[13:41] <dimitern> fwereade_: I thought about this, but was not sure of an easy way to parse/check it - anything in go like urlparse?
[13:42] <fwereade_> dimitern, net/url
[13:42] <dimitern> fwereade_: cool, I'll check it out
[13:42] <fwereade_> dimitern, has a Parse func
[13:43] <fwereade_> dimitern, and if I'm being really picky I might suggest positive tests for changing the values that can/should change... and I'm suspicious of making the firewall mode changeable
[13:44] <fwereade_> rogpeppe, TheMue, niemeyer: *should* firewall-mode be mutable? (and should it even maybe be common to all providers?)
[13:44] <dimitern> fwereade_: don't know about the firewall mode
[13:44] <fwereade_> dimitern, nor do I really, hence my question above :)
[13:47] <TheMue> fwereade_: Hard to say. For sure it would be implementable, but with a lot changes. And which reason?
[13:47] <TheMue> fwereade_: OK, maybe if we reach the limit of EC2 dynamically switch to global mode.
[13:47]  * TheMue thinks.
[13:52] <TheMue> fwereade_: Why do you think about making it changable?
[13:53] <fwereade_> TheMue, just because it appears that it is
[13:53] <fwereade_> TheMue, and I was wondering whetherthat was sane
[13:54] <TheMue> fwereade_: It is? Have to take a look.
[13:55] <fwereade_> TheMue, it appears to be in dimitern's CL; haven't looked at EC2
[13:55] <niemeyer> fwereade_: I think it shouldn't be allowed
[13:55] <niemeyer> fwereade_: One of the reasons why I didn't suggest restricting yet is because it's handy for tests to be able to change it
[13:56] <fwereade_> niemeyer, both are perfectly reasonable, but somewhat in conflict :)
[13:57] <fwereade_> niemeyer, do you have an opinion on making it part of config.Config rather than provider-specific?
[13:57] <niemeyer> fwereade_: They are in conflict indeed, and the behavior on changes isn't user friendly, so you're right.. the final implementation should reject changes
[13:58] <niemeyer> fwereade_: Making what part of config.Config? (it is already there?)
[13:58] <fwereade_> niemeyer, I don't think so; it seems to be in danger of being duplicated across ec2/openstack
[13:59] <fwereade_> niemeyer, (fwiw, ISTM that it's not *overwhelmingly* handy to change it in tests when we could have separate env setup for separate tests...)
[13:59] <niemeyer> fwereade_: FirewallMode and the respective settings are all in config.. what are you referring to, more exactly?
[14:00] <fwereade_> niemeyer, ok, perhaps I am smoking crack, I had expected that if it were handled in config.Config we wouldn't need to touch it in provider-specific configs
[14:00] <niemeyer> fwereade_: Sorry, I still don't know what you're referring to
[14:02] <fwereade_> niemeyer, I am talking about FirewallMode, but it appears I'm being dumb -- it is properly handled in config.Config, but it seems it also needs to be checked in Validate for each provider
[14:03] <niemeyer> fwereade_: Ah, yes, it does
[14:03] <niemeyer> fwereade_: Only because each provider offers its own idea of what is possible or not, and what's the default
[14:03] <niemeyer> fwereade_: But I think that's inherent to the problem
[14:03] <niemeyer> fwereade_: (IOW, we can't avoid it)
[14:03] <fwereade_> niemeyer, yeah, that makes sense
[14:04] <fwereade_> niemeyer, sorry noise :)
[14:04] <niemeyer> fwereade_: np at  all
[14:04] <fwereade_> so, dimitern, looks like the firewall handling is just fine
[14:04] <fwereade_> dimitern, niemeyer: but when we tighten it up and make it unchangeable we should be sure to do so in each Validate method
[14:05] <dimitern> fwereade_: cool, well I just replicated the ec2 tests there - I supposed should be there
[14:05] <fwereade_> dimitern, yeah, seems sane
[14:07] <TheMue> fwereade_: I also looked and it seems that ec2 allows to change/set it in SetConfig() of environ. But The overall EnvironmentProvider and Environment interfaces doen't provide that method. The …Provider only takes the Config at Open().
[14:15] <dimitern> so, when I have something for review, should I always post it here, or somebody will see it and pick it up?
[14:17] <fwereade_> TheMue, Environ certainly does expose SetConfig
[14:17] <fwereade_> dimitern, I don't think it ever does any harm to announce it here
[14:18] <dimitern> cool :) so here it is: https://codereview.appspot.com/6843106
[14:18] <TheMue> fwereade_: Ooops, indeed. *facepalm*
[14:19] <TheMue> fwereade_: Btw, review, I've hardened code and tests after your last review for the first CL and now doing the same for the second one.
[14:19] <TheMue> dimitern: I'll take a look.
[14:20] <fwereade_> TheMue, cool, I'll take a look now
[14:22] <dimitern> TheMue: 10x
[14:32] <TheMue> dimitern: You've got a review.
[14:32] <dimitern> TheMue: thank you!
[14:32] <TheMue> dimitern: YW.
[14:33]  * niemeyer => lunch
[14:33] <dimitern> TheMue: the EC2 docs describing metadata is the only reference document, also implemented in openstack, the first one is a mistake (forgot to change the comment) - will fix it
[14:34] <TheMue> dimitern: Ah, IC. Something learned. ;) Thanks.
[14:36] <fwereade_> TheMue, https://codereview.appspot.com/6852065/ reviewed
[14:36] <TheMue> fwereade_: Thanks.
[14:38] <TheMue> fwereade_: Good ones, will change it.
[14:38] <fwereade_> TheMue, cheers :)
[14:42] <dimitern> fwereade_: it seems url.Parse is too lenient - "some url" is valid for it and it parses it as Path="some url", other fields empty
[14:50] <fwereade_> dimitern, ha!
[14:51] <fwereade_> dimitern, I guess you could check for presence of other fields
[14:51] <fwereade_> dimitern, but I'm not too worried about it tbh
[14:52] <dimitern> fwereade_: ok, I'll dig in a bit more
[14:57] <rogpeppe> back
[15:03] <dimitern> rogpeppe: heya, can you please recheck my CL: https://codereview.appspot.com/6858052/
[15:04] <rogpeppe> dimitern: i'm on it
[15:04] <rogpeppe> dimitern: LGTM
[15:04] <rogpeppe> dimitern: get it submitted!
[15:04] <dimitern> rogpeppe: thanks! so now I can submit it
[15:04] <dimitern> yeah
[15:06] <dimitern> rogpeppe: and the other related one: https://codereview.appspot.com/6843106/
[15:11] <rogpeppe> dimitern: reviewed
[15:13] <dimitern> rogpeppe: thanks!
[15:13] <dimitern> rogpeppe: about whether it's too early - well, there are the tests, and we might forget about it much later - when we get to deploying stuff, that's why
[15:14] <rogpeppe> dimitern: you won't forget about it - your code will panic on the server side and it'll be obvious.
[15:15] <rogpeppe> dimitern: what might be less obvious is if the code is subtly broken for some reason and it doesn't work live - then you'll not be entirely sure which bit of the system is broken.
[15:16] <rogpeppe> dimitern: that's why i prefer to see code go in that can be tested for real (obviously it's not always possible, but in this case i think it might be worth it)
[15:16] <dimitern> rogpeppe: so you suggest to shelve it for now, but when will it be appropriate to land it?
[15:16] <rogpeppe> dimitern: when you've got a working bootstrap (i.e. something will actually call PrivateAddress or PublicAddress for real on the server side)
[15:16] <rogpeppe> dimitern: until then, it's fine to leave as a stub, i think
[15:17] <rogpeppe> dimitern: but if others think it should go in, i'm happy with that too.
[15:17] <dimitern> rogpeppe: I see, ok then I'll just fix the comments for now
[15:32] <TheMue> fwereade_: You've got a very critical eye (Do you say so?) - and that's very good. ;) I hope https://codereview.appspot.com/6852065/ now gets approved.
[15:32] <fwereade_> TheMue, it's one of those useful phrases that can be positive or negative :) I will take in the spirit in which it is intended ;)
[15:33] <TheMue> fwereade_: You, absolute positive meant. Is there a better phrase for it?
[15:33] <TheMue> Argh, my fingers again!
[15:33] <TheMue> s/You/Yes/
[15:34] <fwereade_> TheMue, hmm, I can't think of any way of expressing that quality that doesn't critically depend on the tone of voice ;)
[15:36] <TheMue> fwereade_: Maybe I have to use diacritical chars next time. :D
[15:37] <fwereade_> TheMue, LGTM :)
[15:37] <TheMue> fwereade_: *hug*
[15:38] <fwereade_> TheMue, I don't seem to be able to officially Approve it, but you have your 2 :)
[15:38] <TheMue> fwereade_: Ah, and instead of diacritics I meant phonetics.
[15:39] <fwereade_> TheMue, ah, yes, true, my pedantry isn't quite as advanced as that :)
[15:42] <TheMue> rogpeppe: Hmm, still the stderr. So far the lxc commands return error codes I return too as Go errors.
[15:42] <rogpeppe> TheMue: don't they print anything when something goes wrong?
[15:43] <rogpeppe> TheMue: for example, if i run lxc-start not as root, it prints "lxc-start: Not running with sufficient privilege"
[15:43] <rogpeppe> TheMue: but your code will return the error "exit code 255"
[15:43] <rogpeppe> TheMue: guess which one would be easier to debug? :-)
[15:44] <TheMue> rogpeppe: The 255. *lol*
[15:44] <TheMue> rogpeppe: OK, gotcha, will change it.
[15:45] <rogpeppe> TheMue: you might want to experiment with the lxc commands to see how to make the output into nicer Go errors. for example, you probably want to strip off the "lxc-[^:]*: " prefix.
[15:46] <TheMue> rogpeppe: Good idea, thx.
[15:52] <TheMue> rogpeppe: Any idea on how to skip a whole suite, not just one test?
[15:52] <rogpeppe> TheMue: call Skip inside SetUpSuite, i believe
[15:53] <TheMue> rogpeppe: Yes, just found it in the docs.
[15:53] <TheMue> rogpeppe: Thx.
[15:55]  * niemeyer respawns
[15:57] <TheMue> rogpeppe: Works.
[16:00] <niemeyer> rogpeppe: This is up for review, despite the fact it has been submitted already: https://codereview.appspot.com/6846066/
[16:01] <niemeyer> rogpeppe: What's its actual status?
[16:01] <rogpeppe> niemeyer: now back to Merged status
[16:03] <niemeyer> rogpeppe: Cheers
[16:05] <dimitern> niemeyer: I'd like your view on this as well please: https://codereview.appspot.com/6843106/
[16:05] <niemeyer> dimitern: Sounds good, just let me clean the queue for roger and will back to you
[16:06] <dimitern> niemeyer: sure, no rush
[16:29] <niemeyer> rogpeppe: Review sent
[16:29] <rogpeppe> niemeyer: thanks
[17:00] <dimitern> niemeyer: ping
[17:00] <niemeyer> dimitern: Pongus
[17:00] <dimitern> niemeyer: sorry :) ^^
[17:01] <niemeyer> dimitern: I'm on it
[17:01] <dimitern> niemeyer: thanks
[17:04] <niemeyer> dimitern: Done!
[17:05] <dimitern> niemeyer: cool, 10x
[17:07] <dimitern> niemeyer: how about rogpeppe's comment, i think he could right that it's too soon to land this
[17:08] <fwereade_> ok, I've got to dash
[17:08] <niemeyer> fwereade_: Have a good.. hmm.. dashing? :)
[17:08] <dimitern> fwereade_: see ya :)
[17:09] <fwereade_> niemeyer, I'm on holiday tomorrow but I will pop on for a brief discussion of the machine thing
[17:09] <niemeyer> dimitern: I thought you actually added the tests in the branch itself?
[17:09] <fwereade_> niemeyer, I think I will know in my own heart whether it's worth it sometime later, but I'll need to run it by you too :)
[17:09] <fwereade_> dimitern, I just remebered we're having an early dinner with someone, might ping you later and see if you're up for a drink
[17:09] <niemeyer> fwereade_: Sounds good.. we should have a voice call, just to sync up
[17:10] <dimitern> niemeyer: yeah, the tests with a locally served canned metadata work the same
[17:10] <dimitern> fwereade_: sgtm
[17:11] <fwereade_> niemeyer, sgtm, I'll grab yu when I can
[17:11] <fwereade_> gn all
[17:11] <niemeyer> fwereade_: Night!
[17:12] <niemeyer> dimitern: Yeah, I think it's fine.. rogpeppe?
[17:12] <rogpeppe> niemeyer: i kinda think it's a bit early but i don't mind much. it's going to be long time until this code is actually tested for real.
[17:13] <dimitern> rogpeppe: not too long i hope :) we're picking up speed
[17:13] <rogpeppe> dimitern: ok :-)
[17:13] <rogpeppe> dimitern: but seriously, you'll have done almost all the provider by the time this gets used
[17:14] <niemeyer> rogpeppe: Early for what?
[17:14] <dimitern> rogpeppe: well, basically all the code is there, but it's being refactored at the moment
[17:14] <niemeyer> rogpeppe: It's necessary code, with some testing alongside
[17:14] <rogpeppe> niemeyer: ok, fair enough
[17:15] <rogpeppe> dimitern: i see. in that case, LGTM
[17:15] <dimitern> rogpeppe: cool, 10x, i'm submitting it then
[17:31] <niemeyer> dimitern: ping
[17:31] <dimitern> niemeyer: pong
[17:31] <niemeyer> dimitern: I noticed that the suggested change wasn't done there
[17:31] <dimitern> niemeyer: which one?
[17:32] <niemeyer> dimitern: The one that was part of the review
[17:32] <dimitern> niemeyer: oops, sorry, how to revert it?
[17:32] <niemeyer> dimitern: Don't have to revert it.. just propose a new CL that does the trivial
[17:33] <dimitern> niemeyer: I see, ok i'm on it
[17:33] <niemeyer> dimitern: Thanks
[17:33] <niemeyer> dimitern: The change is actually not *that* important.. I'm mainly worried about getting used to the workflow
[17:33] <niemeyer> dimitern: So I think it's worth fixing
[17:33] <dimitern> niemeyer: sure, I think is very useful
[17:33] <dimitern> mapping the process :)
[17:35] <niemeyer> dimitern: Yeah :)
[17:43] <dimitern> niemeyer: it seems it worked: https://codereview.appspot.com/6843106/
[17:43] <TheMue> So, have to step out. Second CL will be updated tomorrow. Have a nice evening.
[17:43] <niemeyer> dimitern: Oops
[17:43] <niemeyer> dimitern: It kind of worked
[17:43] <niemeyer> dimitern: It should be a different banch
[17:43] <niemeyer> branch
[17:44] <niemeyer> dimitern: This one was submitted already
[17:44] <dimitern> niemeyer: I see
[17:44] <dimitern> niemeyer: so it won't work like this
[17:44] <niemeyer> dimitern: Nope
[17:44] <dimitern> niemeyer: I'll branch it and repost
[17:44] <niemeyer> dimitern: It's just a matter of changing the branch name, though
[17:46] <dimitern> niemeyer: with cobzr: bzr branch . new-name ?
[17:46] <dimitern> or checkout -b and push
[17:48] <niemeyer> dimitern: bzr branch -m old-name new-name
[17:48] <niemeyer> dimitern: Assuming cobzr
[17:51] <dimitern> niemeyer: yep, it worked: https://codereview.appspot.com/6782102
[18:07] <niemeyer> dimitern: Almost there
[18:07] <niemeyer> dimitern: ("cannot get %q: %v", uri, err)
[18:07] <dimitern> niemeyer: ok
[18:09] <dimitern> niemeyer: done
[18:10] <niemeyer> dimitern: LGTM with the fix
[18:10] <dimitern> niemeyer: thanks, should I submit it?
[18:10] <niemeyer> dimitern: Yes, please
[18:10] <niemeyer> dimitern: This is a follow up on the previous, and trivial as well
[18:10] <dimitern> niemeyer: ok
[18:13] <niemeyer> dimitern: Thanks!
[18:14] <dimitern> niemeyer: thank you! i had a proper kick-start today with the workflow :)
[18:15] <niemeyer> dimitern: Indeed, and well done :)
[18:16] <dimitern> niemeyer: i'm off for today then, thanks again, and good night!
[18:17] <niemeyer> dimitern: Thanks, you too!
[19:08] <rogpeppe> niemeyer: if you're still around, i think this should be better now. the file reading behaviour took a bit more thought than i expected. https://codereview.appspot.com/6850087
[19:08] <niemeyer> rogpeppe: Checking out
[19:12] <niemeyer> rogpeppe: Documentation still feels pretty hard to grasp
[19:12] <rogpeppe> niemeyer: darn
[19:12] <rogpeppe> niemeyer: i thought it was better now
[19:12] <niemeyer> rogpeppe: Do you have any automated realignment tool, btw?
[19:13] <niemeyer> rogpeppe: I've noticed the out of shape comments with some frequency
[19:13] <niemeyer> rogpeppe: Let me try to have a go at the docs
[19:13] <rogpeppe> niemeyer: the documentation for config.New or for the internal maybeReadFile function?
[19:13] <niemeyer> rogpeppe: The internal one
[19:13] <rogpeppe> niemeyer: yeah, i do. i just don't use it as much as i should
[19:14] <niemeyer> rogpeppe: Semantic also seem to have changed in the new version
[19:15] <rogpeppe> niemeyer: the semantics of maybeReadFile have changed, yes. that's because they didn't match the documented behaviour of config.New.
[19:15] <rogpeppe> niemeyer: (i realised that as i looked into it)
[19:16] <rogpeppe> niemeyer: actually, that reminds me - there are some tests i've forgotten to add.
[19:17] <rogpeppe> (testing what happens when both ca-cert and ca-cert-path are both set
[19:17] <rogpeppe> )
[19:18] <niemeyer> rogpeppe: Disabling the default behavior via setting things to empty strings is unlike anything else we have so far, I believe
[19:18] <niemeyer> rogpeppe: and I do recall fwereade being explicitly interested on that behavior
[19:19] <rogpeppe> niemeyer: i think it's important that we be able to specify a certificate only without having the private key read from a file
[19:19] <niemeyer> rogpeppe: Why?
[19:19] <niemeyer> rogpeppe: This is part of the configuration.. if you don't like the file, take it off
[19:19] <niemeyer> rogpeppe: That kind of fine tunning via vague rules is pretty unfriendly to actual users
[19:20] <rogpeppe> niemeyer: you might not have control of the name space. that's true of our tests for example
[19:20] <niemeyer> rogpeppe: Not to mention that it's really hard to grasp what that documentation is saying
[19:20] <niemeyer> rogpeppe: If this, but that, and not that other thing
[19:21] <niemeyer> rogpeppe: I don't understand..
[19:21] <niemeyer> rogpeppe: We have entire control of everything we do
[19:21] <niemeyer> rogpeppe: It's our code base, our disk, our data, our configuration
[19:21] <rogpeppe> niemeyer: we don't necessarily want to set up a fake home for every single test
[19:21] <niemeyer> rogpeppe: Yes, let's not do that.. (?)
[19:22] <rogpeppe> niemeyer: and a configuration is perfectly valid (and potentially more common) without the private key in the config
[19:23] <rogpeppe> niemeyer: if we don't allow this kind of behaviour, we're saying that there is no way to force the config to create a configuration with no private key without it hitting the disk
[19:24] <niemeyer> rogpeppe: No, what I am saying is that it feels bad to reuse behavior that in every other case works in a *different* way
[19:24] <rogpeppe> niemeyer: for example, i want to allow people to create an app that manages its own CA keys without storing them on disk
[19:25] <rogpeppe> niemeyer: ok. we could potentially allow a special value for an unspecified key or cert, such as "none".
[19:26] <niemeyer> rogpeppe: Coincidently, yaml has such a null value
[19:26] <rogpeppe> niemeyer: what do you think CACertPEM should return if there's no certificate specified?
[19:27] <rogpeppe> niemeyer: should we make it return a []byte rather than a string, perhaps?
[19:27] <niemeyer> rogpeppe: We can make it return ""?
[19:28] <rogpeppe> niemeyer: so CACertPEM returns "", but the attributes don't contain "" ?
[19:28] <niemeyer> rogpeppe: The attributes contain "", but CACertPEM doesn't return ""?
[19:28] <rogpeppe> niemeyer: i think i'd expect CACertPEM to return the same as attrs["ca-cert"]
[19:28] <niemeyer> rogpeppe: I'm not sure I understand the point you're making
[19:29] <niemeyer> rogpeppe: So you don't want to read it from disk?
[19:29] <rogpeppe> niemeyer: yup. i want to be able to create a config with, for instance, no cert and no key, and have it work independently of what the disk contents are
[19:30] <niemeyer> rogpeppe: What I mean is that the logic you're suggesting already doesn't make attrs["ca-cert" and CACertPEM be the same thing
[19:30] <rogpeppe> niemeyer: i also want configs to round-trip correctly in all circumstances
[19:30] <niemeyer> rogpeppe: And it also changes the behavior of what defaults do
[19:30] <niemeyer> rogpeppe: i'm finding it surprisingly difficult to get something that looks straightforward going
[19:31] <niemeyer> rogpeppe: We need something to get started
[19:31] <niemeyer> rogpeppe: Something that looks like what we already do
[19:31] <rogpeppe> niemeyer: i'm not sure my "special value" suggestion is any good
[19:31] <niemeyer> rogpeppe: Something that is understandable, well documented, etc
[19:31] <niemeyer> rogpeppe: Let's not do special value.. let's implement exactly the same thing we do with ssh..
[19:32] <niemeyer> rogpeppe: Just not enforcing its presence
[19:32] <rogpeppe> niemeyer: question: if i do config.New(otherConfig.AllAttrs()), should i always end up with the same thing i started with?
[19:32] <niemeyer> rogpeppe: Yes
[19:32] <rogpeppe> niemeyer: how do you plan to enable that?
[19:32] <niemeyer> rogpeppe: How do we do that today?
[19:32] <rogpeppe> niemeyer: we always require authorized-keys
[19:33] <rogpeppe> niemeyer: and that's the only current field we have that potential problem with
[19:34] <niemeyer> rogpeppe: Okay, and how's that a problem in the new world?
[19:35] <rogpeppe> niemeyer: if we create a config with no certificate, that's a valid certificate, but (assuming we don't allow the ""-means-unspecified behaviour), AllAttrs cannot return a value for the ca-cert attribute.
[19:35] <niemeyer> rogpeppe: There's a very good way to say that a key is not present in the configuration.. and that's to have the key not present in the configuration (!)
[19:35] <rogpeppe> niemeyer: if the key isn't present in the configuration, then we hit the disk
[19:36] <rogpeppe> niemeyer: which means that config.New(otherConfig.AllAttrs()) might *not* return the same configuration
[19:36] <niemeyer> rogpeppe: Okay
[19:36] <niemeyer> rogpeppe: So what's the problem with nulling it out?
[19:37] <rogpeppe> niemeyer: having an explicit null value in the map?
[19:37] <niemeyer> rogpeppe: Yes
[19:38] <rogpeppe> niemeyer: we could do that. but clients will just compare the return value of CACertPEM against "" anyway, so it doesn't seem worth it.
[19:38] <niemeyer> rogpeppe: This actually sounds bogus
[19:38] <niemeyer> rogpeppe: We've been pretty good at not allowing invalid values to be handled as valid ones
[19:39] <rogpeppe> niemeyer: i dunno. we guarantee that CACertPEM contains a valid certificate
[19:39] <niemeyer> rogpeppe: If CACertPEM can return an invalid certificate, we should return a pair
[19:39] <niemeyer> (cert, ok)
[19:39] <niemeyer> rogpeppe: Do we? Where?
[19:39] <rogpeppe> niemeyer: (if it's present, i mean)
[19:39] <niemeyer> rogpeppe: "" is not a valid certificate
[19:39] <niemeyer> rogpeppe: We allow that
[19:39] <rogpeppe> niemeyer: indeed. it seems a reasonable way to say "no certificate" to me
[19:40] <niemeyer> rogpeppe: It's also a reasonable way to saying "default", as far as our configuration goes
[19:40] <niemeyer> rogpeppe: It's poor engineering to have both side-by-side
[19:40] <rogpeppe> niemeyer: do we use "" to mean default anywhere?
[19:41] <niemeyer> rogpeppe: Read that function again please
[19:41] <rogpeppe> niemeyer: which function?
[19:41] <niemeyer> rogpeppe: The one you're suggesting changes to
[19:42] <rogpeppe> niemeyer: what about it?
[19:42] <niemeyer>         if c.m["default-series"].(string) == "" {
[19:42] <niemeyer>                 c.m["default-series"] = version.Current.Series
[19:42] <niemeyer>         }
[19:42] <niemeyer>         if path != "" || keys == "" {
[19:42] <niemeyer>                 c.m["authorized-keys"], err = authorizedKeys(path)
[19:42] <niemeyer>         switch firewallMode {
[19:42] <niemeyer>         case FwDefault,
[19:42] <niemeyer>         FwDefault FirewallMode = ""
[19:42] <rogpeppe> oh yeah
[19:43] <rogpeppe> :-)
[19:43] <niemeyer> rogpeppe: :-(
 niemeyer: do we use "" to mean default anywhere?
[19:43] <niemeyer> YEEEES
[19:43] <rogpeppe> gotcha
[19:44] <rogpeppe> niemeyer: ok, so... how about we make CACertPEM return []byte, and nil when not set.
[19:44] <rogpeppe> niemeyer: and have an entry in the map, nil when explicitly not set.
[19:44] <niemeyer> rogpeppe: No, (cert string/[]byte, ok bool), please
[19:45] <niemeyer> rogpeppe: nil in the map sounds fine
[19:46] <rogpeppe> niemeyer: i'm slightly concerned that it won't be obvious what type of thing is expected in the map (which is part of our public interface, after all)
[19:46] <niemeyer> rogpeppe: That's why we have an interface on that type
[19:46] <rogpeppe> niemeyer: there are quite a few tests that do a DeepEqual on the attributes returned from AllAttrs
[19:46] <niemeyer> rogpeppe: It doesn't have to be obvious.. people shouldn't be poking on the map
[19:46] <rogpeppe> niemeyer: maybe they're bogus
[19:46] <niemeyer> rogpeppe: Because that's our tests implementing it
[19:47] <niemeyer> rogpeppe: The tests are fine
[19:47] <niemeyer> rogpeppe: We're verifying that our logic is sane
[19:47] <rogpeppe> niemeyer: i'm talking about tests in state
[19:47] <niemeyer> rogpeppe: Me too
[19:47] <rogpeppe> niemeyer: ok
[19:47] <niemeyer> rogpeppe: I'd like to move forward.. that sounds like a pretty reasonable way to move forward
[19:48] <rogpeppe> niemeyer: what would the YAML-marshalled representation look like?
[19:48] <niemeyer> rogpeppe: ?
[19:48] <niemeyer> rogpeppe: I don't understand the question.. the YAML-marshalled representation will look like YAML
[19:48] <rogpeppe> niemeyer: of a ca-cert that's explicitly not present
[19:48] <rogpeppe> niemeyer: presumably yaml has null or something like it
[19:48] <niemeyer> rogpeppe: Yes, and it's called null :-)
[19:49] <rogpeppe> niemeyer: great
[19:49] <rogpeppe> niemeyer: ok, i'll see how it goes
[19:50] <niemeyer> rogpeppe: Thanks.. I think the defaults should be "", btw, because we'll be checking for that
[19:50] <niemeyer> rogpeppe: (rather than omit)
[19:50] <niemeyer> rogpeppe: Makes both the logic and the consistency better, I believe
[19:51] <rogpeppe> niemeyer: and we have the type as OneOf(String, nil)
[19:51] <rogpeppe> niemeyer: ?
[19:51] <niemeyer> rogpeppe: Right
[19:52] <niemeyer> rogpeppe: I think we'd need that anyway, or it'll barf on the nil
[19:52] <niemeyer> rogpeppe: (not there != nil)
[19:53] <rogpeppe> niemeyer: this all seems fine. sorry it's taken a while to discuss, but it is surprisingly subtle...
[19:53] <niemeyer> rogpeppe: I can see it is indeed
[19:53] <niemeyer> rogpeppe: Glad we found an alternative
[19:54]  * rogpeppe dives once more into the breach
[19:54] <niemeyer> :)
[19:54] <niemeyer> I'll step out to get some food meanwhile
[19:56] <rogpeppe> niemeyer: darn, there's no schema.Null
[19:56] <rogpeppe> niemeyer: i'll make one
[19:56] <rogpeppe> niemeyer: enjoy!
[19:56] <niemeyer> rogpeppe: Const(nil)
[19:56] <rogpeppe> niemeyer: argh! of course.
[21:03] <rogpeppe> niemeyer: done, i hope: https://codereview.appspot.com/6850087/


[06:13] -queuebot:#ubuntu-ci-eng- Trevinho, https://bileto.ubuntu.com/#/ticket/3223 Preparing packages
[06:44] -queuebot:#ubuntu-ci-eng- Trevinho, https://bileto.ubuntu.com/#/ticket/3223 Successfully built
[09:43] -queuebot:#ubuntu-ci-eng- xnox, https://bileto.ubuntu.com/#/ticket/3222 Needs rebuild due to burned version number
[12:34] -queuebot:#ubuntu-ci-eng- cpaelzer, https://bileto.ubuntu.com/#/ticket/3034 Diff missing


[03:46] <twb> Hi, I'm trying to create modified livecd images of Edgy.  Is policy-rc.d supported by upstart?
[03:48] <twb> Hmm, /usr/share/doc/sysv-rc/README.policy-rc.d.gz is still there, so I guess it does.
[03:55] <twb> Yep, avahi-daemon fails to remove itself because it's violating policy.


[00:45] <pm2> Hi, I'm using the nomachine NX server on kubuntu, trying to connect from Windows.  When I try to log in, KDE freezes on the "initialization" screen, when the K logo gets big and lights up.  Any idea what the problem might be, or how to go about investigating/fixing it?  I can't find anything suggestive in syslog.
[05:40] <noaXess> morning... any body also have empty country list in system settings / locale? http://i.imgur.com/e6rgju4.png
[05:40] <noaXess> kde 4.13.3
[05:41] <Graf_Westerholt> noaXess, yes, that is correct because alle countries decided to create one country. So no countries exist any more. ;)
[05:41] <noaXess> puu.. and how to fix.. to configure spell check?
[05:43] <Graf_Westerholt> noaXess, when I press Alt+F2 and input 'spell checker' I can configure that.
[05:44] <noaXess> Graf_Westerholt: i also can configure it, but can't select default language.. http://i.imgur.com/nao2AoB.png
[05:46] <Graf_Westerholt> noaXess, the only idea I have is to check weather the spell check packets are installed or not. Maybe reinstall them?
[05:47] <noaXess> hm.. that could be ;) cause not used it before..
[06:03] <noaXess> Graf_Westerholt: which package need to be installed? this are installed http://i.imgur.com/vnmE3HR.png
[06:04] <noaXess> that about contry i don't understand.. i live in switzerland. and need this settings about currency, numbers, money and so on..
[06:04] <noaXess> how to do that now, if no country list available?
[06:06] <Graf_Westerholt> aspell-* and myspell-* are dictionarys.
[06:06] <Graf_Westerholt> I do not know why your lists are broken.
[07:36] <lordievader> Good morning.
[07:42] <noaXess> hey lordievader
[07:42] <noaXess> do you have a hint, why country list in settings / locale is empty?
[07:42] <noaXess> http://i.imgur.com/e6rgju4.png
[07:45] <lordievader> Hey noaXess
[07:48] <lordievader> noaXess: Have you purged/cleaned-up packages lately?
[07:48] <noaXess> hm...
[07:48] <noaXess> let me think
[07:49] <noaXess> not that i know..
[07:49] <noaXess> i just saw that.. cuase i start using kmail for a special email account and wanted to enable spell check for swiss-german
[07:50] <lordievader> noaXess: It will likely do nothing, but: sudo apt-get install --reinstall kubuntu-desktop
[07:50] <noaXess> woow..
[08:17] <xieyi> the plasma desktop cant load correctly after the login screen. I am trying to find the problem. I found an auto start script at ~/.kde/share/autostart . I am not sure whether the desktop is started by this script?
[08:17] <xieyi> the command in the script is plasma-netbook --desktop
[08:18] <xieyi> I checked the help of plasma-netbook and found there is no switch like --desktop.
[08:18] <xieyi> I dont know whether the problem is caused by it
[08:18] <xieyi> any idea?
[08:19] <xieyi> what the command of your script at ~/.kde/share/autostart?
[08:22] <lordievader> xieyi: What version of Kubuntu are you running?
[08:39] <xieyi> lordievader: I am running 14.04 LTS
[08:39] <hateball> xieyi: what's the session name you choose at login?
[08:40] <xieyi> what is the session name?
[08:40] <hateball> so you dont actually choose plasma-netbook if you want desktop
[08:40] <hateball> you have a little dropdown menu
[08:40] <xieyi> is the desktop started by the script at ~/.kde/share/autostart?
[08:42] <xieyi> do you mean activity manager?
[08:42] <xieyi> I am using desktop icon view
[08:43] <lordievader> xieyi: No, on multiple KDE machines that folder is empty.
[08:44] <xieyi> it is weird. Mine contains a script which is not created by me
[08:45] <xieyi> it is called plasma-netbook.desktop
[08:46] <lordievader> I must say that I do not run the netbook version.
[08:46] <xieyi> Maybe is left by the older version of kubuntu.
[08:46] <lordievader> How did you install KDE?
[08:46] <xieyi> I always update from the old version.
[08:47] <xieyi> I ve never done a clean installation
[08:47] <xieyi> the problem just occurred
[08:47] <Graf_Westerholt> Updating from old KDE-Versions creates problems. :(
[08:48] <xieyi> yeah I see. I am trying to solve problem without reinstall kubuntu again
[08:49] <Graf_Westerholt> xieyi, me, too. My home-directory is about ten years old. :)
[08:49] <lordievader> xieyi: If you make a new account, does that one have the same problem?
[08:50] <Graf_Westerholt> xieyi, always check a fresh account to see if the problem occurs there, too.
[08:50] <Graf_Westerholt> lordievader ;)
[08:50] <Graf_Westerholt> lordievader is reading my mind.
[08:50] <xieyi> ok I am trying it
[08:50] <xieyi> good idea
[08:50] <xieyi> thx
[08:51] <xieyi> I am down for a while
[08:51] <lordievader> Graf_Westerholt: Great minds think alike, eh ;)
[08:51] <Graf_Westerholt> LOL
[08:51] <Graf_Westerholt> We forgot to tell him he can log in twice …
[10:56] <lolmaus^^> Hi. I'm unable to log into my Kubuntu 14.04 account. It accepts the password, shows black screen for a moment, then goes back to the log in screen. Was able to enter the guest account and also entered my account in console mode via Ctrl+Alt+F6. Please help me resolve this!
[10:59] <hateball> lolmaus^^: are you using a regular desktop session?
[10:59] <hateball> meh
[11:01] <lolmaus^^> Anyone?
[11:04] <hateball> lolmaus^^: are you using a regular desktop session?
[11:04] <hateball> lolmaus^^: and have you done anything prior to this happening? installed new stuff, ran things with sudo?
[11:14] <dmatt> hello, how is backports repository called in muon, Pre-release updates or what? I have all but pre-release enabled and still on old version 0.5 of kdeconnect, even though 0.7 is available
[11:14] <dmatt> http://packages.ubuntu.com/trusty-backports/kdeconnect
[11:25] <BluesKaj> Hiyas all
[11:31] <dmatt> for the record trusty-backports is in muon listed as unsuported updates (apparently to inspire further googling).
[11:33] <dmatt> question remains if kdeconnect 0.7.1-0ubuntu3~ubuntu14.04.1 0 is available in enabled trusty-backports, why kdeconnect <IP_ADDRESS>-0ubuntu0.1 0 from regular trusty is still installed on my computer?
[11:33] <dmatt> backports are meanto to be installed manually?
[11:35] <hateball> dmatt: you'd have to do dist-upgrade if versions differ
[11:35] <hateball> ... and I dunno how that works in muon, I do all package stuff in a terminal
[11:36] <dmatt> hateball: I do it in terminal, too, except enabling repositories
[11:36] <dmatt> hateball: i did dist-upgrade 5 sec ago and it has no effect
[11:37] <hateball> dmatt: "apt-get update && apt-get dist-upgrade" should work, weird
[11:37] <dmatt> hateball: apt-cache policy shows that newer version is available, it just does not have the higher priority, that's why I am asking about manual installing of backports
[11:37] <hateball> hmmm
[11:46] <soee> dmatt: it should just do the ubgrade, lower priority might me some bug in packaging but im not 100% sure
[11:49] <dmatt> ok, it is documented here https://help.ubuntu.com/community/UbuntuBackports  so it is probably configured to manual install only, but /etc/apt/preferences does not exist so how is the pinning done?
[13:02] <Musa845> i am using kubuntu with one NIC card and I want to share internet on LAN. I have a hub on LAN with some PCs. any help for this?
[13:06] <Musa845> anyone???
[13:11] <shadeslayer> Musa845: #ubuntu might be able to help if no one here can
[13:11] <dmatt> Musa845: you need second network card e.g. wifi, follow http://askubuntu.com/questions/361832/how-can-i-share-my-wired-wireless-network-with-other-devices-on-kubuntu-13-10
[13:13] <Musa845> how about makin alias of interface?
[13:15] <d4rkt1m3s> wow. just tried amarok on windows. it's more than likely to be the best music player available, but on windows it sucks.
[13:17] <dmatt> Musa845: if you have internet on LAN, other have it too. if it is only available to your computer, you might be able to set up proxy for other to use. But I am not expert on this.
[13:18] <Musa845> I want to do is internet pass through my interface and then later i can use squid
[13:20] <Musa845> if i enable ip forwarding i still cannot share internet
[13:23] <SporkWitch> Musa845: using 14.04?
[13:24] <SporkWitch> dmatt: the network manager in 14.04 actually supports a shared connection almost as easily as the windows network manager
[13:24] <Musa845> yes 14.04
[13:24] <SporkWitch> dmatt: used it over the summer to get my ps4 onto the internet through a vpn, using my phone as the connection :)
[13:24] <SporkWitch> Musa845: ok, and does your machine connect to the internet via wifi or eth?
[13:25] <dmatt> SporkWitch: on one network card?
[13:25] <Musa845> eth only
[13:25] <SporkWitch> dmatt: no, if you've only got one network card, you're SOL, unless you're using USB tethering to get the internet access
[13:26] <SporkWitch> Musa845: and from dmatt's question, i take it you only have the one NIC, heh?
[13:26] <SporkWitch> Musa845: if so, we're at an impass.  assuming you have either another ethernet port, or a wireless NIC, we can still set up a shared connection
[13:26] <Musa845> i have only eth0 and i turn on ip forwarding and give gateway on client which is my interface ip it dont do anything
[13:27] <Musa845> i made an alias of my eth0 which is eth0:0
[13:29] <SporkWitch> Musa845: i feel like i'm missing something about the topology here.  you have a computer with one eth port and no wlan.  this computer is connected what to get to the internet?
[13:29] <SporkWitch> s/connected/connected to/
[13:29] <Musa845> the router is attached to hub and my computer is attache to that hub and other test pc is also connected to that hub
[13:30] <SporkWitch> what is your goal, then?  you've got a router, why do you need your desktop to act as one?
[13:30] <Musa845> i am using this to set up linux proxy server later to implement in my house network
[13:31] <SporkWitch> Musa845: ok, well there's no need to do what you're doing.  Assuming that machine is on the same subnet, you can just enter the proxy settings in the other machines and they'll be able to reach it.  that computer would then forward the requests to ITS default gateway, and so on
[13:32] <SporkWitch> Musa845: classic XY problem, assuming i understood you correctly
[13:32] <SporkWitch> Musa845: obviously you'll need to set up that proxy server on the machine first, but yeah, no need for crazy topologies or virtual interfaces
[13:32] <Musa845> this scenario worked few days back but now it is not working
[13:33] <Musa845> what is classic XY problem?
[13:33] <SporkWitch> Musa845: http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem
[13:33] <SporkWitch> Musa845: you're looking for help with a PROPOSED solution as opposed to the ACTUAL problem
[13:34] <Musa845> if i configure proxy server on my machine then how other machines will go through my proxy machine if they have gateway
[13:34] <SporkWitch> Musa845: as it happens, there's a much simpler solution that doesn't involve weird, non-standard topologies, virtual interfaces, and othre points of failure (and frustration)
[13:35] <SporkWitch> Musa845: do you have openssh-server installed on that machine? if so, i want you to ssh -D 9999 user@host (where host is the machine you want to BE the proxy), then on the computer you want to be the client, enter settnigs for a SOCKS5 proxy in your browser, using localhost as the address and 9999 as the port
[13:36] <SporkWitch> Musa845: now all of your browser's traffic is going through that remote
[13:36] <SporkWitch> Musa845: once you set up squid, it'll work basically the same, you'll just tell it to use that machine's address, instead of localhost
[13:37] <Musa845> i got it dude but is alias of interface creating problem? can you give me some good link on squid and ip forwarding?
[13:37] <SporkWitch> Musa845: it could very potentially be
[13:38] <SporkWitch> Musa845: but more importantly, there's no need for the virtual interface, so cut it out
[13:38] <Musa845> thanks man, any links for squid?
[13:38] <SporkWitch> Musa845: why give yourself unnecessary headaches, after all?
[13:38] <SporkWitch> http://google.com/ :)
[13:39] <SporkWitch> it's one of the most common proxy servers used, it'll be a high result lol
[13:39] <Musa845> actually it worked before like this but at that time squid created problem so i want to make it now
[13:39] <SporkWitch> gotta go for a bit, get to my next class (calculus, whee >_<)
[13:40] <SporkWitch> Musa845: it working before in a weird configuration isn't entirely unheard of
[13:40] <SporkWitch> Musa845: when it comes up working again for no discernable reason, we had a term for it in the military: "FM", or "eFfing Magic"
[13:40] <Musa845> ok enjoy calculus thanks for hearing me
[13:40] <SporkWitch> np, hopefully we've streamlined your solution and you'll be able to get it behaving in a sane manner now :)
[13:41] <Musa845> i am sane but have some einstein behaviour in me....experiments
[13:46] <Moscherkobold> hello everyone, is it possible to move a thunderbird profile folder from a windows machine to my linux machine? I know this works fine from windows to windows or linux to linux, but does it also work over different OS ?
[16:00] <benbalach> Hi guys I have a question, how can I fix Could not start d-bus. Can you call qdbus
[16:00] <benbalach> Doesn't let me log in
[16:01] <benbalach> I check online and it says that I have to edit the /usr/bin/startkde file
[16:01] <benbalach> I tried to edit it in the terminal in recovery mode
[16:01] <benbalach> but it didn't work
[16:02] <benbalach> how can I access write to a protected file?
[16:03] <benbalach> anyone there?
[16:03] <benbalach> can you guys please help em
[16:04] <benbalach> hello?
[16:04] <benbalach> anyone there
[17:22] <keithzg> ...was about to answer, but I guess he's long gone.
[17:22] <keithzg> So hmm, the KDE Partition Editor doesn't recognize btrfs, eh?
[17:22] <keithzg> Or at least, I have a BTRFS-formatted drive that GParted understands just fine but the KDE Partition Editor doesn't.
[17:23] <keithzg> Maybe it's just KDE Partition Editor not understanding loop partition tables.
[17:42] <zero_coder> hello
[17:43] <zero_coder> after using wine, my screen resolution change to something else. how can reset it back?
[17:46] <shadeslayer> zero_coder: use kscreen?
[17:46] <shadeslayer> System Settings -> Monitor
[17:47] <zero_coder> shadeslayer, i cant find
[17:48] <shadeslayer> zero_coder: what release are you on
[17:48] <zero_coder> kubuntu 14.04
[17:49] <zero_coder> shadeslayer, ?
[17:49] <shadeslayer> zero_coder: yeah so open system settings
[17:49] <zero_coder> done
[17:49] <shadeslayer> Display and Monitor under hardware
[17:49] <shadeslayer> unless you specifically removed it
[17:49] <shadeslayer> it = the package
[17:49] <zero_coder> its not working properly
[17:49] <shadeslayer> define not working properly
[17:49] <zero_coder>  i didnt remove it
[17:50] <zero_coder> okay, the package is missing
[17:50] <zero_coder> so, what package to install
[17:51] <zero_coder> shadeslayer, ?
[17:51] <shadeslayer> kscreen
[17:51] <zero_coder> its already newest version
[17:51] <shadeslayer> zero_coder: kcmshell4 kcm_kscreen
[17:52] <shadeslayer> run that in a konsole
[17:52] <shadeslayer> and pastebin what happens
[17:52] <zero_coder> This backend is only for XRandR 1.1, your version is:  1 . 4
[17:52] <zero_coder> shadeslayer, ^^
[17:55] <zero_coder> shadeslayer, ?
[17:56] <shadeslayer> moment, talking to someone
[17:56] <zero_coder> shadeslayer, okay
[17:56] <shadeslayer> zero_coder: apt-cache policy kscreen
[17:58] <zero_coder> i think i found something
[17:58] <zero_coder> shadeslayer, 1 min
[17:59] <zero_coder> shadeslayer, i am sorry
[17:59] <shadeslayer> ??
[17:59] <zero_coder> i got it now
[17:59] <zero_coder> and thanks shadeslayer :)
[17:59] <zero_coder> http://askubuntu.com/questions/467875/kubuntu-14-04-no-screen-resolution-changer
[17:59] <shadeslayer> cool
[17:59] <zero_coder> yep.. sad that i couldnt spot it though
[18:00] <shadeslayer> lol
[18:00] <shadeslayer> zero_coder: usually there's a tickbox inside the screen to disable/enable it
[18:01] <zero_coder> shadeslayer, okay :) . thanks anyway
[18:01] <shadeslayer> cheers
[18:56] <alberto> ciO
[18:56] <alberto> Ciao
[18:57] <bprompt> hmm
[19:26] <MaCol> Anyone know how I can get my second monitor to work automatically when I plug it in?
[19:26] <lordievader> MaCol: Write a script that checks xrandr and enables/configures it?
[19:27] <MaCol> How do I trigger the script?
[19:27] <lordievader> MaCol: Cron? (Just throwing ideas here...)
[19:27] <MaCol> Ha, almost feasible :-)
[19:29] <MaCol> My (longstanding) issue is my laptop dock won't allow me to open the lid. So when I plug in, even though the new monitor is recognised I have to do stuff before it works.
[19:30] <MaCol> With 12.04 I had it so I could type Fnc+F8 which is just possible. but 14.0.4 won't do it.
[19:31] <lordievader> MaCol: Fire a script with a binding to that key?
[19:32] <MaCol> I'll look into that, but really I just want it to work without intervention. Surely...?
[19:34] <lordievader> MaCol: It might very well be that with some config work it does. But I'm afraid that I do not know.
[19:38] <MaCol> Well, thanks for the suggestions. Maybe I can can figure out a way to get udev to trigger the script.
[20:05] <MaCol> I've set up a global shortcut which calls a script based on ~/.kde/share/config/krandrrc. Seems to work.
[22:24] <bennypr0fane> hello, what's the standard file search tool in kubuntu? For kde it seems to be kfind, but kubuntu replaced it with something else?
[22:28] <bennypr0fane> right now, I'm looking for a file on an external harddrive that has probably not been indexed yet by the os
[22:28] <bennypr0fane> what's the best way to do that?
[22:36] <shadeslayer> !find /usr/bin/kfind
[22:37] <shadeslayer> bennypr0fane: you can just install the kfind package
[22:37] <bennypr0fane> shadeslayer: it pulls a lot of dependencies, I wonder why those aren'T installed by default
[22:38] <shadeslayer> like what?
[22:38] <shadeslayer> I think kfind was kicked off the ISO because the ISO was growing too large
[22:38] <bennypr0fane> shadeslayer: I mean isn't this functionality supposed to be there anyway, just provided by some other service?
[22:39] <bennypr0fane> aha...
[22:39] <shadeslayer> bennypr0fane: yes, baloo
[22:39] <bennypr0fane> then how do i use that?
[22:39] <shadeslayer> idk if baloo has support for external media yet
[22:40] <bennypr0fane> when I type baloo in the menu's app finder, it only gives me settings of desktop search, but not the actual search tool
[22:40] <shadeslayer> the search tool is krunner
[22:40] <bennypr0fane> oh
[22:40] <shadeslayer> or baloosearch on the commandline
[22:40] <bennypr0fane> it searches for files?
[22:40] <bennypr0fane> i mean krunner
[22:40] <shadeslayer> yes
[22:41] <bennypr0fane> it seems it has started indexing the external hdd
[22:41] <bennypr0fane> initially it was in the "don't index these places" section, but i removed it
[22:42] <bennypr0fane> anywayif I install kfind, will it use the index allready present, or try to get it from a service that is not installed?
[22:45] <shadeslayer> bennypr0fane: kfind is just a gui for the find command
[22:45] <shadeslayer> so while you can do file name searches
[22:45] <shadeslayer> you can't do content searches with kfind
[22:45] <shadeslayer> also, kfind doesn't keep a db of files it has indexed
[22:45] <shadeslayer> baloo will take a bit of time to populate the db, but once the db is populated, searches are supposed to be instant
[22:45] <shadeslayer> or nearly instant


[08:20] <ochosi> morning everyone
[10:24] <ochosi> btw, i should be pretty much back to normal now
[11:23] <bluesabre> "normal"
[11:23] <ochosi> :>
[11:26] <bluesabre> ;)
[11:34] <ochosi> so xfpm isn't building correctly yet in -staging?
[11:35] <ochosi> ah right, the maintainer mode issue
[11:40] <bluesabre> yeah, I'll experiment with it tonight if I get a chance (or if its not already done)
[11:54] <ochosi> sounds good
[12:00] <elfy> bluesabre: first time I've needed to do so since updating upower - lock screen is not working
[12:01] <elfy> ochosi: ^^
[12:01] <elfy> bbl
[12:01] <ochosi> elfy: in what way is it not working?
[12:01] <ochosi> i mean, what's happening exactly?
[12:02] <ali1234> it works for me
[12:02] <ali1234> even though i tried to disable it in the settings
[12:03] <ochosi> so you're saying you're also seeing a bug?
[12:04] <ali1234> i'm not sure. maybe i just did it wrong
[12:05] <ali1234> what is a good site for image hosting since imagebin is now an attack site?
[12:06] <ali1234> http://imgur.com/uPxefu4
[12:06] <ochosi> zimagez or imgur is what i use mostly
[12:06] <ali1234> those are my settings. the screen still locks when the screensaver starts
[12:07] <ochosi> you could check the settings of light-locker, "ps -A | grep light-locker"
[12:08] <ochosi> i really hope we can merge in the dbus interface for light-locker soon so we can make lls a little more solid... the whole desktop-file interaction really blows
[12:08] <ali1234> also this: http://imgur.com/P9swtv7
[12:08] <ali1234>  1958 ?        00:00:01 light-locker
[12:09] <ali1234> i did a fresh install of 14.04 yesterday evening
[12:09] <ali1234> i haven't really changed anything at all yet
[12:10] <ochosi> could you try to change the settings in lls back and forth, hit apply and check ps again?
[12:11] <ali1234> no change
[12:11] <ali1234> now it says 14738 ?        00:00:00 light-locker
[12:15] <ochosi> humpf, bug in lls then
[12:15] <ochosi> no updates after the 14.04 release?
[12:29] <ali1234> i updated the system after installing
[12:29] <ali1234> then i started installing things like steam etc
[12:29] <ali1234> that's about how far i got
[12:29] <ali1234> i haven't really set anything up yet
[12:30] <ochosi> mm, i see
[12:32] <ali1234> fresh home directory too
[15:19] <elfy> ochosi: sorry - false alarm - forgot I turned it off on saturday ...
[18:55] <Unit193> bluesabre: Taking a look now, fixed.
[19:13] <ochosi> Unit193: you mean xfpm builds?
[19:15] <Unit193> Yeah, not sure why it worked before and not now.
[19:16] <ochosi> righty
[19:16] <ochosi> bbiab
[21:42] <slickymaster> ochosi, you around
[21:54] <ochosi> slickymaster: yeah, but only a minute
[21:54] <ochosi> what's up?
[21:55] <slickymaster> give me a minute please ochosi, just wrapping something up with Unit193, and I'll get back to you
[21:57] <ochosi> slickymaster: right, i suggest you just ping me and i get back to you when i'm back
[21:58] <slickymaster> okie dokie ochosi
[22:53] <ochosi> slickymaster: sooo..?
[22:54] <slickymaster> so, I finally manage to have some time to go through last meeting logs
[22:54] <ochosi> that's a good thing i suppose
[22:54] <ochosi> :)
[22:55] <slickymaster> and I wanted to talk to you abot inxi and -core
[22:55] <slickymaster> *about
[22:56] <ochosi> right
[22:56] <slickymaster> those FAQ's that you talked about are to go in xubuntu.org, right?
[22:56] <slickymaster> do I have right permissions in the site?
[22:58] <ochosi> yup, that's where i'd have put them
[22:58] <ochosi> humm, you ask me that? :)
[22:58] <Unit193> ochosi: He should, team member, just can't publish.
[22:59] <ochosi> slickymaster: right, see – better ask Unit193!
[22:59] <Unit193> ochosi: Heeey, you're supposed to know this. :P
[23:01] <ochosi> nah, my main job is to know the ppl who know :)
[23:01] <ochosi> (you're mixing up a manager with a superhero i guess)
[23:01] <Unit193> Well I don't know jack. :D
[23:02] <slickymaster> another thing ochosi, what's the scope intended for these FAQ's? Thorough? not so thorough?
[23:08] <ochosi> i'd want something brief and to the point
[23:09] <slickymaster> ok
[23:09] <ochosi> nothing all-too thorough
[23:21] <ochosi> Unit193: say, would you happen to know whether we get whiskermenu 1.4 in 14.10 either way or if we have to do something for it?
[23:21] <Unit193> ochosi: It's not in Debian nor in VCS.
[23:23] <ochosi> humm
[23:23] <ochosi> i wonder why
[23:24] <Unit193> Perhaps talk to Noskcaj?  That seems to be more of his package than Corsac's.
[23:25] <Unit193> Speaking of which, I had http://paste.openstack.org/show/CAPDq9js2Z9WSHBMMoou/ for it.
[23:49] <Noskcaj> ochosi, Unit193: I'd not realised it was out. I'll package it now
[23:49] <Unit193> Noskcaj: Alrighty-o.  Grab that too while your at it? :)
[23:49] <Noskcaj> yep


[08:44] <Dubstar_04> Good morning!!
[12:34] <snizzo_> appdevs hi!
[12:35] <ahayzen> o/
[13:08] <sverzegnassi> popey: o/ i can't open the presentation you shared. i've requested the access, could you approve my request?
[13:09] <popey> sverzegnassi: its not my doc, have pinged them to open it up
[13:09] <sverzegnassi> popey: ok, thanks!
[13:11] <Dubstar_04> popey who do I need to talk to about pageheaders?
[13:11]  * popey points Dubstar_04 at faenil or zsombi maybe?
[13:11]  * faenil appears
[13:12] <faenil> femma: ^
[13:12] <Dubstar_04> faenil I'm on irc. Are you happy now?
[13:12] <faenil> Dubstar_04: indeed
[13:12] <faenil> very :)
[13:13] <Dubstar_04> I aim to please...
[13:13] <Dubstar_04> femma ping
[13:13] <popey> sverzegnassi: try now?
[13:13] <femma> hi Dubstar_04
[13:14] <femma> sorry, I've been in meetings all day and just spotted this
[13:14] <femma> how can I help?
[13:15] <faenil> Dubstar_04: timp is the engineer who implemented the component
[13:15] <Dubstar_04> Femma I'm having trouble with pageheaders and I'm on a web app so i cant paste a link. :(
[13:15] <faenil> the UX designer who worked on it left, but I think femma can help you with that if you need design input
[13:15] <sverzegnassi> popey: now I can read it \o/
[13:15] <Dubstar_04> https://bugs.launchpad.net/ubuntu-ux/+bug/1540240
[13:15] <ubot5`> Launchpad bug 1540240 in Ubuntu UX "Automatic Header height adjustment should be optional " [Medium,Triaged]
[13:16] <timp> Dubstar_04: it is still on my list, after a few other bugs
[13:16] <timp> femma: ^ can you take the UX part of that bug?
[13:17] <Dubstar_04> Femma: So its being looked at?
[13:17] <femma> timp I'll assign it to myself and Dubstar_04  yes I shall take a look :)
[13:18] <Dubstar_04> Amazing!!! Its driving me bonkers!
[13:19] <Dubstar_04> Femma: I would be really interested to be involved in any converstions about the pageheader. is that possible?
[13:21] <femma> Dubstar_04,  I shall keep you in the loop the best I can :)
[13:23] <Dubstar_04> Femma: Thank you. While you're here, if I have a toolbar in a pageheader is there any way to hide it and reduce the height of the header
[13:23] <Dubstar_04> ??
[13:24] <Dubstar_04> is I set visible: False the tool bar is gone but the header height stays the same.
[13:25] <femma> timp,  is that a bug ^^
[13:25] <femma> if the toolbar is hidden, then surely the space should become available?
[13:26] <femma> Dubstar_04,  I need to dash to another meeting in 5 mins, can you raise that as a bug and assign it to me and I will take a look at it and get back to you asap
[13:26] <femma> ?
[13:26] <Dubstar_04> I can of course create a new header without the toolbar in but that would generally be a duplicate of code just with the toolbar omitted.
[13:26] <femma> Dubstar_04,  yeah that doesn't make sense to do that
[13:26] <Dubstar_04> Femma: I will create a bug report tonight. Thank you.
[13:27] <timp> faenil, Dubstar_04: yes, that is this bug https://code.launchpad.net/~tpeeters/ubuntu-ui-toolkit/invisible-header-topmargin/+merge/290659
[13:27] <timp> fix is in progress
[13:27] <Dubstar_04> \0/
[13:27] <timp> Dubstar_04: the bug is about making the whole header invisible. Is that what you mean?
[13:28] <timp> Dubstar_04: if you only want the extension in the header hidden, just set header.extension to null
[13:28] <Dubstar_04> Timp: I will try that. Thanks.
[13:28] <timp> Dubstar_04: perhaps setting visible: false for the extension should also reduce the height. Can you report a separate bug for that?
[13:29] <Dubstar_04> Can do.
[13:44] <timp> thanks
[15:13] <mike00> hi all
[15:13] <mike00> I've got a problem with the SDK
[15:15] <mike00> I want to install, execute or only build an app for my ubuntu phone, but I can't: in the device tab I can see that the network connection of my phone is off.. how can I do?
[15:15] <mike00> the phone is connected to the wifi...
[15:15] <mike00> and at the pc via usb
[15:15] <dobey> mike00: is developer mode enabled on the phone, and did you unlock the phone screen?
[15:17] <mike00> yes
[15:18] <mike00> about one month ago, there weren't problems...
[15:19] <mike00> but recently the network connection is off and I can't do nothing...ù
[15:22] <dobey> does your phone show up in the list if you run "adb devices?
[15:22] <dobey> i don't understand the message about network connection being off. sdk shouldn't care if the phone has a network connection or not
[15:22] <dobey> bzoltan, timp: ^^ do you know?
[15:24] <timp> mike00: does 'adb shell' log you in on the device?
[15:24] <timp> mike00, dobey: I think qtc uses ssh to connect to the phone
[15:24] <timp> zbenjamin: ^
[15:25] <mike00> what "adb shell" is?
[15:25] <dobey> timp: it uses phablet-shell right? ssh-over-usb ?
[15:25] <timp> dobey: I don't know the details
[15:25] <timp> but yes it would make sense if it uses phablet-shell
[15:25] <zbenjamin> dobey: its using adb forwarding yes
[15:26] <dobey> ok
[15:26] <zbenjamin> timp: its not using phablet-shell though. We adb forward the ssh port to a local port and connect to that local port
[15:26] <timp> mike00: adb shell should connect to the phone over the usb cable and login giving you the ubuntu shell on the phone
[15:27] <mike00> in the device tab, under control, when it says "Open SSH connection to the device"?
[15:28] <zbenjamin> mike00: open a terminal and type :  adb devices -l
[15:28] <zbenjamin> mike00: check if your device is listed there
[15:28] <mike00> I get this :"JU011324               device usb:1-1.3 product:occam model:Nexus_4 device:mako"
[15:29] <zbenjamin> mike00: also check "adb forward --list"
[15:29] <mike00> but I haven't a nexus ... :(
[15:29] <mike00> I get this: "JU011324 tcp:10000 tcp:22
[15:29] <mike00> JU011324 tcp:10001 tcp:10001
[15:29] <mike00> JU011324 tcp:10002 tcp:10002
[15:29] <mike00> JU011324 tcp:10003 tcp:10003
[15:29] <mike00> JU011324 tcp:10004 tcp:10004
[15:29] <mike00> JU011324 tcp:10005 tcp:10005
[15:29] <mike00> JU011324 tcp:10006 tcp:10006
[15:29] <mike00> JU011324 tcp:10007 tcp:10007
[15:29] <mike00> JU011324 tcp:10008 tcp:10008
[15:29] <mike00> JU011324 tcp:10009 tcp:10009
[15:29] <mike00> "
[15:29] <timp> mike00: which device do you have?
[15:30] <mike00> Bq Aquaris E4.5
[15:30] <zbenjamin> adb device always returns the wrong device
[15:30] <zbenjamin> you don't need to worry about that
[15:31] <mike00> ok
[15:31] <mike00> so, what's the problem
[15:31] <mike00> ?
[15:31] <zbenjamin> mike00: "ssh -i ~/.config/QtProject/qtcreator/ubuntu-sdk/ubuntudevice_id_rsa -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p 10000 phablet@localhost
[15:32] <mike00> in the terminal?
[15:32] <zbenjamin> yes
[15:32] <zbenjamin> does it open a shell for you?
[15:32] <zbenjamin> or do you get a error
[15:32] <mike00> I'm in the phone...
[15:33] <zbenjamin> hm then there is no connectivity problem with the phone
[15:33] <zbenjamin> what happens when you try to run an app?
[15:33] <mike00> it's the same going in the SDK in the device tab and, under control, and click on "Open SSH key to control device", is correct?
[15:34] <zbenjamin> yes
[15:34] <mike00> when I run an app on the phone i get this: "17:33:21: Running steps for project tris...
[15:34] <mike00> 17:33:21: Starting: "/usr/bin/rsync -avh --exclude .bzr --exclude .git --exclude .hg --exclude .svn --exclude '*.qmlproject' --exclude '*.user' --exclude tests --exclude Makefile --exclude .excludes --exclude '*.ubuntuhtmlproject' --exclude-from=/home/mike/Documenti/PC/App/tris/.excludes /home/mike/Documenti/PC/App/tris/ /home/mike/Documenti/PC/App/tris/.ubuntu-sdk-deploy"
[15:34] <mike00> rsync: failed to open exclude file /home/mike/Documenti/PC/App/tris/.excludes: No such file or directory (2)
[15:34] <mike00> rsync error: error in file IO (code 11) at exclude.c(1179) [client=3.1.1]
[15:34] <mike00> 17:33:21: The process "/usr/bin/rsync" exited with code 11.
[15:34] <mike00> Error while building/deploying project tris (kit: Ubuntu Device (GCC armhf-ubuntu-sdk-15.04-vivid))
[15:34] <mike00> When executing step "UbuntuSDK Click build"
[15:34] <mike00> 17:33:21: Elapsed time: 00:00."
[15:35] <zbenjamin> please use a pastebin to paste things
[15:35] <mike00> what is it?
[15:35] <zbenjamin> http://http://pastebin.ubuntu.com/
[15:35] <zbenjamin> err http://pastebin.ubuntu.com/
[15:35] <mike00> ok http://pastebin.ubuntu.com/15577629/
[15:35] <zbenjamin> well the error says: rsync: failed to open exclude file /home/mike/Documenti/PC/App/tris/.excludes: No such file or directory (2)
[15:36] <zbenjamin> did you maybe delete that file?
[15:36] <mike00> there is no directory with that name...
[15:38] <mike00> but with this app i had some problems: I have to copy every times the qml file in a directory before run the app also on the pc. but once the directory there wasn't
[15:38] <mike00> I tried with another app..
[15:39] <zbenjamin> mike00: is that your app?
[15:39] <zbenjamin> mike00: if so i'd suggest that you migrate to a qmake based template instead of qmlproject. We recently dropped qmlproject support
[15:40] <mike00> ah, I didn't know it...
[15:40] <mike00> because on ubuntu 14.04 there aren't choice and I continue with qmlproject...
[15:40] <zbenjamin> mike00: do you use the ubuntu-sdk-ide ?
[15:41] <mike00> yes, i think so...
[15:41] <mike00> i got this with another app in the application output: http://pastebin.ubuntu.com/15577655/
[15:42] <mike00> and this in the compile output http://pastebin.ubuntu.com/15577667/
[15:42] <zbenjamin> mike00: https://developer.ubuntu.com/en/blog/2015/11/19/here-comes-brand-new-ubuntu-sdk-ide-tools/
[15:43] <mike00> I'll have to uninstall the SDK I have now?
[15:43] <zbenjamin> mike00: no just make sure you have the correct one...
[15:43] <mike00> how?
[15:43] <zbenjamin> mike00: apt-cache policy ubuntu-sdk-ide
[15:44] <mike00> http://pastebin.ubuntu.com/15577687/ is the latest version?
[15:46] <zbenjamin> mike00: looks good
[15:46] <mike00> so?
[15:47] <zbenjamin> mike00: well your device does not know the 15.04.4 framework as it says
[15:47] <zbenjamin> mike00: so you need to change the version you use in your manifest file
[15:47] <mike00> with the 2° app happend a very strange thing....
[15:47] <zbenjamin> mike00: the device tab tells you about the framework the device knows
[15:48] <mike00> framework version?
[15:49] <zbenjamin> mike00: yes
[15:50] <mike00> ubuntu-sdk-15.04
[15:50] <zbenjamin> mike00: every device supports a specific framework...   for example 15.04 or 15.04.4
[15:50] <mike00> and I have to set it in the manifest.json file?
[15:50] <zbenjamin> mike00: the device tells you in the device tab which framework it supports. You cannot have a higher framework in the manifest.json file
[15:51] <mike00> but I have to set ubuntu-sdk-15.04 or ubuntu-sdk-15.04-qml?
[15:51] <mike00> or ubuntu-sdk-15.04-papi or ubuntu-sdk-15.04-html?
[15:52] <zbenjamin> mike00: i usually set the one without postfix
[15:52] <zbenjamin> ubuntu-sdk-15.04
[15:52] <mike00> ok
[15:53] <mike00> THANKS VERY MUCH!!! IT WORK
[15:53] <mike00> :)
[15:54] <mike00> but I have a new directory in the app directory called ".ubuntu-sdk-deploy"
[15:55] <mike00> and every time I change a file I have to copy in that directory... why?
[15:55] <zbenjamin> mike00: yeah , thats where the SDK packages your application for the phone
[15:55] <zbenjamin> mike00: you should not need to copy the file there it should happen automatically
[15:55] <mike00> and always I have to copy files?
[15:56] <zbenjamin> mike00: but really. use qmake based projects. :D
[15:56] <mike00> what's the difference?
[15:56] <mike00> between qmake and qmlproject?
[15:57] <zbenjamin> mike00: qmake is a real tool to build projects. Its the default project type for QtCreator and is completely supported. Where qmlproject is only a format for prototyping qml UIs and does not have any idea how to actually package a project correctly
[15:57] <zbenjamin> we did some hacks to make it somewhat work but as you can see its not really nice
[15:58] <zbenjamin> and breaks too easily
[15:58] <mike00> ok
[15:58] <mike00> thanks
[15:58] <zbenjamin> mike00: if you want to learn more about qmake: http://doc.qt.io/qt-5/qmake-tutorial.html
[15:58] <zbenjamin> mike00: or even better http://doc.qt.io/qt-5/qmake-manual.html
[15:59] <mike00> thanks very much
[16:00] <zbenjamin> mike00: ok, i will be off now.. Already sitting for too long in front of the screen today ;). But if you have more questions feel free to ask. I will check in randomly on the weekend and be back on monday
[16:00] <mike00> ok, I'll have to go too
[16:00] <mike00> bye
[16:00] <zbenjamin> mike00: see you
[19:32] <matv1> bzoltan ping
[19:34] <mike00> ?
[19:39] <mike00> hi all. zbenjamin said me is better using qmake. now I created a new project with the SDK, but I can't run it on my phone... some help?
[19:40] <matv1> mike00 what r u seeing?
[19:40] <mike00> ???
[19:41] <matv1> how are you doing it? is there any error message?
[19:42] <mike00> I click on the green arrow in the bottom-left corner
[19:42] <matv1> ok
[19:42] <matv1> then what happens?
[19:42] <mike00> after selecting the phone as kit
[19:43] <mike00> appears a window saying "waiting for your device to get ready"
[19:43] <matv1> is the phone unlocked?
[19:43] <matv1> and is it in developer mode?
[19:45] <mike00> yes
[19:45] <matv1> what device are you using?
[19:45] <mike00> bq aquaris e4.5
[19:45] <matv1> ok
[19:45] <mike00> but this afternoon it worked
[19:46] <mike00> with a qmlproject, not a qmake...
[19:47] <matv1> that's strange
[19:47] <mike00> now in the device tab there's a message: "there was a error  in the device detection, check log for details"
[19:47] <mike00> what can I do?
[19:49] <matv1> on the devices page, you can actualy click on the 'log' tab. it is next to the devices tab
[19:49] <matv1> what does it say there?
[19:50] <mike00> http://pastebin.ubuntu.com/15580305/
[19:51] <matv1> hmm it seems the sdk is looking for an emulator on your pc. not your phone
[19:52] <mike00> what can I do?
[19:53] <matv1> what does it say when you click on the kit selection button?
[19:53] <matv1> it's the ubuntu logo button. fourth from the bottom i think
[19:54] <mike00> I closed the SDK and reopened, now it's ok
[19:54] <mike00> ahahahha
[19:54] <matv1> haha so you have connection to your phone now?
[19:54] <mike00> yes
[19:54] <matv1> cool!
[19:54] <matv1> gd luck!
[19:55] <mike00> but now I have another problem...
[19:55] <matv1> ok :)
[19:55] <matv1> what is it
[19:56] <mike00> when I click on Run, a essage saying Desktop file does not exist
[19:56] <mike00> message*
[19:57] <matv1> thats also strange. if you start with a qmake template, it should automatically create a desktop file for your project?
[19:57] <matv1> hmm
[19:58] <matv1> is there a $PROJECTNAME.desktopfile in your build folder?
[19:58] <mike00> but in the manifest.json.in the path of the desktop file is right
[19:58] <mike00> yes
[19:59] <mike00> under another directory, but yes there is
[20:01] <matv1> the directorypath  has to match what it says in the manifest
[20:02] <mike00> yeah, I already check it
[20:03] <matv1> and you say it is not the correct path
[20:04] <matv1> ?
[20:05] <mike00> no, it is correct
[20:07] <mike00> I don't know where the problem can be
[20:08] <matv1> can you try importing it into your project?
[20:09] <mike00> is right that some directory are created automatically and called "build-Trampolino-Ubuntu_Device_GCC_armhf_ubuntu_sdk_15_04_vivid-Release"?
[20:09] <mike00> I don't understand what you mean
[20:10] <matv1> you say you have no desktop file in your project. but the file exists and is in the right place
[20:10] <matv1> in the edit page
[20:11] <matv1> on the left side, you have your overview of files and folders of your project
[20:11] <mike00> I have the desktop file in the right place, but SDK tells me there isn't any desktop file.
[20:11] <matv1> yes but is it visible in the list of files in the sdk?
[20:12] <matv1> on the edit page
[20:12] <mike00> I'll check
[20:12] <mike00> yes, but the directory I see there are different from the ones I see in nautilus...
[20:13] <mike00> I tried one thing now...
[20:13] <mike00> there is a directory called "build-Trampolino-Ubuntu_Device_GCC_armhf_ubuntu_sdk_15_04_vivid-Release"
[20:13] <mike00> I opened it and I saw that there are some files, but not the desktop one...
[20:14] <mike00> and I pasted it in places the manifest.json expect
[20:14] <matv1> thats not the folder you need. That is the folder that gets created on building the project
[20:14] <mike00> Now the app is running on the phone after lots of errors
[20:15] <mike00> these are the errors I got in the Issues tab: http://pastebin.ubuntu.com/15580560/
[20:23] <matv1> how are you runnimg your app? are you clicking "install on device" from the publish page? why are you not using debug mode?
[20:25] <mike00> I just press ctrl+R
[20:26] <mike00> I can't understand why he doesn't create the desktop file in the "build-Trampolino-Ubuntu_Device_GCC_armhf_ubuntu_sdk_15_04_vivid-Release" directory...
[20:27] <mike00> and the path he gives me in the second error doesn't exist...
[20:27] <matv1> I think I would just save your actual code. I mean the one you wrote yourself and start a new template. then paste your code back in.
[20:28] <matv1> youre build environment is a little messy
[20:29] <mike00> but I just created the project
[20:29] <matv1> yes but somehow  you lost your desktop file
[20:29] <mike00> I think with qmlprojects will be simple...
[20:30] <mike00> now I tried installing the app on the device
[20:30] <mike00> no error
[20:30] <matv1> you should no longer use those. that template will be deprecated soon
[20:30] <mike00> but on the phone I can't see the app
[20:30] <mike00> ok, another day I'll create a new one.. :(
[20:31] <matv1> ok good luck!
[20:31] <mike00> why qmlproject are deprecated?
[20:32] <mike00> they were so simply... less files then qmake
[20:35] <mike00> bye matv1


[00:11] <wgrant> lifeless: As Colin says, ZTK has become a lot less dead than it was when you left.
[00:12] <wgrant> Still not massively thriving, but by no means dead
[00:12] <wgrant> Zope 3, though, heh.
[00:12] <wgrant> I haven't tried Rust for a network service in a couple of years.
[00:12] <wgrant> It's all been more low level stuff.
[00:34] <lifeless> wgrant: yeah, I'd been doing similar things. I wrote an API server in it last week though, and was very productive.
[00:35] <lifeless> wgrant: rocket.rs + diesel
[00:36] <lifeless> wgrant: and some of the smarts like the new adaptive scheduler in std-async.rs are just mwah.
[11:34] <cjwatson> I think https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/379456 should fix buildbot; could anyone review?
[11:38] <cjwatson> And if anyone could look over https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/378828, that's pure UI
[12:00] <tomwardill> cjwatson: +1 to the buildbot bits
[12:02] <tomwardill> and a comment on the UI ones
[12:02]  * tomwardill -> lunch
[12:02] <cjwatson> thanks
[12:39] <cjwatson> https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/379464   Mailman integration removal \o/
[12:42] <tomwardill> weeeee
[12:44] <wgrant> Burn it all.
[12:44] <tomwardill> wgrant: I'll leave that review to you to +1 ;)
[12:44] <wgrant> Too late
[12:44] <tomwardill> i feel like you might appreciate it
[12:44] <tomwardill> hah
[12:44] <tomwardill> good work
[12:45] <cjwatson> Just waiting for IS to land the corresponding lp-production-configs change before I land that
[12:51] <cjwatson> tomwardill: I've been making a decent amount of progress on OCI recipe views; next is to write tests
[12:51] <tomwardill> cool :)
[12:51] <cjwatson> I say "write", I mean "shamelessly copy"
[12:52] <tomwardill> I'm just working out how to get universe enabled, then need to move some copy and paste stuff into mixins (snap + oci test code), and then "write" more tests similarly :)
[12:52] <tomwardill> got the extraBuildArgs doing stuff and creating things that looks right though
[13:02] <cjwatson> wgrant: BTW I don't suppose you've had a chance to look at lazr.restful py3-declarations?
[13:03] <cjwatson> I was otherwise thinking of a lazr.restful release soon even though the py3 port isn't complete, mainly because it makes it easier to build an LP py3 virtualenv
[14:37] <cjwatson> Quick review of https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/379473 anyone?
[14:37] <cjwatson> (Send script-monitor emails to launchpad-error-reports@)
[14:37] <cjwatson> Also some reasonably straightforward py3 bits: https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/379469 https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/379470 https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/379471
[14:37] <tomwardill> +1 to mail list change
[14:37] <pappacena> I'll take a look
[16:07] <cjwatson> lazr.restful upgrade: https://code.launchpad.net/~cjwatson/lp-source-dependencies/+git/lp-source-dependencies/+merge/379486 / https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/379487
[16:10] <tomwardill> cjwatson: I have a test that is trying to ensure that the Universe sources get added to the buildd args (via extraBuildArgs). My current_component in the build is 'multiverse' (currently, will change that), but I'm still only getting the Pocket sources (Updates) added.
[16:11] <cjwatson> updates and universe are different categories, so I'm confused about what you mean
[16:11] <tomwardill> ah, sorry, badly worded maybe (or misunderstood)
[16:11] <tomwardill> essentially: I get no universe deb lines added
[16:11] <cjwatson> OK, can I see your code?
[16:11] <cjwatson> And the test failure
[16:12] <tomwardill> I think because archive.getComponentsForSeries is returning None in _get_sources_list_for_dependencies (soyuz.adaptors.archivedependencies)
[16:13] <tomwardill> one sec, I'll check this in and push. The test isn't testing for the presence of the line yet, I've established it via pdb on the relevant line
[16:17] <tomwardill> cjwatson:  https://code.launchpad.net/~twom/launchpad/+git/launchpad/+merge/379201 (test_extraBuildArgs_git)
[16:17] <tomwardill> the expected_archives parameter there doesn't include universe
[16:18] <tomwardill> I _think_ because the distribution that is being created for the test isn't configured correctly?
[16:21] <cjwatson> OK, I'll have a look
[16:22] <tomwardill> thanks :)
[17:01] <cjwatson> tomwardill: So this is broken in TestAsyncSnapBuildBehaviour as well.  I think the problem is that the distroseries in use for the test has no ComponentSelection rows telling it what components exist.  You could set that up in the test (see near the top of lib/lp/soyuz/adapters/tests/test_archivedependencies.py) or use sampledata; probably better the former
[17:02] <tomwardill> aha, I think that test_archivedependencies was what I was looking for
[17:02] <tomwardill> I figured there must be some way to set this up
[17:04]  * tomwardill tries
[17:04] <tomwardill> thanks!
[17:05] <cjwatson> np.  Feel free to fix the snap case too :)
[17:05] <cjwatson> Might be easier to start there since you know the rest of that test already works
[17:05] <cjwatson> Total: 24 tests, 3 failures, 20 errors, 0 skipped in 32.581 seconds.
[17:05] <cjwatson> On the plus side, that means one test worked
[17:06] <tomwardill> ... probably a start?
[17:07] <cjwatson> I'm leaving out the +request-builds view for now
[17:09] <tomwardill> "deb unique-from-factory-py-line489-100020/distro unstable main universe"
[17:09] <tomwardill> weee!
[17:45] <tomwardill> cjwatson: add check for none-default components to test_snapbuildbehaviour: https://code.launchpad.net/~twom/launchpad/+git/launchpad/+merge/379495
[17:53] <cjwatson> tomwardill: +1 with minor comment
[17:53] <tomwardill> cjwatson: ah, lovely
[17:53]  * tomwardill changes
[17:56] <tomwardill> pushed fix, landing


[00:51] <lolok> you can add another static ip, but you should not remove <IP_ADDRESS> ever, you say 'change' os i guess you replaced it which will not work
[00:51] <lolok> s/ os / so /
[00:51] <lolok> xtalkme ^
[08:04] <xtalkme> lolok i am changing the <IP_ADDRESS> not <IP_ADDRESS>
[08:06] <xtalkme> for reference: https://www.debian.org/doc/manuals/debian-reference/ch05.en.html#_the_hostname_resolution
[08:06] <lolok> why are you changing it instead of just adding the one you want?
[08:07] <lolok> ah
[08:07] <lolok> 'For a system with a permanent IP address, that permanent IP address should be used here instead of <IP_ADDRESS>.'
[08:07] <lolok> i dont believe this is correct
[08:07] <lolok> tias
[08:08] <xtalkme> the problem is the resolution of ds or local_ipv4
[08:08] <xtalkme> i can add a line, but i does not change the result
[08:13] <xtalkme> lolok i am testing this locally with cloud-init single -n cc_update_etc_hosts and updating the template
[08:26] <xtalkme> lolok it seems like there is reason for doubt indeed https://man7.org/linux/man-pages/man5/hosts.5.html
[08:28] <xtalkme> Also the man page for hosts on ubuntu Jammy does not state this line "For a system with a permanent IP address, that permanent IP address should be used here instead of <IP_ADDRESS>."
[08:44] <xtalkme> lolok https://lists.ubuntu.com/archives/ubuntu-users/2017-November/292629.html
[09:07] <lolok> none of this info matches what i use in my [working] system; i dont run the same software as you xtalkme but ill tell you what i have for you to try, both <IP_ADDRESS> and <IP_ADDRESS> [along with ::1] are bound to localhost and a single seperate line with my static lan ip and both my hostname and fqdn
[09:34] <xtalkme> Thanks for you time lolok, if i wanted to achieve that in an automated fashion i would need to update the /etc/cloud/templates/hosts.debian.tmpl template with a new line adding a reference to my private ip in the datasource meta_data.{{ds.meta_data.local_ipv4}} Which cloud-init then fails to parse because it does think ds is not defined.
[18:18] <meena> minimal: i just love the response there, https://bugzilla.redhat.com/show_bug.cgi?id=2163554#c3
[18:18] -ubottu:#cloud-init- bugzilla.redhat.com bug 2163554 in Fedora "System Certificate Trust Tool Fails To Correctly Manipulate Certificates" [Unspecified, New]
[18:18] <meena> i wonder how many ping-pongs you'll feed to get the actual response
[18:23] <minimal> meena: who knows