[04:17] <bigjools> jtv: why would maasserver tests do this?
[04:17] <bigjools> ImportError: cannot import name oauth
[04:17] <bigjools> I can't reproduce in bin/py
[04:17] <jtv> Isn't that the python-django-piston problem?
[04:17] <jtv> Where _on our dev systems_ you got this error if you installed python-django-piston, but on Q/A systems you didn't?
[04:17] <bigjools> grar
[04:18] <bigjools> I'll remove the egg and see
[04:18] <jtv> We ended up with the hypothesis that it was caused by mixing buildout and packages.
[04:18] <bigjools> yeah
[04:18] <bigjools> buildout's copy needs to be junked,we can't use it at all
[04:18] <jtv> Still a load of test errors?  Damn.
[04:24] <bigjools> down to 11 failures, 6 errors
[04:24] <bigjools>     from testresources import FixtureResource
[04:24] <bigjools> ImportError: cannot import name FixtureResource
[04:24] <bigjools> hmm
[04:27] <jtv> Latest version on pypy is from January; still has FixtureResource in __init__.py as before.
[04:28] <jtv> *pypi
[04:28] <bigjools> python-testresources 0.2.4-1ubuntu1 doesn't have it
[04:28] <lifeless> Uhm
[04:28] <bigjools> wtf
[04:28] <lifeless> so check what that ubuntu1 upload is
[04:28] <lifeless> someone may have uploaded without sending upstream
[04:29] <lifeless> trunk is :
[04:29] <lifeless> revno: 60
[04:29] <lifeless> tags: 0.2.5
[04:29] <lifeless> branch nick: trunk
[04:29] <lifeless> timestamp: Fri 2012-01-27 17:59:50 +1300
[04:29] <bigjools> yeah it should be in 0.2.5
[04:29] <bigjools> I have the egg with it in
[04:29] <bigjools> why is my buildout not picking it up
[04:29] <bigjools> oh god
[04:29] <lifeless> 0.2.5 is on pypi
[04:29] <bigjools> it's not packaged, that's all
[04:30] <bigjools> but I  thought buildout would pick the egg over the installed package based on version
[04:30] <bigjools> seems not :(
[04:30] <lifeless> nope
[04:30] <lifeless> it trusts you have it all, if you allow it to use system packages at all
[04:31] <bigjools> something in my quantal upgrade must have pulled it in
[04:36] <bigjools> Down to: FAILED (SKIP=1, errors=7, failures=2)
[04:37] <jtv> bigjools: need anything reviewed for that?
[04:38] <bigjools> no, removing the package fixed itg
[04:38] <jtv> Well, any of the fixes you came up with?
[04:38] <bigjools> jtv: can you look at the top error here
[04:38] <bigjools> http://paste.ubuntu.com/1218063/
[04:38] <bigjools> yeah, starting on fixes now :)
[04:38] <jtv> See?  I've been waiting for a chance to get in on this :)
[04:39]  * bigjools grabs a sandwich, back in 10
[04:50] <jtv> That top error is a Django-specified method in our XMLField getting hit by a signature change.
[04:51] <jtv> Looks fixable.
[04:57] <bigjools> yeah
[04:57] <bigjools> also means blue squad is not on quantal :)
[04:59] <jtv> Review? https://code.launchpad.net/~jtv/maas/quantal-get_db_prep_lookup/+merge/125632
[04:59] <jtv> I'm trying to test it on a quantal canonistack instance, but having some trouble getting set up.
[04:59] <bigjools> ok
[05:00] <jtv> Did you get buildout complaining that it can't find lxml 2.3.2?  I'm trying 2.3.5 instead.
[05:00] <bigjools> nope
[05:00] <jtv> (My fix does pass tests on precise)
[05:01] <jtv> Could you be unwittingly benefiting from caching or something?
[05:01] <jtv> Like lxml 2.3.2 not being available for quantal, but buildout using your existing egg oblivious to the upgrade?
[05:06] <bigjools> running tests with your branch
[05:06] <bigjools> I have 2.3.2 in cache
[05:06] <jam> I'm trying to run just 'make test', but it is failing because testscenarios has no attribute WithScenarios.
[05:06] <bigjools> morning jam
[05:06] <jam> hi bigjools
[05:06] <bigjools> jam: hehe - see my email to maas-devel
[05:06] <jam> this seems to only be in 'maastesting' vs 'maasserver' so I can skip it
[05:07] <bigjools> are you on quantal?
[05:07] <jam> bigjools: this is on precise, though, not Q
[05:07] <bigjools> ok
[05:07] <bigjools> do you have python-testresources installed?
[05:07] <bigjools> if so remove it
[05:08] <bigjools> jtv: approved
[05:08] <jtv> thx
[05:08] <bigjools> passes tests now
[05:08] <bigjools> well, that one does
[05:08] <jtv> Damn, there goes my momentary elation
[05:09] <bigjools> jtv: although, it seems to have made the NoRabbit errors go away too
[05:09] <bigjools> no idea how!
[05:09] <jtv> Urr
[05:09] <bigjools> 2 failures left
[05:09] <jtv> Well don't complain.  :)
[05:09] <bigjools> both apidoc
[05:09] <jtv> Yeah
[05:10] <jtv> And suspiciously dependency-no-longer-works-the-way-we're-used-to-like.
[05:10] <bigjools> whut?
[05:11] <jam> bigjools: 'make' installs testresources
[05:11] <jam> so it is listed as a dependency
[05:11] <bigjools> ha
[05:11] <jtv> Oh joy my canonistack instance is full
[05:12] <jam> I don't have it from 'apt-get install', though.
[05:12] <jam> so I should do 'apt-get install' and try to match that version to the one for buildout?
[05:12] <bigjools> jam: oh that is fine
[05:12] <bigjools> no, you need the buildout one
[05:12] <bigjools> the one we need is not packaged
[05:13] <jam> k
[05:14] <bigjools> jam: so I have no idea why you get that error then, it works fine here
[05:14] <bigjools> you could see which actual file it's importing to make sure it's the one you expect
[05:17] <jam> bigjools: the isolation doesn't seem to be working properly.
[05:17] <jam> it is loading the system testscenarios (which was later than the buildbot one)
[05:17] <jam> I'm surprised it loads from system before loading from buildbot
[05:17] <jam> note that I need testscenarios for other code
[05:17] <bigjools> apt-get remove python-testresources
[05:17] <jam> so I can uninstall it for now
[05:18] <jam> bigjools: apt-get remove python-testscenarios
[05:18] <jam> not resources
[05:18] <jam> however,
[05:18] <bigjools> oh
[05:18] <jam> I will need it to do u1db tests
[05:18] <bigjools> we set up buildout to prefer system packages
[05:18] <jam> so if bin/test would load from buildout cache before system, my life would be better
[05:18] <jam> bigjools: isn't the whole point that buildout should override system?
[05:19] <bigjools> it does, if you tell it to
[05:19] <jam> (use system if it matches, but use the custom defined one if present)
[05:19] <bigjools> I mean, it doesn;t compare versions
[05:19] <bigjools> so if you tell it in buildout.cfg you want that package, then it'll use it
[05:19] <bigjools> unless it's already installed
[05:20] <bigjools> I think it was done like this to reduce the dependency on pypi, otherwise it downloads a lot of stuff
[05:20] <jam> bigjools: I have testscenarios 0.3 installed in ~/.buildout/eggs
[05:20] <jam> I also have 0.2? installed in /usr/lib
[05:20] <jam> but when I run 'bin/test' it loads the system one
[05:20] <jam> not the buildout one
[05:20] <bigjools> yes that's expected
[05:21] <jam> bigjools: I'm pretty sure the 'reduce dependency on pypi' was that it wouldn't download packages whose versions you already ha
[05:21] <jam> had.
[05:21] <bigjools> sadly buildout does not compare versions :(
[05:21] <jam> bigjools: it did for me with ipython-0.12 vs ipython-0.12.1
[05:22] <jam> when versions.cfg said 0.12 and I had 0.12.1 installed globally
[05:22] <jam> it would try to download until I updated
[05:22] <jam> the versions.cfg to point to 0.12.1
[05:22] <jam> now, possibly at *runtime* it doesn't compare versions
[05:22] <jam> but it does seem to at 'make' time
[05:22] <bigjools> jam: it didn't download because you had a system one installed
[05:22] <bigjools> it ignores versions completely
[05:22] <jam> bigjools: it *did* download until I made the version in versions.cfg match the system one
[05:23] <jam> I'm quite sure about that
[05:23] <bigjools> oh?  lifeless ^ ?
[05:27] <lifeless> ?
[05:27] <lifeless> bigjools: whats up ?
[05:27] <bigjools> lifeless: version thing you mentioned earlier
[05:28] <lifeless> bigjools: if there is a pth file or egg metadata
[05:28] <lifeless> bigjools: if there isn't, I don't think it can tell, and that will depend on the package
[05:29] <jam> so I think what you want is for the 'build' step to say 'if you have the version in sys.path, use it, else download to the egg cach', and then the 'run' step to say 'if it is in the egg cache, use it, else use the system one'
[05:30] <jam> just found out today that there is a 'great firewall of UAE': http://www.du.ae/Documents/Annex%201-IAM%20Regulatory%20Policy%20ver%201%200%2029July2008.pdf
[05:30] <jam> I was a bit surprised that online dating is one of the blocked sites.
[05:30] <jam> "social networking" is listed, but isn't that facebook/twitter/g+ ?
[05:30] <jam> and those certainly aren't blocked
[05:30] <jtv> Yeah, blocked in many countries though.
[05:31] <jam> jtv: yeah fb was blocked in syria for a while, might even be now with the fighting
[05:31] <jtv> Usually all kids and subversives know how to get around it, but “decent” people get kept out of the 21st century.
[05:31] <jam> jtv: well the first blocked thing is places that let you get around blocking
[05:31] <jam> but there are lots of ways to do that :)
[05:32] <jam> but VOIP is also prohibited
[05:32] <jam> I guess because phone calls are expensive here, and they want to keep their monopoly
[05:32] <jam> (something like $0.40/min to call internationally)
[05:32] <jtv> Here too, as are VPNs.  We've had Google's appserver blocked, dropbox, twitter, youtube...  The consequences of blocking aren't usually taken into account because the people who do this are rarely fully aware of what they're damaging.
[05:33] <jtv> Didn't the UAE also have Etisalad with its infamous *.com SSL certificates?
[05:34] <jam> jtv: the main carrier here is Etisalat (has been for a long time) I hadn't heard about *.com though
[05:34] <jam> that's pretty worrying
[05:34] <jam> my *specific* carrier is the only competitor Du, but that is just because of whatever region I'm in
[05:34] <jtv> Yup.  Issued for the purpose of censorship.  Trusted by all clients, at least until a recent surge of awareness.
[05:35] <jtv> My understanding is that typically these countries regulate their incumbent carriers' censorship policies onto other carriers as well.
[05:35] <jam> jtv: the ultimate MitM attack, carried out by your provider, and government approved.
[05:35] <jtv> CA-approved even.
[05:35] <jam> which is why when the government does it, it is so much scarier than when j-random-citizen tries
[05:36] <bigjools> quantal is doing my head in, no sound at all today
[05:36] <jtv> Time to start thinking about dual-boot setups.
[05:37] <jtv> So that you can track which of your hardware is really, natively supported in the upgrade before you commit fully.
[05:38] <jtv> I got a message saying that I may not have a usable desktop after the upgrade.
[05:39] <jam> jtv: there is some way to get raw content out of django, though, as I think we're trying to do that for the xmlfield
[05:39] <jam> (for the file storage discussion)
[05:40] <jtv> You mean you support a choice of encodings in the xml, without re-encoding for storage purposes?
[05:40] <jam> jtv: https://docs.djangoproject.com/en/dev/howto/custom-model-fields/https://docs.djangoproject.com/en/dev/howto/custom-model-fields/
[05:40] <jam> jtv: actually, we are just trying to make it so we can run custom xpath_* queries
[05:40] <jam> which isn't directly supported by django
[05:40] <jam> but it sounds like something that would let you do bytea as well.
[05:42] <bigjools> jtv: what did you think to my packaging suggestion?
[05:42] <jtv> It may have been something to do with the dynamicism of field conversions in django.
[05:42] <jtv> bigjools: saw the thread, but didn't look too closely.  Which was your suggestion?
[05:42] <bigjools> jtv: you need to read it
[05:42] <bigjools> it's a little involved
[05:42] <jtv> OK, I'll dig it up
[05:44] <jtv> jam: when you write field conversions in django, you get very little information about what the intended conversion is.  Basically you get “a value,” and it's up to you to figure out whether that needs any conversion.  Sometimes the conversion seems to go in unexpected directions, too.
[05:47] <jtv> bigjools: your suggestion sounds good to me — but then I never got around to understanding the distribution of responsibilities between maas-dns and maas-dhcp.  Until recently I thought maas-dhcp was de facto the seedling of the cluster-controller package.
[05:48] <jtv> (Small note: the provisioning server may require maas-cli, since it uses apiclient)
[05:48] <bigjools> gah
[05:50] <jtv> Meanwhile, my experiments on quantal suggest that we need: https://code.launchpad.net/~jtv/maas/quantal-updates/+merge/125634
[05:51] <bigjools> jtv: why do we need bzr?
[05:51] <jtv> Ohhhh — that's the one Gavin added for now-unclear reasons, innit
[05:51] <bigjools> commandant
[05:51] <bigjools> I think it can go, I asked on the list earlier
[05:52] <jtv> In any case, 2.5.1 will break the build and 2.6.0b2 doesn't.
[05:52] <bigjools> 2.5.1 works here
[05:52] <jtv> Cached?
[05:52] <bigjools> well - it gets downloaded
[05:52] <jtv> hmmm
[05:52] <jtv> On a fresh canonistack instance it said no distribution found.
[05:53] <bigjools> nfi then
[05:53] <jtv> Ahh, I think that was before I ran an upgrade on it.
[05:53] <bigjools> also, why are we specifying precise versions
[05:53] <bigjools> why not > <version>
[05:54] <jtv> Didn't know you could.
[05:54] <bigjools> or >=
[05:54] <jtv> I guess ideally at this stage, we'd be tracking Quantal's versions.
[05:54] <bigjools> I'd rather not be specific
[05:54] <bigjools> we have to QA it either way
[05:55] <jtv> Doesn't that carry a risk of accidentally relying on changes that are newer than what quantal has/
[05:55] <jtv> ?
[05:56] <bigjools> no, because we have to QA it
[05:56] <bigjools> we should only get specific when a particular problem is found
[05:57] <bigjools> otherwise we'll forever be amending versions in buildout.cfg
[05:58] <bigjools> versions.cfg even
[05:58] <jtv> So… want me to slap in a bunch of “>=” then?
[05:59] <bigjools> we need to review it, but don't do it now.
[05:59] <jtv> OK
[05:59] <bigjools> your point above would equally apply to relying on versions that are less than quantals
[05:59] <jtv> I do find I need a newer lxml though.
[06:00] <jtv> Yes, absolutely.
[06:00] <bigjools> ok
[06:01] <jtv> What was causing that piston error about _is_string again?  You had a fix for that, right?
[06:01] <bigjools> yeah remove your local piston egg and cache
[06:01] <bigjools> we need to remove it from buildout and put it in required-deps
[06:02] <jtv> Weird.  This is on a clean system.
[06:02] <jam> jtv: I'd be interested in voice chatting with you about: https://code.launchpad.net/~jtv/maas/node-nodegroup-api-ui/+merge/125624
[06:02] <bigjools> the only use of bzrlib that I can find is src/maascli/__init__.py:from bzrlib import osutils
[06:02] <jam> just to get an understanding of that system, and review your code while I'm there.
[06:02] <jtv> jam: OK — but I'll need a few moments to prepare.
[06:07] <jam> allenap: you are using osutils.get_unicode_argv(), but it seems to be the only use of bzrlib
[06:08] <jam> Is there a plan to use more? Or can we just split out that code rather than bringing in all of bzr as a dependency?
[06:08] <bigjools> yes I was wondering the same
[06:08] <jam> right, so it was certainly useful for commandant
[06:08] <jam> but now that we aren't doing that
[06:08] <jam> the dependency is quite small
[06:08] <bigjools> allenap won't be around for about 2 hours though
[06:11] <jtv> jam: ready now — name your medium
[06:11] <jam> jtv: whatever is your favorite :)
[06:12] <jtv> Face to face over coffee!?
[06:12] <jam> jtv: that would be best, I agree
[06:12] <jtv> Deal.
[06:12] <jtv> Until you get here, I'll set up a hangout.
[06:13] <jtv> jam: I've invited you.
[06:14] <jtv> bigjools: removing my piston egg didn't help, and I don't think I have a cache.  Wonder what else could be going on.
[06:14] <bigjools> jtv: clean and rebuild
[06:15] <bigjools> well just make check will do that
[06:15] <bigjools> this definitely fixed things for me earlier
[06:36] <jtv> Not for me.  :(
[06:40] <bigjools> jtv: have you installed the quantal python-django-piston?
[06:40] <bigjools> it has the fix in it
[06:40] <bigjools> for sure
[06:40] <jtv> I don't even see it in my available packages.
[06:41] <bigjools> you need 0.2.3-1ubuntu2
[06:42] <jtv> Guess I need some repository that isn't configured.
[06:42] <bigjools> like quantal? :)
[06:43] <bigjools> it's right there https://launchpad.net/ubuntu/+source/python-django-piston/0.2.3-1ubuntu2
[06:44] <jtv> This is a quantal instance.
[06:44] <bigjools> apt-get update
[06:44] <jtv> I wonder why it doesn't pick up the existence of that package.
[06:44] <jtv> Yeah, been doing that.
[06:44] <bigjools> how are you trying to install?
[06:44] <jtv> dselect
[06:44] <bigjools> ?!
[06:44] <jtv> Nothing there with “piston” in the name.
[06:45] <bigjools> apt-get install python-django-piston
[06:45] <bigjools> if you want to query availability, use "apt-cache search <thing>"
[06:45] <jtv> !?  How can that work in apt and not dselect?
[06:45] <jtv> Oh shut up.
[06:45] <bigjools> dpkg -l <package> shows if it's installed
[06:45] <jtv> I know about apt-cache search, it's just a hassle compared to interactive pattern searching.
[06:46] <bigjools> don't use dselect
[06:46] <jtv> But why doesn't it see the package?
[06:46] <jtv> Oh God it has its own cached package lists…
[06:46] <bigjools> NFI
[06:46] <bigjools> I don't even have it installed
[06:47] <bigjools> friends don't let friends use dselect
[06:48] <jtv> I've been used to it for about a decade.
[06:48] <jtv> I found it friendlier than aptitude.
[06:48] <bigjools> don't use aptitide
[06:48] <bigjools> aptitude even
[06:49] <bigjools> while it works most of the time, it does have a different dependency resolver to apt, and apt is the reference
[06:52] <bigjools> jtv: https://code.launchpad.net/~julian-edwards/maas/fix-quantal-piston/+merge/125638
[06:52] <jtv> Some people swear by aptitude's resolver, apparently.  Again, I'm more used to apt's.
[06:53] <bigjools> it can offer some interesting resolutions to conflicts, but they are likely to break things even more.
[06:53] <jtv> Reviewed.
[06:53] <bigjools> cheers
[06:53] <jtv> Had some weird trouble with the “lxml >= 2.3.2” in Precise, will try in Quantal.
[06:57] <bigjools> oh?
[06:58] <jtv> The error is one of those things that make you go “yes, and…?”
[06:58] <jtv> «Error: Picked: lxml = 2.3.5»
[06:58] <bigjools> :)
[06:58] <bigjools> oooooo I know
[06:58] <jtv> Let's turn that smile up-side down.
[06:58] <bigjools> we have explicit versions turned on iirc
[06:58] <bigjools> bugger
[06:59] <bigjools> allow-picked-versions = false
[06:59] <bigjools> bugger
[06:59] <bigjools> why, I wonder
[06:59] <bigjools> we really need to start uding system packages more instead of pypi
[06:59] <bigjools> using*
[07:00] <bigjools> morning rbasak
[07:00] <bigjools> argh
[07:00] <bigjools> morning rvba
[07:00] <rvba> Hi bigjools.
[07:02] <jtv> Hi rvba
[07:03] <rvba> \o jtv.
[07:03] <jtv> Yes, rbasak does raise the suspicion of queue-jumping.
[07:08] <bigjools> I have to reboot, because plugging in new usb device seems to still have a bug that is now about 4 years old which makes the mouse disconnect >:(
[07:08] <jtv> It'll get triaged any day now, I'm sure
[07:09] <bigjools> srsly annoying.
[07:09] <bigjools> brb
[07:13] <jtv> rvba: would appreciate your input on the django incantations I applied here → https://code.launchpad.net/~jtv/maas/node-nodegroup-api-ui/+merge/125624
[07:13] <rvba> jtv: ok, I'll have a look.
[07:13] <jtv> Thanks
[07:32] <bigjools> rvba: did you see my packaging suggestion around clusters etc?
[07:32] <rvba> bigjools: not yet.
[07:33] <bigjools> rvba: check out maas-devel
[07:35] <rvba> Reading it right now.
[07:35] <rvba> jtv: I've reviewed your branch.  Looks ok but I've got a few remarks.
[07:35] <jtv> Thanks for the additional notes.
[07:37] <rvba> bigjools: I've made some experiments on how to route tasks in celery yesterday btw.
[07:37] <bigjools> rvba: cool, all ok?
[07:38] <rvba> bigjools: yes, queue creation works, routing ok, broadcast messages ok.
[07:38] <mgz> jtv: thanks for fixing the get_db_prep_lookup thing
[07:38] <jtv> np
[07:38] <bigjools> good - I played around a long time ago and it was ok in my experiments so good to hear you went well too
[07:39] <jtv> I'm happy at last to have validation for my habit of “if it's somebody else's signature, accept *args & **kwargs and pass them in the upcall.”  :)
[07:42] <bigjools> GNARGH
[07:42] <rvba> bigjools: btw, when running the test suite on quantal, I've got only 2 failures, all related to the api doc.
[07:42] <bigjools> usb disconnection AGAIN
[07:42] <bigjools> rvba: yes that is all that is left now
[07:43] <rvba> bigjools: not so bad after all then :)
[07:43] <bigjools> rvba: that's because we've been fixing them all day ;)
[07:43]  * bigjools reboots AGAIN
[08:17] <allenap> jam, bigjools: Yes, bzrlib's there just for osutils. I considered breaking out that code. It's a big dependency, but I think it's fairly low priority to fix that.
[08:28] <jam> allenap: i guess bzr=2.5.1 fails on Q because bzr-2.6b? is there
[09:13] <mgz> jam, jelmer: http://pastebin.ubuntu.com/1218325/
[09:31] <mgz> when do I need to care about django model identity...
[09:31] <mgz>         self.assertEqual(xmlbytes, Node.objects.get(id=node.id).hardware_details)
[09:31] <mgz>         self.assertEqual(xmlbytes, node.hardware_details)
[09:31] <mgz> not equivalent
[09:34] <mgz> what I want it seems:
[09:34] <mgz>         self.assertEqual(xmlbytes, Node.objects.get(id=node.id).hardware_details)
[09:34] <mgz>         self.assertEqual(xmlbytes, node.hardware_details)
[09:34] <mgz> bah! cp
[09:34] <mgz>         node = reload_object(node)
[10:51] <jam> poke mgz for great justice
[10:52] <jam> and jelmer for goodness sake
[10:53] <mgz> jam, just about to nip out, but nearly there (despite django) with setting cpu_count/memory
[10:53] <allenap> jam: Yeah, I think so. It's not able to arrange for an earlier version of bzrlib because we allow site packages.
[10:53] <jam> mgz: just curious where your db patch is at, since I cant evaluate tags until we have the column
[10:54] <mgz> ah, I still need to actually propose the branch...
[10:57] <mgz> jam: pushed to lp:~gz/maas/temp and I need to run
[11:51] <roaksoax> morning
[11:51] <roaksoax> rvba: is the webui only to be meant installed on the region?
[11:52] <rvba> roaksoax: yes
[11:53] <roaksoax> cool
[12:24] <jam> I'm running into something strange with django.piston and nested fields
[12:25] <jam> It doesn't seem to restrict the output to just the fields that are specified
[12:26] <mgz> jam: sounds like more joy
[12:26] <jam> mgz: I'm trying to confirm w/ macaddress_set since that was doing ('mac_address',)
[12:26] <jam> but I can't seem to get it to only return just the 'name' and 'resource_uri' of the tag
[12:26] <jam> of related tags.
[12:29] <mgz> jam: I can't get UPDATE to work at all in a raw query...
[12:29] <jam> rvba: ^^ Specifically, I'm trying to expose tags, but just saying "NODE_DISPLAYED_FIELDS = (..., 'tags')" means the full tag gets exposed.
[12:32] <rvba> jam: can't you apply what we've done with 'macaddress_set' (in DISPLAYED_NODE_FIELDS)?
[12:33] <rvba> jam: DISPLAYED_NODE_FIELDS= (…, ('macaddress_set', ('mac_address',)),…)
[12:33] <jam> rvba: that doesn't seem to do what we think it does
[12:33] <jam> I can't confirm mac_address yet, as I haven't found a test that actually tests the values in macaddress_set
[12:33] <jam> however, if I put ('tags', ('name', ))
[12:33] <jam> I still get all the fields
[12:34] <rvba> jam: let me have a look at the code.
[12:35] <jam> rvba: lp:///~jameinel/maas/tag-list-api
[12:35] <jam> has a failing test
[12:35] <jam> that shows what fields are being exposed.
[12:36] <rvba> jam: cool, I'll have look.
[12:36] <jam> rvba: and I see tests about 'POST_limited_fields' but none of them seem to test the actual content of the macaddress_set field, just that it exists
[12:37] <rvba> jam: indeed.
[12:37] <jam> rvba: and I do feel like what we are doing *should* work, from places like http://stackoverflow.com/questions/2215352/django-piston-how-can-i-exclude-nested-fields-from-handler-results-is-it-even
[12:38] <jam> and here: https://bitbucket.org/jespern/django-piston/wiki/FAQ#!why-does-piston-use-fields-from-previous-handlers
[12:39] <jam> but that doesn't seem to actually work
[12:40] <jam> jelmer: any update to where you got to?
[12:43] <mgz> okay, I think I have code ready for the tag stuff now jam
[12:46] <rvba> jam: I don't understand why it does not work.  I'll have to put my hazmat suit on and debug piston.
[12:47] <jam> rvba: so at least I'm not crazy
[12:47] <mgz> ...now kapil will wonder why you want to dress up as him...
[12:48] <rvba> haha :)
[12:51] <jam> mgz: https://code.launchpad.net/~jameinel/maas/tag-list-api/+merge/125697 up for review
[12:53] <rvba> jam: I got it.
[12:54] <rvba> jam: it's using TagHandler.fields.
[12:55] <jam> rvba: which I thought the definition in NodeHandler is supposed to override it for exposing tags on node
[12:55] <jam> if you know a way to do it, I would be fine turning the tags attribute into a simple list of names
[12:55] <jam> rather than a list of objects
[12:55] <rvba> jam: let me investigate some more…
[12:55] <jam> but we are using the default 'get' handler, and I don't know how to easily override it.
[13:08] <mgz> jam: I have put up some branches for review
[13:10] <rvba> jam: It does not seem to be possible to do that with piston (I even found a fork on github which adds this possibility https://bitbucket.org/liberation/django-piston); the only way is by adding a custom method like this: http://paste.ubuntu.com/1218559/
[13:10] <jam> rvba: well, that change looks good to me, so I'll go with that. Thansk
[13:10] <rvba> np
[13:11] <jam> rvba: which is opposite to what I read https://bitbucket.org/jespern/django-piston/wiki/FAQ#!why-does-piston-use-fields-from-previous-handlers
[13:11] <jam> but hey, tag_names actually works better for my purpose, I think
[13:13] <rvba> jam: right, but the code right here overrides the list of fields with the list from a registered emitter: https://bitbucket.org/jespern/django-piston/src/c4b2d21db51a/piston/emitters.py#cl-160
[13:20] <jam> rvba: well, update pushed. Your code actually nests the values because 'values_list' returns a list of tuples, but you can unwrap them and get it to work.
[13:20] <rvba> jam: ah, right.
[13:21] <rvba> jam: values_list('name', flat=True) will solve that for you :)
[13:44] <jtv> roaksoax, are you here?
[13:44] <jtv> It's about bug 1053295.  I must have missed a step in introducing that upstart file into the maas-dhcp package.
[13:50] <rbasak> smoser: https://bugs.launchpad.net/maas/+bug/1054056
[13:51] <smoser> gracias
[13:51] <roaksoax> jtv: yep
[13:51] <jtv> Any idea what it might be?
[13:51] <roaksoax> jtv: yep :)
[13:51] <jtv> What is it?
[13:52] <jtv> (You're not getting to me.  Not at all.  :)
[13:52] <roaksoax> jtv: missing  dh_installinit --name maas-dhcp-server
[13:52] <roaksoax> jtv: i'll fix it
[13:53] <jtv> Ahhhh.  ¡Muchas gracias!
[14:12] <mgz> jam: https://code.launchpad.net/~gz/maas/populate_tags/+merge/125720
[14:12] <mgz> whoops, forgot to set prereq branch
[14:12] <guimaluf> where can I edit the cloud-init config for maas nodes?
[14:26] <mgz> jam: and lp:~gz/maas/_try_migrate_hardware_details is my attempt at doing that migration... which still seems unhappy, but I'll have to look at that later
[14:26] <mgz> ...without the leading underscore
[14:49] <roaksoax> rvba: https://code.launchpad.net/~andreserl/maas/install_maas_local_celerysettings/+merge/125735
[14:52] <rvba> roaksoax: s/etc/contrib/
[14:52] <roaksoax> rvba: yeah already pushed another branch
[14:52] <roaksoax> rvba: and in the packaging side we need to handle upgrades, not only installations :)
[14:52] <roaksoax> rvba: i'll get that done though
[14:53] <rvba> roaksoax: cool, thanks a lot.
[14:56] <roaksoax> rvba: i'll approve myself the setup.py branch
[14:57] <rvba> roaksoax: approved :)
[14:57] <roaksoax> hehe :)
[14:58] <roaksoax> rvba: so there's 1 text conflict in debian/changelog, If you want you can fix that and push an updated branch or If you prefer I'll merge it myself against a local branch and resolve the conflict and push it back
[14:58] <rvba> roaksoax: I'll fix it, hang on.
[14:59] <rvba> roaksoax: I don't see the conflict.
[14:59] <rvba> roaksoax: if you're talking about ~rvb/maas/packaging.set-rabbitmq-creds, I've fixed the conflict yesterday.
[15:00] <roaksoax> rvba: did you pull the latest packaging branch?
[15:00] <roaksoax> rvba: http://pastebin.ubuntu.com/1218767/
[15:00] <rvba> roaksoax: hum, let me merge trunk again…
[15:05] <rvba> roaksoax: conflict fixed.
[15:06] <roaksoax> rvba: thanks! i'll test it one more time and get it merged
[15:06] <rvba> roaksoax: ta.  Please review/test it carefully as I'm really no packaging expert.
[15:06] <roaksoax> will do :)
[15:14] <roaksoax> rvba: https://code.launchpad.net/~andreserl/maas/maas_local_celeryconfig/+merge/125745
[15:14] <roaksoax> rvba: packaging needs to be updated from celerysettings to celeryconfig
[15:20] <rvba> roaksoax: you're right.
[15:22] <guimaluf> where can I append some script to the cloud-init running on maas nodes?
[15:22] <roaksoax> smoser: ^^
[15:23] <smoser> guimaluf, you mean in commissioning?
[15:23] <roaksoax> guimaluf: cloud-init is only used for enlistment and commissioning. Not for deployed maas nodes
[15:23] <smoser> roaksoax, thats not true
[15:23] <smoser> cloud-init is used on install also.
[15:23] <smoser> juju provides cloud-init user-data to the provisioned nodes, it is available through the api
[15:23] <roaksoax> smoser: right, but what I mean is in already running nodes
[15:24] <roaksoax> smoser: i guess I should have said, not for already deployed maas nodes
[15:25] <smoser> roaksoax, well actually i think that is wrong too :)
[15:25] <smoser> cloud-init is installed, and active. it will run things as it it does on regular instances
[15:26] <roaksoax> smoser: right, but I dind't know that you can tell cloud-init, from maas, to do XYZ after the node was installed/configured
[15:26] <roaksoax> :)
[15:27] <guimaluf> exactly. so if I want to customize some new cloud-init script for new maas nodes, there is a way to do it, right?
[15:28] <roaksoax> smoser: so that's what I mean, after I have deployed a node with juju, it installed the service or whatever, does it continue to poll the mAAS meta-data server?
[15:30] <roaksoax> smoser: or for example, can i juju deploy something and tell it a cloud-config script to use?
[15:30] <guimaluf> in deed I never get maas nodes to reach metadata server and get the maas-server ssh-key.
[15:52] <roaksoax> rvba: i'll do the update if that's ok with you?
[15:53] <rvba> roaksoax: have you been able to test the changes to the postinst script?
[15:53] <roaksoax> rvba: yeah, it works
[15:54] <roaksoax> obviously changing s/celerysettings/celeryconfig
[15:54] <roaksoax> rvba: if you can change that real quick I'll merge your branch
[15:56] <rvba> roaksoax: you mean renaming the file in contrib/ right?
[15:56] <roaksoax> rvba: the file in contrib is already maas_local_celeryconfig.py
[15:56] <roaksoax> rvba: so packaging needs ot be updated accordingly
[15:56] <rvba> roaksoax: ah right.
[15:56] <roaksoax> rvba: so maas.install maas.links and maas.postinst needs update
[15:57] <rvba> roaksoax: ok, I'll update my branch.
[15:58] <roaksoax> rvba: cool, other than that it seems to work as expected
[16:00] <rvba> roaksoax: fix pushed.
[16:01] <roaksoax> rvba: BROKER_URL = 'amqp://maas_workers:T1A3Ksj5wiEfOe1VrDjl@localhost:5672//maas_workers'
[16:01] <roaksoax> so that's what I end up having in maas_local_celeryconfig
[16:01] <rvba> That's good.
[16:26] <roaksoax> allenap: ping
[16:29] <allenap> roaksoax: Yo.
[16:30] <roaksoax> allenap: so, what is the cli doing thus far? Can I alreay make changes to a node?
[16:30] <roaksoax> allenap: idk if you recall.. but during commissioning we need to be able to modify the node's information
[16:30] <roaksoax> allenap: and we were looking at having anonymous access
[16:30] <roaksoax> specifucally to set up the power_parameters for ipmi autodiscovery
[16:33] <allenap> roaksoax: It does basic stuff, including setting things. However, not everything works :-/ Bug 1052867 and bug 1052872 are pertinent here.
[16:34] <allenap> roaksoax: There's probably a view missing from the metadata API too, for the anonymous setting of power parameters.
[16:34] <allenap> I don't have a bug number for that.
[16:35] <roaksoax> allenap: alright, i guess we can look deeper into that next week
[16:39] <allenap> roaksoax: Cool, let's talk on Monday. Have a good weekend!
[16:40] <roaksoax> allenap: thanks you do aswell