/srv/irclogs.ubuntu.com/2012/06/25/#launchpad-yellow.txt

gary_posterbac benji frankban (gmb sprinting) hiya: https://plus.google.com/hangouts/_/4bd3b7cfd27f6147267f7436311fa84bc45f94b4?authuser=1&hl=en-US as soon as you can12:10
benjiI'm back.13:33
bachi gary_poster.  i was reading jml's project start page and saw the note he had about their pre-commit pep8 checker.  we're not decided we want such a thing but i thought it would be a nice exercise so i'm trying to add it to a branch of lpsetup.13:40
gary_poster+1 bac13:40
bacgary_poster: however it relies on pep8.py from pypi.  i've tried cargo-culting some buildout stuff but cannot get pep8 to download13:40
bacmight you have some tips?  i've tried this: http://pastebin.ubuntu.com/1059070/13:41
gary_posterbac, the buildout stuff in lpsetup is a nasty decoy13:41
baci hoped, adding in a versions.cfg with pep8 in it would do the magic.  it does not13:41
bacho13:41
bacoh13:41
gary_posterbac, it should be removed (right frankban?)13:41
frankbangary_poster, bac: indeed.13:41
bacgary_poster: if it is removed, how would you suggest i proceed?13:42
gary_posterfrankban, if bac wants to add a dependency, he should add it to setup.py and then...?13:42
gary_posteruse a virtualenv aiui13:42
gary_posterand then...? :-)13:42
gary_posterwe should write this up, in a HACKING or in a page linked to by HACKING.  Moreover, it may be that buildout is the Preferred Technology for this (notice capitalization) and we'll have to conform13:43
gary_posterBut for now...13:43
frankbangary_poster, bac: never used, but I've found this project: http://pypi.python.org/pypi/tissue/0.313:45
gary_posterfrankban, oh, should not go off on a new tech for this13:45
gary_posterif at all possible13:46
gary_posterI hoped/assumed there would be instructions like thisL13:46
gary_poster:13:46
gary_poster1) add to setup.py13:46
gary_posterScratch that, trying again13:46
gary_poster1) setup virtualenv13:46
gary_poster2) get lpsetup13:46
gary_poster3) add dependency to setup.py13:46
gary_poster4) run python setup.py build13:47
gary_posteror some other similar tool13:47
gary_posterfrankban, oh I see what you mean, now that I actually looked at project.  So...that's something else we need to know how to do13:48
gary_posterbac, do they have a custom pre-commit pep 8 checker, or are they using some standard?13:48
gary_postermust be a standard of sorts since also getting it from pypi13:48
gary_posterhttp://pypi.python.org/pypi/pep8/13:49
gary_posterand tissue is actually ay 0.713:49
gary_posterat13:49
gary_posterhttp://pypi.python.org/pypi/tissue13:49
gary_posterand uses pep8.py13:50
bacgary_poster: jml refers to http://bazaar.launchpad.net/~canonical-ca-hackers/ubuntu-webcatalog/trunk/view/head:/src/webcatalog/tests/test_pep8.py13:50
gary_posteroh :-(13:50
gary_posteroh13:50
gary_posterso that's just a separate test13:51
benjidoes pocketlint do pep8 checking?13:51
gary_posterso another approach13:51
gary_posterbenji, it does not advertise pep8 explicitly, and it does not use the apparently "standard" pep8.py if its setup.py is to be believed13:53
gary_posterbac, I think we are supposed to want pip, and I think we are about to fall off the cliff of "python packaging sucks"13:56
benjihmm13:57
bacgary_poster: so wanting to add one dependency cause use to go off the cliff?13:57
bacs/cause us/ causes us13:57
bacergh, can't even type my corrections properly13:57
gary_posterbac, you got it, because if we are trying to do it "right" that means we have to define what "right" means.  Although, if pep8 is packaged in debian we can look the other way...checking13:58
benjiI for one don't want pip. :)  As far as I have seen, it is inferior to buildout for the use cases I care about13:58
gary_posterbac, pep8 is packaged in debian.13:59
gary_posterquick, jump on that plane, and run away!13:59
gary_posterbenji, buildout is dying.  Jim and /me killed it, unintentionally.  He didn't want to maintain it, and I went off in a direction no one wanted, and it's been in an essentially broken state for...years now?  Meanwhile, the self-proclaimed and generally appreciated "python packaging experts" have declared virtualenv (going into Python as you know) and pip as The Standard.  See for instance the bottom of http://pack14:01
gary_posterages.python.org/distribute/ .14:01
gary_posterMeanwhile, at Canonical, noone wants to actually pay attention.  They want system python and deb packages to be the standard for us14:02
benjiYeah, I have accepted it as inevitable that buildout will never be popular.  I still think it is often the best tool for the job, even if we have to use different tools for political reasons.14:04
gary_posteressentially broken: my evidence is that there are three trunks.  We use 1.5.x.  Others use 1.4.x.  jim uses 2.alpha.x14:04
gary_posterfair enough, my argument had 0% content about "best tool for the job" except insofar as swimming along with the stream is generally better unless you are in the business of making streams.14:05
gary_posterbac, can you make setup.py declaration plus deb dependency work for you?14:06
bacgary_poster: geez, it is 'pep8' not 'python-pep8' so i didn't see it.14:06
gary_posteryeah I got tripped up by that too, sorry, should have mentioned14:06
bacgary_poster: perhaps.  i'm looking at it now.14:07
gary_posterapparenty nose and testtools are somewhat in competition, apparently14:07
gary_posterthat's bad because nose wins in any popularity contest14:08
benjiI like that: "[S]wimming along with the stream is generally better unless you are in the business of making streams."14:08
gary_poster:-)14:08
gary_posteroh look, someone-probably-Robert broke sourcedeps.conf by adding extraneous newlines.  joy.14:11
frankbangary_poster: if we want to switch to pip+virtualenv then we have to distribute shelltoolbox on pypi. tissue is broken and doesn't work with the last pep8. :-/14:12
gary_posterfrankban, good to know, and that confirms my desire to not add new untrusted dependencies.  We can add pep8 with debian, and add the test as a standalone test the way bac said jml is doing it: http://bazaar.launchpad.net/~canonical-ca-hackers/ubuntu-webcatalog/trunk/view/head:/src/webcatalog/tests/test_pep8.py14:13
gary_posterI kind of prefer the tissue approach actually14:13
frankbangary_poster: however the lpsetup code broke some pep8 rules we usually break in our launchpad guidelines: e.g. "E123 closing bracket does not match indentation of opening bracket's line". but you can setup pep8 to ignore some rules...14:13
gary_posterbut I don't want to add another low-popularity dependency if we can help it14:14
gary_posterack14:14
gary_posterI will not be surprised if people in Canonical point to lxc instead of virtualenv for package development and testing.14:17
gary_posterFor Ubuntu packages, that makes some sense14:17
gary_posterlxc and debs rather than virtulenv and eggs, I mean14:17
bacgary_poster: i'm a bit confused about how to specify debian packages in setup.py and i find the docs less than helpful.  can you shed some light?14:26
frankbanbac: you can't afaik.14:38
bacon call14:38
gary_posterbac, correct, you cannot.  This would be a machine or lxc setup.  The setup.py assertion would just be for politeness, and maybe for pip if you did it right.14:39
bacgary_poster: diogo's tarmac & jenkins work runs in the QA lab.  access is available only via openvpn.  i need to request the QA lab admin to generate openvpn certificates via an rt.  i suspect all of yellow needs access.14:58
gary_posterbac, all of LP needs access15:01
gary_posterwe need it now15:01
gary_posterbut we will be handing over maintenance to the team as a whole15:01
bacgary_poster: would you like to reply to that RT requesting access for everyone or do that later?  i'd prefer not to be too broad if it is going to delay getting yellow access in place.15:03
gary_posterbac, understood.  Two thoughts so far.15:05
gary_posterFirst, if we have a constrained initial set, it should include Robert and Francis and Diogo and Matthew just in case15:05
bacdiogo and matthew already have access15:06
bacas does francis15:06
bachere is the initial RT for access: https://rt.admin.canonical.com//Ticket/Display.html?id=5319615:06
gary_posterSecond, we should make it clear what our long term request is, IMO.  In other words, we could say "eventually, we would like all Launchpad maintainers to have access.  However, initally, only the yellow squad needs access now.15:07
gary_posterOK15:07
gary_posterWill go look15:07
gary_posterbac, that's resolved--looks like we should have a new RT?15:08
bacgary_poster: i filed a new rt and cc yellow on it 8 minutes ago15:09
gary_posteroh..15:09
gary_posterhave not received15:09
bacat least i intended to cc yellow.  let me forward.15:09
gary_posterk15:09
bacbrb15:10
gary_posterk15:10
gary_posterbac, do you have permission to see https://rt.admin.canonical.com//Ticket/Display.html?id=53930 ?15:23
bacgary_poster: i do not.  troubling.15:23
gary_posterbac, apparently using "yellow" as rt CC is not a good idea.  We should do it individually15:23
gary_poster(the one I asked you to look at is the one I filed)15:24
bacgary_poster: but i filed it.  i would think i could read15:24
gary_posterbac, yours is https://rt.admin.canonical.com//Ticket/Display.html?id=5396315:24
gary_posterI can't see it15:24
gary_posterbut I expect you can15:24
gary_posterI am going to ask flacoste to clear it up in RT for those two tickets15:24
bacgary_poster: oh, right, i can see the old one: https://rt.admin.canonical.com//Ticket/Display.html?id=5393015:24
baclogged in as warthogs15:25
bacgary_poster: but i cannot see the new one i just filed15:25
gary_posteroh15:25
gary_posterhuh15:25
gary_posterI am logged in through openid bac15:25
gary_posterbac, I bet you could see the one you filed if you logged in via your openid15:26
bacgary_poster: hangout for a sec?15:26
gary_postersure15:26
gary_posteryou doing it, or shall I15:26
gmbHALLO.15:40
gmbOr15:40
gary_posterHALLO15:41
gmbGoedemiddag15:41
gary_posterheh15:41
gmbgary_poster, re: goals: I haven't been able to get into CA. I will ping the admin team about it.15:42
gary_postergmb: cool, lemme know if I should get involved15:45
gmbOk15:45
frankbanbenji: do you have a minute?15:46
benjifrankban: sure15:46
frankbanbenji: hangout? https://plus.google.com/hangouts/_/1c0ef54f3bef4cfa99dfeced5fb3af2621bbb66a?authuser=0&hl=it15:47
gmbgary_poster, FWIW, jam tells me that both he and Francis have been having problems with HRa, and dragnob is aware of it and dealing with it.15:49
gary_posterok cool gmb thanks for heads up15:49
bacgary_poster: https://portal.admin.canonical.com/5396316:09
gary_posterbac, I just noticed myself, thx :-)16:10
gary_posterfrankban, I should create a different card for subcommand smoke tests, right?  What you are doing now is similar, but different?  Or should we really regard these as smoke tests?16:57
frankbangary_poster: I am writing tests for expected steps and handlers for each subcommand16:58
gary_posterI know.  :-)16:58
gary_posterIs your point, you don't know whether we should we call them smoke tests or not, but they are good to have?16:59
frankbanyes gary_poster :-), and I am a bit confused about what kind of smoke tests you were thinking about17:00
gary_posterfrankban, I'm inclined to say that what you are doing now plus some simple "does the --help option work for all commands" test is a good start.  what kind of smoke tests: I'd like us to be confident that each command can be called (initialized).  The --help does that.  What you are doing is a bit more sophisticated.  I'd say it lets us be confident that each command seems to do broadly what we expect, to the degr17:03
gary_posteree that the names of the steps clarify that.17:03
benjithey seem more like non-smoke tests to me.  My definition of a smoke test (which was I did not just totally make up while typing this line) is that a smoke test just tells you that nothing went wrong and if something does go wrong, it tells you nothing about what in particular it was17:03
gary_posterHowever, unless I misunderstand, it does not let us know whether the command will work at all.17:05
gary_posterbenji, my understanding was that a smoke test was less about only giving a small amount of information as to a failure, but about whether roughly things seem to be working at all.  Maybe I'm completely off base.17:06
gary_posterFor me, the --help is a smoke test because if it fails, we know things are not hooked up well enough for the command to run at all.17:07
gary_posterGiven the tests frankban is adding, I'd feel comfortable even simply checking whether the return code was 017:07
benjigary_poster: right (the bit about being helpful is only a corrolary: "real" tests should point you in a direction, smoke tests are under no such burden)17:07
gary_postercool17:08
benji(agreed on the --help bit; it is a smoke test, and -- I think -- a good one)17:08
gary_postercool.  so benji, frankban, I'll add a card to add tests that verify that "lpsetup COMMAND --help" returns with a 0 for all commands.  If you disagree or have a better idea, lemme know. :-)17:09
benji+117:09
benjiif we had a --dry-run switch for all commands, that would be a good smoke test too (to help show import errors, name errors, missing command-line parameter processing, etc.) but it's too much work to add just for a smoke test (real tests would probably be less work and more valuable)17:10
frankbangary_poster: +1, with the -h option you test that the command is correctly registered to the parser, and that the arguments make sense (no clashes, basically), so it adds value.17:11
gary_postercool, thanks guys17:14
bacgary_poster: how do you get virtualenv to handle dependencies that are only available as debian packages, e.g. python-shelltoolbox?17:51
gary_posterbac, option 1 is you tell virtualenv to allow all the system packages through.  See --system-site-packages17:52
gary_posterbac, option 2 is to get the source for python-shelltoolbox and use it.  pip seems like it has the option to specify bzr branches, for instance17:53
bacgary_poster: ok, option 2 implies pip-ing which i wasn't sure i was going to do17:54
gary_posterright17:54
gary_posterI assumed option 1, bac, I must admit.17:54
benjiif anyone wants to review an lpsetup branch (we really should canonicalize its name, we have "lpsetup" in some places and "lp-setup" in others) I would appreciate it: https://code.launchpad.net/~benji/lpsetup/add-get-subcommand/+merge/11190417:56
benjibac: is there anything I can do to help with tarmac?18:55
bacbenji: i don't think so18:56
benjik18:56
bacbenji: i'll review your lpsetup branch.  when it is approved please don't merge it.  let me see if i can get a manual run of tarmac to do it19:02
benjibac: k19:02
bacbenji: approved.  please make the changes, pushed, and set the MP to approved and then i'll try running tarmac19:15
benjibac: will do19:15
benjibac: the MP is ready for you19:25
baccool19:25
bacbenji: Merging lp:~benji/lpsetup/add-get-subcommand into lp:lpsetup failed: Unapproved changes made after approval19:36
benjibac: you are technically correct, the best kind of correct (so says tarmac)19:36
benjibac: I guess you should add another approve=code comment19:37
baci marked the whole MP.  let's see if that works19:37
benjibac: I had already marked the MP as approved19:37
bacbenji: before or after you pushed the post-review changes?19:38
benjibac: after19:38
bacweird.  it now correctly notes r34 is the approved version19:38
benjibac: hmm, but the page says that 33 was the approved revision; I wonder if firefox and bzr were in a race and I lost19:39
bacit says 34 now19:39
bacon the MP page19:39
benjiI see that 34 is the approved revi... right19:39
bacbenji: so tarmac happily merged your changes...into a local branch on my machine.  that's not so helpful19:43
benji:)19:44
bacso am i supposed to manually do a 'bzr push' after tarmac does its thing?  i thought that was the whole point19:45
baci hate projects that have docs that are a little too clever...and then don't actually do what is advertised19:46
bacbenji: so on my second try it actually merged your branch20:18
benjiidempotent20:19
bacbenji: it is weird.  there is tree_dir settting, that lets you set where you want the local copy of the project's trunk to be20:24
bacwith tree_dir = /var/cache/lpsetup20:25
bacit only merged locally.  i later found an example that made more sense so i changed to20:25
bactree_dir = /var/cache/tarmac/lpsetup/trunk20:25
bacwith that setting it actually did the landing.  odd.20:26
benjiyeah, I don't understand that20:27
gary_posterbac, reviewed https://code.launchpad.net/~bac/lpsetup/sansbuildout/+merge/111942 .  I started crying a little bit, but then managed to hold it in.21:45
bacgary_poster: it'll be ok21:54
bacgary_poster: yay, merged by tarmac with nosetests run as pre-commit hook:  https://code.launchpad.net/~canonical-launchpad-branches/lpsetup/trunk21:57
bac[bug=] is kind of gross but not easily solved21:57
gary_posterbac, yay!23:18

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