/srv/irclogs.ubuntu.com/2013/09/03/#juju-dev.txt

wallyworldthumper: back?00:33
davecheneywallyworld: https://code.launchpad.net/~dave-cheney/+recipe/juju-core00:36
davecheneywhat has happened to the build recipe ?!?00:36
davecheneywhy don't the debs end in the series ?00:36
wallyworldi have no idea. my knowledge of packaging stuff is zero :-(00:37
wallyworldbigjools: ?00:37
bigjoolssup00:37
wallyworld^^^00:37
davecheneyfuck00:38
davecheneythis broke the release00:38
davecheneybugger it00:38
davecheneyi can fix this in the release script00:38
bigjoolswhat is the question for me, exactly?00:38
wallyworld[10:36:18] <davecheney> what has happened to the build recipe ?!?00:38
wallyworld[10:36:33] <davecheney> why don't the debs end in the series ?00:38
davecheneybigjools: why do the debs produced by the recipe no longer end in the series00:38
bigjoolsthat makes no sense00:38
bigjoolswhat do you mean by "end in the series" ?00:39
davecheneythe name of the deb used it end in ~saucy00:39
davecheneyfor example00:39
davecheneynow it ends in ~ubuntu13.1000:39
bigjoolsbecause your recipe says "{debupstream}-1~{revno:juju-core}"00:40
davecheneybigjools: that has never changed00:40
davecheneyand that gives me -1~173900:40
davecheneythe remainder was added by the build bot00:40
bigjoolsI don't see any complete builds that don't have that00:41
wallyworldbigjools: [FULLYBUILT] juju-core - 1.13.2-4~1703~saucy100:41
davecheneybigjools: https://code.launchpad.net/~juju/+archive/devel/+builds?build_text=&build_state=built00:41
davecheneysomethign happened in the last two weeks00:41
davecheneylook at the name of the 1.13.2 packages00:41
davecheneyand earlier00:41
bigjoolsit has changed to use release names instead of code names by the looks of things00:42
bigjoolswhich is correct IMHO00:42
bigjoolsnothing is broken00:43
davecheneybigjools: is it possible to change it back ?00:43
davecheneyi was relying on that misfeature00:43
bigjoolsin what way?00:43
davecheneyi used the series in the name of the file produce to deduce the series the deb was produced for00:43
bigjoolscan't you change it to look at the ubuntuNN.NN.N instead?00:44
davecheneyi can00:45
davecheneybut I wanted to know why this changed00:45
bigjoolsno idea00:45
davecheneywho can I talk to about this ?00:45
bigjoolsI'd ask steve or william00:45
wallyworldi poked in laucnhpad-ops00:45
wallyworldwaiting on a reply00:45
* davecheney joins00:45
bigjoolsI asked in #launchpad-dev :)00:46
bigjoolsbut there's probably better ways to deduce the series00:46
davecheneybigjools: suggestions welcome00:47
davecheneyi have a deb file00:47
davecheneyi'd like to know which series it came form00:47
davecheneymaybe the changelog00:47
bigjoolsuse the LP API00:47
davecheneybigjools: i have the file00:48
davecheneyall i have is the file00:48
wallyworlddavecheney: here's the answer00:48
wallyworld[10:46:35] <wgrant> wallyworld_: It's changed to ~ubuntuYY.MM.100:48
wallyworld[10:46:45] <wgrant> As Ubuntu's backports have been for a while.00:48
wallyworld[10:46:53] <wgrant> Because in a few releases the alphabet will wrpa.00:48
davecheneythe file is all i have00:48
bigjoolswhere arey you getting the file?00:48
davecheneywallyworld: bigjools ok00:48
davecheneyi'll fix it in code00:48
davecheneythanks for your help00:48
bigjoolsdavecheney: where are you getting the deb from?00:48
davecheneythe link from the recipe00:49
davecheneyi'll just make a table to convert from number to name00:49
bigjoolshow are you accessing the recipe?00:49
bigjoolshang on :)00:49
davecheneybigjools: manuallyu00:50
davecheneycopy and paste the url00:50
bigjoolsyou have a script that scrapes the page?00:50
davecheneyhttp://bazaar.launchpad.net/~go-bot/juju-core/trunk/view/head:/doc/juju-core-release-process.txt00:50
davecheneyi have a person that scrapes the page00:50
bigjoolsrelease notes should always talk about version numbers not code names, FWIW00:51
bigjoolsI was never comfortable with juju's config files containing "precise" etc00:51
bigjoolsshould be 10.0400:51
bigjools12.04 even00:51
davecheneybigjools: i don't think its possible to change that now00:52
bigjoolsit's always possible :)00:52
bigjoolsjust work00:52
davecheneybigjools: if you feel strongly about it00:53
davecheneyraise an issue00:53
davecheneyit's not one anyones radar00:53
bigjoolswell I am just pointing out UBuntu policy00:53
bigjoolsgiven my prior work area00:54
axwit's kinda on my radar; I was thinking ahead about how tools might be named for non-Ubuntu targets, if we were to support them00:54
bigjoolsgiven that so many people get it wrong anyway it's not worth pushing hard00:54
axwLSB codename doesn't work so well for other distros00:54
davecheneylol at lsb00:54
bigjoolsbut it's something to be aware of because Ubuntu may change things like you just experienced00:54
davecheneyubunutu doesn't start with the letter l00:55
davecheneybigjools: fair enough, i am so warned00:55
bigjoolscool00:55
bigjoolsdavecheney: anyway I am struggling from that large page of text to work out what exactly you're doing with the deb00:55
bigjoolsyou get the deb url manually then?00:56
bigjoolsoh and the script parses the deb file name.00:56
bigjoolsyou might want to specify that manually tbh00:56
bigjoolsin Ubuntu debs can be in more than one release if they didn't change between00:57
davecheneybigjools: that page just documents what happens now00:58
davecheneyit does not describe what we want to happen00:58
bigjoolsfair enough00:58
bigjoolsI'd honestly make an LP API script to automate this00:58
davecheneybigjools: i'm sure someone will replace this with somthing much better00:59
bigjoolsok.  said my piece :)00:59
davecheneythanks all for your help01:00
bigjoolsany time01:00
davecheneywasn't hard to work around01:00
wallyworlddavecheney: i know i am stupid, but i'm getting a nil pointer panic and i can't see why :-( any clues? http://pastebin.ubuntu.com/6057264/01:07
davecheneywallyworld: can't do it like that01:08
davecheneywhat is happening is gocheck does this01:08
davecheneys := new(LegacyToolsSuite)01:08
davecheneylegacy tools suite contains a ToolsSuite as a valid initalised to its zero value01:08
davecheneyand inside that is a field called toolsTestHelper which is an interface01:09
davecheneythe interface is initalised to it's zero value01:09
davecheneywhich is a nil pointer01:09
wallyworldwhy is polymorphism so hard in Go :-(01:09
davecheneycos there is no polymorphism01:09
wallyworldyeah :-(01:10
wallyworldkinda limiting01:10
wallyworldthanks, i'll rework it01:10
davecheneyok, i've found another bug with that change01:12
davecheneythe version inside the 12.10 deb is 13.1001:12
wallyworld\o/01:13
davecheneyhttp://paste.ubuntu.com/6057271/01:13
wallyworldi'll ask in launchpad-ops01:14
davecheneyoh01:14
davecheneyhang on01:14
davecheneysomething is wrong01:14
davecheneyshit01:14
davecheneysorry01:14
davecheneyi fucked up01:14
wallyworld:-)01:14
wallyworldthumper: ping01:15
davecheneyaxw: lp:~axwalk/juju-core/lp1218329-azure-released-images01:27
thumperwallyworld: hi01:27
davecheneyare you able to backport that to the 1.14 branch ?01:27
axwdavecheney: sure01:27
davecheneyta01:28
davecheneythere is no bot01:28
davecheneymerge manually01:28
axwokey dokey01:28
wallyworldthumper: hi, i was reviewing your pass-through-agent-config branch. i couldn't tell for sure, but are you ensuring the default value for dataDir is "/var/lib/juju". it looks like that is missing with the rework?01:29
thumperwallyworld: that is because it is dumb :)01:29
thumperit was saying "if it is empty"01:29
thumperit is never empty01:29
thumperagent.Config will not be created with an empty dataDir01:29
wallyworldok. other than that, it all looks pretty mechanical01:30
davecheneyright01:46
davecheneythis release is a dud01:46
davecheneyspot the bug., http://paste.ubuntu.com/6057341/01:47
axwdavecheney: pushed to 1.1401:51
davecheneythanks01:55
davecheneymight have been for naught01:55
davecheneythe machiner can't restart properly01:55
davecheneyit has a requirement on the api server being up01:56
davecheneyand that races with the api server job01:56
davecheneyrestarting01:56
davecheneyok, it looks like it finally gets there01:56
davecheneybut takes many many rstarts01:56
* davecheney files bug01:56
davecheneyhttps://bugs.launchpad.net/juju-core/+bug/122002702:00
_mup_Bug #1220027: worker/provisioner: cannot restart cleanly due to hard dependency on api server <juju-core:Triaged> <https://launchpad.net/bugs/1220027>02:00
thumperI think this would be pretty easily solved if we didn't make everything fatal02:03
thumperthat way the provisioner would try to start, fail and then retry02:04
thumperwhile the api server comes up02:04
thumperor,02:04
thumperwe should make sure the at the api server comes up before we start any other jobs that depend on it02:04
thumperthat sounds sensible02:04
davecheneythumper: i think we have to do that02:05
davecheneybefore the provisioniner didn't use the api to provision02:05
davecheneynow it does02:05
thumperwe used to have this for state02:05
thumperat least it made sure the state connection was valid02:05
thumpernow we need a valid api endpoint02:05
davecheneythis is the danger of testing on ec202:08
davecheneywe expect everything to be dog slow02:08
davecheneywallyworld: can someone sync tools to canonistack and hp cloud ?02:10
wallyworlddavecheney: ok02:10
davecheneywallyworld: ta much02:11
davecheneyaxw: https://bugs.launchpad.net/juju-core/+bug/121832902:16
_mup_Bug #1218329: Update default environment.yaml for Azure to use Precise for default-series <juju-core:Fix Committed by axwalk> <juju-core 1.14:Fix Committed> <https://launchpad.net/bugs/1218329>02:16
davecheneywhich rev was this fixed on 1.14 ?02:16
thumperaxw: what is a simple way to copy a clice?02:17
thumperfoo[:] ?02:17
davecheneythumper: nope02:18
davecheneyuse the copy() statement02:18
thumperworks in python :P02:18
davecheneysorry functoin02:18
thumperbuiltin?02:18
davecheneythat will give you a new slice with the same backing array02:18
thumperwhat benefit does that really give us over returning the slice itself?02:19
axwthumper: sorry missed... append([]x, y...)02:19
thumperit it shares the backing array02:19
axw[]x{} rather02:19
davecheneythumper: i don't know, i don't know what the question is02:19
thumperdavecheney: axw suggested in a review to return a copy of our caCert []byte instead of the one we have02:20
thumperjust so it isn't misused02:20
thumperaccidentally02:20
axwappend([]byte{}, caCert...)02:20
thumperaxw: does append(nil, caCert..) work?02:20
thumperor does it need to be a typed nil?02:20
axwumm. I don't recall02:20
axwdon't think so, but I'll try02:21
axwthumper: nope02:21
axw(nope doesn't work; needs to be typed)02:21
* thumper nods02:23
* thumper uses append02:23
axwthumper: as for your question of "what benefit does that [returning a resliced slice] give" - none in this case02:23
thumperthe new copy I get02:23
* thumper returns a copy02:24
thumperand runs the tests prior to submitting02:24
thumperaxw: I also fixed the comment.02:24
axwthumper: thanks02:24
axwoh god02:35
axwit's going to take ~24h to get to SFO02:35
davecheneyaxw: WHAT02:38
davecheney4 hours to Syd02:38
davecheneythen 14 to SFO02:38
davecheney14 to LAX02:38
davecheneythen 2 to SFO02:38
axwdavecheney: not all in the air02:39
axwdon't forget fun times waiting at the airports02:39
wallyworlddavecheney: syncing finished for canonistack and hp cloud02:39
davecheneywallyworld: ta02:39
davecheneytesting now02:39
wallyworldaxw: serves you right for living in perth :-P02:39
axwwallyworld: yeah :(  let's all have the next one here.. ha ha02:40
wallyworldi'd rather europe :-)02:40
axwor that02:41
davecheneyooooooooooooooooooooooh02:41
davecheneynow i understand what hazmat is talking about02:42
davecheneyif the provisioner gets into the restart loop02:42
axwstill a long flight, but at least there's cheap beer and good food at the end of it02:42
davecheneystatus will take ages02:42
davecheneybecause there is no api server02:42
davecheneyaxw: in SFO02:42
axwdavecheney: ?02:42
davecheneyuh, are you sure ?02:42
axweurope02:42
axwdavecheney: what's the provisioner problem? this sounds a bit like an issue I saw with the local provider02:43
davecheneyhttps://bugs.launchpad.net/juju-core/+bug/122002702:43
_mup_Bug #1220027: worker/provisioner: cannot restart cleanly due to hard dependency on api server <papercut> <juju-core:Triaged> <juju-core 1.14:Triaged> <juju-core trunk:Triaged> <https://launchpad.net/bugs/1220027>02:43
axwmk02:44
axwthat does look similar02:44
davecheneylucky(~) % juju bootstrap -v02:44
davecheney2013-09-03 02:44:45 INFO juju.provider.openstack provider.go:126 opening environment "nec-az3"02:44
davecheney2013-09-03 02:44:45 INFO juju.environs.tools tools.go:29 reading tools with major version 102:45
davecheney2013-09-03 02:44:45 INFO juju.environs.tools tools.go:37 filtering tools by series: precise02:45
davecheney2013-09-03 02:44:48 INFO juju.environs.tools tools.go:44 falling back to public bucket02:45
davecheney2013-09-03 02:44:48 INFO juju.environs.tools tools.go:93 picked newest version: 1.13.202:45
davecheneywallyworld: did you sync tools to hp cloud ?02:45
wallyworlddavecheney: supposedly02:45
wallyworldwhat public bucket are you using?02:45
wallyworldi've got https://region-a.geo-1.objects.hpcloudsvc.com/v1/6050252975391002:46
davecheney    public-bucket-url: https://region-a.geo-1.objects.hpcloudsvc.com/v1/6050252975391002:46
davecheneywallyworld: i am using az302:46
wallyworldwtf, they're different02:46
davecheneythey look the same to me02:46
wallyworldok, so i need to sync to your's too02:46
wallyworldoh hang on02:47
wallyworldi can't read02:47
wallyworldthey're the same02:47
wallyworldso looks like sync tools lied to me02:48
davecheneywallyworld: should I try a different az ?02:48
davecheneywallyworld: how do you have sync tools setup ?02:48
davecheneydo you put the public bucket as your cotrol bucket then run juju-sync tools ?02:48
wallyworldno, i've not run it before,i assumed it would upload to the public bucket of the env02:49
* davecheney has no idea02:49
wallyworldi'll take another look02:50
wallyworlddavecheney: i forgot the --public02:50
davecheneybzzzzzzzzzzzzzzt02:50
wallyworldso it uploaded to my private bucket02:50
wallyworldsorry02:50
davecheneyrofl02:50
wallyworldfuck off :-)02:50
wallyworlddamn02:51
wallyworldauth error02:51
wallyworlddavecheney: ok, i've had to do hp cloud by hand since there are different credentials for public bucket vs my normal account i think. i'll now do canonistack, but there are authentication issues there too03:05
davecheneylet me try03:08
davecheneymaybe my creds work for hp cloud03:08
wallyworlddavecheney: i can upload via the web ui. but i think my creds to write to the public bucket differ from the creds i need to use to access my juju assets and so sync-tools doesn't like that03:12
wallyworldsimilar issue with canonistack - i'm having to do that by hand tool03:13
wallyworlddavecheney: canonistack done too hopefully03:14
davecheneykk03:15
davecheneywallyworld: tools in hpcloud look good now03:17
davecheneythanks03:17
wallyworldgreat03:17
* thumper goes to make coffee03:47
* thumper puts the music on loud to try to cover the screaming kids04:10
thumperthey are playing some xbox game04:10
* thumper shelves the logging work until someone can help explain the api04:28
thumperwallyworld: hey there04:29
thumperwallyworld: wotcha up to?04:29
wallyworldyo04:29
wallyworldtools stuff04:30
thumpercall?04:30
wallyworldok04:30
thumperwallyworld: https://plus.google.com/hangouts/_/775c25d6dba9048907bcf2c54e570e6a4008a22f?hl=en04:30
* thumper back later04:56
=== thumper is now known as thumper-afk
=== tasdomas_afk is now known as tasdomas
wallyworldfwereade: you may have an interest in this https://codereview.appspot.com/13343046, i've used some new interfaces, get out the paint cans09:18
fwereadewallyworld, nice09:18
fwereadewallyworld, thanks09:18
wallyworldi'd be happy to discuss before/after the standup09:18
* wallyworld unpacks his new Nexus 7 II tablet :-D09:19
dimiternfwereade: hey09:46
fwereadedimitern, heyhey09:46
dimiternfwereade: so looking at the code I think it's high time I start doing the migration from relation-id to relation-key tags09:47
fwereadedimitern, good plan, +109:47
dimiternfwereade: this, and the relationunitswatcher are the only missing bits at server-side09:47
dimiternfwereade: otherwise most of the stuff that's left is mostly trivial09:48
fwereadedimitern, that is music to my ears :)09:51
dimiternfwereade: :)09:52
dimiternfwereade: I need to dig up logs for rogpeppe's findings on relation names format, do you know that site that has all irc logs in html format?09:56
fwereadedimitern, er not offhand, I usually just search and poke around until something shows up09:57
dimiternfwereade: ah, found it http://irclogs.canonical.com/YYYY/MM/DD/09:57
fwereadedimitern, same time as me :)09:57
dimiternfwereade: hmm, but this one doesn't have the freenode logs09:59
dimiternfwereade: so, for the record it's http://irclogs.ubuntu.com/2013/08/16/09:59
fwereadedimitern, cheers :)10:00
dimiternfwereade: [a-z][a-z0-9]*(-[a-z0-9]+)* seems to be the right regexp for relation names10:01
dimiternfwereade: so for the tag format itself, what do you think? "relation-<name>" with the format above, no changes to dashes, etc.?10:02
=== thumper-afk is now known as thumper
dimiternfwereade: ah, but that's just one name, we have "name1:service1 name2:service2"10:03
dimiternfwereade: so we need something like "relation-<name1>@<service1>|<name2>@<service2>" ?10:04
fwereadedimitern, yeah, I think so10:04
fwereadedimitern, the first step is tidying up the names considered to be valid in charms10:05
dimiternfwereade: hmm.. the pipe is not a valid filename char10:05
dimiternfwereade: maybe ~ ?10:05
fwereadedimitern, I would prefer to preserve filename-sanity if possible10:05
fwereadedimitern, # maybe?10:06
dimiternfwereade: "relation-my-relation123@some-service~my-other-relation42@remote-service23"10:06
dimiternfwereade: is it valid?10:06
dimiternfwereade: ok, I'll go with #10:06
fwereadedimitern, ehh I'm uncertain about swapping the service:relation ordering10:07
fwereadedimitern, seems mainly like an opportunity to make mistakes10:08
fwereadedimitern, I understand it fits nicely with @10:08
dimiternfwereade: ah, was it the other way around? no problem, wasn't sure10:08
fwereadedimitern, yeah, but then "service@relation" is kinda crazy10:08
dimiternfwereade: it kinda is10:09
fwereadedimitern, how abouut... relation-svc.rel#svc.rel perhaps?10:10
dimiternfwereade: dots?10:10
fwereadeare they bad?10:10
dimiternfwereade: don't think so, just a bit weird, sgtm10:10
fwereadedimitern, svc.rel feels to me closest to svc:rel10:11
fwereadedimitern, and it's an endpoint on a specific service so i think the ordering is useful10:11
dimiternfwereade: according to wikipedia http://en.wikipedia.org/wiki/Filename dots should be ok10:12
fwereadedimitern, so I would hope indeed :)10:12
dimiternfwereade: but : is definitely not10:12
fwereadedimitern, quite so10:12
fwereadedimitern, svc:rel is the existing syntax though10:13
jamdimitern: are you saying "sane filenames on Linux" or "sane filenames on Windows". Because on Linux any 8-bit is allowed except for "/" and "\x00".10:13
dimiternjam: well, not really - some are shell special chars10:13
dimiternjam: and need escaping, which is ugly10:13
jamdimitern: they are "valid filename chars"10:14
jamit happens that shell likes to do things with them10:14
dimiternfwereade: so the conversion should be s/:/./ and s/ /#/ + "relation-" as prefix10:14
jamwhich is more about clarity "not shell characters" is not the same as "only filename chars"10:14
jam: ; ^ , {} [] " ' all have shell meaning but are valid in filenames10:15
dimiternjam: yeah, but let's not make our lives harder in the remote possibility we actually need to use tags as filenames :)10:15
fwereadedimitern, sgtm I think10:15
jammgz, fwereade, dimitern, TheMue, wallyworld_: standup time: https://plus.google.com/hangouts/_/f497381ca4d154890227b3b35a85a985b894b47111:30
mgzta11:31
jamfwereade: poke ?11:33
fwereadejam, oops, sorry11:33
jamTheMue: can you link me to the ssl bug ?11:52
jamwallyworld_: you may have hit: 120729411:53
jambug #120729411:53
_mup_Bug #1207294: sync-tools fails with --public <juju-core:Triaged> <https://launchpad.net/bugs/1207294>11:53
dimiternfwereade: https://codereview.appspot.com/1349004311:54
wallyworld_jam: yes, at first glance could be11:54
jammgz: do you know the status of https://bugs.launchpad.net/juju-core/+bug/1215949 and how we fix it?11:55
_mup_Bug #1215949: juju-core in the devel ppa does not use alternatives <juju-core:Triaged> <https://launchpad.net/bugs/1215949>11:55
jamwould be really good to have for 1.14 (without having to go via Saucy)11:55
mgzsort of...11:55
mgzwe just need to get that building from the ubuntu-branch packaging11:55
mgzthe reason that's not quite trivial is the ubuntu packaging is set to build from a stable tarball, rather than pull trunk of everything,11:56
mgzso, if we update deps, we'd break the devel packaging potentially11:56
mgzcould overlay everything still..11:57
jammgz: things in ppa:juju/devel are still releases, so we can still build from *a* tarball12:03
jamwallyworld_: if you are still here, did this get landed: https://bugs.launchpad.net/goose/+bug/113261812:16
_mup_Bug #1132618: swift service double lacks container list prefix filtering <swift-double> <Go OpenStack Exchange:Fix Committed by wallyworld> <https://launchpad.net/bugs/1132618>12:16
jamit looks old, but it is still open as "Critical"12:16
jamTheMue: another poke if you have the bug # for the ssh-hostname-verify stuff.12:17
jamThere is an old bug #1074025 where we said we needed to support it, and then disabled it or something12:17
_mup_Bug #1074025: environs/config: juju must support ssl-hostname-verification config option <juju-core:Fix Released by dave-cheney> <https://launchpad.net/bugs/1074025>12:17
jambut I'm pretty sure there should be a new bug12:18
jamnatefinch: https://codereview.appspot.com/13079045/ has been review12:24
jamreviewed12:24
jamTheMue: I think I found it, bug #120216312:25
_mup_Bug #1202163: openstack provider should have config option to ignore invalid certs <cts> <papercut> <Go OpenStack Exchange:Confirmed> <juju-core:Triaged by jameinel> <https://launchpad.net/bugs/1202163>12:25
dimiternjam: could you take a look at https://codereview.appspot.com/13490043/ ?12:25
jamdimitern: you realize that # is also a shell character, meaning comment, and so if you type "foo#bar" it will get seen as just "foo"12:26
jamI personally think : is a less volatile "shell char"12:26
TheMuejam: I assigned it to you12:27
dimiternjam: but on windows it won't work12:27
dimiternjam: how about replacing # wit @ ?12:28
TheMuejam: it's https://bugs.launchpad.net/juju-core/+bug/120216312:28
_mup_Bug #1202163: openstack provider should have config option to ignore invalid certs <cts> <papercut> <Go OpenStack Exchange:Confirmed> <juju-core:Triaged by jameinel> <https://launchpad.net/bugs/1202163>12:28
jamdimitern: so, I just tried "echo foo#bar" and I get "foo#bar" but "echo foo #bar" gives just "foo"12:28
* TheMue just finished flight booking12:29
dimiternjam: but there's no space anywhere12:29
dimiternjam: echo relation-svc1.rel1#svc2.rel2 seems to work12:29
jamright, we're not allowed spaces, though I won't guarantee all shells act like my bash :)12:31
jamdimitern: though I would bias towards making it something you can easily write in a shell, vs something that can be turned into a filename12:31
jamand today, we already write them in the shell as "juju add-relation service:rel service:rel"12:32
dimiternjam: tags are not supposed to be typed I think - they're just used mostly over the wire in the API12:34
jamanyway, what you have is fine, and I don't mean to just cause churn, but I don't quite see what we actually gain rather than having them closer to the actual relation key12:35
jamI *think* "." isn't very nice in Mongo, (you don't want to put it into keys, because by default search uses "." to indicate a nested doc)12:35
dimiternjam: tags are not stored in mongo12:36
dimiternjam: they are constructed from mongo keys12:36
jamdimitern: sure, but it seems like playing nicer with mongo is better than playing nice with FS. Again, it would be possible to do it your way, but why mutate something that is close to fine as is?12:36
jamI would get rid of the space12:37
jambut why not have it be12:37
jamrelation-service1:foo#service2:bar12:37
dimiternjam: because of windows mostly12:37
jamdimitern: if we aren't storing them in mongo, and we aren't writing them to disk, and we aren't typing them into the command line, I don't think we've actually gained anything over a simpler transform12:38
dimiternjam: rogpeppe can explain better than me the idea behind having all tags FS compatible12:38
dimiternjam: all the others are like that, why change it now?12:39
jamdimitern: do you know why we want Key based rather than Id based? I think I missed that conversation as well.12:40
dimiternjam: fwereade can explain better12:40
dimiternjam: it's something related to performance of keys/indices in mongo perhaps; and the key being more obvious what it's about, rather than an opaque number12:41
dimiternjam: also, rel ids are used in very few places - we use keys for most things12:43
dimiternjam: so..12:55
dimiternjam: can I get a review please? :)12:56
dimiternjam: thanks!12:57
fwereadedimitern, jam: the main thing is that tags were originally conceived as filesystem-safe, and it seems a bit capricious to drop that property13:10
fwereadejam, we can't have id based ones because they're reported as lists of keys from the watcher13:10
dimiternfwereade: right!13:11
fwereadejam, and need to convert them for the api *even* when the corresponding doc no longer exists13:11
fwereadejam, but that's where the id would be stored13:11
jamfwereade: I'd really be happier if clients never generate tags from other data, is there a reason the watcher or whatever can't talk in terms of tags?13:12
fwereadejam, tags don't exist at the db level13:13
fwereadejam, auto-converting from _id would just move the problem, not replace it13:13
dimiternfwereade: but we need to convert the stringswatcher to report tags, and we have the names package for conversions13:13
fwereadejam, I would also be happier if clients never generated tags from other data -- what situation are you thinking of?13:15
dimiternfwereade: or maybe just the api stringswatchers13:15
fwereadejam, the server is the thing that needs to convert _ids from a state watcher to tags for an api watcher13:15
jamfwereade: golang question. I have a "type Foo struct { Bar }" and I have a "f *Foo" object, but I want to call a function that takes a "*Bar" object. Is there an obvious way to do so that isn't (&f.Bar) ?13:16
fwereadejam, the existing problem is that it returns names and thus mixes vocabularies13:16
fwereadejam, don't think so13:16
dimiternjam: try f.Bar.Call()13:16
dimiternjam: ah, it's embedded13:17
fwereadedimitern, the reason not to fix stringswatcher api now is that things are already using it, and nobody but us is using it, so it doesn't get any worse with time13:18
dimiternfwereade: yeah, that's right13:18
fwereadejamespage, is there any action we should be taking for juju-core wrt https://bugs.launchpad.net/juju-core/+bug/1200878 ?13:20
_mup_Bug #1200878: Upgrade breaks existing pyjuju deployment <apport-collected> <papercut> <regression-release> <saucy> <juju-core:Triaged> <juju (Ubuntu):Fix Released> <juju-core (Ubuntu):Triaged> <https://launchpad.net/bugs/1200878>13:20
dimiternfwereade: before implementing relationunitswatcher I'll make a second attempt to remove the unitsettings from the relationunitchange struct13:35
dimiternfwereade: actually do you have some time for a g+?13:37
jamfwereade: bug #1200878 does sound like it is packaging-only13:43
_mup_Bug #1200878: Upgrade breaks existing pyjuju deployment <apport-collected> <papercut> <regression-release> <saucy> <juju-core:Triaged> <juju (Ubuntu):Fix Released> <juju-core (Ubuntu):Triaged> <https://launchpad.net/bugs/1200878>13:44
jamso more of a "juju-core (Upstream)" bug13:44
jamsorry juju-core (Ubuntu) only bug13:44
jammgz: if you see jamespage can you ask him about ^^13:44
jamespagejam: its not packaging only13:45
jamespagefwereade, ^^13:45
jamespagethe packaging upgrade just fine - but there is no way to upgrade a running py-juju environment to juju-core13:46
jamespageI restored py-juju to Saucy to allow people to continue managing py-juju environments....13:46
jamjamespage: I would argue that means we have a separate bug about a migration path, but bug #1200878 is about "apt-get upgrade" breaking a py-juju environment.13:48
_mup_Bug #1200878: Upgrade breaks existing pyjuju deployment <apport-collected> <papercut> <regression-release> <saucy> <juju-core:Triaged> <juju (Ubuntu):Fix Released> <juju-core (Ubuntu):Triaged> <https://launchpad.net/bugs/1200878>13:48
jamespagejam: I'm not concerned how this is represented in the bug tracker - so long as its documented that there is no migration path from py-juju to juju-core right now13:49
jamespageinfact the bug was only about losing the ability to manage a py-juju environment13:49
jamespagenot breaking it13:49
jamjamespage: fwereade: so last I recall we weren't going to spend effort trying to come up with a way to actually migrate a running environment. However, I wonder if "install GUI, get a Bundle, reinstall elsewhere" might be an answer?13:52
fwereadejamespage, jam: hazmat it looking into it somewhat actively now AIUI13:53
jamespagefwereade, indeed he is13:53
dimiternfwereade: ping14:02
fwereadedimitern, pong14:02
dimiternfwereade: g+?14:02
fwereadedimitern, sure, please start one14:03
dimiternfwereade: i'm running into issues with removing unitsettings's settings field and need some help understanding hookqueue and tests14:03
dimiternfwereade: https://plus.google.com/hangouts/_/f0bf3d6a8b15defb35894c5637399f0b87363f4b?hl=en14:03
dimiternfwereade: i'm waiting14:08
sidneihttps://bugs.launchpad.net/juju-core/+bug/122026914:30
_mup_Bug #1220269: update-<timestamp> directories being left behind <juju-core:New> <https://launchpad.net/bugs/1220269>14:30
natefinchjam, fwereade (and anyone else): what's your opinion on tests that simply duplicate the code in the function they're testing?  I hate not testing things, but I also hate duplicating code just for the sake of coverage metrics. For example: http://pastebin.ubuntu.com/6059183/15:13
natefinchjam, fwereade (and anyone else): (the os-specific functions have their own individual tests)15:14
mgzjam: I wonder if rather than exposing NonValidating as a thing inside goose, it mightn't be better to just have the alternate constructor take an http.Client object15:14
mgzthen juju-core can just pass one in with the InsecureSkipVerify flag set, and maybe also reuse connections to other things15:16
mgznatefinch: do you still need help to get your azure branch landed?15:23
natefinchmgz: yeah... I've been procrastinating because I wasted so much time trying to get an azure environment up and running, I didn't want to waste more time on it until I knew it would be worth it.15:24
natefinchmgz: I probably should have hounded the red squad guys a little more to get it done15:24
mgzdo you know what you wanted to test? we could just ask one of red to try it out.15:24
natefinchmgz: *nod* that's a decent idea. It's just the addressability stuff.  I think I'd have to write some custom code for it, since AFAIK, the addresses aren't actually used anywhere right now.... is that correct? Or is it one of those things where it's stubbed out and once it's not it'll get picked up?15:25
mgzjust looking at hostname should do, but it would be a little easier with a few extra bits15:26
mgzan actual live test would be great...15:26
natefinchmgz: maybe allenap has an azure environment that works, or knows someone on red squad that does?15:27
mgzall of them should have a working setup15:28
dimiternfwereade: when you're back and have some time PTAL https://codereview.appspot.com/13494043 and also let's discuss how to live test it with the local provider15:48
jamnatefinch: I would think we have helpers for patching the environment, but if we don't you code is ok.  I would probably change the comment to "unset JUJU_HOME to force OS specific home selection".15:53
jamnatefinch: your test also gives us some ability to grow it as we might need to do something different on other platforms (though Darwin looks to still use $HOME for now at least)15:53
jamnatefinch: "tests for tests sake" still fall in the "if I change X something lets me know that I might have broken something" other than just assuming I manually audited everything.15:55
=== tasdomas is now known as tasdomas_afk
=== TheRealMue is now known as TheMue
hazmatis there any timeline on manual provisioning?18:21
thumperhi hazmat21:19
thumperhazmat: landed in trunk21:19
thumperhazmat: it may even be in 1.13.3, I'd have to check21:19
thumperhazmat: although axw does need to write some docs for it21:19
hazmatthumper, awesome21:21
thumperhazmat: new focus on that area is the null provider and manual bootstrap21:21
hazmatthumper, so the manual provisioning works with existing providers?21:22
thumperyes21:22
hazmatperfect21:22
thumperas long as the machine you are adding can see the bootstrap node21:22
thumperall is good21:22
thumpercaveat:21:22
thumperunlikely to work with the local provider21:22
thumperas it gives a 10.3.0.0/24 address for storage21:23
thumperwe should write that down21:23
thumper:)21:23
hazmatthumper, i was mostly considering maas as a context21:23
thumpershould work fine there21:23
hazmatthumper, i wonder if will ever get to the point that we can consider undocumented features are a bug21:23
thumperyes, I think we should21:24
hazmatthe stop gap for core dev documenting features was supposed to be rel notes, but this one didn't make it in.21:25
thumperno, it should have21:26
* thumper will poke the right people :)21:26
hazmatthumper, got a moment to chat re manual bootstrap?21:40
thumperum... sure..21:41
* thumper dies a little inside22:46
* bigjools prods thumper23:05
* thumper jumps23:05
bigjoolsthere. not dead.23:05
bigjools(I have caffeine for that)23:06
axwthumper: my exchange's fibre got severed yesterday afternoon. apparently the current connectivity is a temporary workaround23:42
axwso if I'm not online today, that's why23:42
axw(and it's why I wasn't online from 3:30 yesterday)23:42
thumperok, np23:42
* thumper is heading off to the gym shortly23:42
axwenjoy23:45

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