[04:23] <jtv> bigjools: you up for a quick chat about the way we'll register installed boot images?
[04:43] <jtv> Blast.  Test failures in trunk.
[08:09] <jam> bigjools: I think having some time of a 3-4 person standup, separate from a 8-person standup is reasonable.
[08:09] <bigjools> jam: exactly what I was thinking :)
[08:27] <bigjools> jam: do you want to come in in about 10-15 mins then?
[08:27] <Daviey> the more the merrier, and distracting !
[08:27] <bigjools> Daviey: just the man
[08:28] <Daviey> oh dear
[08:28] <bigjools> Daviey: my upgrade to quantal has seriously fucked my installation
[08:29] <Daviey> rocking
[08:29] <Daviey> any more detail?
[08:29] <bigjools> $ dpkg -l
[08:29] <bigjools> dpkg-query: error: parsing file '/var/lib/dpkg/status' near line 56897 package 'libao4:i386':
[08:29] <bigjools>  mixed non-coinstallable and coinstallable package instances present
[08:30] <bigjools> and a crapload of broken dependencies :/
[08:30] <Daviey> wow, that is quite spectacular
[08:30] <bigjools> thanks :)
[08:30] <jam> bigjools: sounds good
[08:30] <Daviey> bigjools: fancy raising a bug, and including all this output?
[08:30] <bigjools> jam: cool
[08:30] <bigjools> Daviey: yeah
[08:30] <Daviey> bigjools: just raise it against 'Ubuntu'
[08:31] <bigjools> Daviey: ok, shall I assign you? :)
[08:31] <Daviey> bigjools: I suspect it's one that cjwatson will be better suited :)
[08:31] <bigjools> heh
[08:31] <Daviey> i'm just a dumb mangler.
[08:44] <bigjools> jam, jelmer, mgz: https://plus.google.com/hangouts/_/c667fc896a4dfdbabcd78a47a4018ee6c2cb7341?authuser=0&hl=en-GB
[08:44] <mgz> ta
[09:09] <jam> bigjools: I don't think i have access rights to modify the Maas board, can you add the Story 3 lane?
[09:09] <jam> ah, there it is, nm
[09:27] <bigjools> jam: you should have all the rights you need, let me know if you need more
[09:47] <jam> Daviey: you were asking about mongo auth. I have a summary of it, would you like it here or on Maas-devel?
[09:51] <Daviey> jam: mailing list might be more useful for historic and wider audience
[11:45] <roaksoax> morning
[11:48] <bigjools> o/ roaksoax
[11:54] <roaksoax> o/ bigjools
[12:47] <smoser> roaksoax, rvba did you get a chance to read http://pad.daviey.com/server-maas-release-support ?
[12:48] <smoser> do you have som time to talk about it?
[12:48] <roaksoax> smoser: yeah I skimmed through it
[12:48] <roaksoax> smoser: i, hoewver, think you should probably post your proposal on the ML
[12:49] <roaksoax> smoser: i'll drop my patches but I don't think whether there's time to get that into quantal
[12:49] <smoser> well ,we  can do that. but we can surely have people tell me what they think is wrong first.
[12:50] <roaksoax> smoser: well personally I still think we should be able to select what node should have what release, I think we can support both approaches... but if you consider my approach is incorrect i give in in favor to yours
[12:50] <rvba> smoser: I think your proposal makes sense.  Let's post it to the list to see what people think.
[12:51] <rvba> That problem was briefly mentioned during our standup call this morning.
[12:51] <rvba> People seen to think that having the ability to tell that a particular node will used a particular release before deploy time is superfluous.
[12:52] <rvba> s/seen/seem/
[12:52] <rvba> roaksoax: ^
[12:52] <roaksoax> k
[12:52] <roaksoax> as I said, I give in
[12:53] <roaksoax> i guess that now making sure that smoser's proposal or anhy other fix for the issue gets into quantal is a priority
[12:53] <rvba> yep
[12:53] <roaksoax> but not having quantal support is a blocker for me, so my tasks will be blocked until ya'll have the support implemented
[12:53] <roaksoax> smoser: ^^
[12:54] <smoser> roaksoax, i dont understand "we should be able to select what node should have what release, I think we can support both approaches"
[12:54] <smoser> how does my approach not do that?
[12:54] <roaksoax> smoser: your approach is telling the api to give you a node with a particular release
[12:54] <smoser> well, no.
[12:54] <smoser> i think that is a requirement
[12:54] <rvba> roaksoax: you can add the global default stuff, that alone will allow you to test stuff.  And it will be one step in the right direction.
[12:54] <smoser> but that is not related to this actually.
[12:55] <smoser> we dont have an api entry point now for "give me a node"
[12:55] <smoser> we only have "start" on a particular node
[12:55] <smoser> so, unaddressed is "just give me a node already!"
[12:55] <roaksoax> smoser: exactly, so that's what i mean. start a node an install XYZ release on it
[12:56] <smoser> i'm confused.
[12:56] <smoser> my approach has that.
[12:56] <roaksoax> smoser: yes
[12:56] <roaksoax> smoser: that's what I'm saying
[12:56] <roaksoax> i'm talking about your approach
[12:56] <roaksoax> smoser: so on the WebUI, when you do "start node" how can you tell it what release to use if you want a different from the default?
[12:57] <roaksoax> smoser: in your appraoch is not possible to do that because the way you are considering to do this is doing so through the API
[12:57] <roaksoax> smoser: so in order to do it, you still need to tell the node what release to use, it might not be an attribute of the node, but you still need to tell it
[12:57] <roaksoax> smoser: and that should be stored somewhere
[12:58] <smoser> well it is stored somewhere.
[12:58] <rvba> roaksoax: the usage of the WebUI to start a node was always considered a very special case primarily meant for testing.
[12:58] <smoser> on the node
[12:58] <smoser> "default_release" as i said.
[12:58] <rvba> The API story is the real one.
[12:58] <roaksoax> rvba: right, but the usage is there
[12:58] <roaksoax> rvba: it is out to the wild
[12:58] <roaksoax> rvba: so you need to provide the same functionality in both interfaces
[12:58] <roaksoax> smoser: yes, defualt_release is very broad...
[12:58] <rvba> I think it is ok to say that using the webUI will use the default for now.  And refine later if we need to.
[12:59] <roaksoax> rvba: i think by doing that you are removing functionality
[12:59] <roaksoax> rvba: and another problem is make it place nicely with juju
[12:59] <roaksoax> rvba: for 12.10
[12:59] <rvba> Exactly, but Juju uses the API.
[13:00] <roaksoax> rvba: while the WebUI might be a simplified interface to interact with MAAS, I think it is essential to be able to support a release
[13:00] <roaksoax> rvba: so when you start a node, you node that that node will use X release you want
[13:01] <rvba> roaksoax: we can add this in the WebUI as well (dropdown menu next to the start button or something)
[13:01] <rvba> Let's focus on the core functionality first, then the API, and only then the UI.
[13:03] <roaksoax> rvba: ok, well the start button on the UI uses the API right?
[13:03] <rvba> roaksoax: not directly.
[13:03] <rvba> roaksoax: well, sorry, not at all.
[13:04] <roaksoax> rvba: well then we would just simply need to figure out how to pass the release dynamically without relying on having it stored somewhere
[13:04] <rvba> roaksoax: indeed.
[13:04] <roaksoax> rvba: if I find the time I'll look into it, unfortunately i need to concentrate on other stuff atm
[13:04] <rvba> roaksoax: first step would be to add the default I think.
[13:04] <rvba> roaksoax: you've done most of the work for that already I think.
[13:05] <roaksoax> rvba: yeah the default stuff is just a couple lines, i'll separate the patches and see to it
[13:05] <rvba> roaksoax: cool.
[13:13] <smoser> i will send proposal to list.
[13:13] <bigjools> why am I still up
[13:16] <jelmer> it's a mystery
[15:32] <smoser> roaksoax, ok. so interesting problem here.
[15:32] <smoser> i just booted a ephemeral image in a kvm instance.
[15:33] <smoser> instance had (i think 256 M of memory) or some small ish number.
[15:33] <smoser> apt-get update runs
[15:33] <smoser> apt-get update writes 115M to /var/lib/apt/lists
[15:33] <smoser> which in ephemeral instance consumes 115M of memory
[15:33] <smoser> ie, i see some real potential issues here.
[15:35] <smoser> Daviey, you  might find that interesting also.
[15:35] <smoser> i suspect that 2G memory is the minimum "real server" size
[15:36] <smoser> but for test within vms, thats a bit annoying.
[15:40] <Daviey> smoser: hmm.. do you think we might need to back the overlayfs via networking ?
[15:41] <smoser> i dont know. we coudl back it via block device exposed over iscsi
[15:43] <Daviey> yeah
[15:43] <Daviey> not urgent for 12.10 IMO
[15:44] <Daviey> but next cycle, we might need to consider something smarter?
[15:45] <smoser> yeah
[16:03] <roaksoax> smoser: interesting
[16:04] <smoser> we can improve that speicifically fairly easily, by removing i386 from and64 arch
[16:04] <roaksoax> smoser: during commissioning, do we actually need anything from apt?
[16:04] <smoser> and removing deb-src lines
[16:05] <roaksoax> smoser: right, so the only reson why it is being run is for maas-enlist right?
[16:05] <roaksoax> apt* being run
[16:05] <smoser> well..sort of.
[16:06] <smoser> commissioning is intended to be a general purpose environment
[16:06] <smoser> so you'd expect it to work.
[16:06] <roaksoax> smoser: right, well we don't really need deb-src
[16:38] <roaksoax> allenap: still around?
[16:42] <allenap> roaksoax: Yes :)
[16:42] <roaksoax> allenap: so maybe yoy'll be able to help me
[16:43] <roaksoax> allenap: where is it that when you try to start a node, it sends the data to generate the preseed for a particular node?
[16:43] <roaksoax> allenap: or whats the entry point from the node and the generation of the tftp parameters it should use, such as arch, releaes, etc
[16:44] <jam> I'm trying to run 'make' but ipython.scypi.org seems to refuse all connections.
[16:44] <jam> Is there another option?
[16:44] <allenap> jam: Install ipython locally ought to solve it. Failing that, the tarball can be put in your buildout cache (I can send it to you).
[16:45] <allenap> (We kind of need a better solution for that.)
[16:45] <roaksoax> allenap: is that api.py?
[16:45] <jam> allenap: wasn't that the 'download-cache' discussion?
[16:45] <allenap> jam: Yes.
[16:45] <mgz> or ignoring it an installing from archive works if the version matches
[16:46] <allenap> Right, what mgz said; that's what I was fat-fistedly trying to say with "install ... locally" :)
[16:46] <jam> mgz: there is a strong debate that you should ignore system packages so that the build environment enforces strict dependencies.
[16:46] <mgz> (I had that for nosetests who's blog(?!) buildout was failing to scrape on make))
[16:46] <jam> allenap: 'apt-get install ipython; make' still fails
[16:47] <jam> still is trying to download ipython
[16:47] <jam> (on Precise)
[16:47] <allenap> jam: buildout will enforce strict dependencies because allow-picked-version is false, but if they match it'll use it.
[16:47] <allenap> Oh buildout, how you ***FEFEGEg4%$^$ me.
[16:48] <jam> allenap: how do I know what version buildout is wanting?
[16:48] <allenap> jam: versions.cfg ought to say.
[16:48] <jam> allenap: ah, buildout wants 0.12, and I have 0.12.1 ... :(
[16:49] <jam> hacking that makes it get  further at least
[16:49] <allenap> jam: http://ubuntuone.com/6HXrvwiGY2qRqKyezMmVYZ for 0.12
[16:50] <jam> if only I could easily copy that to another machine :). But I'll make it work
[16:50] <allenap> For the egg. Put it in ~/.buildout/cache/dist
[16:50] <jam> it still is getting selenium, and, and
[16:50] <jam> allenap: I don't have a ~/.buildout
[16:50] <jam> is it reasonably safe to just create it?
[16:50] <allenap> jam: Ah, that's worth having. See HACKING.txt about it.
[16:51] <jam> (I wasn't following the discussion that closely.)
[16:57] <roaksoax> smoser: so I still see no easy way to get the release stuff
[16:57] <roaksoax> smoser: rather tahn continue to do what we were doing
[16:58] <roaksoax> because when the preseed is presented or the parameters for tftp boot, the only thing we really send is the Node
[17:00] <allenap> roaksoax: So, got distracted.
[17:00] <allenap> roaksoax: pxeconfig() in maasserver.api creates  KernelParameters object, which has various boot-related things in it.
[17:00] <allenap> It doesn't generate the preseed though.
[17:00] <roaksoax> allenap: so the problme is this
[17:01] <roaksoax> allenap: hold on (meeting :) )
[17:03] <roaksoax> allenap: ok, so the issue is this: In order to add releases support, I added a new attribute to the Node as os_release. However, after discussing it with smoser , he mentioned that we should not have an attribute for the node
[17:03] <roaksoax> allenap: but rather we should simply specify the release we want the node to boot into
[17:04] <roaksoax> allenap: and that's it
[17:04] <roaksoax> allenap: so the priblem now becomes, how can we dynamically have that value (the release to use), if we only pass objects ot preseed.py
[17:04] <roaksoax> allenap: we can't pass a globally set value right? since we need it for a particular node
[17:05] <roaksoax> allenap: the only easy solution i see is simply saying "the release for X node on deployment will be Y" but I don't see how to pass that Y if we are passing objects
[17:05] <allenap> roaksoax: I think we need to store this on the node, as you've done.
[17:06] <roaksoax> allenap: yeah that's the only solutio I see
[17:06] <roaksoax> allenap: I just needed another opinion
[17:08] <allenap> roaksoax: smoser's right in that it's only used during the first boot after a machine has been allocated, and that once the machine has correctly installed and pinged maas to say "stop netbooting me" it's no longer relevant, but we need to keep it somewhere until that ping is done.
[17:09] <smoser> allenap, shouldn't we be able to add a getter to the object?
[17:09] <smoser> that does something more complex than just look at that attribute of the node?
[17:09] <allenap> But there isn't yet a better place to put it. We will at some point model "allocations", at which point I guess we can move it to there.
[17:09] <smoser> it just really isnt an attribute of a node
[17:09] <smoser> operating systems != hardware
[17:10] <smoser> (unless you come from apple)
[17:12] <allenap> smoser: Node is overloaded so I'm not sure where else to store the choice of OS right now. We need to remodel. Perhaps something like: board -< node >- allocation, or something like that.
[17:12] <smoser> board ?
[17:12] <smoser> so.
[17:12] <smoser> the one thing i really care about here.
[17:12] <smoser> is the external interface
[17:13] <smoser> 'start' simply needs to take "release"
[17:13] <allenap> smoser: For reconfigurable hardware... so "future".
[17:13] <smoser> and having the user have to change a node attribute in order to do that seems completely broken
[17:14] <roaksoax> smoser: ok so, the problme is thta basically, in ordfer to create the tftp/pxe stuff we only use the node attributes, right?
[17:14] <allenap> smoser: It probably ought to be an argument to the "acquire" call.
[17:14] <roaksoax> smoser: so we need a way to tell "NodeXYZ will deploy with ABC release"
[17:14] <allenap> "start" and "stop" are just power related; they don't imply OS installation.
[17:15] <roaksoax> smoser: this means that each node object needs to know what release is related when it gets started
[17:15] <roaksoax> smoser: so it is either have database table/class that matches Node <-> Instance release version, or keep it as an attributed, but treat it as an instance
[17:15] <roaksoax> smoser: I don't know if I explained myself clearly :)
[17:15] <smoser> allenap, hm..
[17:15] <smoser> i thought start becuase i thoguht userdata was attachedk to start
[17:16] <smoser> but i could have been wrong
[17:16] <allenap> User will call MAAS and say "I want an amd64 node running Quantal" (== the acquire call), MAAS will store the user and release on the Node record, turn netbooting on, mark it as allocated, and reboot the node.
[17:16] <smoser> what is the link for do con the api?
[17:16] <allenap> Argh, you're right, start() does take the user data.
[17:17] <allenap> acquire doesn't do the boot; you need to acquire and start in sequence.
[17:18] <roaksoax> whilke start_nodes() does take the user data, it sets that data as to the node right?
[17:18] <roaksoax> NodeUserData.objects.set_user_data(node, user_data)
[17:19] <roaksoax> but that's for the metadata server
[17:19] <allenap> roaksoax: Yes, essentially. There are only ever zero or one NodeUserData rows for a node.
[17:19] <allenap> I have to go now, but I'll be back in about 2h.
[17:19] <roaksoax> allenap: alright
[17:19] <roaksoax> thanks!
[17:21] <smoser> ugh.
[17:22] <smoser> so. the big thing to me is that whatever takes user-data should take release.
[17:22] <smoser> from the api perspective.
[17:23] <roaksoax> smoser: right, but that user-data is for meta-data server, not for the preseed/tftp boot generation stuff
[17:23] <roaksoax> smoser: the preseed/tftp takes a Node object
[17:24] <smoser> but thats just garbage implementation
[17:24] <smoser> just implementation
[17:25] <smoser> the consumer should not think of those things as separate.
[17:26] <roaksoax> smoser: right, so the user-data is set as Data for the node right? but that's meta-data server stuff. Unless you want to do the same for the preseed...
[17:30] <smoser> well the user doesn's specify preseed.
[17:30] <smoser> so i dont really care
[17:30] <smoser> but user-data and release need to be exposed via api
[17:31] <roaksoax> smoser: right, but the thing is "how to you match a node object with a piece of data (release)"
[17:31] <roaksoax> smoser: so that when the preseed/tftp url generation happens, it uses the correct data for  *that* node
[17:35] <roaksoax> smoser: atm, it seems much easier to keep a node attribute for release and when you do "give me a node and install X on it" then it should just simply get a node and set the os_release attribute to the release you are requesting
[17:35] <smoser> but that is just completely broken from the api perspective.
[17:36] <roaksoax> smoser: i agree might not be the best approach, but it is a similar approach to what cobbler did
[17:37] <roaksoax> smoser: in cobbler you simply told it "this system inherits from profile X, and profile X is Y release"
[17:38] <smoser> i dont think thats going to win you any fans.
[17:38] <smoser> saying "cobbler did it that way" as a response to "thats not the right way"
[17:39] <roaksoax> smoser: I'm not arguing that because cobbler did it, we should do it that way. I'm arguing that we need a way to add handle this fast as upstream is busy with other stuff, I need to get other stuff done, and i'm sure you also need to
[17:39] <roaksoax> smoser: so, i'm saying can we provide a more appropriate fix with the time constraints that we face?
[17:39] <roaksoax> smoser: since you said you requested an "instance" type of handling for MAAS, but they were not going to make it happen for 12.10
[17:40] <roaksoax> smoser: so the release stuff would be part of that "instace" approach within MAAS, right?
[17:41] <roaksoax> smoser: on fwiw, in cobbler you could say "deploy this machine with X release, or deploy this machine with Y release using its api (using koan)"
[17:42] <roaksoax> smoser: but anyways, I'm maybe to dumb to see  a fix for it (at the moment) that doesn't involve having to store an attribute for a Node object
[17:43] <smoser> suck.
[17:43] <smoser> then we could ammend  my suggestion by having an "instance release" that default ed to "node release' that defaulted to "global release"
[17:44] <smoser> and instance release would be set to NULL on "return/destroy" (whatever that api call is called)
[17:44] <roaksoax> smoser: as a node attribute?
[17:44] <smoser> well, my proposal was that those things were node attributes, yes.
[17:44] <smoser> (the proposal to the list)
[17:44] <smoser> i suggested that we would have a node attribute for "release"
[17:45] <smoser> that would default to the global release.
[17:45] <roaksoax> smoser: ok hold on, I'm confused now
[17:46] <roaksoax> smoser: the support that was hacked for that was basically this: Have a os_release attribute for a Node (similarly to architecture, power type). Every time we enlist a node, the os_release would be set to a globally default release
[17:47] <roaksoax> smoser: so what I was suggesting now was that if we simply specify a release different than default, it would set node.os_release as the new requested release, and deploy with that
[17:47] <roaksoax> smoser: and on a release, that could be set back to default
[17:47] <roaksoax> smoser: is that what you were looking for?
[17:49] <smoser> well, maybe for now that is sufficient.
[17:51] <roaksoax> smoser: but if that's what you were proposing, then the support I added does that almost the same. The only difference is that I was setting a default release for both, commissioning/enlistment and deployment
[17:51] <roaksoax> smoser: which can obviously be easily changed
[17:53] <smoser> well, i think you need to differenciate between commissioning/enlistment and install
[17:53] <smoser> so keep that.
[17:53] <roaksoax> smoser: right, that's simple to do
[17:54] <roaksoax> smoser: what I was trying to look a solution for is the attribute (os_release) for the node
[17:54] <roaksoax> smoser: which I thought you didn't want at all
[17:54] <smoser> outside of another table ("instance"), which i think is the correct long term path, i dont think there is one.
[17:54] <smoser> so what i was suggesting is largely what you are doing
[17:54] <smoser> except for the fact that i do not want specifying "release" in start to change the node.
[17:55] <smoser> which you're accomplishing by setting it back to 'default' on release.
[17:55] <smoser> which ... is somewhat lossy
[17:55] <smoser> but not that bad.
[17:55] <smoser> ie, if it the default "install" for that node had been set to 12.10 for good reason
[17:55] <smoser> and i specify 13.04 for one install
[17:55] <smoser> and then on release maas puts it back to 12.04 (the global default)
[17:55] <smoser> we've lost data.
[17:56] <smoser> the only way i can see to work around that is to not set the default for the node, but on start to set a "install_release"
[17:56] <smoser> and unset *that* on release.
[17:57] <roaksoax> smoser: right
[17:59] <roaksoax> smoser: but that's the thing, on start(), calls start_nodes(), which could take a release and set node.os_release = "whatever release passed"
[18:01] <roaksoax> smoser: http://paste.ubuntu.com/1199137/ or similar
[18:28] <roaksoax> smoser:so then the "instance" view of a node would be simple a NodeInstace that inherits from Node? which is able to hanlde user-data?
[18:30] <smoser> "instance" view?
[18:30] <smoser> roaksoax,
[18:31] <roaksoax> smoser: i mean, what you refer as treating nodes deployments as intances
[18:31] <roaksoax> smoser: i mean, just wondering how did you envisoned this?
[18:35] <smoser> well, i basically consider a "install -> release" cycle an "instance"
[18:36] <smoser> and an "instance" would have user-data specific to it and a user that owned the instance
[18:36] <smoser> and a release that was installed
[18:36] <smoser> and a start and end date
[18:41] <roaksoax> smoser: ok, so how do you start a node thorugh the API?
[18:42] <smoser> look at juju i think.
[18:49] <roaksoax> smoser: I think I just spotted another issue
[18:50] <roaksoax> smoser: not that it matters much, yet but if the node has not being deployed yet, obtaining the preseed would display the preseed for the default release
[18:51] <roaksoax> smoser: unless we specify a release specifically i guess
[18:51] <roaksoax> smoser: it will indeed require lot of refactoring I believe
[18:52] <roaksoax> i guess we will leave that for upstream :)
[18:52] <smoser> yeah, i dont think thats an issue really.
[19:14] <roaksoax> smoser: ok, so another problme is this
[19:14] <roaksoax> smoser: when a node makes a PXE request, the request grabs the MAC address of the node making the request
[19:15] <roaksoax> smoser: and by using the mac address it obtains the node
[19:15] <roaksoax> smoser: and with that node it generates the kernel command line
[19:16] <roaksoax> smoser: so the release *has* to be stored somewhere for that particular node
[19:16] <roaksoax> smoser: because the way this happes is by making a post request
[19:16] <roaksoax> smoser: unless, we could obtain the relese from that post request somehow
[19:17] <roaksoax> smoser: oh no way, we can't, cause the request is being made by a node itself after you tell the node to start
[19:31] <smoser> roaksoax, you've confused me.
[19:32] <smoser> roaksoax, i dont see a problem in the above.
[19:32] <smoser> if there were an "instances" table, there would be a way to get the "current" instance htat occupied a node.
[19:32] <smoser> so essentially, a node would have a os release but only because of hte instance currently occupying it.
[19:32] <smoser> which woudl hvae been created on the start
[19:33] <roaksoax> smoser: right, but look at src/maasserver/api.py:pxeconfig
[19:35] <smoser> roaksoax, right. thats fine.
[19:35] <smoser> i'm missing something
[19:35] <smoser> i'm sorry
[19:36] <roaksoax> smoser: so it gets the MAC address of the machine that has made the request, it searches for a node within MAAS. If found, it uses its attributes to create the params to be granted by the pxe file
[19:36] <smoser> right.
[19:37] <smoser> so yes, i agree. that means that given a node you have to be able to come up with the correct kernel/initramdisk/state
[19:37] <smoser> but thats not bad.
[19:37] <roaksoax> smoser: righjt, so there, there's two options, keep the os_release attribute of a node
[19:38] <roaksoax> smoser: or, once a node is found based on its mac, then we would need to map the node to somewhere else to obtain the release, right?
[19:38] <roaksoax> smoser: so if we have user data for the node, then first we need the node, then we need that node's user-data and then we need the release
[19:39] <smoser> right.
[19:39] <smoser> that is fine.
[19:39] <smoser> given a node, there will only ever be one "instance" at a given point in time.
[19:39] <smoser> and that instance would have release and user-data
[19:40] <roaksoax> smoser: right, so the way I was fixing that is: release = node.get_os_release()
[19:40] <smoser> so assuming mac is unique (which we have assumed), at a given point in time a MAC can map to user-data or os-release thorugh node
[19:41] <roaksoax> smoser: so, do you think that the Node class should have an attribute (which might be called instance_data, that contains the release)
[19:42] <roaksoax> so when you call: node.get_os_release(), which we can rename to: node.get_install_release(), it will search for the release in that instance_data variable and return it, if not found, simply return the default?
[19:42] <smoser> no.
[19:42] <smoser> roaksoax, for your work i tihnk i'd just hack the way you are
[19:43] <smoser> the longer term fix is another table "instances" where an instance maps N:1 to nodes.
[19:43] <smoser> and somehow you can look up "current" instance for a node.
[19:43] <smoser> and that instance has "os_release" and such
[19:43] <smoser> but your solution for now is ifne i think.
[19:43] <smoser> so dont get more complex than you need.
[19:43] <roaksoax> smoser: right, that's my question. Where does that "instances" table live?
[19:43] <smoser> it seems we are knowingly shortcutting
[19:43] <roaksoax> or should live
[19:44] <smoser> well its a object i think
[19:44] <roaksoax> smoser: an object that would be instanciated within a node, or separately?
[19:46] <smoser> separately i thikn. but i dont knwo tha ti understand thequestion.
[19:46] <smoser> it has to be separate though
[19:47] <roaksoax> smoser: ok, but, there should only be 1 instance for 1 node, hence a 1:1 relation, shouldn't it? BEcause 1 node can only have 1 instance at a time
[19:47] <smoser> but over history there are N
[19:47] <smoser> and you want to be able to look at historic ones
[19:47] <smoser> for accounting
[19:48] <roaksoax> smoser: are we looking to make an instance a database entry?
[19:48] <smoser> i would think so
[19:48] <smoser> but i'm not sure how such releations are normally modelled.
[19:48] <smoser> ie, how you would normally indicate "current" on something like that.
[19:49] <roaksoax> smoser: right. Yeah cause I thought we wouldn't care how many times has that node been deployed in what release or for what purpose
[19:53] <smoser> roaksoax, see that bug i opened.
[19:53] <smoser> you'd want to know that for accounting
[19:53] <smoser> you want to know that bob uses 90% of your cpu time
[19:53] <smoser> or that only 8% of your cpu used run 10.04
[19:54] <roaksoax> smoser: right
[19:54] <smoser> or that 68% of your total cpu time is unused
[19:54] <smoser> and you cant do that without history (or at least keeping the count at the moment of acquire and release)
[19:54] <smoser> but i think you just keep the whole records instead
[19:55] <roaksoax> right
[22:36] <roaksoax> smoser: stil around?


[05:18] <psychx-> can someone do me a favor and try to view this website? i am trying to play a game with my sister and it's not loading, not sure if there is something wrong with my java or something: http://board-games.pogo.com/games/monopoly#
[05:19] <wxl> psychx-: i can see it
[05:19] <wxl> which game?
[05:21] <psychx-> hey
[05:21] <psychx-> monopoly multiplayer
[05:22] <psychx-> it starts to load, shows an ad, then sits there for a minute; and finally says that there was a problem
[05:22] <wxl> loading
[05:22] <psychx-> :] thx
[05:23] <wxl> i'm there
[05:23] <psychx-> it loaded up?
[05:23] <wxl> yeppers
[05:23] <psychx-> alright, hmm, how should i go about fixing this? im assuming it's java, but in synaptic it says i have java installed already.
[05:25] <wxl> well #1 i'm running firefox 7.0.1
[05:25] <wxl> #2 icedtea-web 1.1.3-1ubuntu1.1
[05:26] <psychx-> is that an alternative to java?
[05:27] <wxl> #3:
[05:27] <wxl> $ java -showversion
[05:27] <wxl> java version "1.6.0_23"
[05:27] <wxl> OpenJDK Runtime Environment (IcedTea6 1.11pre) (6b23~pre11-0ubuntu1.11.10)
[05:27] <wxl> OpenJDK Client VM (build 20.0-b11, mixed mode, sharing)
[05:27] <wxl> nope it's one of a few possibilities
[05:27] <wxl> and i'm on 11.10
[05:27] <psychx-> o ok
[05:27] <wxl> also running backports and proposed
[05:28] <psychx-> ok i have that java version installed
[05:28] <psychx-> im using chromium, and im not sure what icedtea-web is
[05:28] <wxl> https://help.ubuntu.com/community/Java
[05:28] <wxl> about:addons or about:plugins
[05:28] <wxl> undoubtably you're using icedtea
[05:29] <psychx-> IcedTea-Web Plugin (using IcedTea-Web 1.1.3 (1.1.3-1ubuntu1.1))
[05:29] <wxl> so we're on the same page there
[05:29] <wxl> hm lemme check it out on chromium
[05:29] <psychx-> ok
[05:29] <psychx-> ty
[05:34] <wxl> doing too many things at once here with too little ram
[05:34] <wxl> bear with me :D
[05:37] <wxl> huh weird
[05:37] <wxl> not working
[05:37] <wxl> you get an error about having problems loading?
[05:40] <psychx-> sorry im back
[05:40] <psychx-> yeah basically
[05:40] <wxl> might be a chromium curse http://code.google.com/p/chromium/issues/detail?id=20087
[05:40] <wxl> see the last few comments especially
[05:40] <wxl> i never use chromium, so...
[05:41] <psychx-> yeah i see it now
[05:41] <psychx-> would you recommend firefox?
[05:41] <wxl> as a long time user of firefox, yes
[05:41] <wxl> but not everyone agrees with me
[05:42] <psychx-> ok, ill give it a shot
[05:42] <wxl> there was quite a heated argument going on the mailing list about which was better
[05:42] <reflexrg> lubuntu
[05:42] <reflexrg> remix
[05:42] <psychx-> lol
[05:42] <reflexrg> who's better?
[05:57] <psychx-> Doesn't seem to be working in FireFox. I'll try rebooting.
[05:57] <wxl> oh wow that's weird
[05:58] <micahg> the java plugin should work in both browsers
[06:01] <wxl> well it don't work for me in chromium tho i have no problem in firefox micahg
[06:03] <micahg> I've seen bugs about flash not working either, I'll have to look into it when I get a chance, which versions are you running (Ubuntu/Chromium)
[06:03] <wxl> Ubuntu? are you mad? 11.10 of lubuntu :D
[06:04] <wxl> 15.0.874.106~r107270-0ubuntu<IP_ADDRESS>
[06:04] <wxl> ^^ chromium-brwoser
[06:04] <wxl> s/ow/wo
[06:23] <micahg> wxl: ok, well, I need to get 15.0.874.121 uploaded, maybe that will fix things, I know we had it working at some point
[06:37] <wxl> micahg: let me know if you need a tester
[06:54] <thornhill> help! help! anyone there!?
[06:55] <thornhill> how do I show the users on the login screen?
[06:58] <psychx-> i have a usb flash drive plugged in right now, how do i format it?
[07:01] <psychx-> nvm installing gparted
[07:01] <thornhill> I just installed lubuntu, but it doesn't show the users on the login screen. How do I show them?
[08:05] <jita> How can i make the mouse scroll work in vim without having to set mouse=a ?
[08:05] <wxl> what's wrong with mouse=a?
[08:06] <bioterror> I think that mouse thingie distrubed my pastings, so I decided not to use it
[08:06] <wxl> gvim
[08:10] <jita> wxl, right clicking gvim, the menu only appears for a second :(
[08:10] <wxl> right clicking? what on earth are you trying to do jita?
[08:11] <jita> wxl, cut text ?
[08:12] <wxl> "+x
[08:13] <wxl> k bed calls
[16:59] <ToeTag> hello, is this the right room for lubuntu support?


[08:15] <mandel> morning all!
[09:29] <fagan> morning
[10:04] <jderose> morning fagan :)
[10:04] <fagan> how are you jderose
[10:05] <jderose> great, how about you?
[10:05] <fagan> good good cant complain
[10:05] <jderose> fagan: hey, you gonna be at UDS?
[10:05] <fagan> jderose: nope :/
[10:05] <jderose> bummer :(
[10:05] <fagan> yeah but its cool
[10:05] <JamesTait> Hi hi, happy Friday! :)
[10:05] <jderose> fagan: i've been working a lot on this - https://wiki.ubuntu.com/DesktopCouchWishList
[10:05] <fagan> ill still be annoying everyone from IRC :D
[10:06] <fagan> nice
[10:06] <jderose> JamesTait: happy friday back at you :)
[10:06] <fagan> friday friday everyones getting down of friday
[10:07] <jderose> hmm, is UbuntuOne or the SSO on the fritz?  just got this "NoneType object has no attribute 'makefile'" error trying to sign in on a new computer using the Ubuntu One Control Panel
[10:08] <fagan> jderose: its working on my computer
[10:09] <fagan> but im on the dailies
[10:09] <jderose> hmmm
[10:14] <fagan> wow my internet is very laggy today
[10:14] <fagan> Id say I should switch ISP but they are the best one in Ireland
[10:18] <jderose> bummer
[10:18] <jderose> fagan: so what you working on lately?
[10:19] <fagan> jderose: well im handling code review and some bug reports..etc just filling in for some stuff
[10:19] <fagan> the main thing is learning :)
[10:20] <jderose> i hear that :-D
[10:22] <jderose> fagan: just filed my bug - https://bugs.launchpad.net/ubuntu/+source/ubuntuone-control-panel/+bug/778395
[10:23] <ubot4> Launchpad bug 778395 in ubuntuone-control-panel (Ubuntu) "'NoneType' object has no attribute 'makefile' (affects: 1) (heat: 6)" [Undecided,New]
[10:23] <fagan> jderose: well im clearing out the older bugs
[10:23] <fagan> ill look at it though :)
[10:23] <jderose> np :)
[10:24] <jderose> fagan: i wasn't saying go fix it... just making conversation :)
[10:24] <fagan> hah
[10:24] <fagan> oh its the not type makefile one
[10:24] <jderose> known bug?
[10:25] <fagan> jderose: yeah you just told me about it :D
[10:25] <jderose> hehe
[10:38] <mandel> I was utterly stupid a few months ago....
[10:39] <jderose> mandel: did you cause my bug? :P
[10:39] <mandel> jderose: no, I caoused other that I'm finding now hehe
[10:39] <jderose> mandel: what bug?
[10:39] <mandel> jderose: I expecting to see you in UDS, you will be there, right?
[10:40] <jderose> yup :)
[10:40] <mandel> jderose: oh, windows stuff and fs notifications, nothing you should worry about
[10:40] <jderose> mandel: nope, not worried about *that* :)
[10:40] <mandel> jderose: rodrigo__ and I are looking into including couchdb in gnome and use avahi to solve the port issues
[10:41] <mandel> the idea is to use mdns so that you jus look for a 'url' which is always the same and have a proxy that will point to the correct port
[10:41] <mandel> so that you can ignore desktopcouch and just access desktopcouch from whereever you want :)
[10:41] <mandel> oh, and remove the dbus call for the port
[10:42] <jderose> mandel: what is mdns?
[10:42] <mandel> jderose: ZeroConf
[10:42] <mandel> jderose: similar to apples Bonjour thing
[10:42] <mandel> maybe I used the wrong acronym, let me check :P
[10:43] <mandel> jderose: I used the correct one: http://www.multicastdns.org/
[10:43] <jderose> so the ms equiv of avahi?
[10:44] <jderose> okay, gotcha... i better learn the term as i need to add it to dmedia :)
[10:45] <jderose> mandel: so would this mdns entry just advertise desktopcouch on localhost, or on entire localnet?
[10:46]  * jderose doesn't know if that's a dumb question :)
[10:47] <mandel> jderose: localnet I think, but I'm not 100% sure
[10:47] <mandel> certainly not a dumb question
[10:48] <jderose> mandel: but your using this to do the equivalent of the getPort() DBus call?
[10:49] <mandel> jderose: yes, you not longer need dbus, you can get it from avahi
[10:49] <jderose> mandel: is this just on widows, or everywhere?
[10:50] <mandel> jderose: avahi is linux
[10:50] <mandel> jderose: the idea would be to get this in gnome as a gnome project (so is or free time ;) )
[10:50] <jderose> mandel: i guess my question is, is the dbus call going away on linux?
[10:50] <mandel> jderose: no, this is just or pet project, that is staing AFAIK
[10:51] <jderose> ah, gotcha
[10:51] <mandel> jderose: nothing official of desktopcouh at all
[10:52] <jderose> mandel: dunno if you looked at this recently - https://wiki.ubuntu.com/DesktopCouchWishList
[10:52] <jderose> mandel: but i wonder if what you're experimenting with might be a possible solution to my "abstractcouch" idea... which i absolutely need for dmedia/Novacut
[10:53] <mandel> jderose: I think too, that is why I told you about it :)
[10:54] <jderose> mandel: well awesome, thanks you!
[10:54] <jderose> er, thank you
[10:54] <jderose> bout my bedtime :)
[10:54] <mandel> jderose: we should talk at some point at uds, catch you later!
[10:54] <jderose> mandel: cool, see you then
[11:12] <rodrigo_> mandel, oh, btw, I think I've found the solution to the only avahi problem I think there was (what to do if several instances from different users were announced via avahi)
[11:12] <rodrigo_> mandel, let me push it
[11:12] <mandel> rodrigo_: what was it?
[11:13] <mandel> rodrigo_: jderose is a perfect app example that would benefit from your avahi approach
[11:13] <rodrigo_> what to do if several instances from different users were announced via avahi
[11:13] <rodrigo_> jderose, oh, what app?
[11:13] <jderose> yes, i am a perfect app :)
[11:13] <jderose> dmedia - https://launchpad.net/dmedia
[11:13] <rodrigo_> jderose, who programmed you? :)
[11:13]  * rodrigo_ looks
[11:14] <fagan> a great app
[11:14] <jderose> dunno, i'm not that introspective :P
[11:14] <fagan> :)
[11:14] <rodrigo_> :D
[11:14] <jderose> rodrigo_: this talks all about my current desktopcouch pain points - https://wiki.ubuntu.com/DesktopCouchWishList
[11:15] <rodrigo_> jderose, hopefully couchdb-glib solves them, let me have a look
[11:16] <rodrigo_> hmm, page not available
[11:16] <jderose> rodrigo_: is there documentation of couchdb-glib api anywhere?  i'm not familiar with what it does, to be honest
[11:16] <rodrigo_> timed out
[11:16] <rodrigo_> jderose, yes, in a debian package
[11:16] <jderose> hmm, try again?  it's working for me
[11:16] <rodrigo_> API reference
[11:16] <rodrigo_> jderose, it's a couchdb client lib
[11:17] <rodrigo_> ah, now the page loads
[11:17] <jderose> rodrigo_: well, i really don't want a "client"... i want to talk to CouchDB with strait HTTP... i just need a light way to get info about what the CouchDB environment is... page explains it
[11:18] <rodrigo_> jderose, that's what couchdb-glib does, although it's got an API that hides the raw HTTP protocol
[11:18] <rodrigo_> yeah, reading it
[11:19] <jderose> rodrigo_: no good for me... i need to talk to CouchDB from webkit with XMLHttpRequest
[11:19] <mandel> rodrigo_: an we provide a name to the avahi service?
[11:19] <rodrigo_> mandel, yes, couchdb-mdns:$username
[11:19] <mandel> rodrigo_: indeed
[11:19] <mandel> jderose: can't you access the c libs from js?
[11:19] <rodrigo_> jderose, right, from js, you can use the gobject introspection API
[11:19] <rodrigo_> that's what gnome-shell does
[11:19] <jderose> mandel: i don't want to ;)
[11:20] <karni> jderose: sounds interesting, what are you working on?
[11:20] <fagan> karni: dmedia
[11:20] <fagan> and novacut
[11:20] <jderose> karni: dmedia is the part that will move video/audio files around for the Novacut distributed video editor
[11:20] <fagan> https://launchpad.net/dmedia
[11:20] <mandel> jderose: why not?
[11:20] <karni> jderose: ah, cool :)
[11:21] <karni> fagan: thanks
[11:21]  * fagan is a fan boi
[11:21] <jderose> mandel: because i'm not using JavaScript because i like it, but because I like a powerful layout engine, and to be able to access as a webservice from a standard web browser :)
[11:22]  * jderose appreciates fagan's consistent fan boi ism :)
[11:22] <fagan> hah
[11:25] <rodrigo_> jderose, ok, had a quick look at that page, and most stuff seems to be solved with couchdb-glib and the replacement for desktopcouch we're looking at
[11:25] <rodrigo_> jderose, only thing is the 'distribution over the web'
[11:26] <rodrigo_> jderose, would that be distributing to non-linux systems?
[11:26] <jderose> rodrigo_: that's a total deal breaker for me then :(
[11:26] <rodrigo_> yes, seems so
[11:26] <jderose> rodrigo_: got to have HTTP be the API, for me
[11:26] <jderose> rodrigo_: which isn't bad... i just need something light that returns the info in my proposed abstractcouch.get_env()
[11:26] <rodrigo_> right, but what do you do when you distribute over the web and the system where it gets distributed doesn't have desktopcouh (the service)?
[11:26] <jderose> and i can take care of the rest
[11:27] <rodrigo_> talk to a remote server?
[11:27] <jderose> yup
[11:27] <rodrigo_> right, so distributing the introspection stuff won't work
[11:27] <jderose> browser talks to remote couchdb... but i want to use as close to the same JavaScript as possible... at most might be a bit of templating
[11:28] <rodrigo_> and you want to share the same code to access couchdb in the desktop client and the web client?
[11:28] <jderose> javascript doesn't need the info from abstractcouch.get_env() by the way... i have a special subclass of WebKit.WebView that trasparently signs the oath request when needed
[11:28] <jderose> yes, same javascript
[11:29] <rodrigo_> right, then I guess the best thing for you is to not use desktopcouch/couchdb-glib, but talk HTTP directly
[11:29] <rodrigo_> if you want to share the same code
[11:29] <jderose> rodrigo_: for example, dmedia UI peices can already run talking to desktopcouch, or system wide CouchDB, and in embedded WebKit, or a browser
[11:29] <jderose> right
[11:30] <rodrigo_> jderose, yes, that part is done transparently in couchdb-glib also
[11:30] <jderose> plus wrappers just keep getting in my way... i need to use CouchDB aggressively
[11:30] <rodrigo_> the couchdb-glib API is a 1:1 mapping of the HTTP API
[11:30] <jderose> rodrigo_: *all* of it? :)
[11:31] <rodrigo_> but again, you'd need couchdb-glib installed and the introspection stuff on all the systems you distribute to
[11:31] <jderose> plus, i don't want a mapping... because i can't use that from webkit
[11:31] <rodrigo_> jderose, most of it, and whatever is missing, I can add it
[11:31] <rodrigo_> right, that's why I think you'd better use HTTP directly, without any API
[11:31] <jderose> yeah
[11:32] <rodrigo_> jderose, what things in the HTTP API (apart from the basic stuff) do you use?
[11:32] <jderose> but to do that, i need to desktoport to stay the same through the session
[11:32] <rodrigo_> jderose, right, we want to solve that in the desktopcouch rewrite
[11:33] <rodrigo_> right now, there is code to announce the port via avahi, and couchdb will be monitored, so that when it dies, it's restarted on the same port
[11:33] <jderose> rodrigo_: um, most all it?  i need a lot of control, need to use very explicitly
[11:33] <jderose> rodrigo_: that would be awesome... that's basically all i need :)
[11:33] <rodrigo_> jderose, ok, just wanted to know what to add in the couchdb-glib API :)
[11:34] <rodrigo_> jderose, that's what it has right now -> http://git.gnome.org/browse/couchdb-glib/tree/couchdb-glib
[11:34] <jderose> rodrigo_: well, i guess something like my abstractcouch.get_env() proposal, possibly - https://wiki.ubuntu.com/DesktopCouchWishList#abstractcouch
[11:34] <rodrigo_> most important thing missing is a better handling of atttachments
[11:35] <rodrigo_> jderose, yes, that looks good, not sure yet how to do the oauth thing
[11:35] <rodrigo_> since having clients to read gnome-keyring is a bad thing
[11:35] <jderose> rodrigo_: for what it's worth, i'm moving toward a very generic REST "adapter" like this - http://bazaar.launchpad.net/~microfiber/microfiber/trunk/view/head:/microfiber.py
[11:35] <rodrigo_> jderose, how is that implemented in your code?
[11:35] <jderose> i have the equivalent thing in javascript
[11:35] <jderose> rodrigo_: here is current - http://bazaar.launchpad.net/~dmedia/dmedia/trunk/view/head:/dmedia/core.py#L89
[11:36] <jderose> the 'dbname' part wouldn't be included... that's dmedia specific
[11:37] <rodrigo_> hmm
[11:38] <fagan> mandel: have any merges for me
[11:38] <fagan> I forgot to ask
[11:38] <mandel> fagan: I'm stuck with a bug and pdb
[11:38] <mandel> fagan: I'll let you as soon as I move :P
[11:38] <fagan> ahh ok
[11:39] <fagan> I just cant do bugs at the moment because my internet is horribly slow
[11:39] <jderose> rodrigo_: are you going to be at uds?
[11:39] <rodrigo_> jderose, yes
[11:39] <rodrigo_> you?
[11:39] <jderose> yup, so we'll have to chat more there
[11:39] <rodrigo_> yes
[11:40] <jderose> rodrigo_: i have a blueprint for this - https://blueprints.launchpad.net/ubuntu/+spec/desktop-o-desktopcouch-enhancements
[11:40] <rodrigo_> ok, just subscribed
[11:40] <rodrigo_> is there a session shceduled for that?
[11:41] <jderose> everyone: i better go to bed, getting cross eyed :)
[11:41] <rodrigo_> :)
[11:41] <rodrigo_> jderose, ok, see you in Budapest
[11:41] <jderose> rodrigo_: um, i'm not totally sure yet... but i pinged jorge castro about it, so i think it's scheduled
[11:41] <jderose> rodrigo_: also this blueprint - https://blueprints.launchpad.net/ubuntu/+spec/other-o-novacut-roadmap
[11:41] <jderose> it's scheduled... monday, right after keynote
[11:42] <jderose> anyway, night everyone!
[11:42]  * jderose sleeps
[11:42] <fagan> night night
[12:22]  * mandel walks dog
[13:59]  * mandel back
[14:02] <mandel> do we have a stand up?
[14:02] <dobey> no
[14:03] <fagan> nope
[14:03]  * fagan just wants to standup and dance
[14:05] <mandel> was there an email that said this that I missed?
[14:05] <fagan> not that I can see
[14:06] <thisfred> jderose: it's approved looks like :)
[14:06] <dobey> mandel: no, but half the team is not around, so not much point :)
[14:08] <fagan> plus no one wants to read about me complaining to my ISP about having crap internet today
[14:08] <fagan> :D
[14:09] <mandel> ok, no problem
[14:09] <dobey> is RyanAir an ISP now too?
[14:09] <fagan> nope but if they did they would be the cheapest and worst around
[14:09] <fagan> :D
[14:12] <fagan> plus there would be a load of hidden charges like if you go onto google instead of bing you have to pay 1 euro
[14:16] <fagan> dobey: your in the US right?
[14:16] <dobey> you're
[14:16] <dobey> and yes i am
[14:16] <fagan> have you noticed a lot of product placement on the tv at the moment
[14:16] <fagan> like every show
[14:16] <dobey> i don't watch tv
[14:16] <fagan> for ford and toyota and bing and windows everything
[14:17]  * fagan has been seeing it a lot
[14:17] <dobey> am too busy being awesome for that junk
[14:17] <dobey> thisfred: ping
[14:17] <fagan> dobey: ah I can be awesome and watch american idol :D
[14:17] <thisfred> dobey: pong
[14:18]  * fagan can multitask
[14:18] <dobey> thisfred: any chance we can fix the control-panel tests to not require having unity installed?
[14:18] <dobey> fagan: that is by definition, not awesome
[14:19] <thisfred> dobey: sure, I thought we were mocking all access to unity anyway
[14:19] <fagan> ha
[14:19] <thisfred> dobey: where does it break?
[14:20] <dobey> thisfred: https://launchpadlibrarian.net/71157354/buildlog_ubuntu-maverick-i386.ubuntuone-control-panel_1.1.0%2Br140-22~maverick1_FAILEDTOBUILD.txt.gz
[14:20] <dobey> thisfred: that's what happens on maverick right now
[14:20]  * thisfred scrolls
[14:21] <dobey> thisfred: probably easier to hit End, and then PgUp to the errors
[14:21] <thisfred> dobey: ah, so it's the mocking itself that fails, because the libraries aren't there
[14:22] <thisfred> dobey: it's not the only problem though. What do you suggest? conditionally skipping those tests?
[14:22] <thisfred> that would be easiest I think
[14:23] <dobey> so there's also one failure on narwhal as well
[14:23] <thisfred> that's surprising
[14:23] <dobey> http://pastebin.ubuntu.com/604085/
[14:23] <thisfred> wtf
[14:24] <thisfred> oh ok, because you're testing on headless?
[14:24] <dobey> thisfred: i think maybe we should just replace with a fake object before the import attempt
[14:24] <dobey> thisfred: i don't think so, xvfb is installed/used there
[14:24] <thisfred> I guess, not sure how to do that though
[14:25] <dobey> yeah, not sure, but it's python so it must be doable right
[14:26] <thisfred> sure, could do dependency injection, but I've come to hate that
[14:26] <thisfred> I'll have a go at it
[14:26] <thisfred> But I think I'll do a try except around the import and skip tests when there is no unity
[14:27] <thisfred> though that's kinda scary
[14:27] <thisfred> so maybe not
[14:28] <mandel> thisfred: there should be no issues if you do know that you skip due to that, you could also add a decoratro (I added a few in u1-dev-tools) that skips if the module is not there
[14:28] <mandel> thisfred: is @skipIf(something)
[14:28] <mandel> which might be cleaner and more obvious
[14:29] <thisfred> mandel: but then if the import fails for some other reason, the tests won't alert us
[14:29] <mandel> well, it depends how smart is your function in the decorator
[14:29] <thisfred> so I prefer better mocking/faking if I can get it to work
[14:30] <thisfred> mandel: the problem is that ImportError can mask a lot of different issues
[14:30] <mandel> indeed
[14:32] <thisfred> So let me see if I can make a mock/fake Unity object without ever trying to import the real one.
[14:36] <dobey> mandel: btw, when did we start using python-imaging in sso?
[14:38] <mandel> dobey: oh, that is a nice one… it is because jpg support is a pluing in Qt, if we did not care about py2exe we will just as the user to install pqt and forget about it
[14:38] <mandel> problem is, that we freeze the app and the qt plugins cannot be loaded due to the way that sip works, so we use PIL to convert the captcha image from jpg to bmp
[14:38] <mandel> major hack and horrible, but ralsina and I could not think of anyother way :(
[14:39] <mandel> I do apologize in the comments
[14:39] <dobey> :-/
[14:41] <mandel> dobey: I know, is shit I have to look deeper into sip and py2exe and C++ plugins
[14:41] <mandel> major PITA
[15:14]  * statik tries to unsee what mandel said about image conversion
[15:15] <dobey> heh
[15:16] <fagan> how are you statik
[15:16] <statik> fagan, groovy thanks. you?
[15:17] <fagan> the ARB hasnt really done much since you left
[15:17] <fagan> statik: im good :)
[15:17] <mandel> statik: I sear to god, I tried not to do it, problem is, qt just support bmp natively, so when you freeze the pyqt UI it starts complaining about threads (seems that the external dlls are loaded in a funny way)
[15:17] <mandel> statik: but it does work if we do not freeze it
[15:17] <mandel> so lets port apt-get :)
[15:17] <statik> mandel, i'm trying to forget but the sadness is so deep and powerful
[15:17] <fagan> gogo apt-get :)_
[15:18] <fagan> mandel: that can be your friday task
[15:18] <fagan> and actually microsoft are making an opensource installer
[15:18] <fagan> its called coapp
[15:18] <fagan> its on lp
[15:19] <mandel> statik: also happens with py2app, take a look http://www.thetoryparty.com/wp/2009/08/27/pyqt-and-py2app-seriously-i-dont-know-what-to-do-with-you-when-youre-like-this/
[15:19] <mandel> fagan: well, I would not wait standing up for it
[15:20] <fagan> hah
[15:20] <thisfred> mandel: dobey: https://code.launchpad.net/~thisfred/ubuntuone-control-panel/hail-discordia/+merge/60189 (had to conditionally skip the test since we already conditionally imported Unity.)
[15:23] <mandel> thisfred: lookin
[15:23] <dobey> thisfred: why not use @skipIf?
[15:23] <thisfred> dobey: because it's not used anywhere in u1cp yet, so I was too lazy to figure out where to import it from. I just did what is done everywhere else
[15:24] <mandel> booo
[15:24] <mandel> all my effort thrown away :P
[15:24] <thisfred> wasted! WASTED!
[15:25] <mandel> rom ubuntuone.devtools.testcase import skipIf
[15:25] <mandel> well, with an extra f
[15:26] <thisfred> all right
[15:26] <thisfred> I'll change it
[15:26] <thisfred> gawd, you're sensitive
[15:26] <thisfred> :P
[15:26] <dobey> thisfred: it's in devtools
[15:27] <thisfred> mandel: also I hate it because it's camel cased
[15:27] <dobey> then you shouldn't use Python
[15:28] <dobey> but i really hate long names with lots of underscores
[15:28] <dobey> camelCase isn't so bad
[15:28] <dobey> as long as the names are brief
[15:28] <dobey> somethingIfInTheSky is annoying
[15:29] <thisfred> dobey: In python you only CamelCase classes ever.
[15:30] <thisfred> never functions or methods.
[15:30] <dobey> and decorators, and methods
[15:30] <thisfred> nope
[15:30] <thisfred> never
[15:30] <dobey> lies
[15:30] <mandel> thisfred: I just followed the same pattern used in unittest2 and the unittest in 2.7
[15:30] <statik> except in the stdlib
[15:30] <thisfred> another reason twisted sucks
[15:30] <thisfred> statik: well there's that ;)
[15:30] <mandel> thisfred: which is in the stdlib :)
[15:31] <thisfred> I hope they got all of those for python 3 but I seriously doubt it
[15:31] <dobey> stdlib is the ritual burial grounds of python
[15:32] <mandel> I just wanted to follow the smae pattern so that if a new devl gets thrown at he understands WTF it does
[15:32] <mandel> is actually the same decorator, but for twisted
[15:32] <thisfred> dobey: yeah I'd advise against building suburbs on top of it ;)
[15:33] <thisfred> mandel: twisted already gets all the casing wrong so you're consistent  ;)
[15:33] <dobey> twisted gets EVERYTHING wrong
[15:33] <mandel> thisfred: you can reuse the decoratator, but add extra logic to chec if unity is present and call it skip_no_unity or something else
[15:34] <thisfred> mandel: dobey r143 pushed
[15:34] <dobey> mandel: he already pushed using skipIf, so just review it :)
[15:34] <thisfred> WOMM (last M is Maverick)
[15:35] <mandel> :D
[15:37] <mandel> thisfred, dobey: can you guys see why I'm getting this: http://pastebin.ubuntu.com/604111/
[15:37] <mandel> I look at it, and I cant find the bloody diff
[15:37] <dobey> mandel: the last entry is different
[15:37] <thisfred> If only we had computers to do work like that for us
[15:38] <mandel> thisfred: the test is complaining, but I dont see why :P
[15:38] <mandel> smart ass ;)
[15:38] <thisfred> mandel: extra space
[15:38] <mandel> oh, saw it
[15:40] <dobey> I wish assertEqual would point out where the differences are, like pylint/etc...
[15:41] <mandel> dobey: yes, that would be the right thing to do
[15:41] <dobey> ubuntu_sso/qt/tests/test_windows.py: 68:  [E0012] Bad option value 'W0106'
[15:41] <dobey> mandel: ^
[15:41] <mandel> dobey: are you in M?
[15:42] <dobey> mandel: i am not, but that is in the nightlies build; we're running the tests during the package builds
[15:42] <dobey> i guess that is an issue with pylint version?
[15:42] <mandel> dobey: but on which system, that was added due to pylint being update
[15:43] <mandel> dobey: yes, that's it
[15:43] <dobey> mandel: it failed on maverick with that
[15:43] <dobey> sigh
[15:43] <mandel> dobey: we can add it in the global ignore, but I dont know if it would work...
[15:43] <mandel> that week I di dsay 'puto pylint' several times...
[15:44] <dobey> eh, i'll just leave it as failed for now, and think about how to fix it
[15:44] <dobey> it's not urgent or anything
[15:45] <mandel> dobey: ok, if you need any help (review etc..) let me know
[15:46] <dobey> i will
[15:46] <dobey> hopefully u1cp builds again after thisfred's branch lands
[15:47] <mandel> I keep reading u1cp as 'one cup'
[15:47] <thisfred> dobey: I don't know: there were a lot of other errors in the tb you sent that I don't get here
[15:47] <mandel> which leads me to remember some stupid video on the internet
[15:47] <thisfred> don't make us ban you mandel
[15:47] <dobey> thisfred: are you on maverick?
[15:47] <thisfred> dobey: 1 machine is
[15:48] <dobey> oh i guess there are some more tests
[15:48] <dobey> that fail on maverick, but not because of unity
[15:48] <dobey> hrmm
[15:48] <thisfred> dobey: not here though...
[15:48] <dobey> well let's see what it does now, with your branch
[15:48] <thisfred> I only got the 4 unity failures that are all the same tes
[15:49] <thisfred> t
[15:49] <dobey> thisfred: well it could be an environmental issue
[15:50] <thisfred> tis merged
[15:50] <dobey> yep and nightlies are building
[15:51] <psypher246> karni: Hi karni, with reagrsdc to bug: 776221, I have had no response from Joshua, so I was wondering that my only option now is to re-upload all my data
[15:52] <karni> psypher246: hi! oh that's bad. he might be in Budapest before UDS. I can e-mail him and ask if there's been any progress on this, if you'd like that.
[15:54] <karni> psypher246: e-mail sent
[15:54] <karni> psypher246: he's not in IRC atm so it's the best way to catch him I believe.
[15:54] <psypher246> karni: thanks, i just need to know cos i might have to give the broken laptop hard drive back to dell
[15:55] <psypher246> karni: so i might loose that intact ubuntu one folder, so i might just hav to copy the data over and start again
[15:57] <karni> psypher246: right, I see :( Well, maybe let's wait until the rest of day and if there's no response, you could start uploading it back (in a manner, that would not delete any of that intact data. for instance, remove write permission just to be sure syncdaemon doesn't fsck something up)
[15:57] <psypher246> ok cool thanks man
[16:09]  * alecu is done packing, and about to leave for the airport
[16:14] <karni> psypher246: please, just take great caution if you want to reconnect to ubuntu one on primary. I wouldn't want those unlinks to sync back to your machine. I don't feel the best person to assist you with reconnecting, but disconnecting was the only way to keep it safe. I hope Josh will get back to me, because many ppl are on holiday or vacation at this moment.
[16:15] <psypher246> karni: don't worry i am just going to make a straight copy of all my files in there to another location so it will all be safe
[16:16] <psypher246> karni: it's not the end of the world that I have to re-upload, at the moment i am mroe interested in trying to help you fix a bug for future use, if this problem helps learn something new then I'm happy
[16:16] <karni> psypher246: that'd be a good idea. although I know you've purchased a 20 pack so you could expect to back it up in the cloud and it Should Work™
[16:16] <dobey> oh i guess he left for eze already
[16:17] <karni> psypher246: yes, definitely. We've certainly learned that users should only copy their files, first of all. Question is, what should they do if they have already copied meta data also and connected to the cloud at least once.
[16:17] <karni> dobey: eze ?
[16:19] <dobey> karni: airport in buenos aires
[16:19] <karni> dobey: oh
[16:19] <dobey> alecu :)
[16:23] <danyR> hey u1ers. I'm having some problems with facebook contact syncing. I set up everything, no errors reported, but then no contacts show up
[16:28] <dobey> lunchtime bbiab
[16:36] <fagan> danyR: there arent many here today
[16:36] <fagan> I dont really know who to ask about the website either and I cant really help
[16:37] <rockstar> danyR, hi
[16:37] <karni> fagan: I did ;)
[16:37] <fagan> hah
[16:37] <JamesTait> rockstar: I'll let you take it then. :)
[16:37]  * fagan just thought it and people jumped in
[16:37] <rockstar> JamesTait, I'm only going as far as finding out it's not my fault, then I punting to you.  :)
[16:38]  * JamesTait felt a disturbance in the Force. ;)
[16:38] <JamesTait> rockstar: Haha, OK!
[16:39]  * JamesTait tag-teams with rockstar on danyR's problem.
[16:39] <karni> fagan: I did the same + ask on #web-and-mobile ;)
[16:40] <fagan> karni: on canonical or ubuntu irc?
[16:40] <karni> fagan: canonical
[16:40] <fagan> ahhhh
[16:40] <JamesTait> rockstar: I'll let you take the UI part, since you're way more familiar with that than I am.
[16:40] <fagan> I didnt think we had one on ubuntu
[16:41] <karni> fagan: Plus, I'm from web-and-mobile, so I should now :)
[16:41] <karni> danyR: yo dawg, people here waiting to help, you better use that opportunity ;)
[16:42] <fagan> karni: well if you didnt it would be very funny
[16:42] <karni> fagan: It would be sad.
[16:43] <fagan> karni: well I still find it hard to know who does what around here
[16:43] <fagan> I know my team even if I think nessita and natalia are different people
[16:43] <fagan> :d
[16:43]  * fagan hates IRC nicks sometimes
[16:44]  * fagan is plotting a replacement that everyone has to use their names or something
[16:44] <karni> fagan: because you're so focused on working with mandel ;)
[16:44] <karni> fagan: /whois :P
[16:44] <fagan> karni: yeah isnt that a good thing
[16:45] <karni> fagan: then, I should only know myself and CardinalFan-g ;d So it's not a good excuse ;)
[16:45] <fagan> karni: tis
[16:45] <fagan> :D
[16:45] <karni> ok, enough of my rambling. back to work
[16:45] <fagan> well im off in 15 anyway
[17:00] <fagan> EOW
[17:00] <fagan> EOD
[17:00] <fagan> later safe trips to UDS
[17:01] <danyR> rockstar: sorry, I'd to leave unexpectedly :)
[17:15] <rockstar> danyR, how can I help?
[17:16] <danyR> rockstar: U1 web interface says my contacts are synced. however, not a single contact is displayed (no errors reported during the proccess).
[17:18] <rockstar> danyR, did you ever see a little box that asked you if you'd like to create empty contacts from your Facebook contacts?
[17:18] <rockstar> danyR, also, do you have existing contacts that aren't Facebook contacts?
[17:18] <danyR> rockstar: about 1), yes, I think I saw it one or two times. may have accepted it, in fact
[17:19] <danyR> rockstar: I'd at the time. In the meantime I deleted all contacts, so no contacts right now
[17:20] <rockstar> danyR, could you de-authorize Facebook and try again, this time paying attention to the boxes that pop up?
[17:20] <rockstar> And don't navigate from the page while it's working.
[17:21] <danyR> rockstar: Should I de-authorize the U1 App in my Facebook settings?
[17:23] <rockstar> danyR, you can do it from U1 as well.
[17:23] <rockstar> In fact, that'd be preferable.
[17:24] <danyR> rockstar: syncing... :)
[17:29] <danyR> rockstar: "Yey, you don't seem to have any duplicate contacts!"
[17:30] <danyR> rockstar: Everything seems to have gone great. Should I refresh the page now that it has ended?
[17:33] <danyR> rockstar: no success, still no entries :(
[17:42] <rockstar> danyR, ooh, I think you may have found a bug, actually.
[17:45] <danyR> rockstar: any info required for debugging?
[17:45] <rockstar> danyR, nope, I know exactly what's wrong there.
[17:45] <danyR> rockstar: ok, cool. glad I could help :)
[17:47] <thisfred> CardinalFang: any idea why desktopcouch-service would take 100% CPU? Getting multiple reports
[17:48] <thisfred> mother bug #774295
[17:48] <ubot4> Launchpad bug 774295 in desktopcouch (Ubuntu) "desktopcouch-service hangs up CPU (affects: 4) (dups: 1) (heat: 18)" [Undecided,Incomplete] https://launchpad.net/bugs/774295
[17:48] <SteveA> hey there!
[17:49] <thisfred> hey SteveA!
[17:49] <thisfred> congrats on the nowtalking launch!
[17:50] <SteveA> thanks thisfred
[17:50] <SteveA> I'm writing a blog article about pre-implementation reviews
[17:50] <SteveA> and I'm wondering how much they're used for developing ubuntu one
[17:51] <thisfred> So reviews in the design phase?
[17:51] <thisfred> I'm not sure I understand what they are :)
[17:52] <teknico> SteveA, ehi, what's up? :-)
[17:53] <SteveA> I was chatting to Geir from Jarn, and when someone takes a task (say a bugfix), they are encouraged to have a 5-20 minute chat with a team member
[17:53] <SteveA> to talk through what they're going to be doing
[17:54] <SteveA> the launchpad team do something similar, where there's an optional pre-implementation review (that gets noted in the merge proposal)
[17:54] <SteveA> that usually happens with a squad-member
[17:54] <thisfred> SteveA: on bugs I would say we don't often do that unless the assignee is unclear how to proceed. With new features I think we do this pretty extensively, starting with UDS, then back and forths between design and developers.
[17:54] <SteveA> or, if the work is deep in the guts of something specific, with someone else who knows a lot about that area
[17:55] <SteveA> hi teknico!
[17:55] <thisfred> Right. I find myself often asking for help before starting coding, especially since moving to desktop, but that's not exactly the same as making a plan and having that reviewed.
[17:55] <SteveA> well, it's not formal
[17:55] <SteveA> like making a plan and having that reviewed
[17:56] <thisfred> right, just a chat
[17:56] <SteveA> it's more like having a planning conversation out-loud with a partner
[17:56] <SteveA> perhaps to avoid the kind of self-deception where I'll think I know what I'm going to be doing in detail
[17:56] <thisfred> well, I don't think we do that a lot yet, but it sounds like a good idea
[17:56] <SteveA> but really I've glossed over important specifics to myself
[17:56] <thisfred> right
[17:56] <SteveA> but this gets revealed when I try to explain it to someone else
[17:57] <thisfred> basically pair programming before the programming starts
[17:57] <SteveA> I like that
[17:57] <SteveA> and considering that programming is a lot about communication with other programmers
[17:57] <thisfred> I know I often had and have very fruitful discussions with vds and teknico before starting work, so I know this works
[17:58] <teknico> that's because we're both Dutch ;-)
[17:58] <thisfred> hehe
[17:58] <vds> SteveA, hello!
[17:58] <SteveA> hi vincenzo!
[18:00] <thisfred> chad also bug #764931 is waiting for an answer
[18:00] <ubot4> Launchpad bug 764931 in desktopcouch (Ubuntu) "desktop couch service changes to zombieprocess (affects: 1) (heat: 185)" [Undecided,Incomplete] https://launchpad.net/bugs/764931
[18:00] <thisfred> s/chad/CardinalFang/
[18:02] <CardinalFang> thisfred, thanks.
[18:03] <thisfred> CardinalFang: nessita is bored in Budapest. Guess it beats sleepless in Seattle ;)
[18:10] <dobey> hi SteveA! congrats!
[18:11] <SteveA> hi dobey! thanks!
[18:12] <dobey> SteveA: i'll be in amsterdam for a short layover on sunday. :)
[18:12] <dobey> not enough to get out of the airport though
[18:12] <SteveA> no way! what time?
[18:13] <dobey> 13:05-14:35
[18:13] <dobey> so i'll probably have 40 minutes total in the airport :)
[18:14] <SteveA> I'd meet you for a coffee at the airport, but I'm giving a workshop at that time
[18:14] <SteveA> let me know next time. I live only a short tram+train ride from the airport
[18:15] <dobey> cool
[18:18] <dobey> SteveA: re: pr-impl reviews, i don't think we have anything like that in the documented sense; but with u1 being so broad, i think we just have people talking a lot in general, as they move into using new APIs they aren't familiar with, and such
[18:19] <dobey> thisfred: looks like the u1cp dailies still fail; a lint issue in narwhal which i can fix with a build-depends i think, and the other weird test errors on maverick
[18:20] <thisfred> dobey: yeah strange, I cannot reproduce the maverick ones here
[18:20] <dobey> thisfred: weird. i think i have an idea where to look, though
[18:20] <thisfred> dobey: In the general direction of Barcelona? ;)
[18:21] <dobey> no, seems unrelated to windows
[18:21] <thisfred> Barcelona/Redmond, the axis of evil
[18:22] <dobey> thisfred: you have maverick readily available, right?
[18:22] <thisfred> yep
[18:22] <thisfred> I speak to you from the past
[18:22] <dobey> thisfred: what does "dpkg -L gir1.0-soup-2.4|grep typelib$" output?
[18:22] <thisfred> /usr/lib/girepository-1.0/SoupGNOME-2.4.typelib
[18:22] <thisfred> /usr/lib/girepository-1.0/Soup-2.4.typelib
[18:23] <dobey> ok, so it is there. i think SoupGNOME might be broken though :(
[18:23] <thisfred> Still, why would the tests pass here?
[18:24] <dobey> no idea yet
[18:25] <dobey> i'll fix the narwhal issue first
[19:03] <dobey> sweet, the narwhal one built now
[22:05] <dobey> later all
[23:37]  * karni likes Natty!
[23:39] <karni> What I don't like is it stealing my OMGZ-so-often-used command key for shortcuts
[23:46] <karni> bummer, touchpad not working correctly. /me googles
[23:46] <duanedesign> karni: hello!
[23:47] <duanedesign> karni: been a looooong day. My dad is out of town so I am fifling inf or him
[23:48] <duanedesign> karni: he does paving work like asphalt and concrete.
[23:48] <duanedesign> i am sore. Hard to go from working on a laptep to very demanding physical labor.
[23:54] <karni> duanedesign: holly crap, that must have been really tiring :(
[23:56] <duanedesign> ughhhh
[23:56] <duanedesign> i used to do it a lot when I was in college. Wasnt so bad back then.
[23:56] <karni> duanedesign: FYI almost every holiday (apart from last GSoC) I turned from programmer to low profile, sometimes physical work as well (family business)
[23:56] <karni> duanedesign: You got some exercise ;)
[23:57] <duanedesign> but Iam gettin to old, or used to being behinda desk, for that work
[23:57] <duanedesign> karni: yeah that is the way i tr to look at it
[23:58] <duanedesign> karni: so I guess you have gotten a fair understanding of the syncdarmon code?
[23:58] <karni> duanedesign: I'm just getting used to Natty. Hitting the 'command' key to switch workspaces and turning on random things from the fancy bar on the left side.
[23:59] <karni> duanedesign: Mostly in January and February when I wrote it in Java. During GSoC it was more of a really basic sync, and in Jan/Feb I wanted it go to full fledge.
[23:59] <duanedesign> putting your favorute apps in the top 10 spaces is noce. Then you can hit Super + <1-10> to open the app
[23:59] <karni> duanedesign: heh, and now we've turned to REST. But it's really awesome, too bad we didn't have it 2-3 months earlier.
[23:59] <duanedesign> top ten spaces of launcher