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

=== menn0 is now known as menn0-school-run
=== menn0-school-run is now known as menn90
=== menn90 is now known as menn0
=== axino` is now known as axino
=== frankban|afk is now known as frankban
=== mpavone1 is now known as mpavone
kjackalHello Juju World08:37
lazyPowero/ mornin kjackal12:43
kjackalHi lazyPower!12:43
kjackalHow is you google fiber? You got one, right?12:44
lazyPowerYou betcha! Its crazy fast on just the 5g wifi, i'm excited to get a proper cat6 connection and really flex it12:44
lazyPowerkjackal - prelim benchmark numbers here: https://www.evernote.com/l/AX4wf7WjnZJNo4WzhugoNuHlcFT9-f_-JPQB/image.png12:45
jrwrenlazyPower: whoa, cool. how much ipv6 space do they give you?12:45
kjackalWow!12:45
lazyPowerjrwren - no idea, i haven't investigated that12:46
kjackalWhat do you mean by ipv6 space?12:46
kjackalYou also get a range of public IPs??12:47
jrwrensome ISP give two or three /64, others give a /56.12:47
jrwrenkjackal: yes, a range of billions12:47
kjackalWow!!!12:47
jrwrenkjackal: yeah, its pretty cool to have all my home systems including virtual machines and containers on public internet with unique addresses.12:48
jrwrenit is just too bad the whole world isn't ipv6 enabled. I can't really serve things on those address only.12:49
lazyPowerjrwren - also, that post you were looking at got published this morning :)  http://dasroot.net/posts/2016-08-03-layer-docker-deep-dive/12:49
kjackalinsane!!! IPv6 = Hackers paradise!12:49
lazyPoweri'll hit up the mailing list later today. bugs/comments welcome :)12:49
jrwrenlazyPower: thanks!12:49
lazyPowerjrwren - i'm not sure i want everything in my home ot be addressable on the www12:51
lazyPowerI rather like the idea of NAT traversal for that, and well defined routes/dmz12:51
jrwrenlazyPower: me too. it was scary when I realized I never set an ingress deny all rule for ipv6.12:53
jrwrenlazyPower: once i setup a basic firewall, it was nice.12:53
lazyPowerjrwren - so, ipv4 SDN it is ;)12:53
lazyPowerand then an ingress reverse proxy12:53
lazyPoweri'm going to spin all my ip enabled lights up on calico *Does the hokey pokey shuffle*12:54
jrwrenlazyPower: well, that ruins the whole point, but I guess we've gotten so good at reverse proxy config that it is trivial.12:54
lazyPoweri fear change :|12:54
jrwrenlazyPower: now you sound like me.12:54
lazyPower(not realy, but it helps frame the picture here)12:54
jrwrenyeah, it frames the picture. total role reversal from our usual discussions ;]12:55
lazyPower:D12:57
lazyPowerits funny because its true12:57
jrwrenyup. I think it is a good example of our comfort zones.13:00
stublazyPower: You up for PROMULGATION? Or is that marcoceppi or mbruzek ?13:19
lazyPowerstub - i'm in a meeting, when i'm out of it i'm happy to lend a hand13:19
lazyPoweri'm scheduled for another 45 minutes13:19
mbruzekwhat up stub?13:19
stubPROMULGATION!13:19
stubhttps://jujucharms.com/u/prometheus-charmers/collectd https://jujucharms.com/u/prometheus-charmers/prometheus https://jujucharms.com/u/prometheus-charmers/prometheus-pushgateway https://jujucharms.com/u/prometheus-charmers/prometheus-alertmanager https://jujucharms.com/u/prometheus-charmers/grafana13:19
magicaltrouti actually had to google that word the first time I saw it.....13:19
stubIts a real word?13:20
mbruzekmagicaltrout: I am pretty sure we made that word up13:20
marcoceppiit is, and it's here for historical reasons :)13:20
stubI would hope so. Can't have anyone accusing you of being literate ;)13:20
marcoceppistub: in the future, could you use "software-team" instead of -charmers?13:20
magicaltroutto make known by open declaration; publish; proclaim formally or put into operation (a law, decree of a court, etc.).13:20
stubI could... although I chose charmers to avoid stomping on the toes of the teams developing the actual software.13:21
marcoceppistub: well, the teams developing the software should eventually own the charms ;) ;) ;)13:21
stubAnd I'd be more than happy to promote them to CHARMERS!13:22
marcoceppistub: haha, fair enough. The reason i bring it up is because the team name shows as the owner of the charm now (FINALLY) and people are confused by what a charmer is from a user/consumer level13:23
marcoceppimbruzek: are you goind to do the promulgation/review?13:23
mbruzekFor 6 charms?13:24
stubyup. We can change it without breaking the URLs - team name is not used anywhere except in the unpromulgated cs: URL13:24
stub5!13:24
stubBut the second and third don't have readmes yet.13:24
marcoceppimbruzek: I can take a swing instead if you'd like13:24
mbruzekmarcoceppi: I seem to remember you are on vacation13:25
mbruzekSo no13:25
marcoceppimbruzek: yeah and I'm also a member of the Ubuntu Community13:25
mbruzekmarcoceppi: I can do this.13:25
marcoceppiwhich I do in my spare time13:25
magicaltroutvacawhat?13:25
magicaltrouti don't believe anyone in IT actually takes a vacation13:26
stubmbruzek: So collectd is just https://bugs.launchpad.net/charms/+bug/1538573 , which got as far as landing in a ~charmers branch at which point injestion failed and it froze.13:26
mupBug #1538573: New collectd subordinate charm <Juju Charms Collection:Fix Released> <https://launchpad.net/bugs/1538573>13:26
mbruzekstub: The last 2 do not have icons or readmes. I can not promulgate those13:26
mbruzekstub is there a bundle that includes all these charms? Do they have tests?13:27
stubWe have mojo jobs using some of them13:27
mbruzekstub: that is nice. You know we use bundletester.13:28
stubSo prometheus and grafana and collectd being tested.13:28
=== redelmann_ is now known as redelmann
stubLooks like we have amulet/bundletester for collectd,  which deploys and connects it to an ubuntu charm.13:32
stubJust a basic deploy for prometheus, no relations13:33
stubNothing for grafana apart from the mojo specs, and a few production deploys.13:34
mbruzekstub: looking at these readmes, this is all 1.25.x right?13:36
stubmbruzek: Yes, only tested with 1.25 and trusty at the moment.13:38
mbruzekstub: OK, let me run bundletester and take a look at the beautiful code before I promulgate13:38
stubIts not mine, so no need to be gentle :) I'm just trying to organize it into a shared area so we stop treading on each others toes.13:39
stubhttps://launchpad.net/prometheus-charms13:40
stubmbruzek: I'll pop out for an hour then, I'm being requested downstairs.13:41
Spadsmarcoceppi: hey, could I ask you to help me make sure everything's straight in this reactive charm I've inherited that tries to do a juju-info relation?15:04
Spadsmarcoceppi: it seems to be based on https://gist.github.com/marcoceppi/fb911c63eac6a1db5c649a2f9643907415:04
mbruzekHi Spads: Marco is on vacation today, I can take a look.15:05
mbruzekDoes it not work ? What is the issue?15:05
Spadswell15:05
Spadswe were hoping to make a subordinate that would use juju-info with its parent to get the IP15:05
Spadsand then crack on15:05
Spadsbut the @when('push-gateway.available') function never seems to fire15:06
Spadsdespite the relation seeming to be established15:06
Spadsand I am looking at all this reactive charming stuff and there's a lot of boilerplate full of magic strings and I worry it's not wired up the right way15:06
lazyPowerSpads - i wrote the juju-info interface. Are you seeing some side-effecty behavior of that interface?15:07
lazyPower(in reactive anyway)15:07
SpadslazyPower: well no, I'm just not sure if my reactive code is wired up right15:07
Spadslike, I get silence15:08
Spadsand no idea what's wrong15:08
lazyPoweryeah, that *should* work according to your gist15:08
lazyPowerhttps://github.com/juju-solutions/interface-juju-info15:08
lazyPowerwe raise both .connected and .available15:08
Spadswell hangon15:09
Spadsthis has a custom class JujuInfoClient(RelationBase): to do that15:09
lazyPowerhowever i see we have -broken in there, and that's not good. decorating for -broken will -broken the interface.15:09
PrabakaranI have a scenario wherein I will have to add a relation between apache2 charm and my charm thereby I need to feed vhost.tmpl file from my charm to apache2 charm. So, Is there any interface available @ interface.juju.solutions for apache vhost configuration?15:09
PrabakaranHere I want everything to be done thru charm only and I don’t want user to feed vhost.tmpl file using juju set command. Please suggest me on this scenario.15:09
Spadsbecause I think the juju-info layer had some problem and they couldn't use it?15:09
lazyPowerSpads - interesting, i'm curious to know what that problem may be15:10
SpadsI mean quite frankly I look at https://github.com/juju-solutions/interface-juju-info and immediately say "wait, what do you mean {{name}}??  What is that?  HOw do I know when I've chosen correctly?"15:10
lazyPowerSpads - thats defined by the relation name in metadata.yaml15:10
lazyPowerwe do need to update the readme on that interface15:10
Spadscould you make that clearer in the readme?15:11
lazyPowergood catch15:11
lazyPoweryou bet15:11
Spadslike maybe give a concrete example?15:11
Spadsbecause I feel like the problem I'm having is looking at a mess of wires connecting things to other things and getting dead air15:11
Spadsand I'm not sure how to work out the correct way to wire these things up15:11
lazyPowerso in a debug-hooks session15:11
lazyPowerrun 'charms.reactive get_states'15:11
lazyPowerlets get a snapshot of what is actually set on the unit, and draw some conclusions about what should be there15:11
Spadsso in debug-hooks I need to actually break something, right?15:12
lazyPowershouldn't, once you're attached via debug-hooks, and the relations have been set/run - you can run 'charms.reactive get_states' on the bash shell in that ocntext, and get a listing of what states are set on the unit15:12
Spadshow do i set/run the relations?15:13
Spadsthey're already connected15:13
Spadsremove/re-add?15:13
lazyPowerif they're already connected, you shouldn't need to do anything other than attach via debug-hooks, and either trigger a config-changed, or update-status (wait)15:13
Spadshm15:13
lazyPowerthen run the command: 'charms.reactive get_states'15:13
Spadsit's clumsy getting multiple shells in this env.  hangon15:13
SpadsHuh15:16
Spadsso I guess the relation is never joined?15:17
Spadsoh n'mind15:18
lazyPowerSpads - not sure what you're seeing at this point ;)15:20
Spadsyeah it's a subordinate so it's odd15:20
SpadsI'm re-adding and working through all the hooks15:21
lazyPowerso my thoughts are, if you've seen the relation-hook run, and you dont see the associated state, there's something wrong with the interface code thats not properly setting the state15:21
Spadsoh gads15:21
lazyPowerwhich would explain why you're not seeing your reactive code trigger15:21
SpadsI think nothing is linked15:21
Spadslike theres no relation hook script in hooks15:22
Spadsgrrrrr15:22
Spadsokay15:22
Spadstoo obvious15:22
lazyPowerok, thats another good indicator15:22
lazyPowerSpads - can you link me to the charm layer in question?15:22
lazyPoweri'm happy to take a look15:22
SpadslazyPower: not sure it'll help but https://bazaar.launchpad.net/%7Ecanonical-losas/canonical-is-charms/snappy-kpi-scripts/files15:22
lazyPowerSpads - here's the culprit15:23
lazyPower- "layer:juju-info"15:23
lazyPowerlayer: directives wont trigger the builder to include the hooks/relations/<<foo>>15:24
Spadsmmm15:24
lazyPowerthat will *need* to be an interface to have that behavior15:24
lazyPowerSpads - if you convert that to 'interface:juju-info'15:24
Spadsin includes not requires?15:24
lazyPowerthat was in your layer.yaml15:24
Spadsyes15:24
Spadshttps://gist.github.com/marcoceppi/fb911c63eac6a1db5c649a2f96439074 <-- in requires section15:25
Spadsours has it in includes section15:25
Spadswhich should it be?15:25
lazyPowerincludes is the proper keyword15:26
Spadsincludes: [layer:basic, interface:juju-info] ?15:26
Spadsok15:26
lazyPowerthat requires blurb is wrong, i dont know where that came from15:26
Spadsheh15:26
Spadsok15:26
SpadsI wish charm build didn't need so many magic directories and env vars15:27
jrwreni don't think it does.15:27
jrwrenthe docs are wrong. I ran charm build yesterday without ANY dirs or env vars.15:27
jrwrenI don't remember the details, but IIRC those dirs are only needed if you are using local/private layers or interfaces.15:28
lazyPowerjrwren those are only required if you're going to do local development15:28
jrwrenif you are using only published layers or interfaces, you don't need them.15:28
SpadsOSError: [Errno 2] No such file or directory: '/home/nick/work/snappy-kpi/snappy-kpi-scripts/trusty/snappy-kpi-scripts/requires.py'15:28
lazyPowersuch as revving 2 interfaces before you publish to the interfaces repository15:28
lazyPowercorrect15:28
Spadshm15:28
Spadscharm build did NOT like that15:28
SpadsI have a requires.py in $PWD15:29
lazyPowererr, is $PWD your $INTERFACE_PATH?15:29
lazyPowerit should be in $INTERFACE_PATH/<<interface>>/requires.py15:29
SpadsIthought you said env vars didn't matter15:29
lazyPoweronly if you're using layers from the interface repository15:29
SpadsI don't have an $INTERFACE_PATH15:30
lazyPowerif you're doing local development, you'll need to have those env vars set.15:30
Spadsew15:30
Spadsokay15:30
SpadsI just want to build the charm into ./trusty/etc15:30
Spadsso I can commit it and deploy it15:30
lazyPowerif those interfaces are not listed on http://interfaces.juju.solutions, you'll need to have thos env vars set15:30
Spadsbut juju-info and base are, no?15:31
lazyPowerjuju info is, layer:basic is as well, yes15:31
Spadshmmmm15:32
Spadsnot sure why I'd need that to build this then?15:32
lazyPowerSpads - you can override any local search behavior:   charm build -r --no-local-layers15:32
lazyPowerthat defaults any local repository searching, and will *only* build from the interfaces webservice provided layers/interfaces15:32
Spadsbuild: Added unexpected file, should be in a base layer: deps/interface/interface-juju-info/requires.py15:32
Spadsetc ad infinitum15:32
Spadsoh deps is left over?15:33
Spadshmmmmm15:33
* Spads tidies up15:34
stubSpads: I wouldn't built to ./trusty, or you will recursively blow off your foot when you run charm build a second time15:36
Spadsthat sounds like a terrible default then15:37
stubIts the default? Hmm...15:37
lazyPowerit relies on the presence of $JUJU_REPOSITORY to output your build by default. if you dont have that set, it will default to ./15:37
lazyPowerbugs welcome15:37
lazyPowerhttps://github.com/juju/charm-tools/issues/15:37
Spadsheh15:37
Spadsyeah I finally had to make a github account for snappy stuff.15:38
lazyPowerSpads - but to be completely fair, we outlined what you *should* have set, in teh building docs.15:38
lazyPowerand those environment variables shape the behavior of your charm-build experience15:38
Spadssure but I shouldn't have to15:39
Spadsthis is the only build tool I've ever used that needed magic env vars, aside from maybe mojo15:39
Spadsand I'm not sure I like the pattern15:40
Spadsanyway I think I've worked out what hacks were done to get around charm build here15:41
lazyPowerSpads - well capturing that feedback in any case would be good. Bugs welcome, we want this to be a good experience for everyone out of the box, no matter how much hate for environment variables you may have :)15:41
=== frankban is now known as frankban|afk
stubmbruzek: Let me know if any pass :) I'm powering down for the night.16:28
mbruzekstub is there a bug or issue filed for the review?16:28
stubmbruzek: No. I'm being annoying in person instead ;)16:29
mbruzekI have some blocking issues with collectd, working on prometheus now, much of the same so far. The code actually looks pretty good, but the readme and tests are not really good16:29
mbruzekstub, to whom shall I send the review comments to?16:30
stubYup, what I was expecting16:30
stubmbruzek: Its me and jacek at the moment16:30
mbruzekstub: Its not mine, so no need to be gentle :)16:31
mbruzekstub: ok16:32
stubWe have most of the branches collated anyway, in a central spot. It was looking like becoming a mess of forks. Next up, get them to the top level namespace.16:35
lazyPowerjrwren aisrael - offtopic, but totally worthy of your attention https://www.kickstarter.com/projects/kcgreen/this-is-fine-plush-dog16:42
jrwrenlazyPower: hahahahahaha16:44
lazyPoweri nearly funded that until i realized i would have more plushes than your average adolescent...16:46
PrabakaranI have a scenario wherein I will have to add a relation between apache2 charm and my charm thereby I need to feed vhost.tmpl file from my charm to apache2 charm. So, Is there any interface available @ interface.juju.solutions for apache vhost configuration? Here I want everything to be done thru charm only and I don’t want user to feed vhost.tmpl file using juju set command. Please suggest me on this scenario.16:52
lazyPowerPrabakaran - i dont see anything listed on http://interfaces.juju.solutions/  that looks helpful to this goal. The interface may need to be created.16:53
mbruzekPrabakaran: I don't think we currently have a relation that does a vhost.tmpl file on the interfaces site yet16:53
lazyPowermbruzek - go get lunch ;)16:53
lazyPoweri got dis16:53
mbruzekPrabakaran: I remember there may be a vhost config option on the apache2 charm, can you do that?16:53
Prabakaranyes, but it uses juju set-config16:54
mbruzekPrabakaran: I see you don't want to have the user juju set the vhost, sorry i16:54
jrwrenPrabakaran: what would be in the vhost.tmpl?16:54
mbruzekPrabakaran: Can you template the vhost in the charm? Or use templates to replace a few variables such as public-address, port or something?16:55
Prabakarando you have any alternative method or suggesstion for my requirement?16:55
lazyPowerPrabakaran - as juju uses bundles, you could reasonably encapsulate that vhost config in the bundle you distribute with your solution. That removes the need for the user to specify it, and you can use the existing primitives.16:55
mbruzekPrabakaran: What is the requirement? When you attach a http relationship, you want to configure a specific vhost?16:55
Prabakarani am not sure how i will do vhost config if i use http16:56
Prabakaranas per apache2 readme i can do vhost config using juju set-config16:56
lazyPowerwelp, 3 cooks in the kitchen.   /me dips out16:57
Prabakarani went and checked inside the apache2 charm and it places the vhost file under /etc/apache2/sites-available/16:57
Prabakarani meant if i use juju set-config16:58
mbruzekPrabakaran: Yes that is what I remember from apache2 charm.16:58
mbruzekPrabakaran: But that does not work for what you want.16:58
Prabakaranif i am using any interface in between also i will have to think about ssh exchange from my charm side and apache2 charm side16:59
mbruzekPrabakaran: Yes you could do that. I am trying to think of other options.16:59
Prabakaranyes pls16:59
mbruzekPrabakaran: what is the relation name that you are connecting between apache2 and your charm?17:00
Prabakaranvhost-config relation17:01
mbruzekPrabakaran: It looks like that vhost-config a relation that has not been made reactive yet. You should be able to prototype a vhost-config relation in your $INTERFACE_PATH and make a provides.py (I would recommend doing both, but at a minimum do provides) that sends "vhosts" and "port" over that relation. The code that handles the vhost-config relation is in hooks.py of apache2 charm.17:07
mbruzekPrabakaran: It looks like the landscape server charm uses this vhost-config relation.17:11
mbruzekhttps://jujucharms.com/landscape-server/precise/1717:11
mbruzekIf you look at hooks.py in that charm, you may be able to figure out how to write a new reactive interface for that relation.17:12
mbruzekPrabakaran: If I remember correctly the vhost file had to be base64 encoded so it does not have any characters that would escape the string when transporting the file.17:12
Prabakaranya correct it uses base6417:13
mbruzekPrabakaran: so the vhost template/file did not have any special characters that would terminate a transport string. I found that odd when I looked at it.17:13
Prabakaranyes, lets consider this.. i will be having prototype of vhost.tmpl file and from my charm if i am sending ip and port, how i will handle it on apache2 side?17:14
Prabakaranwhat i feel is.. this is something how mysql-client is installed for its remote operation17:17
mbruzekPrabakaran: Look how the landscape charm provides that relationship. I see config/vhost.tmpl files in the landscape charm, those are base64 encoded in the hooks.py. In that file, I see a juju.relation_set() method called with the key "vhosts"=yaml.dump(vhosts)17:17
mbruzekso I think you have to send more than ip and port, I think you need to send a vhosts object which is a yaml file of a specific format, you can get the format from the landscape charm hooks.py or looking at how the 'vhosts' key is decoded from the apache2 hooks.py side.17:18
mbruzekPrabakaran: You could write this in a new interface and be the first one to implement the vhosts-config relation.17:19
mbruzekPrabakaran: I have to step out for lunch, and will be back in 30 minutes17:20
Prabakaranya sure.. meanwhile if u think something also ..please mail me17:20
mbruzekPrabakaran: that is my answer! You will have to look at the landscape charm for hints on how to properly set the object and I believe the apache2 charm will set the vhost correctly if you can manage to figure that vhosts object correctly.17:22
Prabakaranthanks mbruzek17:30
Prabakaranlet me have a look at it17:30
lazyPowermbruzek - ready for some stellar news? We had our first pure community submission against the k8s work in upstream -- https://github.com/cusspvz/kubernetes/commit/fdec5d12288b896ac7b45abf8081be179abc823a18:32
lazyPoweradding osx compat to the kube-up scripts18:32
mbruzeksweet18:32
lutostaggeneric question... does interfaces.juju.solutions/interface have versioning?20:08
lutostagseems like somebody pulled the rug from under us with http://interfaces.juju.solutions/interface/pgsql/ but I have no idea what interface I was pointing at previously...20:08
lazyPowerlutostag - we dont20:12
lazyPowerwe do have an audit trail though20:12
lazyPowerbut its not exposed afaict. its just an additional collection we're tracking internally to know who did what for reasons like this20:12
lutostaglazyPower: ok, I'll see if I can track it down my side to see if I can find the 'old' repo20:13
lutostagthanks for info20:13

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