/srv/irclogs.ubuntu.com/2013/07/30/#juju-dev.txt

=== tasdomas is now known as tasdomas_afk
wallyworld_davecheney: normally, the name of a compiled Go executable takes after the package directory name. can i change this so that the binary is named something different? eg the directory is "metadata" but I want the binary to be called "juju-metadata" when i do a go install00:18
thumperwallyworld_: you may have to rename or symlink after the fact maybe?01:19
wallyworld_thumper: yeah, i was trying to avoid that since most devs just do a "go install" and it will be wrong01:19
* thumper nods01:20
thumperpackage names can't have a - right?01:20
wallyworld_right :-(01:20
thumperin which case you are rightly fcuked01:20
wallyworld_we can add rules to the deb packaging config etc but i want devs to be able to use it easily also01:20
wallyworld_i can also add a make target01:20
wallyworld_but most core devs don't like the makefile :-(01:21
wallyworld_it's all working apart from that01:21
wallyworld_thumper: what i've done for now is make the package name "jujumetadata" so at least the binary has a reasonable, juju specific name in the default case where no rename is done as part of a local go install01:24
thumperwallyworld_: yes make a make-target01:25
thumperwallyworld_: and seems reasonable to have the long package name01:25
* thumper looks for the default make target01:25
wallyworld_will do. so between the make target and the juju* package name  we should be ok01:25
thumpermake all01:26
wallyworld_and i'll look into how our release scripts work01:26
thumpermake install maybe01:26
wallyworld_make install is good i think01:26
* thumper nods01:26
thumperthere isn't one now01:26
thumperbut should be easy enough01:26
thumperI will review that change if you like01:26
thumperI don't mind makefiles :)01:26
axwwhat doesn't allow "-" in the package name?01:26
wallyworld_Go01:27
axwit does01:27
axw"." isn't01:27
wallyworld_it complained when i tried01:27
wallyworld_let me try again01:27
axwah hang on01:27
axwsorry, I'm thinking of commands01:27
axwwhere the packagae name is "main"01:27
wallyworld_axw: no, you are right. "-" is ok. not sure what i did the first time. thanks :-)01:29
axwwallyworld_: nps01:29
wallyworld_thumper: it seems i need to provide a --description argument to the plugin. what is the intent there? isn't description similar to purpose? or?01:36
thumperwallyworld_: --description is shown when someone goes "juju help metadata"01:37
thumperno, that's help isn't it01:37
wallyworld_yeah01:37
thumper--description is shown when someone goes "juju help plugins"01:37
thumpershould be a one liner01:37
wallyworld_yes01:37
wallyworld_right, but purpose does that doesn't it?01:37
thumperwhat purpose?01:37
wallyworld_ie cmd.Info.Purpose is the one liner01:37
thumperplugins are defined to be language agnostic01:38
thumperand entirely unrelated to our cmd stuff01:38
wallyworld_ok. i'll just make the plugin print Purpose since it's in Go01:39
jtvYay!  The landing bot is running again then?02:20
thumpershould be02:36
jtvOh.  But nothing's landed, and all my pending branches failed because the build environment wasn't fully set up.02:39
jtvWorking now.  Mine could be the first branches in!02:40
thumperjtv: you have a merge conflict02:49
jtvInevitable.  Thanks for the notice.02:49
jtvBut another one got in.  Two more to go.02:50
jtvthumper: oh good, it's all imports!02:51
jtvWouldn't it be nice if we could automate that kind of resolution...02:51
jtvThrow all imports from the conflicting branches together, split them up into the 3 categories and format, try a build, remove any imports that the compiler says aren't needed.02:52
wallyworld_thumper: i've found an issue with the plugin command. it was incorrectly dropping arguments meant for the plugin. there's a simple one line fix. i'll add a test also02:59
thumperwallyworld_: you need to pass --02:59
thumperto stop the supercommand parsing the extra args02:59
thumperso02:59
thumperjuju plug -for-juju  -- -for-plugin02:59
wallyworld_hmmm. ok. i did this change03:00
wallyworld_--- cmd/juju/plugin.go  2013-07-30 01:31:52 +000003:00
wallyworld_+++ cmd/juju/plugin.go  2013-07-30 02:57:22 +000003:00
wallyworld_@@ -26,7 +26,7 @@03:00
wallyworld_        flags := gnuflag.NewFlagSet(subcommand, gnuflag.ContinueOnError)03:00
wallyworld_        flags.SetOutput(ioutil.Discard)03:00
meetingologywallyworld_: Error: "@" is not a valid command.03:00
wallyworld_        plugin.SetFlags(flags)03:00
wallyworld_-       cmd.ParseArgs(plugin, flags, args)03:00
wallyworld_+       flags.Parse(false, args)03:00
wallyworld_        plugin.Init(flags.Args())03:00
thumperschoool run03:00
bigjoolsafternoon03:33
wallyworld_thumper: back?03:41
thumperyep03:41
thumperjust had a coffee :)03:41
thumpernice03:41
thumperbigjools: how's tricks?03:42
bigjoolsthumper: awake, just, but twin1 is home at least03:42
thumperthat must be a relief03:42
wallyworld_thumper: with my change above, you no longer need the "--". without my change, the user can't run "juju metadata validate-image -r region" unless threy put in the "--" themselves which kinda sucks03:43
wallyworld_with my change, the args just get flicked through to the plugin to handle03:44
thumperbut plugins are environmental commands03:44
thumperso -e is valid03:44
thumperand -e needs to be handled by juju03:44
thumperto set the environment for the plugin03:45
wallyworld_sure, -e works for me03:45
wallyworld_as expected03:45
thumper-e does what?03:45
wallyworld_pciks the env to use03:45
wallyworld_juju metadata -e openstack validate-image -r foo03:45
wallyworld_works03:45
thumperthe tricky bit is where -e is parsed03:45
thumperis it parsed by juju03:45
thumperor the plugin?03:45
wallyworld_hmmm. i think i made the plugin an env command03:46
thumperyeah...03:46
wallyworld_so will need to check03:46
thumperso this would break other plugins03:46
thumperI do think the -- is the better solution03:47
thumperas sucky as it may be03:47
wallyworld_i'll look into it a bit more. i really don't like the -- for built in plugins that are supposed to look like normal commands03:47
thumperyeah I know03:49
thumperbut I'm not sure how to handle it better03:49
thumperwithout too much manual fuckery03:49
thumperwill probably need work in gnuflag package03:50
wallyworld_i'm hoping to avoid that03:50
wallyworld_i'll see if i can insert the --03:50
wallyworld_since we are writing the "built in" plugin code03:50
thumper:)03:54
=== axw_ is now known as axw
thumperaxw: do you have a gravatar?05:11
axwthumper: umm yes05:12
axwshould be on axwalk@gmail.com05:12
axwoh you mean for canonical.com?05:12
* thumper marvals at the number of errors he just generated05:12
thumperaxw: if you attach your canonical email address to your gravatar, it shows up in leankit05:12
axwokey dokey05:13
thumperBOOM!!!!05:14
thumperthat is what my tests say05:14
* thumper should really focus on MAAS and not the logging stuff05:17
thumperOMG we have some awful tests05:19
bigjoolsthumper: why are you surprised?05:20
thumperbigjools: I'm not really05:20
bigjoolsah so that was more of an Oh Em Gee rather than a OMG05:21
* thumper nods05:23
* thumper shelves this work05:23
thumperit needs more focus05:23
* thumper goes back to maas05:23
thumperwhy does ssh use -p and scp use -P ?05:27
* thumper pushes 24mb to bigjools05:27
bigjoolsthumper: thanks a bunch :)05:28
thumpernp05:28
thumperyou have 35G free05:28
thumpersorry05:28
thumper181G free05:28
thumperonly 35 used05:28
thumperheaps of space05:28
bigjoolsyeah that machine can be happily destroyed05:29
bigjoolsI suspect my downlink is better than your uplink05:29
thumperbigjools: I bet it is too05:30
thumper114.6KB/s to push over the ditch05:30
* thumper bootstraps bigjools's maas05:33
thumperI always get confused as whether to put the s in 's for something that ends with s05:34
thumperis there a good rule?05:34
thumperbigjools: how long until maas realises there is a bootstrap and updates the gui?05:34
=== tasdomas_afk is now known as tasdomas
bigjoolsthumper: instant05:38
bigjoolsbut it looks fooked05:38
thumperit didn't show anything05:38
bigjoolsyeah not here either05:38
thumpereven though bootstrap supposedly succeeded05:38
bigjoolsrefresh05:38
thumperah, there we go05:38
bigjoolscould be a timeout on rabbit etcetc05:39
thumperkk05:39
thumperso now wait 20 minutes?05:39
bigjoolsyep05:39
bigjoolsthe node powered itself up so should be ok05:40
bigjoolsyou just deployed bare metal from 1500 miles away05:40
thumper\o/05:41
thumperkinda cool05:41
thumperI'll come back later and poke the running instance05:41
=== thumper is now known as thumper-afk
rogpeppe1mornin' all06:38
=== TheMue_ is now known as TheMue
rogpeppe1i'd love a second review of this, please, if anyone wants to have a look. it's very small: https://codereview.appspot.com/12025043/07:39
rogpeppe1TheMue: ^07:39
TheMuerogpeppe1: will look in a moment, my vm is just starting ;)07:41
rogpeppe1TheRealMue: thanks07:42
=== TheRealMue is now known as TheMue
axwso I had a branch that failed tests on the bot... due to some missing imports in files I didn't change07:44
axwI shouldn't need to manually merge from trunk first right?07:44
axwhttps://code.launchpad.net/~axwalk/juju-core/lp1182898-add-version-flag/+merge/17684907:45
axw(now I have manually merged, and I need another review...)07:45
TheMuerogpeppe1: could you resend the link pls?07:45
rogpeppe1TheMue:  https://codereview.appspot.com/12025043/07:45
TheMuerogpeppe1: thx07:45
rogpeppe1TheMue: and https://codereview.appspot.com/12038045/ too, if you have a little more time07:46
rogpeppe1TheMue: (i accidentally incorporated the first one into it, so please ignore the upgrader package changes in the second one - they'll disappear when the first one gets merged into trunk)07:47
TheMuerogpeppe1: first review done, looking at the second now ;)07:50
rogpeppe1TheMue: thanks!07:51
=== ChanServ changed the topic of #juju-dev to: https://juju.ubuntu.com | On-call reviewer: TheMue | Bugs: 5 Critical, 80 High - https://bugs.launchpad.net/juju-core/
axwrogpeppe1: do you know what I need  to do to make Go Bot happy here?07:54
axwhttps://code.launchpad.net/~axwalk/juju-core/lp1182898-add-version-flag/+merge/176849/comments/39970207:54
rogpeppe1axw: looking07:54
rogpeppe1axw: oh yes, it's poxy07:54
rogpeppe1axw: you need to reload the launchpad page before marking it Approved07:54
rogpeppe1axw: i *think* that's probably the reason07:55
axwmmkay07:55
rogpeppe1axw: it marks the mp as "approved at this particular revision"07:55
axwrogpeppe1: thanks, I'll give it a shot07:55
axwah07:55
rogpeppe1axw: it bites everyone07:56
axwdo you know why I would've got those test failures in the previous comment?07:56
axwI didn't change any of that stuff in my branch07:57
axwtrunk should always be clean... and there would've been no merge conflicts07:57
TheMuerogpeppe1: review is in08:00
rogpeppe1TheMue: ta!08:00
rogpeppe1axw: i'll have a look08:00
rogpeppe1axw: i've no idea, sorry - i haven't seen anything like that before08:01
rogpeppe1axw: i'd suspect mgz's bot setup08:01
rogpeppe1axw: we'll see if my MP goes in ok08:01
rogpeppe1axw: hmm, mine merged ok, so it looks like the bot *is* working08:02
axwrogpeppe1: nps, thanks for checking08:03
rogpeppe1axw: see if it happens again08:03
axwrogpeppe1: I already merged manually and pushed, which is the wrong thing to do... I hope that doesn't screw anything up?08:03
rogpeppe1axw: when the bot is working, that is frowned upon08:04
rogpeppe1axw: but given that i'm sure you ran all the tests, it seems reasonable while the bot is flaky08:04
axwrogpeppe1: ok, sorry. hopefully it just works next time...08:05
rogpeppe1axw: yeah08:05
axwrogpeppe1: when I say I merged manually, I mean I merged trunk into my branch and reapproved my MP08:06
axwI didn't push to the trunk directly08:06
rogpeppe1axw: oh, that's standard practice08:06
axwrogpeppe1: phew :)08:06
TheMue:)08:13
thumperfwereade: ping08:24
thumperfwereade_: ping?08:25
thumpermgz: morning08:34
mgzhey thumper!08:35
fwereade_thumper, pong08:38
thumperfwereade_: hey, was thinking we hadn't chatted in a while08:38
thumperfwereade_: and was wondering if you wanted to catch up08:38
* thumper sits on the edge of his seat waiting for a response...08:41
thumpermgz: did you want to catch up since I'm online anyway?08:46
mgzsure08:46
thumpermgz: skype, hangout, mumble?08:47
mgzanything but skype works for me :)08:48
thumperhangouts on my android phone really sucks the battery08:48
thumpermgz: so hangout is ok?08:48
thumperbetter than mumble normally08:48
mgzyup08:48
mgzaxw, rogpeppe1: yeah, the bot doesn't want to resolve merge conflicts for you, it's not sentient08:57
axwmgz: fair enough ;)  where can I see the merge conflicts?08:58
axwthere weren't any when I did a manual merge08:58
rogpeppe1mgz: ah, that error message didn't look like a merge conflict08:58
mgzaxw: `bzr merge --preview -d trunk mybranch` or similar09:02
axwmgz: I already merged from trunk into my branch, and there were no conflicts09:04
wallyworldrogpeppe1: fwereade_: i've pushed changes to the validation branch. there's now built in plugin support, with the necessary changes to pass through args and help directives etc. so you can go 'juju help metadata' to get general plugin help listing the supported sub commands and 'juju help metadata validate-image' to get detailed help for that specifc command09:05
axwnot sure why, but I got this failure: https://code.launchpad.net/~axwalk/juju-core/lp1182898-add-version-flag/+merge/176849/comments/39927909:05
axw(I didn't touch any of those files)09:05
fwereade_wallyworld, cool, tyvm09:05
wallyworldfwereade_: see what you think. but i'm quite happy with the ui and how it works09:06
mgzaxw: er, sorry, confusing things, looking at the right branch now (it's actually merged now)09:06
rogpeppe1wallyworld: great, thanks09:06
wallyworldbtw, the binaries just get compiled and put in the normal bin directory09:07
axwmgz: I'm not sure if it was necessary, but I merged from trunk after I got that failure, and then pushed back to LP and reapproved the MP09:07
mgzaxw: the message from the bot is complaining that you hit 'approve' in the merge proposal at r1541, then pushed (or launchpad didn't register the push until) the merge of trunk as r154209:08
mgzso, you had an extra rev that wasn't in the change that was 'approved'09:08
axwmgz: yep thanks, I understand that last error now09:08
mgznot really useful in this case as you're self landing09:08
axwjust not sure why the original test failure occurred09:09
axwas there was never a merge conflict AFAICT09:09
axwand I didn't change those files09:09
mgzthat mp also has a note from yesterday when the bot was all borked while I was fixing, that can be ignored09:09
wallyworldthumper: we probs need to talk to fwereade_ about how/if we should try and record what containers a particular instance supports09:09
mgzthere was a general "don't approve things" in place, but you may not have realised as it was at the end of last week and I didn't restate yesterday09:10
axwmgz: okey dokey, sorry about that. I thought it was lifted09:10
mgznot until 6ish when I sent the email, but apart from confusing you did no harm :)09:11
axw;) cool09:11
rogpeppe1wallyworld: if i type "juju help commands", should i expect to see information on plugins there too?09:19
wallyworldrogpeppe1: no. you want to type juju help plugins09:21
wallyworldplugins can be bash scripts, python, whatever09:21
rogpeppe1wallyworld: ah, that needs to be documented somewhere09:21
wallyworldrogpeppe1: it is isn't it? thumper did all that work09:22
rogpeppe1wallyworld: oh yeah, it is09:22
rogpeppe1wallyworld: hmm, i'm not sure that "juju help topics" should be separate from "juju help" but that's a matter for a different discussion09:23
rogpeppe1wallyworld: BTW i'd expect "juju metadata generate-image --help" to work, but it doesn't09:24
rogpeppe1wallyworld: what does it mean to be a "built-in plugin"09:26
rogpeppe1?09:26
rogpeppe1wallyworld: i.e. why is the metadata plugin special like that?09:26
rogpeppe1wallyworld__: what was the last thing you saw me say?09:27
rogpeppe1wallyworld__: ping09:30
wallyworld__rogpeppe1: hi, sorry was washing up after dinner. i saw you say "oh yeah"09:32
rogpeppe1wallyworld__: ah, ok09:32
rogpeppe1[10:23:09] <rogpeppe1> wallyworld: hmm, i'm not sure that "juju help topics" should be separate from "juju help" but that's a matter for a different discussion09:32
thumperrogpeppe1: juju help topics shows it09:33
rogpeppe110:24:03] <rogpeppe1> wallyworld: BTW i'd expect "juju metadata generate-image --help" to work, but it doesn't09:33
rogpeppe1[10:26:23] <rogpeppe1> wallyworld: what does it mean to be a "built-in plugin"09:33
thumperbut the default help should have it shown too09:33
rogpeppe1[10:26:24] <rogpeppe1> ?09:33
rogpeppe1[10:26:49] <rogpeppe1> wallyworld: i.e. why is the metadata plugin special like that?09:33
rogpeppe1thumper: i'd forgotten about help topics09:33
rogpeppe1thumper: would it be unreasonable to merge "help topics" into "help" ?09:33
thumperrogpeppe1: that shows a bit much09:33
thumperespecially as I'm trying to get more topics09:34
thumperlike constraints09:34
wallyworld__rogpeppe1: the --help should work i think. i'd been testing with help. plugin arg handling is a little different09:34
thumperand other...09:34
wallyworld__rogpeppe1: built in just means it is shipped with juju09:34
rogpeppe1thumper: i wouldn't mind seeing a few more lines in juju help09:34
wallyworld__out of the box09:34
rogpeppe1wallyworld__: why does "built-in" imply "doesn't allow interspersed flags" ?09:35
thumperrogpeppe1: I'd ask jcastro and marco what they think09:35
rogpeppe1thumper: +109:35
rogpeppe1wallyworld__: also, isn't the very point of a plugin that it's external to the main executable?09:36
wallyworld__rogpeppe1: because that's what is needed to make the flag handling pass all the args to the next command invoked09:36
wallyworld__rogpeppe1: it is external09:36
wallyworld__it's a separate binary09:36
rogpeppe1wallyworld__: so why are built-in plugins special in their flag-handling requirements?09:37
wallyworld__rogpeppe1: all plugins are09:37
wallyworld__but external plugins require --09:38
wallyworld__and i'd rather make the built in ones look "native"09:38
wallyworld__and not make the user type "--"09:38
rogpeppe1wallyworld__: that seems like unreasonable special-casing to me09:39
rogpeppe1wallyworld__: a plugin should be a plugin09:39
rogpeppe1wallyworld__: line 30 of https://codereview.appspot.com/11566043/diff/54001/cmd/juju/plugin.go seems weird to me09:39
wallyworld__i disagree in this case. we don't want the user having to know to type "--" just to use functionality shipped with thr system09:40
wallyworld__i made it a plugin to get it out of the main juju help topic09:40
rogpeppe1wallyworld__: if we want to make it a plugin, i think it should be a normal plugin.09:40
wallyworld__i disagree09:40
rogpeppe1wallyworld__: if normal plugins are hard to use, that's another issue09:40
wallyworld__it needs to be integrated better than that09:40
rogpeppe1wallyworld__: if we want it to be integrated, it should not be a plugin09:41
rogpeppe1wallyworld__: this seems to me to be the worst of both worlds09:41
wallyworld__well, it was integrated09:41
rogpeppe1wallyworld__: i know, and we decided to make it a plugin09:41
wallyworld__but then you guys wanted it a little more separated09:41
rogpeppe1wallyworld__: so i think it should be just that. no special casing.09:41
wallyworld__yes, to uncluter juju help commands09:41
wallyworld__but i do not want to make it hard for the user09:41
rogpeppe1wallyworld__: this just makes a *third* category of juju subcommand09:42
wallyworld__users are not unix geeks09:42
rogpeppe1wallyworld__: which actually makes it harder for the user, IMO09:42
rogpeppe1wallyworld__: because they don't know what's going to happen (for example) to the -e flag09:42
wallyworld__they do09:42
wallyworld__-e behaves as expected09:42
wallyworld__it selects an env to use09:42
rogpeppe1wallyworld__: it doesn't for metadata generate-image09:42
wallyworld__i'd have to check that command, i can't recall if it needs an env or not09:43
rogpeppe1wallyworld__: it takes a -e flag that is *not* an environment09:43
wallyworld__so that should change perhaps. should -e e reserved across all commands to only mean env?09:44
wallyworld__be09:44
rogpeppe1wallyworld__: it is reserved in that way for all normal commands (and normal plugins too, i think)09:44
rogpeppe1wallyworld__: except when -- is used09:44
wallyworld__ok. i'll change that arg name then09:45
wallyworld__rogpeppe1: actually, that was supposed to be -u for that one09:46
rogpeppe1wallyworld__: i'd be much happier if all the "built-in plugin" stuff was removed too. it's almost self contradictory, and very odd, i think.09:46
wallyworld__why? i disagree09:46
rogpeppe1wallyworld__: a plug-in is by definition not built-in, i think.09:46
wallyworld__what? photoshop and other things ship with built in plug ins09:47
wallyworld__lots of software does09:47
wallyworld__the plugin mechanism is a framework09:47
wallyworld__software can ship with built in tools that use the framework. and allow for external extension09:47
rogpeppe1wallyworld__: it seems like we're giving this particular plug-in special privileges because it's awkward to use as a normal plug-in.  don't you think that other people providing plug-ins might have similar requirements? but they won't be able to switch on the "built-in" flag.09:48
rogpeppe1wallyworld__: perhaps we should make all plugins parse all their own flags, including -e09:49
wallyworld__with externally written plugins, my mental model is that they are bolted on type thing. hence one has slightly different expectations09:50
rogpeppe1wallyworld__: how can the user possibly know which things are externally written and which are not?09:50
wallyworld__the plugins do parse their own flags i think, even the built in ones09:50
rogpeppe1wallyworld__: i don't think they should have to know09:50
rogpeppe1wallyworld__: i think the standard flags are parsed before passing to the plugin09:51
rogpeppe1wallyworld__: and that's why allowIntersperse is true09:51
rogpeppe1wallyworld__: i agree that it's not a great user experience, because they need to know that -e is parsed by juju proper, and the other flags are parsed by the plugin itself09:52
wallyworld__so the user types "juju help metadata validate-image" and they get told hoe to use the command. they don't really need to know it's a plugin09:52
rogpeppe1wallyworld__: and hence require a "--" separator09:52
rogpeppe1wallyworld__: the juju only *knows* about the metadata command because they typed "juju help plugins"09:52
wallyworld__yes, that's how you wanted it!09:53
wallyworld__otherwise i wouldn't have bothered with the work to make it a plugin09:53
rogpeppe1wallyworld__: i defer to fwereade_09:53
wallyworld__sorry. discussions on irc suck09:54
rogpeppe1wallyworld__: personally, i was ok with it being either a fully fledged plugin, or a fully builtin (set of) command(s).09:54
rogpeppe1wallyworld__: but this half-way house seems bad to me09:54
rogpeppe1wallyworld__: it's like "it's a plugin but it's not really"09:54
wallyworld__the only difference i think is the use of "--" or not09:55
rogpeppe1wallyworld__: yes. and without that difference, would you actually *need* the concept of built-in plugins?09:55
fwereade_wallyworld__, I suspect rogpeppe1 has a point here, but I'll have to look closer09:55
wallyworld__as a user, i would HATE to type "--" just to validate some image metdata09:56
rogpeppe1wallyworld__: then as a user you'll hate to use any juju plugin09:56
rogpeppe1wallyworld__: which means that our plugin concept is broken09:56
wallyworld__maybe. but external ones give different expectations09:56
wallyworld__built in ones need to be more integrated09:57
rogpeppe1wallyworld__: so let's fix that rather than providing a special-case hack because we don't like the way they work09:57
wallyworld__since they ship with the system09:57
rogpeppe1wallyworld__: i think all plugins should work well09:57
axwgood night all09:57
rogpeppe1axw: cheerio09:57
rogpeppe1wallyworld__: and if we can't make the ones that ship with the system work well without special-case hacks, then we're doing something wrong09:57
wallyworld__why did we force people to use "--" in the first place? was that a limitation of the gnu flags package?09:58
rogpeppe1wallyworld__: i agree with your motivation, BTW. i think it's nasty that the user has to add a "--" to pass flags to a plugin09:58
rogpeppe1wallyworld__: in a way, yes09:59
rogpeppe1wallyworld__: but actually it's a fundamental limitation of the gnu flag syntax09:59
rogpeppe1wallyworld__: you can't parse flags without knowing what flags are expected09:59
rogpeppe1wallyworld__: so what we'd like to do is parse *only* the standard flags and leave the rest for parsing by the plugin10:00
wallyworld__sounds reasonable10:00
rogpeppe1wallyworld__: but that's impossible in general10:00
wallyworld__so if we are going to fix the "--" i'd really like to land this as is and follow up separately10:00
wallyworld__we know if we are processing a "missing command". can't we be less strict on the flags processing in that case10:01
rogpeppe1wallyworld__: i'd much prefer this to land with the command as a normal plugin, without the special-case built-in stuff. it makes the CL more huge than it needs to be10:01
wallyworld__and just pass what we don;t know about through10:01
rogpeppe1wallyworld__: that's what i was saying - that's actually impossible10:02
wallyworld__i don't want to impose the "--" on our users10:02
wallyworld__built in means we get to do a better job of integrating10:02
rogpeppe1wallyworld__: if "better job of integrating" means "we don't need to pass --", and we're planning to fix that, then i don't see the point10:03
wallyworld__like car accessories or whatever. stuff that comes with the vehicle out of the factory is alsways better than going to the auto shop and bolting on later10:03
rogpeppe1wallyworld__: let's not design it like that, please10:03
wallyworld__this is about getting much needed functionality into user's hands with the desired interface10:04
wallyworld__the built in handling is behind the scenes and can be fixed later for any existing plugins10:04
wallyworld__to remove the "--"10:04
rogpeppe1wallyworld__: the functionality is much more important than the interface at this point10:04
wallyworld__the ui is important too10:05
rogpeppe1wallyworld__: and this is unnecessary cruft in our code base10:05
wallyworld__i don't want to ship something only to change the interface latert10:05
wallyworld__its a few lines to handle tie "--"10:05
wallyworld__the bulk of the code is business logic10:05
wallyworld__we need to deliver incrementally10:06
rogpeppe1wallyworld__: speaking of delivering incrementally, that CL should really be split into about 3 or 4.10:06
rogpeppe1wallyworld__: i appreciate that you want to deliver the result though10:06
wallyworld__it was smallish but then it grew10:07
rogpeppe1wallyworld__: but i'm sure you can deliver it and say "yes, the interface is currently provisional, but we're working on it"10:07
rogpeppe1wallyworld__: yeah, i know the feeling very well10:07
wallyworld__well, i'd like the interface not to be provisonal10:07
wallyworld__i like not having the "--"10:07
rogpeppe1i'd very much like not to put "temporary" hacks into the code base which may need to stay forever10:08
wallyworld__i'd like to get this out there and then fix how existing external plugins work10:08
wallyworld__sometimes we need to be pragmatic to be agile10:08
rogpeppe1wallyworld__: how about fixing things by always passing "false" to flags.Parse ?10:09
wallyworld__that will break external plugins10:09
rogpeppe1wallyworld__: i think that might actually be a nicer solution actually10:09
rogpeppe1wallyworld__: i don't think so10:09
rogpeppe1wallyworld__: i don't think it will affect them at all10:09
wallyworld__hmmm. i thought i tested it and it broke. tim seemed to think it would break stuff also. i can look again. i originally had it that way and tim had concerns10:10
rogpeppe1wallyworld__: it just means that you won't be able to do "juju some-plugin -e my-env" unless the plugin actually implements the -e flag10:10
wallyworld__perhaps what you say above was the issue. can't recall now10:11
rogpeppe1wallyworld__: hmm, i'm not sure if "juju -e my-env some-plugin" will work actually10:11
wallyworld__i'm not sure it would be wise to possibly break existing plugins10:11
rogpeppe1wallyworld__: *are* there any existing plugins?10:11
wallyworld__yes, because the guys in oakland were *really* keen for them, that's why plugins were written10:12
wallyworld__mainly mark mimms and his group10:12
rogpeppe1wallyworld__: i know they were keen for them, but have they actually written any yet?10:12
wallyworld__i *think* so. i thought they wrote some while we were there10:13
wallyworld__or re-purposed existing code as a plugin10:13
wallyworld__rogpeppe1: let's finalise what we want to do with fwereade_after the standup maybe10:14
rogpeppe1wallyworld__: sgtm10:14
wallyworld__much easier than typing10:15
* wallyworld__ goes to open some more wine to prepare :-)10:15
rogpeppe1wallyworld__: sorry for the bother10:16
wallyworld__rogpeppe1: no problem. it's a necessary discussion. i'd love to get rid of the "--"10:17
wallyworld__irc is so impersonal10:18
rogpeppe1wallyworld__: BTW the fundamental difficulty with extracting the -e flags without disrupting the rest of the flags is that it can break command lines like: juju my-plugin --title $title10:19
rogpeppe1wallyworld__: consider what happens if $title happens to be '-environment-'10:20
wallyworld__wouldn't the flags know that -title requires a value10:20
wallyworld__and hence -env- is the value10:21
wallyworld__that goes with -title10:21
rogpeppe1wallyworld__: no, because we're parsing them before my-plugin gets called10:21
wallyworld__so maybe the flags that are typed after plugin are considered to belong to plugin are ignored by juju10:21
rogpeppe1wallyworld__: that's the main (only?) advantage that plugins provide for you, other than that you can call them with "juju my-plugin"10:21
rogpeppe1wallyworld__: i think that's a reasonable p.o.v.10:22
rogpeppe1wallyworld__: but it means that there's not necessarily any standardisation on -e/--environment10:22
rogpeppe1wallyworld__: it's what i was suggesting by passing allowIntersperse=false10:22
wallyworld__so 'juju -e env -log debug my-plugin -t  $title'10:23
rogpeppe1wallyworld__: yeah, i think allowing a -e flag to *any* juju command isn't a bad idea10:23
wallyworld__well, -e would be for juju only i guess10:23
rogpeppe1wallyworld__: currently plugins will work when called as "juju some-plugin -e my-env", same as other commands (and also currently, a plugin doesn't have to interpret the -e flag).10:27
rogpeppe1wallyworld__: this would break that10:28
wallyworld__hmmm. maybe we can live with that. not sure10:28
rogpeppe1wallyworld__: i'm not sure that's that important. i think it actually simplies juju itself, at the expense of making plugins marginally harder to implement (you need to parse the -e flag)10:29
rogpeppe1(rather than read the JUJU_ENV environment variable)10:29
wallyworld__yeah. worth considering10:30
rogpeppe1quick shell script question: easiest way to sort a Go traceback by goroutine id?10:47
mgzrogpeppe1: I thought you were the one with all the fancy awk stuff for understanding go panics...10:48
rogpeppe1mgz: not afair...10:49
rogpeppe1mgz: though for tracebacks with hundreds of goroutines, i've been wondering about something to make them a bit more accessible10:49
mgzindeed.10:50
rogpeppe1mgz: something that would classify similar ones together, for example10:50
rogpeppe1i thought that someone might have a two line piece of python magic :-)10:51
rogpeppe1for the record: http://paste.ubuntu.com/5928595/11:04
TheMueaaaaah, got it, tests are passing again *phew*11:08
dimiternfwereade: https://codereview.appspot.com/12034043/11:24
fwereade_dimitern, sorry, I haven't done that very well, I just had a couple of comments I forgot to send11:30
fwereade_dimitern, I think rogpeppe1's comments generally made sense11:30
dimiternfwereade: ok11:31
mgzstandup all11:31
dimiternfwereade: will repropose with his suggestions after the standup11:31
fwereade_dimitern, cool, cheers11:32
benjigary_poster: nope; when I changed the source yesterday the web socket never would reconnect; I think I didn't do the self-signed cert acceptance dance right.12:24
benjigggfddsfds; wrong chan12:24
rogpeppe1fwereade_: when you have a moment, i wouldn't mind having that chat about EnsureAPIInfo12:35
fwereade_rogpeppe1, one-on-one atm, then lunch I fear12:36
rogpeppe1fwereade_: np12:36
* rogpeppe1 should have some lunch too12:36
rogpeppe1fwereade_: i'm tempted to drop EnsureAPIInfo entirely12:37
rogpeppe1fwereade_: anyone that needs to upgrade from 1.10 can upgrade to 1.12 first12:37
jcastrohey guys13:37
jcastrodistro go this MP13:37
jcastrohttps://code.launchpad.net/~tribaal/ubuntu/saucy/juju-core/add-bash-completion/+merge/17728713:38
jcastrobut they feel this should be upstream13:38
jcastroanyone know how I can put this on your merge radar instead of distros?13:38
rogpeppe1jcastro: interesting. i can't answer your question, but it makes me more convinced that "juju help commands" should print all commands, including plugins13:46
jcastroso ... assign thumper13:46
jcastroIs that what you meant? :)13:47
ahasenackhm, I have my unit logs over on the unit full of these:13:49
ahasenackerror: --unit-name option expects "<service>/<n>" argument13:49
ahasenackthat's all it has13:49
ahasenackany idea what command it was trying to run?13:49
ahasenackaha13:50
ahasenackexec /var/lib/juju/tools/unit-rabbitmq-server-0/jujud unit --data-dir /var/lib/juju --unit-name rabbitmq/server/0 --debug >> /var/log/juju/unit-rabbitmq-server-0.log 2>&113:50
rogpeppe1jcastro: quite possibly :-)13:53
rogpeppe1ahasenack: can you reproduce the problem from scratch?13:53
ahasenackrogpeppe1: I'm not sure, investigating still13:54
ahasenackI don't see any obvious typos so far13:54
jtvAny reviewers available for https://codereview.appspot.com/12103043 ?13:56
dimiternjcastro: yeah, there are plugins as well13:56
ahasenackguys, what do you think about an option to destroy-unit like this:14:02
ahasenackjuju destroy-unit foo/0 --terminate14:02
ahasenackit would also terminate the machine14:03
ahasenackor even for destroy-service too14:03
dimiternahasenack: you can try destroy-machine directly14:03
ahasenackoh?14:03
* ahasenack checks that one out14:03
ahasenackdimitern: doesn't work14:04
ahasenackMachines that have assigned units, or are responsible for the environment, cannot be destroyed.14:04
ahasenackdimitern: right now the sequence is14:04
ahasenackdimitern: juju status, lookup machine id of the unit you are about to destroy14:04
ahasenackdimitern: juju destroy-unit unit/014:04
ahasenackdimitern: wait a few seconds14:04
ahasenackdimitern: juju terminate-machine <machiine-id-looked-up-earlier>14:04
dimiternahasenack: if you do terminate-machine you don't need to do destroy-unit before that i think14:05
ahasenackdimitern: the help says it won't destroy the machine14:05
ahasenackdimitern: and it's an alias to terminate-machine, which I can confirm doesn't do that. It stops if the machine still has a unit14:05
ahasenackI mean, destroy-machine (what you said before) is an alias to terminate-machine, which is what I have been using14:06
dimiternahasenack: ah, you're right yes14:06
rogpeppe1ahasenack: i think it should be possible to terminate any machine with destroy-machine, and it should do what's necessary to bring that about, but others (notably fwereade_) may have different opinions14:10
rogpeppe1fwereade_: ping14:10
ahasenackI would be happy with a --force option to destroy-machine, or --terminate option for destroy-unit14:10
ahasenackmore the latter14:11
ahasenackjust reading the --force docs would make me wonder if destroy-machine --force would also call destroy-unit, i.e., everything should happen in the right order14:11
mgzthe second doesn't really make sense in the multipl-units-per-machine case14:11
ahasenackdestroy-unit --terminate would mean 1) destroy-unit, run all the hooks that are needed; 2) terminate-machine14:11
ahasenackah, there is that now14:12
ahasenackit could be so that --terminate would only terminate if the machine is vacant14:12
ahasenackbecause this workflow I described is something I use a *lot*14:12
ahasenackI destroy a unit or service, in preparation for a redeploy/add-unit, and I need the machine terminated, or else it will be used again as it was left14:13
mgzwell, and with containerisation, machine reuse will be... less undesirable14:13
ahasenackwhat I'm doing now basically is looping over all machine ids and calling terminate, and letting juju decide if it can terminate the machine or not14:13
mgzbecause destrying the unit can just blow away the container14:13
dpb1ahasenack: I don't think machines are "recyled" anymore14:13
ahasenackdpb1: still, the dangling machine builds up against my quota14:14
dpb1ahasenack: yes, that is true14:14
rogpeppe1mgz: wondering about your thoughts on this: i'm considering making a change that will mean we can't upgrade a juju environment from 1.10 to current, although you'll be able to upgrade via 1.12. do you think that's reasonable?14:14
rogpeppe1mgz: basically, i'm trying to avoid one temporary hack spreading tentacles14:15
rogpeppe1fwereade_: if you're around, i'm talking about the EnsureAPIInfo hack here14:15
mgzpersonally, I don't care about upgrades at all, so maybe poke william :)14:16
mgzI always blow all my stuff away and redeploy14:16
=== BradCrittenden is now known as bac
rogpeppe1mgz: yeah, me too. but you might know of people that have stayed on 1.10 for whatever reason, peraps14:17
mgzhaving random point in trunk borked is always fine I think, but by "current" do you also mean rolling forward to 1.14?14:17
rogpeppe1mgz: yeah14:17
rogpeppe1mgz: if you're running 1.10, you'd need to upgrade via 1.1214:17
mgzthat might be more of an issue, because we do probably need some kind of upgrade path for what we've shipped in raring to what we'll ship in saucy14:17
rogpeppe1mgz: well, there *will* be an upgrade path14:18
rogpeppe1mgz: just that it's via 1.1214:18
rogpeppe1mgz: but i guess if people can't readily get access to that, then, yeah, it might be a problem14:18
rogpeppe1mgz: darnit14:18
sidneihey folks, can i get some attention to https://bugs.launchpad.net/juju-core/+bug/120511214:18
_mup_Bug #1205112: panic while setting a config value <juju-core:Triaged> <https://launchpad.net/bugs/1205112>14:18
rogpeppe1sidnei: i'd like to help, but i didn't see a description of how to reproduce the problem14:19
rogpeppe1sidnei: i.e. have you got a way that i can reproduce it from scratch?14:20
rogpeppe1sidnei: or, alternatively, can you reproduce it reliably on tip?14:20
rogpeppe1sidnei: (in which case, i'd ask you to add a debug print in a particular place, which should help diagnose the problem)14:21
sidneirogpeppe1: i can look into that. im suspecting it may be charm specific even. i think it's reliably reproducible.14:21
rogpeppe1sidnei: i took a look at the code and couldn't see how the crash is possible14:21
rogpeppe1sidnei: thanks14:21
sidneirogpeppe1: i'm doing juju deploy --config, and only about half settings got set, and then trying to set any setting after that causes the panic. i think there might be some error during the deploy --config which is in the logs but i haven't looked there.14:22
rogpeppe1sidnei: that's entirely possible14:22
rogpeppe1sidnei: can you paste the config file, please?14:22
rogpeppe1sidnei: i suspect that's the source of the problem14:23
sidneirogpeppe1: http://paste.ubuntu.com/5929199/14:23
sidneirogpeppe1: http://paste.ubuntu.com/5929208/ is the charms' config.yaml14:24
rogpeppe1sidnei: u1-stream is the name of the service, presumably?14:26
sidneirogpeppe1: correct14:26
rogpeppe1sidnei: is it significant that it's different from the service name in the bug report, or is that just a name change since then?14:27
sidneirogpeppe1: it's the same charm, different service name yes.14:27
sidneirogpeppe1: worth noting that the panic happens setting any config value, not just a specific one. my hunch is that there's something persisted from the --config that causes the comparison to blow up.14:28
rogpeppe1sidnei: are you seeing this against juju tip?14:28
rogpeppe1sidnei: (yes, that sounds very plausible)14:29
sidneirogpeppe1: tip-ish, revno 1544, i can update and try again.14:29
rogpeppe1sidnei: no, it's ok. i'll just give you a debug statement to add, and perhaps you could try again?14:29
fwereade_rogpeppe1, sidnei: gut suspicion: the dotted config names are treated specially by mongo, because santitizing our inputs? what's that?14:29
rogpeppe1fwereade_: i think you might have a good point there14:30
sidneifwereade_: likely.14:30
fwereade_rogpeppe1, sidnei: and they all get packed into $update foo.bar -> dict -> blam14:30
rogpeppe1fwereade_: we just use the names directly14:30
sidneifwereade_: i've used dotted config names since pyjuju supported them, to map into the charm's service dotted names directly.14:31
rogpeppe1fwereade_: yeah, and since there are several names for, say keystone, they'll be unmarshalled into a map perhaps14:31
fwereade_rogpeppe1, man, that Settings type pisses me off in more ways than I can count at this point14:31
rogpeppe1fwereade_: :-)14:31
rogpeppe1fwereade_: this is another reason for having some charm name restrictions14:31
rogpeppe1fwereade_: so at least we know the alphabet we're dealing with14:32
fwereade_rogpeppe1, +10014:32
rogpeppe1fwereade_: i suggest that for the time being, we can just sanitise settings names14:32
rogpeppe1fwereade_: map . to... something14:32
fwereade_rogpeppe1, yeah, mumble grumble compatibility grumble, but yeah14:33
rogpeppe1fwereade_: we'll need to map back again too, of course14:33
* rogpeppe1 goes to read about mongo name syntax14:33
fwereade_rogpeppe1, tbh all those keys should go in a subdict of the doc *anyway*, because one day someone is going to be baffled by the effect of trying to call a key txn-revno, or similar14:35
fwereade_rogpeppe1, but yes also sanitised14:36
rogpeppe1fwereade_: agreed14:36
rogpeppe1fwereade_: looks like we need to sanitize (at least) : "$", "." and leading digits14:38
dimiternrogpeppe1, fwereade: updated https://codereview.appspot.com/1203404314:39
fwereade_rogpeppe1, ok, and now I come to think of it compatibility isn't an issue14:39
fwereade_rogpeppe1, none of those will work anyway ;p14:40
rogpeppe1fwereade_: indeed14:40
rogpeppe1fwereade_: although we need to think carefully about our sanitisation14:40
dimiternplease take a look, i need to land this already - it's too huge to stay long, otherwise i'll run into some nasty conflicts14:40
fwereade_dimitern, will do14:41
dimiterncheers!14:41
* dimitern bbiab14:51
rogpeppe1dimitern: reviewed15:10
rogpeppe1fwereade_: chat about EnsureAPIInfo?15:10
fwereade_rogpeppe1, sure, couple of mins, would you start one please?15:12
rogpeppe1fwereade_: will do15:12
rogpeppe1fwereade_: https://plus.google.com/hangouts/_/f497381ca4d154890227b3b35a85a985b894b471?authuser=115:12
dimiternrogpeppe1: thanks!15:20
fwereade_dimitern, reviewed15:23
dimiternfwereade: cheers15:25
jtvAny reviewers in the house?  Looking for someone to take a look at https://codereview.appspot.com/1210304315:52
rogpeppe1jtv: swap ya: https://codereview.appspot.com/1211404316:03
rogpeppe1anyone else too - it's a trivial deletion-only CL16:03
dimiternrogpeppe1: hey, you know initially I wanted to argue with some of your suggestions, but as I went all of them fit quite nicely :)16:06
rogpeppe1dimitern:  :-)16:06
=== tasdomas is now known as tasdomas_afk
fwereade_rogpeppe1, fwiw I think https://codereview.appspot.com/12097043/ is trivial; concur?16:13
fwereade_rogpeppe1, State.pareTag16:13
rogpeppe1fwereade_: yeah16:14
fwereade_rogpeppe1, cheers16:14
rogpeppe1fwereade_: oh, and i understand why you got weird linker errors too, i think16:14
fwereade_rogpeppe1, o yes?16:14
rogpeppe1fwereade_: it's because the tests fixtures themselves use State16:14
rogpeppe1fwereade_: so, i think, external packages are linked against the non-test version of the code.16:15
fwereade_rogpeppe1, hahaha, yes, that makes sense16:15
rogpeppe1fwereade_: that's my current theory anyway - i haven't spent any time verifying it16:15
fwereade_rogpeppe1, good enough for me, I resolved not to worry about it too much anyway ;)16:16
rogpeppe1jtv: reviewed16:17
rogpeppe1fwereade_: your review of https://codereview.appspot.com/12114043 appreciated too, please16:17
fwereade_rogpeppe1, btw, https://codereview.appspot.com/11723043/16:29
rogpeppe1fwereade_: ha, thanks, i'd totally forgotten about that16:29
* fwereade_ needs to be off, but will be back somewhat later to finish everybody's reviews16:39
sidneirogpeppe1: sorry, was out at lunch. was there any conclusion to what's the right fix?16:45
rogpeppe1sidnei: your temporary workaround fix, i'm afraid, is to avoid using "." in attribute names16:46
rogpeppe1sidnei: we need to sanitise the names used - the fix isn't hard, but we need to decide on an encoding scheme and actually do it16:46
rogpeppe1sidnei: the issue, we're pretty certain, is because the names are used directly in mongo, which interprets the "." specially.16:47
dimiternrogpeppe1: updated again; one last look before I submit it? https://codereview.appspot.com/1203404316:47
rogpeppe1dimitern: looking16:48
sidneirogpeppe1: hum, tricky but workable. i'd rather help you guys with implementing the sanitization though.16:49
dimiternrogpeppe1: btw had to merge trunk to resolve a conflict, but no other changes, despite the diff showing otherwise16:50
rogpeppe1sidnei: you're welcome to propose a fix - the problem is in state/settings.go16:50
sidneirogpeppe1: just need a decision on the encoding scheme, and then i can work from there16:52
rogpeppe1sidnei: well, it needs to be reversible, and it needs to translate at least ".", "$" and probably leading digits (although i think we can probably just do "." and define the latter two as disallowed16:53
rogpeppe1)16:53
rogpeppe1sidnei: "_"->"__"; "."->"_." ?16:55
rogpeppe1sidnei: oh no, that's wrong16:55
sidnei:)16:55
sidneiwhat about we pick '.' -> ':', and disallow ':'16:56
rogpeppe1sidnei: well, it depends if there are any current charms using "__" or "_." in attribute names16:56
rogpeppe1sidnei: depends if : is allowed in mongo names16:56
rogpeppe1sidnei: but that sounds like a good idea if it works16:56
rogpeppe1sidnei: if you could do some investigation into that (and perhaps if any current charms define attributes with : in), that would be really useful16:57
sidneirogpeppe1: if i read this correctly, they suggest using the unicode full width character replacements: http://docs.mongodb.org/manual/faq/developers/#faq-dollar-sign-escaping16:59
rogpeppe1sidnei: well found; i was looking for something like that17:00
rogpeppe1sidnei: i kinda prefer : though17:00
sidneistill need to escape the $ no?17:01
rogpeppe1sidnei: i think i'd just disallow $17:02
sidneiok17:02
rogpeppe1sidnei: although i'd like to do an audit of existing charms to check if anyone's using it17:02
rogpeppe1sidnei: they might, of course, be using full-width $ and . :-)17:02
rogpeppe1sidnei: i tell you what, let's just go with their suggestion.17:03
rogpeppe1sidnei: it seems reasonable and it's easy to implement and quite intuitive17:04
sidneiokidoki17:04
rogpeppe1sidnei: if you want to make the change, you might want to know about http://golang.org/pkg/strings/#Replacer17:04
sidneiwas looking for that already :)17:05
sidneirogpeppe1: do you still want to reject '$' or just do the replacement?17:11
rogpeppe1sidnei: let's just do the replacement for the time being - at least there's a high assurance of backward compatibility doing it that way17:11
rogpeppe1sidnei: we can make charm config names more strict later17:12
sidneik17:12
=== natefinch is now known as natefinch-lunch
dimiternrogpeppe1: does it look ok?17:22
jtvrogpeppe1: I see I'm too late to return the favour — not being very attentive late at night.  Hope I can make up another day!17:29
rogpeppe1dimitern: sorry, just had to go away for a little bit. i've a few comments, one mo17:32
dimiternrogpeppe1: sure, thanks17:34
rogpeppe1dimitern: reviewed17:36
dimiternrogpeppe1: cheers17:39
* rogpeppe1 has reached eod17:44
rogpeppe1g'night all17:44
dimiternrogpeppe1: night!17:44
=== tasdomas_afk is now known as tasdomas
=== natefinch-lunch is now known as natefinch
ahasenackguys, so I just deployed juju-core trunk on canonistack and then ran "juju deploy rabbitmq-server", straight from the store, no options18:18
ahasenackgot this in the rabbit's unit logs:18:18
ahasenackerror: --unit-name option expects "<service>/<n>" argument18:18
ahasenackand look at the upstart job:18:18
ahasenackexec /var/lib/juju/tools/unit-rabbitmq-server-0/jujud unit --data-dir /var/lib/juju --unit-name rabbitmq/server/0 --debug >> /var/log/juju/unit-rabbitmq-server-0.log 2>&118:19
ahasenacksomething mangled the rabbitmq-server/0 unit name to rabbitmq/server/018:19
ahasenackhttps://bugs.launchpad.net/juju-core/+bug/1206628 it is18:21
_mup_Bug #1206628: Incorrect unit name in upstart job <juju-core:New> <https://launchpad.net/bugs/1206628>18:21
dimiternahasenack: that's indeed a bug, stemming from the tags-to-names conversion I think, replacing - with /, etc.18:39
ahasenackdimitern: yeah, in state/api/deployer/unit.go there is such a conversion going on18:39
ahasenackfunc UnitTag(unitName string) string {18:39
ahasenack    return unitTagPrefix + strings.Replace(unitName, "/", "-", -1)18:39
dimiternahasenack: :) that's my doing actually, quite recent even18:40
ahasenackI like living on the edge :)18:40
dimiternahasenack: i'll assign it to myself, thanks for the report18:40
ahasenackdimitern: thanks for taking care of it :)18:40
dimiternahasenack: i will look into it tomorrow18:42
ahasenackok18:42
* dimitern reached eod as well18:42
dimiterngood night all!18:42
ahasenackdimitern: g'night18:42
=== tasdomas is now known as tasdomas_afk
thumpermorning21:03
thumpermgz: email update?21:44
thumpermramm: hey22:51
mrammhey22:52
davecheneymramm: arosales i've got a call with one of y'all now, right ?23:01
arosalesdavecheney, :-)23:01
mrammI scheduled right after arosales23:01
arosalesdavecheney, I think I have the privilege of being up first23:02
mrammso it would be him23:02
davecheneyvery well23:02
davecheneyfire at will23:02
davecheneymramm: next please23:31
mrammjoining23:32
thumperheh23:32
thumpergym time23:54

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