/srv/irclogs.ubuntu.com/2015/02/03/#juju.txt

hazmattvansteenburgh, dpb1 could either of you add me back to juju-deployers team00:43
tvansteenburghhazmat, if i can figure out how...00:45
tvansteenburghhazmat, nothing on the lp page that indicates i can do it00:47
hazmattvansteenburgh, no worries, i'll ping robbie looks like the leave script switched ownership to him00:48
tvansteenburghhazmat, ack00:49
=== kadams54-away is now known as kadams54
=== axw_ is now known as axw
dpb1hazmat: bah, no.01:05
dpb1hazmat: hulk time it is01:05
=== kadams54 is now known as kadams54-away
=== kadams54-away is now known as kadams54
skayI can't run `charm add tests` http://paste.ubuntu.com/10025926/01:59
skayit's probably trying to find bzr in the wrong place01:59
catbus1Hi, there is recent update on openstack charms, are there any changelogs?02:00
=== catbus1 is now known as catbus1-afk
beisnercatbus1, https://wiki.ubuntu.com/ServerTeam/OpenStackCharms/ReleaseNotes150102:22
sebas5384ping02:37
=== kadams54 is now known as kadams54-away
catbus1-afkbeisner: thank you!04:16
=== zz_CyberJacob is now known as CyberJacob
=== CyberJacob is now known as zz_CyberJacob
TimNichJust getting started with juju on trusty. Having an issue as juju-log is missing and doesn't seem to be part of juju-core (currently 1.21) but is required at least by the python hooks.10:43
marcoceppi_TimNich: what do you meanit's missing?10:55
TimNichWell the command 'juju-log' does not exist, but is invoked by 'charmhelpers.core.hookenv.log' in charm-tools10:58
TimNich'/usr/bin' has juju, juju-backup, -bundle, -charm etc but no -log11:01
marcoceppi_TimNich: right, that doesn't get installed in /usr/bin11:30
marcoceppi_they're only available to the hooks at the time of invocation11:30
marcoceppi_TimNich: what are the steps you performed to reach this error?11:30
=== marcoceppi_ is now known as marcoceppi-sast
TimNichI was trying to test my install hook by running it stand alone, but it fell over, and by simplifying and looking at the back trace it was clear the command …hookenv.log11:43
marcoceppi-sastTimNich: right, so you can't just execute it. When a hook executes it wraps the hook with a modified environment (new env vars, etc)11:45
marcoceppi-sastyou can test it, it it's deployed, using `juju debug-hooks`11:45
marcoceppi-sastTimNich: depending on which version of juju you have, you can do `juju debug-hooks unit/# install`11:46
TimNichI hadn't got as far as deplying it, I was trying to test bits as I went along.11:46
marcoceppi-sastTimNich: you have to deploy to test a hook11:46
marcoceppi-sastunless you're doing things like unit testing11:46
marcoceppi-sastwhen you juju deploy something, juju installs an agent and a set of tools on that machine11:47
marcoceppi-sastpart of those tools are things like juju-log, etc11:47
TimNichOK,  thats very helpful. The bash version install can be tested standalone, so it wasn't obvious to me that the pyhon one couldn't. But the ptython one seemed to have some useful libs so I thought I would try it.11:51
marcoceppi-sastTimNich: none of the hooks can reliably be tested outside of juju12:23
TimNichHmm. Some unit testing sure would help12:23
marcoceppi-sastTimNich: right, you can totally unit test without needingto deploy12:23
marcoceppi-sastyou just need to mock the calls made to charmhelpers12:23
marcoceppi-sastas those are already tested12:24
TimNichRight. I was just being a tad simplistic trying to tset sections without doing proper unti testing!12:25
TimNichThanks for your help.12:25
TimNichmarcoceppi-sast: I see you are the maintainer of charm-tools. I notice that the python hooks structure created uses one .py file per hook function plus a couple of imports, but the structure documented at http://pythonhosted.org/charmhelpers/index.html shows a single hooks.py with sym links to it for each function. Which structure is the one to expect going forward?12:36
marcoceppi-sastTimNich: we don't really dictate how to structure your charm, we simply help model different patterns. As far as the code in the charm and structure as long as you follow the outline that you implement X hooks that juju expects, everything else is up to you12:37
marcoceppi-sastTimNich: there's also two different python templates, there's the `python-basic` and then "python" which is our "services framework" teplate12:38
marcoceppi-sastyou can see these options running `charm create -h`12:38
=== jacekn_ is now known as jacekn
TimNichahh. hadn't spotted the python<->python-basic difference, and the pythonhosted docs use '…-t python….', but then show the python-basic dir structure!12:47
skayI've got bzr installed, but `charm add tests` is returning http://paste.ubuntu.com/10025926/13:42
=== kadams54-away is now known as kadams54
=== rcj is now known as Guest72419
marcoceppi-sasto/ skay14:39
marcoceppi-sastskay: did you install charm-tools from pypi or source?14:39
skaymarcoceppi-sast: at this point that is lost to the sands of time. I can't remember14:40
marcoceppi-sastskay: I used to have a cleanup script14:40
skaymarcoceppi-sast: which charm and juju tell me /usr/bin/<charm | juju>14:40
marcoceppi-sastbut if you install from apt it will always work. The problem is /usr/local takes precenece over other things14:40
marcoceppi-sastskay: try this: sudo rm -rf /usr/local/lib/python*/dist-packages/charm*14:41
marcoceppi-sastthen run `charm add tests`14:41
skaymarcoceppi-sast: I still get the stacktrace. I may have installed bzr via pip (I can't remember at this point) due to wanting git-lp and needing to muck about with bzr14:44
marcoceppi-sastskay: is it installed with apt?14:45
marcoceppi-sastare you getting the same trace?14:45
skaymarcoceppi-sast: I am assuming charm-helpers are installed with apt, because when I do sudo apt-get install charm-helpers it tells me that it is already installed14:45
marcoceppi-sastwell, charm-helpers are not charm-tools14:46
skaymarcoceppi-sast: derp. that was a thinko14:46
* marcoceppi-sast nods14:46
skaymarcoceppi-sast: just checked and apt says it is already the newest version14:47
skaymarcoceppi-sast: I might take this to the mailing list because I need to switch context to work stuff. thanks for triaging14:48
=== kadams54 is now known as kadams54-away
=== kadams54-away is now known as kadams54
skaymarcoceppi-sast: I want to be able to compare the generated test scaffolding to the python-django existing tests to see how different things are. ultimate goal is make MRs for the changes in my fork nrpe-external-master is useful, pip_extra_args is useful but I can't get tests to pass yet (http://reports.vapour.ws/charm-tests/charm-bundle-test-10877-results ) and once I fully grok proper testing I want to get those things in14:51
marcoceppi-sastskay: ack14:55
skaypython-django question, I recall that an ansible fork is being worked on. Is fabric support getting dropped? https://bugs.launchpad.net/charms/+source/python-django/+bug/1416108/comments/215:18
mupBug #1416108: [test] Python-Django test plan <test> <python-django (Juju Charms Collection):New for nicopace> <https://launchpad.net/bugs/1416108>15:18
nicopaceskay: mup: that means that it has no point for me to implement test on the current python-django charm till the ansible fork is merged?15:25
skaynicopace: I don't know, so let's see what the project maintainers thing15:26
skaylazyPower: I remember talking to you about python-django, I think?15:26
skaynicopace: I'm only a user15:26
nicopaceskay: (y)15:27
skaynicopace: I'm making a reply for you in the issue15:28
mbruzekjog ping15:29
joghi mbruzek, I'm stepping out to bring the kids to school, I can ping you back in a bit15:38
mbruzekjog ok15:38
mwak_hi15:51
mbruzekHello mwak_15:59
whittvansteenburgh, are you the new maintainer of deployer?16:49
tvansteenburghwhit: i'll never admit to that16:50
whittvansteenburgh, :D16:50
whittvansteenburgh, if hypothetically, you were the new maintainer of deployer, where would I submit bugs?16:51
tvansteenburghwhit: https://bugs.launchpad.net/juju-deployer16:51
whittvansteenburgh, thnks16:56
jogmbruzek, ping16:58
mbruzekHi jog, I was not seeing the results from the jobs I kicked off yesterday 02/02/2015.17:00
mbruzekhttp://reports.vapour.ws/charm-summary/kubernetes17:00
mbruzekI see them now, was there something that changed?  Or does the ingestion only run so often17:00
jogmbruzek, ok I fixed that... should be there now?17:00
jogmbruzek, it should be happening every 15 minutes17:01
mbruzekjog can the result page show the bundle that was used?  we are passing a -b bundlepath/bundlename to the command now.17:02
mbruzektvansteenburgh: added the bundle feature for us, right now I can not tell which bundle was used to start which test.17:02
jogI'll take a look17:02
mbruzekjog as an example I am running the command like this:  -envs 'aws,hp,azure,joyent' -b specs/head-latest-release-v0.8.2.yaml gh:whitmo/bundles-kubernetes17:03
mbruzekI would hope to see specs/head-latest-release-v0.8.2.yaml in the charm column17:03
mbruzekBecause the bundle URL will always be the same.17:04
tvansteenburghjog, i added a bundle key to the json17:07
jogyup, I see it there17:07
jogI can add that information to the report17:08
mbruzekthank you jog and tvansteenburgh17:08
jogmbruzek, although I don't think I'll replace the URL... since this report is used for other charms that may not have the bundle information17:09
mbruzekjog Yes I understand, I just want to know what version that is17:09
=== kadams54_ is now known as kadams54-away
=== kadams54-away is now known as kadams54_
=== beisner- is now known as beisner
icetoadI have different physical servers i want to use for specific packages.  Is there a way to link the MAAS name and setup to a specific machine in Juju?  Seems they deprecated the Maas-name tag.  I was able to use the add-machine ssh:maas_server_name_here command, but then Juju Doesnt apply a name to the machine that correlates to anything.18:12
tvansteenburghicetoad: maybe you can use constraint tags? see `juju help constraints`18:35
icetoadyea, i tried the constraints, but the tags dont exist any more18:43
icetoadthey eliminated the maas-name constraint tag18:43
icetoadseems like juju is meant to just grab a machine from a pool and go, but if the machine died, i would have no idea which physical server it was without trying to hunt through ips and configurations18:45
tvansteenburghicetoad: this should still work: https://maas.ubuntu.com/docs/tags.html18:46
icetoadi was assuming it did, but even if i tag the machine(talking about tagging 1000 plus machines here), will the tag show up in the JuJu gui?18:55
icetoadsorry, i forgot the juju status command shows the maas name....  perhaps its not as a big a deal... it would just be easier if that were exposed on the juju gui18:56
icetoadi can target the machine with the add-machine ssh command, but i guess i could play with tags to see if i can add a step in the preseed to add the tag automatically18:57
icetoadi understand why they got rid of the maas name tag, but i wish they had just fixed the issue18:58
=== kadams54_ is now known as kadams54-away
=== kadams54-away is now known as kadams54_
lazyPowerskay: o/19:41
lazyPowerallo, you had some questions?19:41
skaylazyPower: I can't remember if you are a python-django maintainer. are you? I had a question aobut whether fabric is getting deprecated in favor of ansible19:42
skaylazyPower: nicopace has a test plan, and if fabric will be around a long time, it makes sense to be included in the test plan. but if that isn't true, then we should let nicopace know19:44
blrskay: fabric 2 with python 3 support is still under development afaik, I don't think it has been abandoned.19:49
roadmrfabricccc! I don't want to have to use crapistrano for deployment!! aaah20:00
skayroadmr: I've used fabric, not the other20:06
roadmrskay: it's mostly a joke; most python tools have ruby equivalents, capistrano is roughly equivalent to fabric20:07
skayroadmr: I'm working my way from fabric to ansible20:07
skayroadmr: heh, it went over my head. I thought capistrano was more complicated than fabric20:07
skayroadmr: ansible is a gazillion deeply nested directories of yaml files20:08
roadmroh the horror.yaml :(20:08
skayroadmr: I haven't decided how bad it would be if I don't follow the custom. people probably do it that way for a reason20:08
skayroadmr: you haven't had enough java in your life, I bet.20:09
skayroadmr: more like horror.xml20:09
roadmrNOOOO20:09
roadmrI have had to translate xml files by hand - spit out by some horrid microsoft web development framework, I recall20:10
skaylike finding 4 sided dice on the floor with your bare feet, is xml20:10
roadmrouch...20:10
=== kadams54_ is now known as kadams54-away
lazyPowerskay: ah good catch. I'm not a maintainer, but i will definately take a look at the merge chain and see how things are going.   Patrick Hetu has been the primary developer on the charm, and it probably warrants a touch base with him20:21
lazyPowerskay: thanks for taking a vestd look and reaching out - i'll make sure to follow up on that now so i dont forget20:21
skaylazyPower: thanks, maybe he can leave comment here https://bugs.launchpad.net/charms/+source/python-django/+bug/141610820:22
mupBug #1416108: [test] Python-Django test plan <test> <python-django (Juju Charms Collection):New for nicopace> <https://launchpad.net/bugs/1416108>20:22
lazyPowerskay: ta20:23
skayo/20:23
nicopaceskay: lazyPower: thanks for that, i'll be working on the python-django charm in a couple of days20:24
=== roadmr is now known as roadmr_afk
lazyPowernicopace, skay: correspondance has been sent. nicopace - i cc'd you as well.20:27
nicopace(y)20:27
lazyPower:thumbsup:20:27
lazyPowerirc needs more emojii20:27
nicopace:D20:28
nicopacethanks lazyPower, i lack the connections you guys have ;)20:28
skaylazyPower: :thumbsup: is bd20:28
skaylazyPower: bd can also be batman20:29
lazyPowerNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN WATMAN!20:29
lazyPowerhttps://www.destroyallsoftware.com/talks/wat <- i cite my reference20:30
skayoh I LOVE that talk.20:31
=== zz_CyberJacob is now known as CyberJacob
nicopaceHi guys... you know, the monitors relation (belonging to nagios) is really badly documented... it would be great if we add at least some of this content to this relation's documentation: https://maas.ubuntu.com/2012/09/05/nagios-is-from-mars-and-mysql-is-from-venus-monitoring-part-2/20:32
lazyPowernicopace: can you file a bug?20:32
nicopacesure :D20:32
lazyPowera good majority of our charm interfaces are widely undocumented20:33
nicopacethat's not good at all :S20:33
skayalso the death of yavascript one. which has inspired some other great talks. one at an open bio conference by Titus Brown, https://www.youtube.com/watch?v=uwsjwMO-TEA20:33
lazyPowerand thats not a great story to have - but if we can identify the low hanging fruit like that - we can knock out a good chunk of them.20:33
lazyPowerskay: another great reference :)20:33
nicopacesure! i'll pay attention to that while i implement the tests20:34
lazyPowernicopace: thanks a million mate. tag them with 'doc' and 'interface' and i'll keep a running sort on them so i can try to assist as i get time20:34
skaylazyPower: I should do that too, I was wondering bout how to auto-discover the servername of the apache2:reverseproxy so that I could think of adding the ability to the python-django charm to inject it in to ALLOWED_HOSTS but the interface def in metadata.yml does not indicate anything20:35
skaylazyPower: and maybe I should file a bug?20:35
skaylikewise for python-django for its http interface.20:35
skaybut I got to wondering whether it was an expected practice or if those were widely documented somewhere that I hadn't discovered yet20:36
lazyPowerskay: yeah - if none of the interfaces are documented, i think its fine at this point to just mention that the interfaces are undocumented, which makes the integration path = diving through code.20:36
lazyPowerits not documented :(20:36
lazyPowermarco has been dangling a carrot in front of me while we keep piling work on him20:36
nicopacehttps://bugs.launchpad.net/charms/+source/mysql/+bug/141775320:36
mupBug #1417753: Document monitors interface <doc> <interface> <mysql (Juju Charms Collection):New> <https://launchpad.net/bugs/1417753>20:36
lazyPowerso i think bugs + tags for now will start that ball rolling in docs, and if we ever get a moment to build an interface listing, we'll aggregate it in one spot for quick reference20:36
lazyPowerskay: i was thinking about building a chart on something like interfaces.juju.solutions - where you can plug in a charm name and get back the listed interfaces, and the data pass20:37
nicopacemy way of understanding what a relation does, is looking over the README, and diving throught the code20:37
lazyPoweralong with examples20:37
lazyPowernicopace: yeah :( that sucks :(20:37
lazyPoweri dont like that :( its totally user friendly </sarcasm>20:38
skaylazyPower: that would be excellent. right now if you click on an interface you get a view all the things that use the interface, at least20:38
skayyeah, I have had to do that a lot too20:38
nicopacelazyPower: it seems that there was an interface in the past, but it is not there anymore:http://jujucharms.com/interfaces/monitors20:38
lazyPowerskay: yeah - which is a good first step - but trying to integrate without knowing what the datapass is, is the pitts20:39
lazyPowerand i was vehemently opposed when i supported gets/sets in metadata.yaml20:39
lazyPowerso now it kind of needs a central registry to view that information20:39
lazyPowerjsut for simplicity sake (bare minimum, stuff it in the readme)20:39
nicopacethat link was retrieved from "Interface docs" from here: https://manage.jujucharms.com/interfaces/monitors20:39
nicopacethe problem seems to be that the interfaces don't belong to anyone20:40
nicopaceso, who would be responsable of documenting it?20:40
nicopacelazyPower: skay ^20:41
lazyPowernicopace: the provides is the owner actually20:43
lazyPowerrequires is just a consumer of the provides relationship20:43
lazyPowerits a loosely coupled contract20:43
nicopacebut for example, mariadb and mysql both provide the same interfaces20:43
nicopaceand the http interface is provided by a lot of services20:43
lazyPowernicopace: https://speakerdeck.com/chuckbutler/service-orchestration-with-juju?slide=2520:44
lazyPowertake a look at this slide deck i've been using to teach juju since FOSDEM20:44
lazyPowerrelations are the declarative language juju provides to expose how one service will interact with another - in either a provider or a consumer fashion. This is bi-directional, so the actual "ownership" of the interface, would be the responsibility of the provider - since there is no actual registry or uniform standard that you have to conform to20:45
skaylazyPower: did fosdem manage to get a video of the talk?20:45
lazyPowerskay: i have no clue :(20:45
lazyPoweri can reach out to kris and find out - but later. I've been bugging him like mad lately with cfgmgmtcamp20:45
skaylazyPower: it's okay, I have friends of friends who are involved inf osdem video20:46
nicopaceok... so for the majority of the relations, as they are almost one-to-one with provider charms, there is no problem20:46
=== rcj is now known as Guest17528
lazyPowerskay: nice! if you find out - let me know :D20:47
lazyPowernicopace: correct.20:47
nicopaceok... so it would be great to have that docs arround...20:47
nicopacelazyPower: where does they go? metadata.yml?20:48
nicopaceit would be super-easy to do an automated script that checks if a charm's providing relations have documentation or not20:49
lazyPowernicopace: the relationship definitions are in metadata.yaml - the interfaces are loosely defined contracts between two services - so presently there is no easy way to discern what data is being handed over the wire except grepping the code for relation-set20:49
nicopacefrom this docs, there is no way to specify documentation of a relation: https://jujucharms.com/docs/authors-charm-metadata20:50
nicopace(not structured at least)20:50
lazyPowernicopace: correct, that was actually recently removed20:51
nicopacewhy removed?20:51
lazyPowerand by recently i think it was october 2014 - give or take, when the gets/sets key was removed from metadata.yaml20:51
nicopaceis this a bug that needs to get addressed (by juju)?20:52
lazyPowerbecause we like making things hard I suppose :( i dont have a good reason for you, as i was on the party that voted against this.20:52
lazyPowerbut, what i can do is ask when marco returns. I know he's got a well formed answer for this20:53
lazyPowerallright, i'm outy 5000 for now. its late here in belgium.20:54
lazyPowerty for all the feedback, ideas, and enthusiasm nicopace20:54
lazyPowerif you need anything dont hesitate to ping20:54
lazyPowero/ skay - thanks again for being awesome :D20:54
nicopacesure lazyPower See you tomorrow then :P20:54
skay:D20:54
=== roadmr_afk is now known as roadmr
ctlaughI have some nodes that are cpu-cores=8 and cpu-cores=4.  Is there a way to force juju to add one of the lower-core machines?  When I use --constraints "cpu-cores=4", it is still picking a machine with 8 cores.21:32
marcoceppi-sastctlaugh: set cpu-cores=321:35
hazmatthere's an open bug on this21:51
hazmathttps://bugs.launchpad.net/juju-core/+bug/138098921:51
mupBug #1380989: juju picking randomly from available machines instead of best fit <constraints> <deployer> <ubuntu-engineering> <juju-core:Triaged> <juju-deployer:Invalid> <https://launchpad.net/bugs/1380989>21:51
hazmatonly applies to machines already in the environment without workloads21:52
ctlaughmarcoceppi-sast: I tried... still gives me an 8-core :(22:07
ctlaughhazmat: Mine are in MAAS and haven't been added to juju environment yet.  I guess I can use tags, but I was trying to avoid that.22:10
hazmatctlaugh, hmmm, that could be an issue on the maas side then, juju basically passes those through afaicr22:18
hazmatctlaugh, what version of maas?22:20
ctlaughhazmat: 1.7.1~rc5+bzr3341-0ubuntu1~trusty122:21
hazmatctlaugh, interesting22:21
hazmatctlaugh, looks like maas picks the first one it finds by natural db order that matches the constraints22:22
ctlaughhazmat: oops22:22
hazmatctlaugh, would you mind filing a bug?22:24
ctlaughhazmat: Yes - just about to.  Here? https://bugs.launchpad.net/maas22:24
hazmatctlaugh, yup22:24
ctlaughhazmat: https://bugs.launchpad.net/maas/+bug/141779322:38
mupBug #1417793: MAAS selection of node for juju constraints does not choose "least-capable" match <MAAS:New> <https://launchpad.net/bugs/1417793>22:38
=== kadams54 is now known as kadams54-away
=== CyberJacob is now known as zz_CyberJacob
hazmatctlaugh, cool, thanks22:56

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