/srv/irclogs.ubuntu.com/2016/03/01/#juju.txt

muxhmm00:12
muxI'm having a hard time understanding the difference between 'juju storage <whatever>' and the juju 'storage' charm00:12
muxis the 'storage' charm still a thing?00:14
thumpermux: the storage charm was a temporary fix until juju got the right primitives in place00:51
thumperthe juju storage commands should supercede the storage charm00:51
muxahhhh01:14
stokachuwallyworld: to elaborate on my question, when I do a juju list-controllers, is there an exposed api call that I can use to get the same data?02:13
MakyoTrying to bootstrap an lxd env, but I keep getting "ERROR cannot find network interface "lxcbr0": route ip+net: no such network interface" - what would that mean?02:14
wallyworldstokachu:  list-controllers is a client side operation working the the locally stored controllers.yaml file02:14
wallyworldthere's code to cread that file02:15
wallyworldbut it's not a remote api02:15
stokachuwallyworld: ok so my next question is should i rely on the controllers.yaml file?02:15
wallyworldfor your locally bootstrapped controllers yes02:15
stokachuthere are several files in ~/.local/share/juju some created by hand (clouds.yaml,credentials)02:15
muxman. seriously. the documentation on juju storage is really cryptic and difficult02:29
muxdays later I'm still trying to figure out how to use juju to deploy something (anything) on AWS, while creating an EBS volume and attaching it, and using that volume for storage02:31
muxlike, say MySQL or Postgresql or something02:31
muxthe only one that I can find is the "demo" version of Postgres that supports the storage system, and it hasn't been touched in over a year02:31
alexisbmux, this doc helped me recently with making the required charm updates to use storage: https://jujucharms.com/docs/devel/developer-storage02:35
jamespagegnuoy, https://review.openstack.org/#/c/286451/10:18
=== rvba` is now known as rvba
=== Spads_ is now known as Spads
jamespageanyone space a cycle for https://code.launchpad.net/~james-page/charm-helpers/fix-ssl-certs/+merge/287639 ?14:04
jamespagetightens up sec for the apache https frontends for openstack14:04
=== cmars` is now known as cmars
magicaltroutkwmonroe: is there a simiple layered leader election snippet somewhere I can leach?15:09
magicaltrouts/layered/reactive15:10
marcoceppimagicaltrout: there's a leadership layer that stub wrote15:10
magicaltroutexcellent15:11
* magicaltrout goes off in search of the grail15:11
marcoceppimagicaltrout: I think it's used in cassandra xor postgresql15:11
marcoceppimagicaltrout: https://git.launchpad.net/layer-leadership/tree/README.md15:13
marcoceppimagicaltrout: stub is great at documenting his layers15:13
magicaltroutaye, i've bookmarked interfaces.juju.solutions now :P15:13
cory_fumagicaltrout: I don't know of a specific example, but it should be as easy as @when('leadership.is_leader')15:14
magicaltroutyeah15:14
magicaltroutsadly that time has come where I feel compelled to waste hours of my life figuring it out for the first time in search of a dynamically registering pdi cluster....15:15
marcoceppi\o/15:16
magicaltroutindeed, it should really be too hard15:16
magicaltroutshouldn't15:16
magicaltroutbrain fade, whats the templating stuff if I need to dump a variable driven XML file into a node?15:21
lazyPowermagicaltrout - charmhelpers.core.templating import render15:22
lazyPowerand use jinja2 templates i suppose15:22
magicaltroutah that jinja2 stuff15:22
magicaltroutthanks lazyPower15:22
magicaltroutweird. PDI can have multiple masters15:24
* magicaltrout ignores that fact15:24
marcoceppimagicaltrout: that's actually okay with leadership15:25
marcoceppimagicaltrout: you don't have to have a 1-to-1 match of leader to master15:25
lazyPowerhey marco15:25
marcoceppijuju just says "hey, you're a leader, you can help coordinate", so if that means they, the code, says "me and my pal here unit 2 are masters" that's all cool15:25
marcoceppihey lazyPower15:25
lazyPowerif i'm iterating through a scope:unit relation, and i want to poll back all the cached data from teh relations, i return the conversation scope, not the unit, right?15:26
lazyPoweri only need the conv.scope if i'm setting data, to read just return the conversation object?15:26
marcoceppilazyPower: the unit is the conversation scope15:26
lazyPowerfor conv in self.conversations(): yield conv15:26
marcoceppiconv is the scope, which is the unit name if you're scope: unit15:27
magicaltrouthmm interesting. I'll park that for now and get the basics working. I'm not sure when I'd need multiple masters, there must be a usecase I've not figured out. I'll ask the guys at pentaho when I'm really bored15:27
lazyPowerwell15:27
lazyPowerwhen ir eturn conv() i can get at the data i'm looking for15:27
lazyPowerbut i'm doing get_remote() in my reactive method, not in my interface-layer15:27
lazyPowerso it seems like i'm still breaking encapsulation15:27
marcoceppilazyPower: so you're not going to want to do that15:28
marcoceppiget_remote should be done in the interface15:28
marcoceppiyou can yield get_remote return data instead of the conversation, if you wanted15:28
lazyPoweryeah, i guess that works15:28
* lazyPower updates 15:28
magicaltroutthis is probably a bad pattern but i'll ask anyway. the @when stuff, if I wanted 2 different launch commands one for when its a leader 1 when its not, i could annotate the trigger method with @when('leadership.is_leader') but is there a way to just check the state in the code rather than having 2 full methods and the additional stuff to go with it to launch the leader and non leader services?15:33
=== rcj` is now known as rcj
magicaltroutlike a simple if(leader): start_leader() else: start_non_leader()15:34
magicaltroutooh15:37
lazyPowerif is_state('leader.is_leader')15:38
magicaltrouthehe15:38
lazyPoweror whatever the label is :)15:38
magicaltrouthttps://pythonhosted.org/charmhelpers/api/charmhelpers.core.hookenv.html#charmhelpers.core.hookenv.is_leader15:38
magicaltroutI found that just as you posted that15:38
lazyPoweryeah, thats charmhelpers leadership helpers15:38
magicaltroutbetter than extra methods for the sake of it15:38
lazyPowerbit different than the layers, but gets the job done15:38
lazyPowerbrb15:39
magicaltroutI think I saw this on the mailing list15:47
magicaltroutyou can't chain annotations currently can you?15:48
magicaltroutlike "when leader.changed.hostname or when leader.changed.port"15:48
magicaltroutoh actually that should just work15:48
magicaltroutme15:48
magicaltrouth15:48
magicaltroutor should it?15:50
magicaltroutcory_fu: englighten me15:50
cory_fuYes, you can chain decorators.  They all just get ANDed together.  The only restriction is that you can't use @hook with anything else, but you shouldn't ever use @hook anyway15:51
cory_fuOh, but you can't OR things together currently15:51
magicaltroutyeah but if I wanted to monitor a bunch of leader params, its or not and isn't it15:51
magicaltroutso I need a method for each param I want to track15:51
magicaltroutno probs15:51
cory_fuThere's been some discussion of having a @when_any which would be super useful but has difficulties if you use it with relation states15:51
cory_fuBut as often as it comes up for non-relation states, I think I'm just going to make it, and have it never pass params and just document it as not being recommended for relation states15:53
larrymimarcoceppi: hi, is there any plan for juju-deployer to support juju 2.0?15:54
marcoceppilarrymi: we're talking about that right now actually. We do plan to support it, but at a very narrow scope15:55
marcoceppilarrymi: what do you need deployer for that 2.0 juju deploy doesn't have?15:55
rick_h__larrymi: fginther was looking at updates to make deployer and mojo updated yesterday.15:57
fgintherlarrymi, yes, the work is in progress now15:58
fgintherwell, for python-jujuclient and juju-deployer, not for mojo15:58
marcoceppihold on15:58
marcoceppihow many people are trying to update jujuclient and deployer right now?15:58
fgintheruh, hopefully 1 :/15:59
marcoceppiare there like 4 teams racing to be the first?15:59
larrymimarcoceppi: our bundles are currently using branches .. IIUC that won't be supported in 2.015:59
marcoceppilarrymi: cool, just curious the missing feature15:59
fginthermarcoceppi, are you also working on this?16:00
marcoceppifginther: I found out that dpb1 had someone working on this and we're about to work to completely deprectate jujuclient and use another library instead of deployer16:01
marcoceppisounds like I'll need to send an email16:01
fginthermarcoceppi, I'm that dpb1 someone16:01
marcoceppioh, whew16:01
larrymifginther: rick_h__: ah cool16:01
marcoceppiI thought someone else from dpb1's team was doing this16:01
larrymimarcoceppi: in our case, we also use private branches16:03
marcoceppilarrymi: ack16:03
marcoceppilarrymi: but why not just upload to the charmstore and set-perms to kepe them private?16:03
marcoceppiso you don't have to use deployer?16:03
fginthermarcoceppi, what are the consumers your targeting for this "another library"?16:03
marcoceppifginther: basically, libjuju16:04
marcoceppia native python juju library16:04
larrymimarcoceppi: hmm that's something we can look into if we can have the same permissions on the charm store.16:05
larrymimarcoceppi: does juju 2.0 support placement directives in the bundle?16:07
magicaltroutooh look at that, my leader works16:11
magicaltroutthat was painless16:11
magicaltroutwhat can go wrong now16:11
cory_fu:)16:13
magicaltroutnow leadership people16:13
magicaltroutI assume there is a case where PDI tries to start, but leadership hasn't been sorted out?16:14
magicaltroutdoes that sound like a plausible scenario?16:14
magicaltroutor are leaders sorted early on16:14
lazyPowercory_fu - i call schenanigans16:16
lazyPowercory_fu - @when_file_changed('path/to/file') -  its coming up as not a valid decorator :(16:16
cory_fulazyPower: Are you importing it?16:17
lazyPowernevermind16:17
cory_fumagicaltrout: My understanding is that leadership is sorted out before any hooks are called16:17
magicaltroutokay thats good, so i don't need to trap it16:18
* magicaltrout spins up a slave to find out what goes on16:18
cory_fuThat said, I haven't used it extensively, and admcleod- was running into an issue where is_leader seemed to be false on all units and I'm not sure what came of that16:18
magicaltroutbloody love LXD, you lot make me so happy16:18
magicaltroutah yeah i saw that16:18
lazyPowercory_fu - i've encountered that when i force destroy the leader on pre 2.0 builds16:18
lazyPowercory_fu as in juju destroy-machine --force 516:19
lazyPowerif 5 were the leader16:19
cory_fuHrm.  It's possible he did that16:19
cory_fuEntirely possible16:19
lazyPoweryeah that'll break a leaderized unit16:20
magicaltroutthats what happens when you let loose a new zealander with a british passport who doesn't want to be associated with britain and lives in spain, loose on a development platform16:20
magicaltrout-o16:20
cory_fulol16:20
magicaltroutthis is weird16:21
magicaltroutthis happened twice today16:21
magicaltroutI spin up a node16:21
magicaltroutand it claims to be up and running16:21
magicaltroutbut there is absolutely nothing on the box16:21
cory_fuo_O16:21
magicaltrouti'm great and finding crazy shit16:22
magicaltroutoops16:22
magicaltroutsorry lazyPower16:22
magicaltrouthttp://ibin.co/2YlapnApEXm7 look cory_fu16:23
magicaltroutthere isn't even a unit log file16:23
magicaltroutyet juju status tells me its ready16:23
larrymimarcoceppi: looking into try the charm store option, can you please point to doc for how to set the permissions?16:24
magicaltroutooh16:24
magicaltroutthat ip address is localhost16:24
magicaltroutso thats weird16:24
cory_fuI assume your charm should be installing stuff under /opt?16:25
magicaltroutwell it should be running for a start. This is probably some LXD weirdness. juju ssh pdi/2 drops me into an LXD instance16:25
cory_fuThat's very strange considering your charm apparently set a status, so it seems like the hook code all  ran16:25
magicaltroutbut the juju status returns 127 as an ip address16:26
magicaltroutit reports ready but its not installed in the container or the host16:26
cory_fuVery strange16:26
magicaltroutjam: you wanted some LXD feedback ----^ there it is16:27
magicaltroutthere isn't even a charm installed in that container cory_fu16:27
lazyPowermagicaltrout - RAAA :)16:33
magicaltroutcan you not attach multiple files to a bug report in launchpad?16:34
magicaltroutjam: I filed it: https://bugs.launchpad.net/juju-core/+bug/155184216:37
mupBug #1551842: Juju 2.0 Trunk launches disconnected nodes <juju-core:New> <https://launchpad.net/bugs/1551842>16:37
magicaltroutsorry I can't offer much more repro help16:37
magicaltroutI'll see what I can do16:37
magicaltroutoh add-unit you make me so sad16:39
magicaltroutmaybe the repro path is easy :)16:39
magicaltrouthttps://launchpadlibrarian.net/244640212/Untitled.png16:55
magicaltroutthats a good one as well16:55
jamespagebeisner, next -> openstack-charmers-next is working ok as well16:58
lazyPowermbruzek / anybody listening - i could use a quick review on this one - super simple + supporting test run to validate - https://github.com/juju-solutions/charms.docker/pull/1217:11
mbruzekon it17:11
jamespagebeisner, hmm - no stable branch for pxc17:15
jamespageI'll look into that17:15
beisnerjamespage, ack thanks17:16
cmarsanyone seen python exceptions when trying to `charm build` on xenial, and there's empty lines in yaml files?17:18
lazyPowercmars - have a stacktrace for me?17:18
cmarslazyPower: yep, hang on17:19
cmarslazyPower: https://paste.ubuntu.com/15260600/17:29
lazyPowercmars - most def bug it17:30
lazyPowerseems like the yaml parser hates the space you have in the yaml file17:30
lazyPowercmars - can you also gist up or tag the repos in question so we can repro with what you have that triggered it?17:30
cmarslazyPower: https://github.com/juju/charm-tools ?17:31
lazyPoweryessir17:31
_SpongelazyPower: Are you manx ?17:32
ChrisHolcombei need some brainstorming help :).  I have a way to detect hard drives that are dying with libatasmart.  I don't know of a good way for a program to call juju based on an event ( drive dying ).  I also don't know of a good way to have juju poll for for an event and take action.  Any thoughts?17:41
lazyPowerChrisHolcombe you have update-status which runs every 5 minutes give/take17:41
lazyPowerthats one way to poll17:41
ChrisHolcombelazyPower, ok that's not bad.  5 mins is often enough that i can catch a drive dying :)17:42
lazyPowerlike i have a lot of awesome ideas about this17:43
lazyPowerbut its predicated by talking to the juju api17:43
lazyPoweraisrael has some experience there17:43
ChrisHolcombelazyPower, juju api?17:43
ChrisHolcombelazyPower, this? https://github.com/juju/juju/blob/master/doc/api.txt17:44
lazyPowerwell the thought was that sounds like you would have an action on the charm to do the work right?17:45
lazyPowerso an admin can do it manually17:45
lazyPowerhaving the update-status invoke that action FOR the admin17:45
lazyPowerand potentially trigger any nagios/ext monitoring alarms17:45
lazyPowerwhich is kind of what aisrael did for the VPE-Router that was on demo at MWC17:45
lazyPowerthe charm invoked actions on itself to configure the router17:46
lazyPowerit was quite slick17:46
ChrisHolcombelazyPower, yeah pretty much.  i don't want the admin to have to manually do anything17:47
lazyPower_Sponge not sure what you're asking me, and sorry i missed that17:48
beisnerjamespage, we have to adjust ACLs for the bot to be able to do anything other than comment.  we do that here.  and it looks like we could grant whatever powers we wish.  http://git.openstack.org/cgit/openstack-infra/project-config/tree/gerrit/acls/openstack/charm.config17:55
beisnerjamespage, for now, i can add the bot user to charms-core.  but perhaps we should add an intermediate group, such as what cinder has done @ http://git.openstack.org/cgit/openstack-infra/project-config/tree/gerrit/acls/openstack/cinder.config17:56
=== dpm is now known as dpm-afk
cory_fuBy popular demand: @when_any (and @when_not_all) -- https://github.com/juju-solutions/charms.reactive/pull/5618:12
rick_h__cory_fu: not going to be satisfied unti lI can do @tobe_or_not_tobe :P18:13
lazyPowerrick_h__ - why do charms need to be concerned with outerwear? http://www.tobeouterwear.com/18:14
* lazyPower ducks18:14
* rick_h__ is afraid to click links supplied by lazyPower 18:15
* ChrisHolcombe agree with rick_h__ haha18:15
jrwreni read it as tobe the brand at first too. ;]18:16
cory_furick_h__: https://i.imgur.com/d1grx5m.jpg18:17
jamespagebeisner, nah - lets get the acl updated correctly to include charms-ci18:18
jamespagebeisner, we can read the comments for now18:18
beisnerjamespage, already added to the group, confirming vote success.  can remove the bot from that group when done, or leave there until we have the acl nudged.   just lmk.18:19
beisnerjamespage, shall i take a stab at the acl change?18:19
beisnerjamespage, not sure where we request new gerrit groups though.18:19
bbaqarThe LXD charm has a block-device config setting that defaults to /dev/sdb. Anyone got any idea how to create this block-device?18:23
lazyPowero/ bbaqar18:27
jamespagebeisner, ok leave as is - maybe a group for one user is overkill18:34
jamespagebeisner, you get then by adding them to charms.config18:34
jamespagethat's all I did18:34
beisnerjamespage, ok cool.   so even adding to the charms-core group doesn't give verified permission, so we'd still have to add a line to the .config.   but i can have the bot do +/- 1 code review as we sit today.18:35
jamespagebeisner, how about you have a go at raising the change against project-config18:37
beisnerjamespage, ok will do18:37
=== dpm-afk is now known as dpm
ney1hi? =)18:46
ney1just testing18:46
beisnerjamespage, ok, here's what it looks like atm with the bot in code-review voting mode:  https://review.openstack.org/#/c/286653/118:54
jamespagebeisner, ok for now - lets get it doing verified instead :-)19:12
beisnerjamespage, yep, on it19:12
jamespagebeisner, awesome-o19:12
=== JoseeAntonioR is now known as jose
marcoceppimagicaltrout: you around?19:50
marcoceppilazyPower: ping19:50
lazyPowermarcoceppi pong19:51
marcoceppilazyPower: want to look over a blog post I wrote before it goes live?19:51
lazyPowermarcoceppi give me 5 and you betcha19:51
marcoceppimagicaltrout lazyPower https://gist.github.com/marcoceppi/e182065c837a3fffc918 feedback welcome19:52
marcoceppiI just read the first paragraph and realize I have a lot of things to fix19:53
magicaltroutchecking19:54
magicaltroutdidn't know go was in apt :P19:54
magicaltroutmarcoceppi: make sure they have git and bzr installed19:55
marcoceppimagicaltrout: good call, I'll add that19:56
marcoceppihere's an updated version https://gist.github.com/marcoceppi/e182065c837a3fffc91819:57
magicaltrout"got get" isn't a command ;)19:58
marcoceppiUGH, that bites me like 40% of the time, to the point that I aliased got => go19:58
magicaltroutor if it is I've been running the wrong build stuff for this past week19:58
magicaltrouthehe19:58
marcoceppiholy cow, every command19:58
magicaltrouti've not used update alternatives, so I'll just assume you know what you're writing there19:58
magicaltroutthe rest looks fine19:59
marcoceppimagicaltrout: I just tested it out, it's pretty sweet19:59
marcoceppiI get tired of misspelling $GOTPATH ;)19:59
magicaltrouthehe19:59
magicaltrouteverything I have currently runs on some version of 2.0 so my requirement for 1.2 went away a couple of weeks ago20:00
magicaltroutalthough i'll cry if anyone updates the api and locks me out again.... ;)20:00
marcoceppimagicaltrout: I don't think that will happen *shifty eyes*20:01
magicaltrouthehe, until v3 at least20:01
marcoceppithough we're pretty much like "2.0 is out chance to 'fix' these things"20:01
marcoceppiyeah, juju 3.0 ;)20:01
marcoceppibut by beta3/beta4 those will be done20:01
marcoceppiwe should have a beta2 out in the next few days IIRC20:01
magicaltrouti've not had any real issues on trunk amazingly, apart from this LXD stuff, which is undeerstandable20:02
magicaltroutthere are a few niggles, but for the novice like me it all looks pretty good20:02
magicaltroutalthough i'm sure the dev guys are like "its lies, we're holding bits of it together with string"20:03
skaylazyPower: hi, I see this is marked at fix released. which revno should I use?20:03
skaylazyPower: derp. https://bugs.launchpad.net/charms/+source/block-storage-broker/+bug/148763620:03
mupBug #1487636: b-s-b charm easily confused by multiple volumes partially matching its expected volume name  <block-storage-broker (Juju Charms Collection):Fix Released> <https://launchpad.net/bugs/1487636>20:03
magicaltroutmarcoceppi: i told jcastro earlier, I got 3 talks accepted into ApacheCon big data and 2 will feature juju in some form or other20:04
magicaltroutyou guys should definately come up20:04
magicaltroutit'll be a blast20:04
magicaltrout(not my talks, the event)20:04
lazyPowerskay - that may have been a mistake, looking at the latest trusty code tree, i dont see a related revision that I merged.20:07
lazyPowerhttps://launchpad.net/~charmers/charms/trusty/block-storage-broker/trunk - i last touched this on may of 2014, its been quite a while20:08
kwmonroehey bcsaller, i'm working on a zookeeper layer and notice we have 2 interfaces for it:  interface-zookeeper for the provides/requires of a zookeeper convo, and interface-zookeeper-quorum for zookeeper peers.  since provides, requires, and peers are already 3 separate classes, is there any reason why i should not merge zk-quorum into zk and just have a single interface-zookeeper handling provides/requires/peers?20:08
marcoceppimagicaltrout: yeah, we're going to chat about that in an hour or so, it sounds awesome20:08
skaylazyPower: it looks like there may be a branch related to it (going on the name of one of thedac 's branches)20:09
kwmonroebcsaller: the metadata.yaml for layer-zookeeper would then look like this: http://paste.ubuntu.com/15261951/, so provides and peers are the same interface, but with different names.20:10
magicaltroutcool!20:14
cory_fubcsaller: From my discussion with kwmonroe, it seems like it should work from a technical standpoint, but the question remains as to whether there's a decent argument against doing that.  You save a repo and interface layer, but on the other hand you're conflating two different interface protocols into the same repo.  But on the gripping hand, the code is distinct in that repo, so how much confusion is there, really?20:17
lazyPowerskay i'll change this issue back to something not fix-released unless we have definitive evidence of a MP that fixes it20:18
cory_fuIt generally seems a bit wrong to me, but I can't come up with a well-reasoned argument against it.20:19
skaylazyPower: ack20:23
magicaltroutrandom question of the day, reative buids if i want to do a build for xenial or whatever, do I just checkout a xenial image and do a charm build in it?20:25
lazyPowermagicaltrout - even easier20:25
lazyPowercharm build -s xenial20:25
magicaltroutbanging20:26
bcsallerkwmonroe: I don't know that there is a hard fast rule about doing this one way or the other. The guidelines I would think about are, do the conversations differ significantly, is there an ability to replace client impls of one kind but not the other, does it make the implmentation more complex if only some clients have some permissions/capabilities to the conversation. ZK has some native support for peer models so it can do the right20:33
bcsallerthing with the same connection information as a client but this isn't the common case.20:33
bcsallerkwmonroe: as we look forward though and see a world where interfaces represent richer conversations I expect we'll find things like this come up more frequently and we'll begin looking at what I've called faceted interfaced in the past. In that case they can negiotiate with the remote end which of a set of capabilities they share over a given relation20:35
marcoceppimagicaltrout: you can even make it easier, just add the series key to the metadata.yaml with a YAML list of series supported, then charm build ;)20:37
magicaltroutoooh20:39
magicaltroutthat does make life easy20:39
lazyPowerthat only works on juju 2.0+20:39
lazyPowerit'll break on 1.25 in a weird way with a metadata key error20:39
* magicaltrout only works in juju 2.0+ :P20:39
magicaltroutokay well i'm not making use of 2.0 stuff yet, i'll stick with lazyPower's way and resolve it later20:40
cory_fubcsaller: Note, with what kwmonroe is asking about, the peer relation protocol is entirely separate from the provides / requires, just hosted in the same repo and sharing the same interface name.  Because of how the framework loads the handlers, for the peer relation, only the code in peers.py will matter for the peer relation20:41
cory_fuBecause peer relations can never be connected to anything other than another peer, they're really their own class of interface protocol already20:42
lazyPower^20:43
lazyPowerthat x 100020:43
lazyPowerwriting peer relationships with the notion of both provides/requires in the same context gets confusing, so yeah. calling them their own class of interface protocol is decidedly choice verbiage.20:43
bcsallercory_fu: but they share an interface name in the metadata. In that case I'd say they are not the same name. If we want a way to host that concept in a single repo we can get there with metadata, but if the conversations are different they need different interface names in metadata20:44
cory_fulazyPower: I think that may be an argument against what kwmonroe is wanting to do.  By co-locating the peer relation implementation with the provides/requires and having them share the name, it seems like it would have more potential for confusion20:44
kwmonroeyeah bcsaller cory_fu, i can conceive of a time when a ZK replacement is born, but doesn't do peering the same as ZK.  then you'd have this new thing using 2/3 of the interface-zookeeper with a separate interface for its peering.  that would be confusing.20:45
bcsallerI'm happy to teach charm build about some more metadata for interface repos, but we can't combine them into the same in the model. They could live in the same repo though20:45
cory_fukwmonroe: Also, from bcsaller's last comment, when you look at the metadata.yaml and see "zookeeper" in there twice, it makes you think that they speak the same language, so to speak20:46
bcsallercory_fu: right, having to talk about the peer and non-peer version of an interface by name is wrong20:46
kwmonroeyeah, ok, i'm over it.  back to bcsaller's original reply "do the conversations differ significantly", and the answer is yes.20:47
kwmonroelet me warm up my ctrl-z fingers20:47
bcsallercode sharing is a good goal and is different from this though, think about a layout for the repo, or a change to interfaces.yaml that can describe what you want to charm build20:47
josehey everyone. I'm writing some tests with bdx and I'm setting it to grab the unit number/name from ['servicename'][0]. is that the correct way? Because it's throwing an error, and I'm having to hardcode the unit number for the tests to pass20:48
kwmonroethx for the input bcsaller cory_fu lazyPower!20:50
marcoceppilazyPower magicaltrout it'll only break on local deploys of the charm20:50
marcoceppilazyPower magicaltrout not in the store, the store will just parse and deliver the charm as expected AIUI20:50
magicaltroutk20:51
marcoceppibut I haven't tested that assertion20:51
lazyPowermarcoceppi - i'm still having problems getting charm2 uploaded charms down in a 1.25 environment20:51
marcoceppilazyPower: :\20:51
lazyPowerall of the bundles i published for firl to scope out the k8s work, didnt work on 1.2520:51
lazyPowerso this is a pretty big caveat we need to make ppl aware of if they are participating in the beta20:51
magicaltroutalrighty then, dinner, wine, and ec2 pdi slaves.....20:54
magicaltroutwork my pretties.....20:54
magicaltroutbooo its done sweet fa20:55
marcoceppihttp://marcoceppi.com/2016/03/testing-juju-without-wrecking-juju/21:03
magicaltroutooh blimey some slave stuff is actually working21:03
lazyPowermarcoceppi - +1 LGTM on your blogpost, sorry i didnt get wrapped up on that sooner21:05
marcoceppilazyPower: no worries21:05
lazyPoweror you know, run juju in a container ;)21:05
lazyPowermarcoceppi - there is one thing i did notice however, you didnt explicitly call out that $JUJU_HOME is not compliant between 1.25 and 2.021:06
marcoceppilazyPower: production or notin' ;)21:06
lazyPowerthat'll cause some grief on users21:06
marcoceppilazyPower: not really21:06
lazyPowerk21:06
marcoceppi$JUJU_HOME is ~/.juju in 1.X and ~/.local/config/juju in 2.X21:06
lazyPowerah thats right,t hey changed it in beta121:07
lazyPoweror alpha221:07
lazyPowerwhichever21:07
magicaltroutanyway on more serious matters.... I hope you all got out and voted for Trump today!21:07
lazyPowermagicaltrout - obvious troll is obvious21:08
magicaltroutlol21:08
thumpermarcoceppi: hey...21:18
thumpermarcoceppi: at the end of your blog post you talk about updating juju21:18
thumperif you do "make install" instead of "make godeps" you don't need the last "go get -v github.com/juju/juju/..."21:19
marcoceppithumper: really?21:19
marcoceppinice21:19
thumperalso, you can condense "git fetch origin && git merge --ff-only origin/master" to "git pull upstream master"21:20
jamespagebeisner, hey - checking out for the night - ping me with details on the project-config change and I'll try get it nudge in tomorrow21:20
thumpermarcoceppi: yeah...21:20
thumper'make check' runs all the tests too21:20
beisnerjamespage, ack, will do.  back at it now.21:21
beisnerjamespage, o/  thanks!21:21
thumpermarcoceppi: good post though21:21
magicaltroutlazyPower: what charm helper do i use to get the private ip address?21:24
marcoceppimagicaltrout: I think there's a private_address() in charmtools.core.hookenv21:26
* marcoceppi checks21:26
marcoceppimagicaltrout: https://pythonhosted.org/charmhelpers/api/charmhelpers.core.hookenv.html#charmhelpers.core.hookenv.unit_private_ip21:27
marcoceppiit's unit_private_address()21:27
magicaltroutbah, the search box sucks :P21:27
magicaltroutthanks21:27
lazyPoweror unit_get('private-address')21:28
=== natefinch is now known as natefinch-voting
lazyPowerrate my readme - https://github.com/juju-solutions/interface-logstash-client22:04
* lazyPower drops mic and walks away22:04
magicaltrout+122:08
magicaltroutif i can understand it22:09
magicaltroutanyone can understand it22:09
cory_fulazyPower: Is that relation for a subordinate?22:27
lazyPowercould be22:27
lazyPowerbut not in this context no22:27
cory_fuOk, good22:27
cory_fuOh the hoops one must jump through to explain how subordinates work with provides / requires: https://github.com/juju-solutions/interface-java#charms-needing-a-java-runtime22:29
lazyPoweroooo cory_fu  your readme's bringin the heat!22:32
cory_fulazyPower: It's ridiculous that I have to go through that much effort to explain when you should use provides vs requires.22:33
lazyPoweroh i hear ya man22:34
lazyPoweri haven't documented dockerhost yet for that reason22:34
cory_fuThough maybe that's just an artifact of the types of subordinate charms I write, but it seems way more common to me than the other way around22:34
magicaltroutthat java stuff made me very sad for at least 30 minutes22:34
cory_fumagicaltrout: The provides / requires?22:34
magicaltroutyup22:35
magicaltrouti always get it the wrong way around22:35
cory_fulazyPower: Feel free to use the java README as a template for the dockerhost one22:35
magicaltrouti should just accept that and when i think its right, flip it22:35
cory_fumagicaltrout: Me too.  Even now22:35

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