/srv/irclogs.ubuntu.com/2015/01/11/#juju.txt

=== kadams54 is now known as kadams54-away
=== kadams54-away is now known as kadams54
=== kadams54 is now known as kadams54-away
=== kadams54-away is now known as kadams54
=== kadams54 is now known as kadams54-away
=== kadams54 is now known as kadams54-away
TheFezzerHey there, does anyone know about using a Juju to deploy commercial software?04:25
TheFezzerLike, the potential legal ramifications?04:25
TheFezzerI work for a medium-sized n-tier application publisher and I'm interested in making charms with our products, but sometime soon I'm going to have to face the Dreaded Legal Review.04:27
X-RobHmmm. It would be REALLY NICE if you could make uvt-simplestream use a damn cache.04:57
X-RobI don't know what it's like for you lot, but downloading images isn't anywhere near instant04:57
X-Roband maas gives me a handy cache.04:57
X-RobOh, it -is- using the ache. But it's ignoring the 'dont' use a https source'04:58
rick_h_TheFezzer: charms you write are yours as far as license and such. So there's no reason you couldn't charm up your software and use it as a local charm04:59
rick_h_TheFezzer: if you want to chat on it more hit up maarten (maarten.ectors@canonical.com)05:00
lazyPowersnap rick_h_ beat me to it05:00
rick_h_X-Rob: yea, that came up. We're supposed to look into providing charms over plain http (on our todo list).05:00
rick_h_I thoguht I saw some commit recently related..../me checks email log05:01
X-Robrick_h_: That's not that bad. I dont' mind https'05:01
X-Robfor the charms05:01
lazyPowerrick_h_: well.... doesnt that expose us to MITM?05:01
rick_h_lazyPower: right, which is why we've been hesitent05:01
X-Robbut for large chunks of data, having https is amazingly annoying05:01
rick_h_but so many chaching tools don't cache https ootb05:01
X-Robrick_h_: you can't cache https05:02
X-Robit's not like http, where you ask the proxy server to get a page, with https you say 'Connect to this IP address, give me all the data05:02
rick_h_right, you have to really proxy/cache05:02
rick_h_right, mitm yourlse05:02
rick_h_self05:02
TheFezzerHey Rick, thanks for the response. The charm would not contain the software, just wget it as part of the start hook.05:02
X-RobMmmmm. OK,05:03
X-Robhttps://github.com/juju/juju/blob/master/container/kvm/libvirt.go#L4305:03
X-RobSo that says that there's an OPTION for a source05:03
rick_h_X-Rob: damn if I can't find it sorry.05:05
X-Robrick_h_: I do this, and this caches most stuff:05:06
X-Robhttps://www.irccloud.com/pastebin/CYUOadac05:06
rick_h_X-Rob: but yes, know issue and something that annoys us as well with things like the orange boxes when squid fails cache as much as we'd like05:06
rick_h_X-Rob: very cool05:07
X-RobBut.. I can't seem to trace this damn source back05:07
rick_h_TheFezzer: lazyPower can hook you up if you want more detailed info or get you in the right direction05:07
rick_h_he's more on that side than myself tbh05:07
X-Robrick_h_: So, here's a question. Why doesn't juju machine0 run a cache for this sort of stuff?05:09
TheFezzerok, I just saw his Digital Ocean walkthrough, great work.05:09
rick_h_X-Rob: it's in the works, at least much of it is. The core folks have been working on a storage implementation to store stuff in the state servers, we'll be looking at doing some stuff in the charmstore itself to help, not sure on the streams. I don't tend to mess with them much05:11
rick_h_X-Rob: you could email the list and get tips/tricks and maybe better details on the status, but it's come up the last couple of sprints and I know we want to get to an offline story which will help with the cached story.05:11
lazyPoweroo guess i should move irc ot my primary workspace05:20
rick_h_lol05:20
rick_h_lazyPower: get to work on your Sat night...I mean Sunday night05:20
rick_h_:P05:20
lazyPowerdockering up my apps like a boss05:21
lazyPowertesting this new stack i put together05:21
lazyPower<3 me some green field charms05:21
rick_h_heh05:21
lazyPowerTheFezzer: we have some stuff cooking for ISV's that want to charm up their apps. i was working with MariaDB before the break to get their ENTERPRISE edition charmed up as an upgrade path in their community edition charm05:22
lazyPowerTheFezzer: so if you want to move forward with building charms for your apps - we can most def. get you kicked off in the right direction - host a charm school for your team to get you moving, and do reviews as you work towards getting your charm in the charm store05:23
TheFezzerI am a Developer Advocate with a mid-size (but top tier IMHO) ISV and I'm charming up our lineup05:23
TheFezzerI've made charms for our 5 most popular apps, but they're not good yet05:24
TheFezzeri.e., not idempotent and the relationships don't relate yet05:24
TheFezzerwe're in SF05:25
lazyPowerTheFezzer: sounds awesome :) if/when you want someone to review them just reach out - https://jujucharms.com/docs/authors-charm-store#submitting  is a good first-tier checklist and walkthrough05:25
TheFezzerok, so if I submit them to the charm store, I'm not releasing any rights or anything like that?05:25
lazyPowernot at all - the charm code itself has to be an OSI approved license for inclusion - but the software it installs can be as proprietary as you need it to be05:26
lazyPowerhere's the policy doc on that: https://jujucharms.com/docs/authors-charm-policy05:26
lazyPowerfor example, MariaDB enterprise is very much proprietary - we included an extra license file and gave an upgrade path that depends on a config option of EULA acceptance05:26
TheFezzerthe software is free to try so the charm will make a full featured server that's good for 90 days, and the charm itself is just simple bash scripting. If it needs configs, it will download them during install05:27
lazyPowerwithout that option the upgrade-path no-op's until thats set to true.05:27
lazyPowerso it can be as simple as including a .txt and adding a boolean config option05:27
TheFezzerok, so I could do something like that for authentic Oracle JDK?05:27
lazyPowerYou are correct sir05:28
lazyPowerwe have a really stellar example in the IBM Websphere charm, let me fish that up for you05:28
TheFezzerI'm Charming JIRA, which is really picky about its jdk/jre05:28
lazyPowerhttps://code.launchpad.net/~ibm-demo/charms/trusty/websphere-liberty/trunk05:29
TheFezzerusing the WebUpD8 repo, but it seems like just throwing the flag in the start script is cheating... and Oracle has claws.05:29
lazyPowerThere are 2 licenses in there to accept, and the installation path in config-changed will give you a baseline of the logic you might need.05:29
lazyPowerright, it has to be linked to the config option otherwise its very much claw worthy05:30
TheFezzerok05:30
lazyPowerand again - if you get a prototype done and would like a ~charmer review - we're here to help05:30
TheFezzerI have a prototype, but 'done' is not quite here yet05:31
TheFezzerI really need to understand the order of ops for the scripts.05:31
lazyPowerTheFezzer: Thats the second time i've heard this - I'll add a card to get a flow-chart diagram for the order of hooks made and included ni the docs05:32
TheFezzerlike when it comes online, it seems like START and CONFIG-CHANGED run... but when you make a relationship, does it run RELATIONSHIP-JOINED and RELATIONSHIP-CHANGED?05:32
lazyPowerRelationship-joined runs with pretext of nothing has come over the wire, this is for you to install things like database adapters, or ancilliary software relating to the relationship (or do backups if you're changing app config to support the relationship)05:33
* rick_h_ decides he should be in bed since it's now tomorrow, have a good night all05:33
lazyPowerchanged will run anytime a relation-set is sent on either side of the relationship, and can be run many times throughout the service/relation lifecycle05:34
lazyPowerg'nigth rick_h_05:34
lazyPowersee ya on monday05:34
lazyPowerTheFezzer: and broken runs when the relationship is first `juju remove relation'd` - and has the pretext of doing things like backing up settings and preparing for reconfiguration of the application05:34
TheFezzeroh wait, wat? so if I fire three relation-set in a row, I get three relation-changed?05:34
lazyPowersure could05:35
TheFezzeroh wat05:35
lazyPowerand it goes up on the order of N depending on how many units are in the service stack05:35
lazyPowersay you have 3 mongodb units, and you relate them to rails05:35
lazyPoweryou'll get db-relation-changed hook firing 3 times, one for each unit05:35
TheFezzerno idea what that means05:35
TheFezzeroh, ok05:35
TheFezzerso on the mysql side it fires 9x, 3x for three relation-set and 3x for three nodes05:36
TheFezzers/mysql/mongodb05:36
lazyPowerit only fires 3x - each unit runs a relation-set during its relation-changed event.05:37
TheFezzerbut each rails sees only 3x for three relation-set?05:37
lazyPowerbut if your application receives data and sends data back - mongodb will run its own relation-chagned event again05:37
TheFezzerok, but if each one ran three? i did not see a way to set multiple.05:37
TheFezzerok, so you could have a veritable conversation in the hooks. I like this.05:37
lazyPowerwould be easier to explain with a diagram so you can show which side is emitting the information.05:38
lazyPowerbut yeah - they can talk, and re-run hooks05:38
lazyPowerthe power of an event driven system :)05:38
lazyPowerthink of each charm as a state machine with no final step until it reaches teh stop hook.05:38
lazyPoweryou're constantly moving between states, and depending on context - will determine which state to enter/exit05:38
TheFezzertotally off topic, but I'm using the web client for IRC and it's terrible. I'm on mac. What should I be using for IRC?05:38
lazyPowerno idea, i'm on ubuntu and i use quassel - but its crash happy on mac05:39
lazyPowerhttp://www.codeux.com/textual/05:40
lazyPowerthis looks to be helpful as it expands images inline and what not05:40
TheFezzerok, so if a relation is set, then changed is only run if joined hasa relation-set event?05:40
lazyPowerit will run by default once on each end05:42
TheFezzerall right, I'm going to try it out. back in a sec.05:42
lazyPowerTheFezzer: are you aware of juju debug-hooks?05:42
lazyPoweryou can trap event runs in a tmux session and run them interactively - this will help immensly with grokking whats going on during relationships05:43
TheFezzerDid I make it?05:43
lazyPowerlooks like it05:43
TheFezzersweet05:43
lazyPower<lazyPower> TheFezzer: are you aware of juju debug-hooks?05:44
lazyPower<lazyPower> you can trap event runs in a tmux session and run them interactively - this will help immensly with grokking whats going on during relationships05:44
TheFezzerI tried debug-hooks, but I didn’t grok. I would keep hitting relation-set on one side expecting something to happen (or at least be visible in relation-get)05:44
lazyPowerit wont trigger the data showing up on the other end until that hook is exited on the unit relation-settin'g the data05:45
TheFezzeroh!05:45
lazyPowerthis is when the changed hook will cycle a second time05:45
lazyPowerso you exit on both sides05:45
lazyPowerthe other side receiving the info fires changed again, and your data is now present05:45
TheFezzerso… if one side sets multiple values in one run, then it only sets them at the end of the run, triggering the other side to run changed?05:45
lazyPoweryou'll see several charms that exit 0 when no data is present, as there are no actions to take without the data05:45
lazyPowercorrect05:46
TheFezzernice.05:46
TheFezzerI think I get it.05:46
TheFezzerso if I set one in debug-hooks, I wouldn’t expect to see it until the hook exits /and then a new hook runs on the opposite side/.05:47
lazyPoweryou got it05:47
* lazyPower raises the roof05:47
TheFezzerok, and so then I’m guessing it’s convention to not set in  the joined hook?05:47
lazyPoweryou can05:47
TheFezzery’all need a checklist of what each hook is to do05:47
TheFezzer;)05:47
lazyPowerbut it wont be available in -joined on the other side05:47
lazyPowerit will be available in -changed05:47
lazyPower(but i may be wrong, i havent actually set data in a joined hook)05:48
lazyPowerthe context of -joined is pretext work, they units aren't actually communicating yet05:48
TheFezzerit just sounds like not a thing to do. so… the settings are durable, right?05:48
lazyPowerTheFezzer: but good point, could you file a bug report on that against teh docs? i'd love to get the feedback so we can improve the docs05:49
lazyPowerhttps://github.com/juju/docs/issues05:49
TheFezzerI would not mind writing something up05:49
TheFezzerI could put in a PR or some text in the feature request05:49
lazyPowerif you feel up to doing a PR that would be most excellent :)05:49
lazyPowerget some review time on your concept comprehension to boot05:50
TheFezzeryes05:50
lazyPoweri like where your head is at TheFezzer :) glad i stuck around tonight05:50
TheFezzer:D05:52
TheFezzerI’m a newly minted Dev Advocate and it’s time for me to get out there and actually do the work of advocating.05:52
TheFezzergah, the Github interface seems so backwards to me. Where the heck is that clone link? ;)05:53
lazyPowerfork it05:53
lazyPowerbest way to do it, then the clone link is on the right hand side05:53
lazyPowertehre's a guide to contributing in the readme05:54
TheFezzerok, cool05:58
lazyPowerallright, 1am seems like a good time for me to head out an dhead to bed06:02
lazyPowerbest of luck to ya Fezzer06:02
TheFezzergood night, thank you for your help.06:02
X-Rob.. .So, I had an idea re uvt-simplestream. Why don't I manually run it on the machine with a http://  url before I do anything? That'll sync it, AND pull it from the local proxy. If it needs to update, it'll update via the proxy.06:10
X-RobThis is what I'm doing now.06:10
X-Robhttps://www.irccloud.com/pastebin/mJOZEgpA06:10
X-RobYep. That seems to work07:00
X-RobExcept.. I downloaded daily instead of release. Sigh.07:00
TheFezzerSo… it seems like whenever one of my apps connects to another app, its proxied through the central server. is there a way to avoid this?07:37
X-RobTheFezzer: 'connects' and which central server?08:08
X-Robconnects how? curl? socket?08:09
TheFezzerhmm, not sure08:09
TheFezzerI should look at the code08:10
X-RobTheFezzer: so what's making you think it's going via a central server?08:10
TheFezzerwell, the host has an IP whitelist, and I set it for 10.0.3.26. But then I send .26 off to register, and I get the “No connection allowed from 10.0.3.1 403”08:10
TheFezzerso… (shrug)08:11
X-Robis it a web connection? http?08:11
TheFezzerehrm… should be http08:11
TheFezzerfrom a tomcat to a tomcat08:11
X-Robby any chance did you deploy via MaaS?08:11
TheFezzerit’s Vagrant on OSX/Yosemite08:11
X-RobHmm08:12
X-RobWell anyway, I'm guessing it's your http_proxy environment variables.08:12
TheFezzerin which env, Vagrant or the host?08:12
X-Robthat 10.0.3.1 host08:12
X-Robis that juju's machine0?08:12
TheFezzerI presume. brb.08:13
TheFezzerum, juju status lists 0 as ‘localhost’08:13
X-Robso what host is that IP address?08:14
TheFezzerthat is the vagrant host machine, which would be the ‘localhost’ from juju status08:15
X-Robahha, ok, so yeah that's machine0.08:15
TheFezzerok08:15
X-RobI'm guessing that vagrant installs a proxy08:15
X-Robmost commonly this is propogated through http_proxy environment variables08:16
X-Robif you want to ssh to one of your clients08:16
TheFezzerI’m ssh’d to a couple08:16
X-Robyou can 'cat' the /proc/pid/environ file08:16
TheFezzerhacking out charm scripts, as it were08:16
X-Robthat'll show you all the environment variables for that process08:16
X-Robso check the tomcat process08:17
X-Robsee if it has a http_proxy variable08:17
TheFezzerhmm08:17
TheFezzerubuntu@vagrant-local-machine-5:~$ sudo cat /proc/pid/environ08:17
TheFezzercat: /proc/pid/environ: No such file or directory08:17
X-Robyou need to change 'pid' to be the pid08:17
X-Robprocess id08:18
TheFezzerderp08:18
X-Robof the tomcat process08:18
TheFezzerok08:18
TheFezzerhmm, don’t see one08:21
X-Robjuju run --machine $BAY2,$BAY3,$BAY4 "sudo apt-get -y install uvtool-libvirt"09:41
X-Robjuju run --machine $BAY2,$BAY3,$BAY4 "sudo reboot"09:41
X-Robjuju run --machine $BAY2,$BAY3,$BAY4 "sudo -E uvt-simplestreams-libvirt sync --source http://cloud-images.ubuntu.com/releases/ release=trusty arch=amd64"09:41
X-RobThse previous lines will pre-load the libvirt cache from the proxy. Yay.09:41
X-RobI realise that probably no-one else cares about this 8)09:42
=== kadams54 is now known as kadams54-away
=== kadams54-away is now known as kadams54
=== kadams54 is now known as kadams54-away
=== kadams54-away is now known as kadams54
X-RobGeez.22:34
X-RobI swear that the people who wrote this stuff haven't actually used anything in the real world.22:34
X-Robhttps://bugs.launchpad.net/charms/+source/hacluster/+bug/140954822:35
mupBug #1409548: Multicast Address isn't randomized <hacluster (Juju Charms Collection):New> <https://launchpad.net/bugs/1409548>22:35
=== kadams54 is now known as kadams54-away
=== kadams54-away is now known as kadams54
=== kadams54 is now known as kadams54-away
=== kadams54 is now known as kadams54-away

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