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

=== blr_ is now known as blr
=== JoseeAntonioR is now known as jose
=== natefinch-afk is now known as natefinch
=== med_ is now known as Guest77121
pittihello08:23
pittiso several minutes ago I did "juju destroy-service autopkgtest-cloud-worker", and it did destroy the autopkgtest-cloud-worker/0 instance and the associated machine08:24
pittibut "juju status" still keeps "autopkgtest-cloud-worker" with a status of "life: dying", and it never goes away08:25
pittihttp://paste.ubuntu.com/14485499/08:25
pittiis that because some subordinate charms still reference this?08:26
pittiI can't redeploy the charm while it's in that state08:26
pittiI already tried "juju destroy-relation ksplice autopkgtest-cloud-worker", and same for landscape-client, but that doesn't help08:30
pittiI tried destroying the landscape-client and ksplice services too, but still didn't help08:42
marcoceppipitti: taking a look08:53
pittimarcoceppi: axino suggested to do "sudo restart jujud-machine-0" on the 0 machine, but that didn't help either08:53
marcoceppipitti: that's alos a bit...drastic08:54
marcoceppipitti: it's odd, because it's referencing ksplice and landscape but I don't see services with those interfaces deployed08:55
pittimarcoceppi: well, they are subordinate charms -- they get deployed on each "real" service08:55
pittithey are not standalone services08:55
marcoceppipitti: sure, but they're not in status at all08:55
marcoceppipitti: right, but th relations for that service are listed with no units08:56
marcoceppipitti: it seems the service isn't being recycled, because of this relation08:56
marcoceppibecause the machine is basically gone, no units exist, etc08:56
marcoceppidoes juju remove-relation autopkgtest-cloud-worker ksplice do anyhting?08:57
pittimarcoceppi: nothing visible at all08:59
marcoceppipitti: weird. obviously this isn't supposed to happen08:59
pittimarcoceppi: well, they are in status, you see e. g. landscape-client/608:59
marcoceppipitti: right, but not on the autopkgtest service08:59
pittiyeah, as that's gone after destroy-service09:00
marcoceppipitti: does `juju destroy-service --force autopkgtest-cloud-worker` do anything?09:00
marcoceppiit's just stuck in dying, which usually means something as failed, a relation or something else09:00
pittimarcoceppi: there's no such option09:00
pittijuju --version: 1.24.7-trusty-amd6409:00
marcoceppi:\09:01
pittiit's actually quite simple for me to destroy and re-deploy the whole env, I was just wondering as this did work before09:01
pittiI re-deployed the worker service individually two or three times09:02
marcoceppipitti: it should work, something is stuck where Juju says it's not ready to reap the service because there's still an action pending against this09:03
marcoceppiyou see this a lot when relations fail on destroy, or stop hook fails09:03
marcoceppibut I can't see exactly what it's stuck on, and since it's a 1.22 version I don't remember if there were any oddities in that release09:03
pitti1.2409:04
pittimarcoceppi: anyway, I'll re-do the whole thing; thanks for looking!09:04
marcoceppipitti: you may have 1.24 locally, that deployment is agent-version: 1.22.6. either way, good luck!09:05
pittimarcoceppi: ah, ok09:05
pittimarcoceppi: whatever is in prodstack09:05
pittimarcoceppi: but maybe they updated to 1.24 by now, and with re-deploying I'll get that too, I'll see09:06
marcoceppi\o/09:07
pitti    agent-version: 1.24.709:10
pittimarcoceppi: seems so09:10
pittimarcoceppi: so next time I run into errors I'll have a less outdated version09:11
marcoceppipitti: awesome, it's easier to support 1.24.7 since 1.25.0 is latest09:11
wesleymasonAnybody seen an issue were a reactive built charm during upgrade/install continually loops around uninstalling and reinstalling wheels?09:53
marcoceppiwesleymason: interesting.10:04
cory_fu_Can't say that I have.10:04
marcoceppiwesleymason: do you have a link to the charm? more importantly can you show me the hooks/upgarde-charm file?10:04
wesleymasonmarcoceppi: charm is https://github.com/1stvamp/juju-errbot (WIP)10:04
marcoceppiwesleymason: I think I know the issue, we can patch in a few mins10:05
wesleymasonmarcoceppi: upgrade-charm hook: http://pastebin.ubuntu.com/14485929/10:05
marcoceppiwesleymason: thought so, thanks, we'll patch this quickly10:06
wesleymasonmarcoceppi: cheers 😃10:06
marcoceppiwesleymason: when this lands in a few mins, `charm build` again https://github.com/juju-solutions/reactive-base-layer/pull/2310:15
wesleymasonmarcoceppi: aha, tvm10:20
wesleymasonperhaps marcoceppi's PR could get a bit of love? https://github.com/juju-solutions/reactive-base-layer/pull/23 - in order to keep working on my charm I keep having to manually copy everything in and void a proper rebuild11:30
wesleymasons/void/avoid11:30
tiagogomes__I am correct to assume the JuJu State Machine VM, needs to have access to the OpenStack endpoint APIs? If I use floating IPs, does the uJu State Machine communicates with other VMs using floating IPs or in the tenant network?11:39
marcoceppiwesleymason: I just poked cory_fu_11:44
wesleymasonmarcoceppi: ta11:45
cory_fu_marcoceppi: lgtm, but let me test it.  ;)11:45
marcoceppipsh, tests ;)11:46
wesleymasonIn other news I can now deploy errbot with juju 🙌 (minus nrpe, http and the ability to install from a wheelhouse rather than pypi)11:48
cory_fu_wesleymason: Ok, the wheelhouse loop on upgrade-charm is fixed, if you rebuild your charm.12:10
wesleymasoncory_fu_: marcoceppi: cheers guys12:44
D4RKS1D3Hi, I removed a charm via command line but in the juju-gui i see the charm, which it is the way to solve this problem? thanks in advance13:46
lazyPowerD4RKS1D3  whats the current status when you look at the service in `juju status`?13:51
D4RKS1D3environment: maas machines: {} services: {}13:53
D4RKS1D3juju resolved -r neutron-api/0 ERROR unit "neutron-api/0" not found13:53
lazyPowerD4RKS1D3 and the GUI still has the service as listed? Reloading the browser tab doesn't correct itself?13:54
D4RKS1D3if I reload the page continue neutron-api service13:54
D4RKS1D3but not the uni13:54
lazyPowerD4RKS1D3 That sometimes happens when you destroy a machine out from under a service, and dont remove the service... but if your juju status output says there's nothing registered, thats bug worthy13:55
D4RKS1D3http://s22.postimg.org/4aqldlaz5/Screenshot_130116_13_53_43.png13:56
lazyPowerD4RKS1D3 can you psatebin me the output from juju status --format=tabular ?13:56
D4RKS1D3of course13:56
D4RKS1D3lazyPower, http://paste.ubuntu.com/14487078/13:58
lazyPowerD4RKS1D3 ok it appears you have removed the machine/unit, but not the service13:59
lazyPowerD4RKS1D3 juju destroy-service netron-api13:59
lazyPower*neutron-api13:59
D4RKS1D3I wrote this command, yes14:00
lazyPowerseems stuck huh? try adding a unit to neutron-api, then running juju destroy-service neutron-api14:01
D4RKS1D3Okey lazyPower14:01
D4RKS1D3juju add-unit neutron-api --to lxc:3 ERROR cannot add unit 1/1 to service "neutron-api": cannot add unit to service "neutron-api": service is not alive14:02
lazyPowerprogress, seems that the service itself is stuck without a unit showing in status.. but somethings lingering in the state server keeping it around.14:03
lazyPowerD4RKS1D3 Can i get you to file a bug about this? https://launchpad.net/juju-core/  https://login.launchpad.net/LfAACUW1CApYLLfk/+decide14:04
D4RKS1D3Of course14:04
lazyPowerinclude the status output, gui screenshot, and the all-machines.log, steps to reproduce14:04
D4RKS1D3Yes14:05
D4RKS1D3what do you need14:05
lazyPower> status output, gui screenshot, and the all-machines.log, steps to reproduce14:05
tiagogomes__Hi, can someone reply to this: I am correct to assume the JuJu State Machine VM, needs to have access to the OpenStack endpoint APIs? If I use floating IPs, does the JuJu State Machine communicates with other VMs using floating IPs or in the tenant network?14:06
lazyPowertiagogomes__ the tenant network i do believe14:06
D4RKS1D3I think the same, only the tenant network14:06
lazyPowertiagogomes__ juju uses the private interface for communicating with the nodes. I'm pretty sure floating-ip only effects the public interface14:07
lazyPowerD4RKS1D3 oh lol i just realized i pasted a login link to you. the intended link was launchpad.net/juju-core14:07
tiagogomes__ok. I see. And the JuJu state machine needs to call the OpenStack APIs right? Or is the client that does that?14:08
* tiagogomes__ is trying to sort out network requirements14:08
lazyPowerThe state server makes requests to the OS API's14:08
lazyPowerdepending, juju deploy openstack, juju deploy an environment into that openstack. So you'e got the idea of your cloud, and as beisner  says, your "undercloud"14:09
lazyPowerso it depends on which layer of cloudy goodness you're talking about :)14:09
D4RKS1D3lazyPower, I do not see the the link in the juju-core14:09
lazyPowerD4RKS1D3 https://bugs.launchpad.net/juju-core/+filebug14:10
tiagogomes__I see. I am talking about JuJu bootstrapped on OpenStack. And The JuJu gui makes requests to the state server right? It doesn't call the OpenStack APIs14:10
lazyPowerCorrect14:10
lazyPowerall juju interaction is routed through the model controller (state server)14:11
tiagogomes__tvm lazyPower!14:12
lazyPowernp tiagogomes__14:12
D4RKS1D3lazyPower, all-machines.log is a huge file! hahahaha14:17
beisnero/ hi all14:17
D4RKS1D3hi beisner14:17
beisneris that mr beedy?14:22
lazyPoweri dont think so bdx is beedy14:38
beisnerhi D4RKS1D3 ;-)14:50
beisnerlazyPower, chipping away at the rvw Q.  i don't have merge perms on mysql.  can you do the honors on this?  https://code.launchpad.net/~barryprice/charms/trusty/mysql/add-innodb_file_per_table/+merge/28139815:38
jcastrohey lazyPower15:38
jcastroso like marco told me with him the LXD provider breaks like every 6 bootstraps or so15:38
jcastrobut I have not had issues15:39
jcastrowhat would be a good way to just automate having my laptop fire up workloads in a loop?15:39
jcastroI figure, let it run for like 8 hours and see what happens15:39
josebeisner: did you get it merged already?15:45
beisnerhi jose!  nope, but it's ready to land.15:46
josebeisner: ok, let me take a look15:46
lazyPowerjcastro cronjob to run a bundletester job?15:49
jcastroI've not used bundletester before15:49
jcastrois there a tldr doc somewhere?15:49
lazyPowerpip install bundletester && bundletester -F -l DEBUG -v in the charmdir15:49
lazyPowerlemme see what we have in the docs15:50
lazyPoweri'm positive we have somem stuff in the dev docs about this too15:50
lazyPowerjcastro https://jujucharms.com/docs/devel/developer-testing#bundletester15:51
jcastroack, thanks15:51
josebeisner: and, pushed!15:51
lazyPowerta jose15:51
jcastroseems to still use juju-deployer15:52
beisnerjose, great, thanks.  i'll send a review mail to the list.15:52
lazyPoweralso, o/ jose15:52
josehey, lazyPower!15:52
lazyPowerjcastro thats probably the case. juju deploy is too new to have it consumed in our testing infra already15:52
* jcastro nods15:52
lazyPowerdoes the lxd provider not work with juju-deployer?15:52
jcastroI am not sure yet, I was just reading the github page on bundletester15:53
lazyPowerbeisner have i introduced you to my personal assistant, charmbot 5000? aka jose15:57
jose>.>15:57
lazyPowerxD15:57
jcastrohuh, juju-jitsu is still in xenial15:59
lazyPowerwhoa16:01
lazyPoweri thought that was deprecated as of precise16:01
jcastroI'll find out how to remove it16:01
josejcastro: on main?16:02
joseor, I mean, universe?16:02
lazyPowerhey jcastro, i have a potential TC attendee to the charmer summit. Think we have some space for floating heads in a box on a laptop?16:03
lazyPowertc = teleconference16:03
josejcastro: you'll need to get a MOTU to remove the package16:04
jcastrohttps://bugs.launchpad.net/ubuntu/+source/juju-jitsu/+bug/153373816:07
mupBug #1533738: Remove juju-jitsu package from Xenial <juju-jitsu (Ubuntu):New> <https://launchpad.net/bugs/1533738>16:07
jcastrothey told me what to do16:07
jcastrowe just file a bug and subscribe ubuntu-archive with an explanation16:07
beisnerlazyPower || jose - can you review/land this?  it's a c-h resync to enable openstack mitaka (ceilometer + mongodb) deployability.  https://code.launchpad.net/~1chb1n/charms/trusty/mongodb/ch-sync-mitaka/+merge/28221116:32
lazyPowerjose wanna take that one?16:33
josebeisner: I have to run an errand right now - if lazy hasn't done it by when I'm back I'll do it16:33
joselazyPower:16:33
jose^ *16:33
lazyPowersound good16:33
josecool16:33
lazyPowerbeisner in a meeting, gimme a few and i'm on it16:33
beisnerthx guys.  fwiw, the code it's pulling in has already been reviewed and landed in lp:charm-helpers.16:33
jaceknhello. I am trying to write an amulet test for a simple subordinate. It uses "juju-info" relation. I am trying to relate it with cs:ubuntu charm like this: "cls.deployment.relate('ubuntu:juju-info', 'collectd:juju-info')"16:34
jaceknI am getting this: http://pastebin.ubuntu.com/14488256/16:35
jaceknany ideas what I am doing wrong?16:36
beisnerjacekn, are you able to make the same relation on those services outside of the test?  ie.     juju add-relation X Y16:36
josejacekn: not sure on this, but does your charm provide juju-info?16:36
joselike, explicitly stated?16:36
jaceknbeisner: only if I do "juju add-relation ubuntu collectd"16:36
jaceknbeisner: so it seems to me that the amulet depends on juju-info being in the metadata.yaml which it probably shouldn't16:37
beisnerjacekn, yeah i've not looked at the code, but i suspect it just parses metadata.yaml to populate valid interfaces.16:38
jaceknsee this: http://pastebin.ubuntu.com/14488278/16:38
jaceknso how should I test my subordinate?16:39
beisnergiven the empty dict, i bet you're right. {   u'Error': u'no relations found', u'RequestId': 1, u'Response': {   }}16:39
beisneri'd say it's in python-jujuclient16:39
beisneror hrm.  that explicit juju add-relation fail takes me back to:  juju-info is somehow super-special16:40
jacekneven juju itself can't add that relation (ubuntu:juju-info collectd:juju-info)16:40
lazyPowerjacekn correct, juju-info relations are bad16:44
lazyPowerusing it as the implicit interface on a scope: container relation is ok16:45
lazyPowerbut not as the relation name16:45
lazyPowerbeisner ^16:45
lazyPowerjacekn swap that relation to be something like: "metric-host:   interface: juju-info  scope: container" and you should clear up that error16:46
iceyin developing a layer, not a top level layer, is it OK to use any of the @hook decorators?16:47
jaceknlazyPower: you mean in my subordinate's metadata.yaml?16:49
iceyalso, would it be a good idea to (if possible) make a layer that is not intended to be the top layer deployable?16:50
iceyie: calling charm build on the layer would make a deployable charm16:50
lazyPowerjacekn correct16:50
lazyPowericey you can16:50
lazyPowericey you just cant mix @hook and @when decorators16:50
lazyPowericey however we do prefer that you not use the @hook decorators unless they are absolutely necessary. Like set up a method that uses/provides a synthetic state16:51
lazyPowerand use those states to drive, as thats more natural when charming with consuming layers16:51
iceyI'm thinking more about the install hook :)16:51
lazyPowerits odd to try to intercept @hooke('config-changed')  in 3 layers, vs doing something like @when_not('dependency.installed')16:51
iceyeverything else I'm fine pushing to reactive state but can't figure out a non-ridiculous way to handle the install16:52
lazyPowerwell16:52
lazyPowerconsidering states run until their state change occurs in the bus coupled with a guarding @when_not()16:52
lazyPoweryou can set the state you want to imply install, and @when() on your other 3 or 4 method decorators16:52
jaceknlazyPower: that did not help: http://pastebin.ubuntu.com/14488410/16:56
beisnerlazyPower, can you re-trigger tests for http://review.juju.solutions/review/2394 ?16:57
lazyPowerbeisner aws and lxc re-added to the queue16:58
* lazyPower circles back16:58
beisnerlazyPower, thx16:58
lazyPowerinc rev/merge on above link16:58
iceylazyPower: how would I get my needed state set?17:00
lazyPowericey charms.reactive set_state('thing.amabob')17:00
iceyin an @hook('install')?17:00
lazyPowersure17:00
lazyPowerfrom charms.reactive import set_state17:00
lazyPowerset_state('thing.amabob')17:01
iceyI know how to set states, wondering what the recommended way to replace an install hook would be17:01
lazyPoweroh17:01
lazyPower@when_not('thing.amabob')17:01
lazyPowerdef do_something()17:01
lazyPower# do something here17:01
lazyPowerset_state('thing.amabob')17:01
lazyPowerthen in followign methods17:01
lazyPower@when('thing.amabob')17:01
joselazyPower: on it?17:01
lazyPowerdo_something() will trigger in that first sweep of the reactive bus17:01
lazyPowerjose already merged17:02
lazyPowerjust need to push17:02
lazyPoweractually the merge is hng up17:02
joselazyPower: gotcha17:02
lazyPowerif you wanna do it go for it17:02
josebzr push :parent17:02
jose^^ copy and paste17:02
lazyPowernah its stuck on the merge dude17:02
lazyPower$ bzr merge lp:~1chb1n/charms/trusty/mongodb/ch-sync-mitaka17:02
lazyPowersitting here on this, cycling17:02
joseok let's see17:02
joseas long as it's not a fat charm I'm good17:02
* icey lunches17:03
josebeisner: merged17:05
beisnerthanks jose17:06
josenp17:06
beisnerjose o/   got one hot off the press.  https://code.launchpad.net/~ajkavanagh/charms/trusty/mongodb/fix-unit-test-lint-lp1533654/+merge/28247217:40
beisnerie.  some old existing lint in the unit test file just crossed the failure line in whatever bleeding edge version of flake8 gets pulled from pypi17:41
josebeisner: lucky you, I still have that directory open17:42
beisnerwoot17:42
joseand landed17:45
beisnerthanks again, jose :)17:57
josenp18:01
iceylazyPower: got a few minutes to chat more about the layers / reactive stuff, maybe on a hangout?18:11
mbruzekHey guys I just reviewed a charm that uses SFTP and no crypto verification.  Is that OK?18:30
mbruzekDoes using sftp remove the need to do cryptographic verification of a payload?18:31
marcoceppimbruzek: ehhhhhhhhh18:32
marcoceppimbruzek: it's on the fence, I'd mail the list18:32
lazyPowericey : hey sorry i stepped out for lunch18:50
lazyPowermarcoceppi are we doing standup in 10?18:50
iceyno worries lazyPower :) I figure IRC is async18:50
marcoceppilazyPower: probably, yes18:51
marcoceppimoving to better wifi18:51
lazyPowericey But i can help out of band, whats up?18:54
iceyjust trying to wrap my head around best practice for intermediate layers and hooks18:54
lazyPowericey well i prototyped some of what this looks like elsewhere18:55
lazyPowericey this is a sandwich layer with a short lifespan, it will be deprecated in favor of layer-docker-libnetwork18:55
lazyPowerhttps://github.com/chuckbutler/flannel-layer/blob/master/reactive/flannel.py18:56
lazyPowerbut i dont bind to *any* of the default hookenv hooks18:56
lazyPoweri'm sniffing states off the base layer and setting states for hte top layer to consume via unitdata.kv()18:56
iceymarcoceppi: can you let me know how to depoloy a local charm with a bundle19:13
marcoceppiicey: set JUJU_REPOSITORY and set charm: local:trusty/charm19:15
iceythanks, yeah the bundle export from juju gui gave me an error with the charm number after19:15
=== jog__ is now known as jog
bdxhey whats up guys? Is there a charmhelper function, or best practice anyone knows of to generate self-signed certificates other then using subprocess and pipes?21:45
marcoceppibdx: you should talk to lazyPower21:52
lazyPowerbdx hi there21:52
marcoceppio/ arosales21:52
marcoceppibdx: and mbruzek21:52
lazyPowerbdx have you looked at the TLS layer in interfaces.juju.solutions?21:52
bdxoooh ... I just realized you can pass a -config option to a file21:52
bdxlazyPower: I was looking at the way its done in the apache2 charm21:53
lazyPowerbdx nope!21:53
lazyPowerwe have new stuff21:53
bdxlazyPower: nice, I'll check it now, thanks21:53
lazyPowerbdx https://github.com/mbruzek/layer-tls21:53
lazyPowerthe tls layer is only peer capable so its not server/client aware yet21:54
lazyPowerbut getting there21:54
lazyPowersets up PKI, each unit generates a CSR, the leader signs it and hands back the certificate21:54
lazyPowerconsume, easy self signed pki21:54
bdxthis is great!21:55
bdxI want to use it now21:55
lazyPowerdo it!21:55
lazyPowerwe want bugs / feedback / layers to use this21:55
lazyPowerbdx we're doing server/client key generation for kubernetes with this and its workign quite well21:55
mbruzekbdx it is still very new, but please give us feedback21:56
lazyPowerso if you need an example to follow, we have one for ya21:56
lazyPoweri should have the prelim work done w/ swarm to hand over soon'ish too, its about a week behind the k8s refactoring21:56
bdxlazyPower, mbruzek: entirely, awesome!21:56
mbruzekbdx we aim to please21:57
=== _thumper_ is now known as thumper
bdxmbruzek: it was a great idea to make this a layer ... every website/api endpoint should/could need this21:58
mbruzekI know!  Right?21:58
mbruzekTo be honest we stumbled upon that with our kubernetes work21:58
mbruzekbut yeah I want to make it more generic and useful to any charm layer so please advise, open bugs, or sing is praises in #juju21:59
bdxof course :-)22:00
=== natefinch is now known as natefinch-afk
beisnermysql charm mitaka prep ready for review/landing.  https://code.launchpad.net/~1chb1n/charms/trusty/mysql/ch-sync-mitaka/+merge/282209   i believe this is the last of the mitaka uca blocker syncs - jamespage || gnuoy22:17
* D4RKS1D3 GoodNight!23:06

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