/srv/irclogs.ubuntu.com/2016/06/15/#juju.txt

=== natefinch-afk is now known as natefinch
stubCan anyone confirm that relation-list no longer includes the departing unit in a -departed hook, and since which version of Juju?03:34
stubcory_fu: (^^ from your issue comment, which might help me in other ways)03:35
Makyo|awaywallyworld: would it be alright to land https://github.com/juju/bundlechanges/pull/24 ?  We've just about finished implementing the changes in the GUI06:47
=== Makyo|away is now known as Makyo
wallyworldMakyo: that would be great07:17
Makyowallyworld: ty!07:18
wallyworldMakyo: juju master pulls in a specific rev off that repo so I'll update the deps once that lands07:18
Makyowallyworld: ah, thanks, that makes sense07:18
Makyowallyworld: landed, ty07:22
wallyworldMakyo: awesome, thanks you for doin ght gui changes07:22
=== julenlar is now known as julenl
gennadiyhi everybody,11:02
gennadiydoes it windows support subordinate charms now?11:02
xiletReally juju newbie question, if I need to make one change to a single config file in an already deployed charm (adding a new parameter to nova.conf), what is the syntax to do that? Or do I just ssh in and change it manually?11:51
jamespageChrisHolcombe, https://review.openstack.org/#/c/328374/311:58
jamespagesome comments; I think we should bump the default as well if our reference deployments need a larger value than 300 seconds...11:59
gennadiy@xilet seems you should make new version of charm and upgrade it: juju upgrade-charm12:19
jamespagexilet, don't ssh and change it manually - the next time a config-changed runs (like on a reboot) your change will be overwritten12:20
jamespagexilet, what are you trying todo?12:20
xiletstill working on the iscsi issue, so trying to add in volume_drivers=iscsi=nova.virt.libvirt.volume.LibvirtNetVolumeDriver12:20
jamespagegennadiy, I can't think why windows would not support subordinate charms12:20
gennadiyit doesn't work for me12:21
jamespagexilet, you might be about to poke that in using config-flags12:21
gennadiyok for linux machine12:21
jamespagejuju set nova-compute config-flags="volume_drivers=iscsi=nova.virt.libvirt.volume.LibvirtNetVolumeDriver"12:22
jamespagebut that only writes to the DEFAULT section so it might not do the trick12:22
jamespagexilet, this is for the userspace iscsi support right?12:22
xiletyeah12:22
xiletahh thanks, that is the syntax I was looking for12:22
jamespagexilet, this might make a nice first contribution for you to make it an offical feature12:22
jamespagejuju set nova-compute userspace-iscsi=true12:23
jamespageis so much nicer!12:23
xiletif I can get this working, I will happily do so12:23
jamespagexilet, prove the theory and then if you'd like to work on a more formal config option let me know12:23
jamespagethey are normally quite easy to add for this sort of thing12:23
xiletgood to know, clearing out the old tests then will go through and see if it can access the disks from openstack12:32
ionutbalutoiuHello! Can I configure Juju to boot new machines with a keypair via OpenStack provider ? Currently machines added to OpenStack via Juju do not have any keypair.12:33
gennadiy@ionutbalutoiu for linux machine or windows?12:37
gennadiyfor linux machine it will add juju key12:37
ionutbalutoiuEither one don't get any nova keypair. But for Linux, I think the juju key is authorized via metadata.12:38
ionutbalutoiuBut for Windows, you don't have any option.12:38
gennadiyjuju uses keys from - ~/.local/share/juju/ssh/12:38
gennadiyfor windows - i have asked this question yesterday12:38
gennadiyhttp://ask.cloudbase.it/question/1239/jujuopenstack-how-to-get-windows-machine-password/12:39
gennadiyalso i have asked this question on juju mail list.12:40
gennadiyi have got this answer12:40
gennadiyYou should be able to do something like:     juju run --machine <machine-id> "net user JujuAdministrator <password>"12:40
gennadiybut i haven't tested it12:40
gennadiynow we use workaround - our charm add local admin12:40
ionutbalutoiuYes. This is only possible only with Juju 2.012:40
ionutbalutoiufor for stable version 1.25.5 you cannot set/retrieve any password for a Windows machine unless you have access to console.12:41
ionutbalutoiuJuju run on Windows doesn't work on version of Juju < 2.012:41
ionutbalutoiuAfter you boot a Windows machine with Nova, you can retrieve the Admin password via "nova get-password <instance_name> <private_key>"12:42
ionutbalutoiubut that's possible only if you boot the machine with a keypair. Is would be nice if Juju could have a config option, so that every machine it boots, it uses that configured keypair.12:42
gennadiyyes, i know.12:44
gennadiyso our workaround - create own user on machine from charm12:44
gennadiyit's very easy - https://github.com/cloudbase/juju-powershell-modules12:45
gennadiythere are - New-LocalAdmin function12:45
ionutbalutoiuI know. I'm working at Cloudbase. :)12:45
ionutbalutoiuStill, that's sort of a hack. I still consider that adding a config option for keypair in case of OpenStack provider, would make things cleaner.12:47
lazyPowerheyyyy powershell modules12:54
lazyPowerright on, i forgot those were published12:54
admcleodkjackal: im interested in the 'slow sync' messages in the hbase log during the smoke-test - have you seen these?12:57
kjackaladmcleod: nope, I suspect what they mean but have never seen them13:06
kjackallet me see in hbase docs/list13:06
kjackaladmcleod: something like this: https://issues.apache.org/jira/browse/HBASE-1124013:09
lazyPowerhttps://github.com/juju-solutions/interface-etcd-proxy/pull/2 - could use a quick CR on this if anyone has the bandwidth13:09
lazyPoweri'm down a team-mate for spot reviews13:09
admcleodkjackal: right. >> "abnormal datanode" <<13:11
kjackalyes, basicaly, HBase writes everything in a write ahead log and then keeps it in memory. There are phases when everything that is in memory has to be written down to the secondary storage (compaction pahses). I guess this message means that the secondary storage takes toolong13:13
kjackaladmcleod: ^13:13
admcleodkjackal: right, which means...13:19
gennadiyhi lazyProwe, do you have some windows subordinate charms in jujustore or github?13:41
lazyPowergennadiy - I dont believe we do, i think you're pioneering13:47
lazyPowergennadiy - the only windows charms I have interfaced with were principal charms provided by cloudbase13:47
gennadiyseem i was wrong with windows subordinate issue. i have just deployed empty subordinate charm - everything is ok13:54
lazyPowergennadiy - when you say "I have deployed empty subordinate charm" - do you mean on a windows series?14:00
gennadiyyes, i used this one - https://github.com/cloudbase/windows-charms-boilerplate14:01
lazyPoweri'm not surprised that would work, if it has no hooks. The agent would skip all hooks.14:01
lazyPowerand it would appear to be fine, when it really just no-op'd14:01
lazyPowergennadiy - have you logged a bug with the charm that appears to be broken? I dont have the time right now to dig into it but I'm interested in following the conversation14:02
gennadiyit's my charm. i'm creating 2 charms for windows. one is principal, another is subordinate14:03
lazyPowerah, well that does present certain... hurdles14:03
cory_fustub: I confirmed it yesterday in 2.0-beta814:03
cory_fuadmcleod, kjackal: I don't know if you noticed that I moved the card, but the plugin ready issue was, I think, best fixed in charms.reactive, if you want to take a look: https://github.com/juju-solutions/charms.reactive/pull/7114:05
admcleodcory_fu: ah yeah ok14:07
cory_fuTechnically, the issue was a subtlety of Python, where `None and <anything>` returns None and not False like you would expect.  That, combined with using None as a deafult value to mean something significant made for unexpected behavior14:08
stubcory_fu: Ta. I'll assume is is a 2.0 feature for now.14:13
cory_fustub: "Feature"14:13
cory_fuSeems like a bug to me, but at least I was able to work around it14:14
cory_fuThough I suppose it depends on how strictly you take the fact that the hook is -departed and not -departing14:14
stubcory_fu: Oh, I was thinking it might be part of a fix. Before, in a departed hook neither end had an idea about which unit was departing.14:14
cory_fuThat seems like a round-about way of communicating it.14:15
=== fwereade_ is now known as fwereade
cory_fuI mean, not wrong, per se, but then you still have to jump through the hoop of comparing JUJU_REMOTE_UNIT to the relation-list to figure out if it's you or the other unit14:16
stubcory_fu: So I guess I shouldn't rely on the behavior and wait for a real fix to https://bugs.launchpad.net/juju-core/+bug/141787414:16
mupBug #1417874: Impossible to cleanly remove a unit from a relation <canonical-is> <charms> <feature> <hooks> <sts> <sts-needs-review> <juju-core:Triaged> <https://launchpad.net/bugs/1417874>14:16
lazyPowercory_fu - the one thing i was curious about that pr is we're catching CalledProcessError14:17
lazyPowerdoes relation_get not ever return > 0 except only in that scenario?14:17
lazyPowerseems like we could be hiding other failure and skipping it due to that one little stanza. But it seems nitty and i dont have a solid use case for where thats bad14:18
cory_fulazyPower: Well, no charm that I've ever seen captures CalledProcessError around the call to relation-get and I've never seen it fail in another circumstance.  But you're right that it's perhaps a bit heavy-handed.  Ideally, hookenv.relation_get would capture the stderr output on failure and we could inspect that, but that would require changes in charmhelpers.14:20
lazyPowerI'm not about that life at the moment14:21
lazyPowercarry on as you were sir14:21
cory_fulazyPower: We could also assume that the units list cleanup is functional and remove the check entirely.  I'm not against that; I added the except before I was sure if I could reasonably do the cleanup14:21
lazyPowerThats the one niggly thing, and its really a nit14:22
lazyPowerwithout empirical evidence that "hey this fails under x condition"14:22
cory_fuI did have the same concern, so I'm not against changing it.14:24
lazyPower:O Does this mean you're rubbing off on me cory_fu?14:28
cory_fu:)14:28
stubcory_fu, lazyPower , marcoceppi : So I knocked up https://github.com/stub42/ReactiveCharmingWorkflow a while ago, to codify and improve the process I'd embedded in the PostgreSQL charm Makefile. And per the 'Future' section in that am thinking of making this process simpler with some git plugins.14:29
lazyPowerexport JUJU_REPOSITORY=$CHARM_ROOT/repo14:29
lazyPoweri want that to go away14:29
lazyPowerits a legacy concept and we should kill it with fire14:30
stubcory_fu, lazyPower , marcoceppi : Does this seem like I'm going in the right direction, or do people have reasons to prefer multiple repos for source layer and built charm?14:30
stublazyPower: Yes, but for now I need both Juju 1 and Juju 2. Plugins will be targetted for Juju 2 though.14:30
lazyPowerfrom what im reading so far you're on the same path i've been using14:31
lazyPower--no-local-layers before building for a publish and testing that artifact pre-push, this is all like the workflow i wanted for CI too14:31
lazyPoweri like your push/publish hack too14:32
marcoceppistub: I'm traveling, but will review in a bit and leave comments, thanks for typing this up!14:32
stubI've opened isues on github to hopefully avoid that hack ;)14:32
lazyPoweryeah LGTM stub - there's a few things in here i'll comment on later but initial scan was good14:33
lazyPowerthere are some conventions in here we could probably put into layer-basic as a Makefile and make this useful to more people out of the box14:33
stubI'm also considering if I should generate the branch name to contain the built version of a layer (so the master branch gets built to master-built)14:33
lazyPowerbut thats up to cory_fu14:33
lazyPowerand other maintainers14:33
stubWell, I think the git bits are ugly enough to put into a git plugin, which I could package or snap14:34
lazyPowersnap ftw14:34
stubgit plugins should at least make things readable and avoid the ugly underlying details.14:35
lazyPowerfair, i use a shell hack i got from gary bernhardts dotfiles for git pretty tree. its invaluable14:36
stub(git clones into temp directories etc. to ensure clean publication, committing uncommitted changes to the built branch before building)14:36
kwmonroecory_fu: teach me some python.. are double underscored vars the convention for defining globals?  eg https://github.com/juju-solutions/charms.reactive/pull/71/files15:02
stubIt should really be "TOGGLE = object()". You only want magic strings if you need a readable string representation15:25
cory_fukwmonroe: What stub just said.  I went with strings for debugging, but object() would have worked just as well and perhaps been less misleading15:26
cory_fukwmonroe: Also, leading / trailing underscores are a convention in Python for representing internal things.  Double underscores are usually reserved for Python-internal things, so I probably should have used single underscores, but it's just a string value and not an identifier, so it's slightly less of an issue15:28
cory_fustub, kwmonroe: Feel free to nack the PR and I'll update it15:28
stubI'm not going to be that pedantic15:29
kwmonroethx stub and cory_fu.. i didn't read that PR right from the get go.. i think i was thinking the *var* was __TOGGLE__ and didn't pick up that was just a string.. anyway, __SORRY__.15:32
cory_fukwmonroe: Yeah, I think the way I wrote that encourages that confusion.  I'm up for changing it to object() to avoid that15:34
cory_fukwmonroe, stub: Updated.  Thanks15:48
saudkhey guys17:44
saudkhaving an issue deploying openstack using juju charms and maas17:44
saudki am seeing the same IP assigned to juju-br0 and the interface that is connected to17:46
saudkin /etc/network/interfaces the interface e.g eth1 is set as inet manual17:46
saudkand in the same file /etc/network/interfaces.d/*.cfg is sourced where a file eth1.cfg exists in which eth1 is set as inet dhcp17:48
marcoceppisaudk: what versoin of maas?17:48
saudk1.9.3+bzr4577-0ubuntu1~trusty117:49
kwmonroehey cory_fu, i'm reviewing https://github.com/juju-solutions/charms.reactive/pull/72, but don't understand why -departed has to be handled in __init__.py, or for that matter why there's no handling of -joined that does rel.conversation().join().18:18
cory_fukwmonroe: join happens implicitly in RelationBase.__init__: https://github.com/juju-solutions/charms.reactive/blob/master/charms/reactive/relations.py#L15618:19
cory_fuThe reason we need to call .depart() is that we're now depending on the internal list of units to be accurate, since Juju no longer includes the departing unit in relation-list18:20
kwmonroeyup, got it18:20
cory_fuIt's actually better for that list to be accurate, anyway, for charm use18:21
cory_fukwmonroe: Give me a second to push up a minor edit to that.  Going to add logging to that try / except18:21
kwmonroeack18:21
cory_fukwmonroe: Updated18:26
cory_fukwmonroe: You'll notice that it was always my intention to have depart() called implicitly18:27
kwmonroeyes i will notice that cory_fu, but no one else will since the todo is going away.18:29
cory_fu:)18:29
kwmonroefrankly, that change is probably the only thing i'm qualified to review here ;)18:29
lazyPowerkwmonroe - i dub you the pr poobah18:31
lazyPoweryou're now qualified to review everything by virtue of being the poobah18:31
kwmonroewe're doomed18:31
kwmonroei remember back in the day (like monday), when the curtain looked so pretty.  why oh why did i stick my head behind there?18:32
lazyPower:) well your self confidence rating certainly shines through18:33
kwmonroei can be poobah now lazyPower!  i totally get it.  i was missing the link between get_remote and relation_get -- it's related_units (and relation-list therein) causing the problem.18:48
lazyPoweryep, that niggly little workflow we used to use back in the day18:51
lazyPowercory_fu - correct me if i'm wrong, but there's a key in layer.yaml i can use to control omission of files right?19:14
lazyPowereg: ignores: ['known-weird-module-that-doesnt-play-well-with-other-modules.py']19:14
cory_fuYes, ignores, but be aware of this issue: https://github.com/juju/charm-tools/issues/22019:15
cory_fulazyPower: The TL;DR of that issue is that ignores is currently not scoped to an individual layer19:16
cory_fuIt will prevent a file with that name from being included in the final charm, period.19:16
cory_fuAlso, that behavior is likely to change, and the calling convention of ignores might change, too19:17
lazyPowerok19:19
lazyPoweri have need to exclude a test in the final product thats fine for the layer (for now)19:20
lazyPowerso this is a good enough impl i'm opting fo rit19:20
lazyPowerexcept that it doesn't appear to work with pathed files19:20
lazyPowerhttp://paste.ubuntu.com/17376175/19:23
bdxhey whats up guys? Is there a way to update a resource without pushing the charm too?20:34
lazyPowerbdx - see: charm attach --help20:41
bdxlazyPower: http://paste.ubuntu.com/17379141/20:46
bdx:-(20:46
lazyPowerbdx  are you trying to push this to the store or to your controller?20:46
lazyPowerthe 502 bad gateway is troubling... but first things first :)20:47
bdxlazyPower: to the store20:50
lazyPowerbdx ok thats odd.20:54
lazyPowerjrwren - Charm store status looks good to you yeah?20:54
* lazyPower remembers he needs to finish a reply to the etcd email now20:54
=== firl_ is now known as firl
magicaltrouti love a prime, thats primest21:27
cory_fulazyPower: The fix for the -relation-departed issue turned out to be a bit of a lame duck, and I had to go back and take a different approach21:40
cory_fuhttps://github.com/juju-solutions/charms.reactive/pull/75/files if you want to review21:40
cory_fukwmonroe spotted my mistake and is also reviewing21:41
magicaltroutyou made a mistake cory_fu ?!21:43
magicaltroutsad times21:43
cory_fuAs far as making mistakes goes, I'm on fire today21:43
* magicaltrout spots smoke on the horizon21:43
cory_fuhttps://i.imgur.com/F0NtTsP.gif21:44
magicaltroutits like me on a daily basis21:45
magicaltroutof course as IT professionals, we never openly admit to the weird stuff that happens daily! ;)21:45
kwmonroecory_fu: the "if unit not in self.units, continue" is to keep us from calling relation_get on globally scoped relation ids?21:59
kwmonroe(referring to https://github.com/juju-solutions/charms.reactive/pull/75/files#diff-3c5467f4229b8dd06bdf1c43813c03d8R623)21:59
cory_fukwmonroe: Not just GLOBAL.  Not every unit on a given relation will be in the state that the conversation is representing.  Some might still waiting on the unit to finish setting up and providing its relation data22:00
kwmonroewell, i guess not just global rel id, but more .... yeah, what you said.22:00
cory_fuI'm not sure I trust Travis at this point. :p22:03
kwmonroelol cory_fu22:05
kwmonroedon't be mad22:05
kwmonroehttps://github.com/johnsca/charms.reactive/blob/812a06f657a0b6fb3f1488f91a1a0a0aa13fe761/charms/reactive/relations.py#L1922:05
cory_fuOh snap.  Linty linty22:06
kwmonroethat's your old frient F40122:06
cory_fuStupid Travis22:06
kwmonroetruth22:06
cory_fuMay the force-push be with me22:06
kwmonroelooks good22:08
kwmonroecory_fu: cool for 0.4.4?22:10
cory_fuOk, we finally ready for a release, then?  I need to go on my damned vacation.  :)22:10
cory_fuha22:10
cory_fukwmonroe: You want me to release it, or you want to try your hand now that you're a maintainer on pypi?22:11
kwmonroethe latter22:11
cholcombethedac, interesting MR here22:11
kwmonroeugh, my first objective as maintainer will be to remove the pesky 'make test' prereq of 'make release'.  this is taking too long.22:12
cholcombethedac, there's actually a 3rd option but it's a PITA to setup22:12
cory_fuOnly takes 6 seconds (times 2, I guess) for me.  How long does it take for you, kwmonroe?22:13
kwmonroelike at least 10 seconds22:13
cory_fuha22:13
thedaccholcombe: hey, which MR are we talking about?22:13
kwmonroeanyway, she's away cory_fu.  go forth and vacation.22:13
cholcombethedac, the dns HA for rgw22:13
thedacgot it22:13
cholcombethedac, so the other possibility here is we could use bgp22:13
thedaccholcombe: just keep in mind this is one of many https://review.openstack.org/#/q/topic:dnsha22:14
cory_fukwmonroe: Sweet, thanks.  Be sure to let admcleod and kjackl know they can rebuild hbase and test it again22:14
cholcombei see22:14
lazyPowerhaha guyzzzz22:14
cory_fuActually, we'll need to rebuild hadoop-plugin to fix it22:14
kwmonroewhat lazyPower?  you see something?22:14
cory_fulazyPower: You talking to us?22:14
kwmonroeif you see something, you have to say something.22:14
thedacyes, one could use BGP, but these are charm handled HA options22:14
cholcombethedac, interesting.  so the charm handles the vip?22:14
cory_fulazyPower: Don't listen to kwmonroe.  You had your chance to review and you blew it.  ;)22:15
thedacYes, you have to add it to the config but yes hacluster/corosync handles that22:15
lazyPowercory_fu kwmonroe  -nahhh i just looking over this thread of review comments ;)22:15
cory_fuAh, lol22:15
lazyPowersolid comedic gold considering i know how today has been :P22:15
cory_fuAlright, I'm out.  Everyone have a good weekend!22:16
lazyPowercheers cory_fu22:16
kwmonroeadios22:16
cholcombethedac, i've had a lot of good experience with floating vip's using ctdb.  It's very solid22:16
lazyPower(its only Wed.)22:16
kwmonroelol22:16
cholcombethedac, corosync i have no experience with so i'll do the best i can reviewing22:16
magicaltroutyouth of today22:17
magicaltroutalways on holiday22:17
cory_fulazyPower: I'm out for the rest of the week22:17
lazyPoweroo snap22:17
kwmonroepretty sure it's thanksgiving this week22:17
lazyPower(jackie face)22:17
thedaccholcombe: keep in mind the corosync VIP solution was already there (it is just indented). I added the DNS bit which is a call out to charmhelpers which has already been reviewed. You can also just do a +1 and wait for a second opinion.22:18
cholcombethedac, cool22:18
lazyPower> You can also just do a +1 and wait for a second opinion.22:18
lazyPowerpretty much exactly what i do22:18
lazyPowercholcombe - you're getting solid guidance here. i approve22:18
cholcombelazyPower, :)22:19
thedac:)22:19
cholcombethedac, looks reasonable.  I just have a question on the hooks.py code22:22
thedacshoot?22:22
cholcombethedac, i'm just wondering if the iface turns up as None on the vip if we should error or log there.  The code currently skips that case22:24
cholcombethedac, I know it's not your code22:24
thedaclooking22:24
kwmonroelazyPower: the only thing holding kubes-core from passing cwr is a "charm push . cs:~containers/bundle/kubernetes-core" from a recent https://github.com/juju-solutions/bundle-kubernetes-core dir.  feeling frisky?  (i am, but i'm not in ~containers)22:29
thedacso, good point. What I would like to eventually do is move the VIP code to charmhlpers just like the update_dns_ha_resource_params.  Then we could fix it in one place. Right now I am trying to change as little as possible so that only the additional feature is added if it needs to be reverted for any reason.22:29
thedacWas that weasaly enough :)22:30
cholcombethedac, fair enough :)22:34
lazyPowerkwmonroe - i cant fix it like that22:46
lazyPowerkwmonroe - not without landing the pile of CR's i linked elsewhere22:46
lazyPoweri'd love to publish though :)22:46
kwmonroeah, ack lazyPower.  i thought it was just a case of the bundle not using the latest rev of the kubes charm.22:48
lazyPowerthat indeed is the case, but its more involved :)22:56
magicalt1out:P23:09
lazyPowerprimey wimey spacey wacey amirite?23:11
=== jcsackett_ is now known as jcsackett
=== markthomas_ is now known as markthomas
=== StoneTable is now known as aisrael
=== thomi_ is now known as thomi
=== X-Istence is now known as x58
lazyPowerbdx - i circled back and it appears to work now?  http://paste.ubuntu.com/17383707/23:18
bdxlazyPower: did it not work for you earlier either?23:29
lazyPowerbdx - i didnt try at that time, i was judging based on the output. can you give it another go?23:30
lazyPowerit may have been transient23:30
bdxyea, omp23:30
bdxlazyPower: yeah, its working now23:32
bdxlazyPower: trickery23:32
lazyPowerok cool. sorry that happened :( i got no response when i pinged so i circled back23:32
bdxhey thanks!23:32
lazyPowernp mate23:32
lazyPowerglad we got it sorted23:32
=== verterok` is now known as verterok

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