/srv/irclogs.ubuntu.com/2014/05/06/#juju.txt

joseoooooooh, have we now got a smart bot?00:26
marcoceppi_jose: ?00:52
josemarcoceppi_: I see a bot has filed two bugs00:52
marcoceppi_jose: where?00:53
josehttps://bugs.launchpad.net/charms/+bug/131636100:53
_mup_Bug #1316361: Add nagios connection tests to postgresql charm <Juju Charms Collection:New> <https://launchpad.net/bugs/1316361>00:53
josehttps://bugs.launchpad.net/charms/+bug/131636200:53
_mup_Bug #1316362: Add test for held package behavior in postgresql charm  <Juju Charms Collection:New> <https://launchpad.net/bugs/1316362>00:53
josepsql charm00:53
josethe CI bot00:53
marcoceppi_jose: no idea where that thing is running or what it's doing00:55
josefrom the name, I00:57
joseI'd say it's the CI bot, but I cannot assure anything00:57
josemaybe ask bradm? (vanguard)00:57
_sEBAs_hi o/02:19
_sEBAs_was thinking the other day, there's a "local" env type for juju, but what about "remote" one?02:21
_sEBAs_thats possible today?02:21
_sEBAs_uuuhh... so quiet02:24
_sEBAs_:P02:24
marcoceppi__sEBAs_: well, by definition all other environments are remotes02:30
marcoceppi__sEBAs_: but I think what you're talking about is the manual provider02:30
marcoceppi_https://juju.ubuntu.com/docs/config-manual.html02:30
_sEBAs_marcoceppi_: manual env type I would have to provide each machine02:47
_sEBAs_right?02:48
_sEBAs_marcoceppi_: in a local type, juju provide them creating containers02:48
_sEBAs_the problem is that for startups, amazon and others is a little expensive02:50
_sEBAs_so buying a dedicated server is less than 100 bucks, and you can have more than 10 machines for dev and prod purpose02:51
_sEBAs_and openstack is not a walk in the park to install in ONE server :P02:53
lazyPower_sEBAs_: correct. manual is as the name states: a manual process.02:56
_sEBAs_lazyPower: exactly02:56
lazyPower_sEBAs_: however with some clever charming, you could utilize a single server rather efficiently. Most of the charms in the charm store are aimed at single purpose machines for scale out usage.02:56
lazyPowerbut if you want to build a subordinate to deploy services, eg: your drupal submission - to bolt into a pre-existing apache2 deployment, you can get multi-tennancy fairly quickly.02:57
lazyPowerjust make sure the deployment path, and domain name + ssl configuration is in the charm options.02:57
_sEBAs_hmmm02:57
lazyPower_sEBAs_: also, did you see that there is another drupal submission to the store using DRUSH as the deployment and configuration mechanism?02:58
_sEBAs_lazyPower: yes!!02:59
_sEBAs_I'm using drush to deploy the first drupal install02:59
lazyPowerI thought that would excite you :) Having done a few drupal sites, i was impressed by drush when I was building stuff manually02:59
_sEBAs_but not for getting more configurations hover drupal02:59
lazyPowernow that juju has a nice drush wrapper, i'm really impressed with the overall extensibility of that charm.03:00
_sEBAs_lazyPower: yeah thanks!03:00
_sEBAs_nice to know that lazyPower03:00
lazyPowerMy thought for improvement would be adding a subordinate to use drush to export/backup the site03:00
lazyPoweror build a backup server charm with relations that install a cron job to do that for you03:00
_sEBAs_hmm thats interesting03:00
lazyPowereither approach would be good03:00
_sEBAs_subordinate charms are in my list of study already :D03:01
_sEBAs_lazyPower: there's a lot of thoughts about charms and their types03:03
_sEBAs_for example03:03
_sEBAs_each project haves some specific libraries installed, and other things03:04
lazyPower_sEBAs_: I'm not sure I follow, is this with regard to drupal? or the charm ecosystem as a whole?03:04
_sEBAs_so i don't like the ideia of "cloning" the drupal charm and call it with the name of the project03:04
_sEBAs_lazyPower: i'm worry about how to extend things03:05
_sEBAs_and not repeat code for tasks like install and configure drupal with nginx, etc...03:06
josehello, mr. lazy03:07
lazyPower_sEBAs_: idempotency guards would prevent that03:07
lazyPowerapt is idempotent by default, so no issue w/ the packages03:07
_sEBAs_lazyPower: sorry, my english is limited and a little rusty :P03:08
_sEBAs_but its not only packages03:08
_sEBAs_lets say "tasks"03:08
lazyPowerand unless you're getting crazy with PHP application pools - the real 'meat' of the charm is just the cloning of the Drupal source, and adding a vhost - which is what you would do as an admin anyway.03:08
lazyPowerjose: o/03:09
joselazyPower: got some time now?03:09
lazyPowerjose: to do?03:09
_sEBAs_lazyPower: yeah! but thats the thing ;) Juju charms is not only for ops03:09
_sEBAs_its almost perfect for devops as well03:09
joselazyPower: fix that messy owncloud test - I want to get changes in the store now! :P03:10
lazyPower_sEBAs_: thats exactly what juju's tagline is 'devops distilled' ;)03:10
lazyPowerjose: ah, i didn't work today, ping me tomorrow (the tomorrow bug is still in effect)03:10
_sEBAs_yeah!! I know! hehe thats why Im crazy about juju right now03:10
josehaha, ack03:10
jose_sEBAs_: and even non-tech people understand how it works :)03:10
lazyPowerjose: sorry man :( I should have known i'd be taking the day off with all the jet lag + personal crap i have going on.03:11
_sEBAs_yeah! exactly03:11
lazyPowerbut if you poke me tomorrow i'll take a look at the tests if i'm around.03:11
joselazyPower: it's good - it's been a messy day for me too. had a super exciting exam today!03:11
lazyPower_sEBAs_: the onus of ensuring tasks only occur when they need to are on the charm developer + interested community members. This is why the charm store policy has a requirement that hooks are idempotent so they dont repeat actions that have already happened. Maybe i'm being daft but I dont understand the concern you're bringing up.03:12
jose_sEBAs_: if you prefer to speak Spanish, let me know :)03:13
_sEBAs_jose: thanks!!! but I need to exercise my english03:17
josenp :)03:17
_sEBAs_lazyPower: I have to know that do you mean with idempotent, little search will solve that03:17
jose_sEBAs_: it means that if something is set, it need to be changeable, that things will not get hardcoded or locked03:18
_sEBAs_lazyPower: oohh i get it03:18
lazyPower_sEBAs_: http://en.wikipedia.org/wiki/Idempotence03:19
_sEBAs_yeah! exactly03:19
lazyPowereg: if i set a password at deploy, and the "task" sets /etc/myapp/somepassword.cfg - if that password has not changed, the hook should not touch /etc/myapp/somepassword.cfg03:19
_sEBAs_lazyPower: thanks :P03:20
_sEBAs_yeah, state03:20
lazyPowerhowever, if i change that password - update the configuration file.03:20
_sEBAs_yes, and that is one of the biggest challenges of charm developing (for me)03:20
lazyPower_sEBAs_: Juju wraps several configuration management tools that have solved this problem for us. Ansible, SaltStack, Chef and Puppet are four good examples that we have charms leveraging them.03:21
lazyPowertehre are also incoming changes to charmhelpers that will assist you in the actual configuration value management from tvansteenburgh03:21
_sEBAs_thats why I'm starting to wrote the drupal charm in ansible03:21
lazyPowerif you want to take a pure python approach03:21
_sEBAs_yes! lazyPower I learned a lot reading the mysql charm03:21
_sEBAs_and the ruby one with chef03:22
lazyPowerthe rails charm is really good - it needs a bit of love03:22
josemuch ruby such gems wow03:22
lazyPowerand chef is a beast... its taking a sledgehammer to a 10 penny nail approach.03:22
_sEBAs_yeah I sow a maintainers call03:22
_sEBAs_hahaha @lazyPower03:22
_sEBAs_yeah03:23
_sEBAs_so great!, because thats where i wanna to get with this talk03:23
AzendaleDoes anyone have recommendations for the best guide to try to set up openstack in a High Availability configuration with Juju?03:23
lazyPowerbut _sEBAs_, if you need help / review of your charm progress for idempotency, feel free to submit a charm review request for 'as is' - and someone on the charmers team will give it a good reviwe for you and help line out any issues you may be having.03:23
_sEBAs_so talking about my concern about DRY avoiding repeating code hover charms03:24
_sEBAs_lazyPower: already did that ;)03:24
_sEBAs_lazyPower: https://bugs.launchpad.net/bugs/131542803:25
_mup_Bug #1315428: Review needed: Drupal Charm <drupal> <Juju Charms Collection:New> <https://launchpad.net/bugs/1315428>03:25
jose_sEBAs_: as far as I know, it needs to be in a bzr branch?03:25
joseand you need to subscribe the charmers team03:25
lazyPower_sEBAs_: https://juju.ubuntu.com/docs/authors-charm-store.html03:25
lazyPowerthere's a policy for how to get your charm in the review queue03:25
_sEBAs_jorge castro, tould me I didn't need it, just jump hover the step #9 of the guide03:25
lazyPowerand yeah, we're working on moving stuff over to github and use both GH and LP03:26
lazyPowerno ETA on that - so dont ask :P03:26
lazyPowerbecause i have no answers03:26
_sEBAs_jose: didn't know about that :(03:26
joselazyPower: oh, oh, I know when it's going to be ready!03:27
_sEBAs_lazyPower: glad to know!!03:27
lazyPower_sEBAs_: so long as you followed the directions in the charm store doc and omitted the launchpad branch - but inserted another repository location03:27
lazyPowerwe'll be fine.03:27
josesoon™03:27
_sEBAs_hehehe03:27
lazyPowerjose: you're absolutely encouragable you know that?03:27
lazyPower:P03:27
joseyep, and if you want a more precise approach it'll be ready soon™©03:28
_sEBAs_glad to know, because theres a lot of people that deploy drupal with pour configurations and techs03:28
lazyPower_sEBAs_: if you want to be a juju ambassador to the drupal community, let me know when you're ready and i'll republish/reblog/repost your efforts and help syndicate.03:29
lazyPowerI know several people that use drupal every day03:29
_sEBAs_and that charm is using a lot of the experience I and my company haves, the community needs that, with transparency with juju :)03:30
_sEBAs_lazyPower: nice!! I would be really honored :D03:30
lazyPowerde nada my friend. I appreciate your efforts to build quality stuff and excitement for juju :)03:31
_sEBAs_actually, I'm going tomorrow to the FISL in Porto Alegre, Brasil03:31
_sEBAs_and I'm going to talk(again) about juju and devops principles03:31
lazyPowerNice!03:31
lazyPowerCould you link me your slide deq / talk when its done?03:31
_sEBAs_yeah! we are organizing the Drupal Camp over there03:32
_sEBAs_yeah ofcourse, theres on, in spanish I did in Peru a few months a go03:32
_sEBAs_http://slides.com/sebastianferrari/desenvolvimento-drupal-em-equipe03:32
lazyPowerNice03:33
lazyPowerI see your slides, and raise you my slides in the same framework03:33
lazyPowerhttp://dasroot.net/presentations/wplug/#/03:33
jose_sEBAs_: and why didn't you let me know so I could be there?03:33
_sEBAs_actually, i arrange a charm school in the Drupal Camp of Peru, where marcoceppi_ show us and answer a lot of questions :)03:33
josewhy wasn't I aware of that?03:33
josewhy didn't I go?!03:33
lazyPower_sEBAs_: i was in that charm school :)03:33
joseI'm mad :(03:34
lazyPoweryou had a room with like, 12 developers03:34
lazyPowerand frequent stops for translation03:34
_sEBAs_heheh jose i'm knowing this community now! hehe03:34
joselazyPower: you guys should've let me know it was happening and I would've taken swag03:34
_sEBAs_oohhhhh lazyPower didn't know so sorry03:34
_sEBAs_hehe03:34
lazyPowerDe nada! no reason to apologize, that was a nice trip down memory lane :)03:35
_sEBAs_yeah!03:35
lazyPowerjose: we weren't speaking yet, i'll put on my psychic helmet and send you some brain waves in the past. maybe we'll create a paradox where you get to go to drupal camp03:35
lazyPowerthis was ~ my 2nd week with canonical when that happened.03:35
_sEBAs_so i'm evangelizing juju around the devops principles as lean tools03:36
_sEBAs_hahahaha03:36
josewell, next time I'll take swag03:36
joseI *was* actually thinking on organizing a charm school03:36
_sEBAs_we can arrange more03:36
_sEBAs_:)03:37
_sEBAs_even in the FISL03:37
josestill need to find a place and the right time03:37
joseI don't think I can go to Brazil this weekend :P03:37
_sEBAs_do you know what is FISL right?03:37
joseI do :)03:37
_sEBAs_nice!03:37
_sEBAs_so we can do a nice demonstration03:37
_sEBAs_and blow up some brains out!!03:38
lazyPower_sEBAs_: the slides are great. good info packed in here03:38
_sEBAs_lazyPower: thanks!03:38
_sEBAs_i'm trying to get my company 100% devops03:39
_sEBAs_but it's hard work03:39
lazyPower_sEBAs_: selling culture is difficult.03:39
_sEBAs_exactly !!!03:39
_sEBAs_thats the main thing you know...03:39
_sEBAs_you can have more tools than you can manage, but without culture the hole can folldown03:40
lazyPowerdistill away complexity one piece at a time03:41
lazyPowerthats the best part of juju03:41
lazyPoweruse as much or as little as you need03:41
_sEBAs_yes03:41
_sEBAs_talking about that, we are working in a "charm factory" using ansible03:42
_sEBAs_so imaging picking ansible roles, to make your charm03:43
_sEBAs_we are in architecture steps yet03:44
lazyPower_sEBAs_: also  - with your community consisting of such a diverse range of platforms for dev (i'm looking at you mac users) dont forget we have vagrant images to help03:44
lazyPowerhttp://blog.dasroot.net/writing-juju-charms-on-osx/03:44
_sEBAs_I would love to know what are your thoughts about that03:44
_sEBAs_lazyPower: Im with mac03:44
lazyPower_sEBAs_: roles are good when they are on the context of a relationship, and should exercise opinionated configurations dependent on the scope of the relationships.03:45
lazyPowerbut if you're not careful they can stomp on one another with unintended side effects, otherwise roles are a great way to extend a charm for opinionated deployments03:45
_sEBAs_so i get to the point to discover that the VagrantFile needs an update, those python scripts that install and configure the juju03:46
_sEBAs_I think can be more open to people to help to build images with juju and juju gui ready to work03:46
lazyPowereg: hardened mode (only core, no cruft, tuned for safety), performance (tuned PHP stack, optimized caching installed)03:46
lazyPower_sEBAs_: well they just got an update last monday03:46
_sEBAs_lazyPower: get it, thanks for the advice03:47
lazyPowerthey were in dodgy shape over the last month during the 14.04 release rush. Other priorities came up - and some things changed out from underneath the ground. I have a work item task to get those vagrant boxes under CI03:47
lazyPower_sEBAs_: but yeah - good idea with roles taking care of the application 'profile' to speak.03:48
_sEBAs_nice!!!03:48
_sEBAs_lazyPower: glad to know :)03:48
_sEBAs_why do we need those redirecting scripts into the box ?03:49
_sEBAs_is it for the juju-gui ?03:49
lazyPower_sEBAs_: there are 2 layers of redirect - one moment while i compose this03:49
_sEBAs_hehe ok03:49
lazyPowerthe first layer of redirect is with regard to the juju gui - that is normally deployed into an LXC container. It has to communicate with the bootstrap node. At present the bootstrap node lives on the host that is producing the LXC containers03:50
lazyPowerso, thats layer 1 - to get you tot he GUI03:50
lazyPowerthe second layer, with SSHUTTLE is to get you a VPN into your LXC environment in the VM so you can interact with the services on your host computer, hosting the virtual machine (eg, deploy drupal in vagrant, you're routing from host => vm => lxc)03:51
lazyPowerthats layer 203:51
lazyPowerand if there's any other magic going on in between, i'm sorry i omitted it - but its late :P03:51
_sEBAs_hehe get it03:52
lazyPoweri left out some bits about the gui, so glad you followed :)03:53
_sEBAs_the first level that came from nothing for me03:53
lazyPowerits specific ot the UX of the vagrant box. we could have you sshuttle to the GUI, but wouldn't it be nice to just hit localhost:6080 and have the gui? we thought so.03:53
lazyPowerso thats why that python redirect script is in cloudinit03:53
_sEBAs_because i was experiencing some odd issues with that03:53
lazyPoweryeah... thats the oddities i was talking about that stemmed from about 3 to 4 weeks ago03:54
_sEBAs_yeah of course!03:54
lazyPoweri was going to have a charm school and ran into those issues - so i was madly macguyvering a jujubox with packer prior to the charm school03:54
lazyPowerinstead of telling people how to build hteir own juju vagrant image, we punted and did juju run instead03:54
_sEBAs_haha03:54
lazyPowerwhere jose got to put on his charm for the world and i spoke crazy fast about something thats insanely handy with CI03:55
lazyPowerso, _sEBAs_, your next mission should you choose to accept it, is to get juju run doing automated deployments from jenkins ;)03:55
_sEBAs_yeah i was getting mad these days with that, so I made another vagrantfile03:55
_sEBAs_humm yeah, actually thats where I wanna get, after making provisioning and CM easy for the devs03:56
_sEBAs_then jenkins is the next step!03:57
_sEBAs_for example03:57
lazyPower_sEBAs_: WRT your question about openstack - an option for you  would be buy a beefy server03:57
lazyPowerdeploy MAAS region-controller & MAAS cluster-controller to the host03:57
lazyPowerand use that to orchestrate KVM machines03:57
_sEBAs_jenkins can deploy a hole bundle, just to run all the BDD tests03:57
lazyPowerthe setup took me about 3 hours on my first run through.03:57
lazyPowerthe maas provider in juju is stellar03:58
_sEBAs_hmmm nice that you bring that up03:58
lazyPoweri use that to keep my cloud costs down and orchestrate a 'juju lab' in my closet.03:58
_sEBAs_hmmm thats what I want03:58
_sEBAs_so let me see03:58
lazyPoweri'm running a quad core, 12GB of ram (which is in need of an upgrade) and i can orchestrate ~ 13 VM instances on it before i see the host slow down to a crawl.03:58
_sEBAs_if i get your right03:58
lazyPoweryou'll want to pay special attention to the networking configuration of this though _sEBAs_03:59
lazyPoweryou need a server with 2 nics03:59
_sEBAs_yeah, roger that03:59
lazyPowerthat way you can do ethernet bridging an dkeep a management network, and a public networking (with a bridge that vlan's into your KVM instances)03:59
_sEBAs_so I dont need a public ip for every kvm instances04:00
_sEBAs_I was trying to install openstack with the devstack and all04:02
_sEBAs_docker and lxc worked fine, but04:02
_sEBAs_i was having some issue with the swift proxy service04:03
_sEBAs_wasn't working right, didn't know what a hell was that04:03
_sEBAs_I was going to try with the new icehouse version to see what happen04:04
lazyPower_sEBAs_: you'll need a reverse proxy daemon sitting in front of all that04:07
lazyPowerbut its completely do-able.04:07
_sEBAs_yes04:07
_sEBAs_i was using hipache04:07
_sEBAs_but, i needed more than 80/443 ports04:07
_sEBAs_i didn't even get it to work, meanwhile i was using sshuttle (not proud about it ¬¬)04:09
_sEBAs_in order to juju ssh into the instances and all...04:10
lazyPower_sEBAs_: Ah, yeah. Forwarding more than web traffic over that setup will be tricky unless you deploy a virtual router, and push all your traffic there.04:10
lazyPowerwhich introduced SPOF04:10
_sEBAs_hmmm yeah, i need to study a little more on that04:11
lazyPowerlet me know what you come up with04:11
lazyPoweri'm interested to see what you learn in this process :)04:11
_sEBAs_thank the tip lazyPower04:11
_sEBAs_*thanks04:11
_sEBAs_:)04:11
lazyPowernp _sEBAs_, my pleasure04:12
_sEBAs_nice to know that theres a nice community over here :)04:13
_sEBAs_the other day i wen to an event about cloud solutions, so some hosting and others organizations that haves data centers in-company04:14
_sEBAs_were there04:14
_sEBAs_but04:14
_sEBAs_nobody even know about linux containers, so juju was out of the table04:15
_sEBAs_the bright side of that is, everyone went crazy about juju and all...04:16
lazyPowerIts really brilliant with public clouds...04:16
_sEBAs_yeah04:16
lazyPowerwhen I go to demos, i usually spin up ~ 18 hosts on AWS or HPCloud04:16
lazyPowerand dive into the machines to show its really doing something and not just faking it out with the GUI04:16
_sEBAs_hehe nice04:16
_sEBAs_hahaha04:17
_sEBAs_the other day one client ask me, "but that is real, right?"04:17
_sEBAs_then i show it the drupal running and all04:18
_sEBAs_go mad!!04:18
_sEBAs_lazyPower and jose thanks for your advices, i'm glad that i talked with you guys04:20
lazyPower(ツ) yeah its kind of magical.04:20
_sEBAs_i'm going to make me some dinner now, and thats something that juju cant do it04:21
joseenjoy!04:21
josemaybe we'll have 'juju deploy food' in the future04:22
_sEBAs_hehe yeah!04:22
lazyPowerjose: scope creep ;)04:22
_sEBAs_theres a juju that would it be nice to make me food, here in brasil if you only search "juju"04:23
_sEBAs_every one that searches for juju here when i talk about it, the results are stunning hehe04:24
_sEBAs_well thats it, see you next time guys :)04:25
=== stokachu_ is now known as stokachu
=== CyberJacob|Away is now known as CyberJacob
=== vladk|offline is now known as vladk
=== vladk is now known as vladk|offline
=== CyberJacob is now known as CyberJacob|Away
silverPonyHello there!  Is it possible ot re-attach the node that was previously part of juju, without comissioning?10:54
AJ_Hi guys, I have some question. We are using Juju on MAAS with multiple environments11:47
AJ_If I wanna ssh into machine it gives error: juju ssh 1 -e maas11:47
AJ_error code is "ERROR control-bucket: expected string, got nothing"11:47
AJ_Any ideas?11:47
TugAJ_, are you using juju-quickstart ?11:59
silverPonyHello there!  Is it possible ot re-attach the node that was previously part of juju, without comissioning?12:11
marcoceppi_silverPony: in maas?12:13
silverPonywell, as soon as i juju remove-machine12:19
silverPonydo i have to commission it in maas to bring back?12:19
frankbanrbasak: morning12:27
joseohai lazyPower14:34
lazyPowero/14:34
joseall going good?14:34
lazyPoweryep14:35
joseawesome :)14:35
joseI was wondering if you can give me a hand with these tests now14:35
_sEBAs__hi lazyPower and jose :)14:40
josehello, _sEBAs__ :)14:40
_sEBAs__hey jose now that i get it, you are from lima, peru hehe14:41
joseyes, I am :)14:41
josedid you google me? :P14:41
_sEBAs__i'm from uruguay :)14:41
joseawesome to hear14:41
josenow I know I'm definitely not the only juju user in south america \o/14:41
_sEBAs__sow a name of bug subscriber "José ...."14:42
_sEBAs__so a i figured out14:42
_sEBAs__hehe14:42
_sEBAs__hahaha14:42
_sEBAs__globo.com use juju too I think14:45
jose:P14:45
_sEBAs__they have a deployment tool https://github.com/tsuru/tsuru14:45
joseyeah, I think I'm subscribed to all charms bugs14:45
joseoh, that's cool!14:46
lazyPowerjose: link to branch in question?14:46
joselazyPower: https://code.launchpad.net/~jose/charms/precise/owncloud/port-change+repo+ssl-support14:47
_sEBAs__hey lazyPower awesome slides man!! (you pass me the link, but I didn't see it at the time ¬¬)14:48
lazyPowerThanks _sEBAs__14:50
lazyPowerGPL 3'd - feel free to chop and remix. They are up on the presentation github14:50
lazyPowerhttps://github.com/juju/presentations14:51
_sEBAs__awesome !14:51
lazyPower_sEBAs__: if you want to include your presentation feel free to issue a MP14:54
lazyPowerwe'll get to it as soon as we can14:54
_sEBAs__great!! we are working in an inforgraphic about devops using juju14:55
lazyPowernice!14:55
lazyPowerplease link me when that's complete. I'd like to see that14:56
_sEBAs__of course! as soon I get the first RC, i will paste the link here :)14:57
lazyPowerjose: running the tests now14:57
joselazyPower: ^c that, it'll give you an error as it is because I try to define the domain before d.setup14:57
joseand calling d.sentry.unit['haproxy/0'].info['public-address14:58
lazyPowerjose: ack. I'm going to let it run and collect the output14:58
jose']14:58
joseok!14:58
* jose is taking a look at the tracks errors (cc. cory_fu)14:58
cory_fuThanks.  From my reading of the ticket you linked, it sounds like the version that breaks is actually bundled with tracks, which makes me wonder how the charm ever worked with that version14:59
josewell, it's not working as is on the store :)15:00
joseI'm trying to update to a newer version15:00
josecory_fu: whoops, tracks 2.2 (fixed one) requires ruby >= 1.9.2, it'll need to be compiled15:03
lazyPowerjose: there's a PPA for that15:04
joseoh really?15:04
lazyPowerunless you *really* want to go the compilation route, then use RBENV plz15:04
joselazyPower: do you have a link for it?15:04
lazyPowerhttps://launchpad.net/~brightbox/+archive/ruby-ng15:05
lazyPowermake sure you update the readme that it's using a PPA if you go that route15:05
josewill do, thank you15:05
lazyPowergah it looks like they haven't updated the ppa with trusty support15:05
lazyPower>.> stinking ppa's15:06
lazyPoweroh wait, they have. disregard15:06
jose:P15:06
josebackports ftw15:06
lazyPowerjose: is this consistent with what you've seen? http://paste.ubuntu.com/7405034/15:13
josecorrect, sit15:13
josesir*15:14
lazyPowertvansteenburgh1: have you seen this? http://paste.ubuntu.com/7405034/15:18
tvansteenburgh1lazyPower: i have now15:21
jose:P15:21
=== tvansteenburgh1 is now known as tvansteenburgh
lazyPowertvansteenburgh: gnarly. i'm thinking its choking whenb uilding the deployment map15:22
tvansteenburghlazyPower: are there non-ascii chars in the metadata.yaml?15:23
* jose checks15:23
lazyPowertvansteenburgh: amulet is wiping the yaml before i can check it15:23
josetvansteenburgh: there is, yes, an é15:24
josea unicode é15:24
lazyPowerjose: wait... wat15:24
lazyPowerOH, in your name15:24
lazyPowerin the metadata15:24
joseyeah15:24
lazyPowerjose: i'm changing your name, you will now be known as: 'charmbot 5000'15:24
tvansteenburghjose, lazyPower: if you wanna file a bug i'll fix it15:24
* lazyPower points jose to the bug tracker so his name can stay in teh yaml15:25
josetvansteenburgh: against what? amulet?15:25
lazyPower:P15:25
tvansteenburghbut for now the quick path forward is to change jose's name :P15:25
tvansteenburghjose: amulet, yes15:25
joseJose Antonio Rey or CharmBot 5000 will work :P15:25
* jose goes and files the bug15:25
josetvansteenburgh: bug 131665615:27
=== roadmr is now known as roadmr_afk
tvansteenburghjose: thanks15:28
josebug #131665615:28
jose_mup_ START WORKING!15:28
jose_mup_: ping15:28
lazyPowerjose: paste the url to the bug15:28
josethe URL for the pastebin?15:29
lazyPowernope, bug15:29
josehttps://bugs.launchpad.net/amulet/+bug/131665615:29
lazyPoweryep he's borked15:29
* jose gives _mup_ a revive cookie15:29
lazyPowertvansteenburgh: looks like amulet syntax changed with a MP 11 days ago.15:31
lazyPowerwhats the new and improved way to target units in amulet?15:31
tvansteenburghlazyPower: i dunno anything about that.15:32
josemarcoceppi_ is the amulet master15:32
joseaccording to LP15:32
tvansteenburghlazyPower: i submitted and MP to make d.add_unit() work properly15:32
lazyPowerjose: i'm aware but tvansteenburgh did some edits to this.15:32
lazyPowerhttps://github.com/marcoceppi/amulet/commits/master/amulet/sentry.py15:32
joseoh got it15:32
lazyPowerwhich means we just broke a ton of tests we had written15:33
lazyPowerunless this test was wrong to begin with15:33
tvansteenburghlazyPower: my commits just fix a bug with add_unit()15:33
lazyPowertvansteenburgh: too late, i git-blamed you15:33
lazyPower:P15:33
tvansteenburghlol15:33
lazyPower<315:33
joseurgh, I give up with tracks15:35
* jose hates Ruby15:35
josecory_fu: after updating to 2.1 or 1.9.3 it gives a redcloth error15:35
josenot sure what that is15:35
lazyPowerjose: a gem15:36
lazyPowerits a markdown generator by github15:36
lazyPowers/generator/interpreter/15:36
josewhen trying to install it it gives ANOTHER error15:36
lazyPowerwhats the error?15:36
joseERROR: Failed to build gem native extension.15:36
lazyPowerdo you have build-essential installed?15:36
joseyes15:37
lazyPowerpastebin me the full trace15:37
josehttp://paste.ubuntu.com/7405198/15:38
lazyPowerjose: you need to install the ruby-dev package for the flavor you installed15:39
lazyPowerits looking for headers that are non existant15:39
joseblargh, thank you15:39
* jose still hates ruby and ruby on rails15:40
josedon't even mention ruby on trains15:40
lazyPowerit's really not *that* bad15:40
lazyPowerbut i'll let you continue to hate @ it.15:40
josesame error after installing -dev15:41
joseoh, it was 1.9.1-dev15:42
josew0ot, works!15:42
cory_fuAwesome15:43
josetracks... not yet :P15:43
josestill installing!15:43
cory_fuAw15:43
lazyPowerOH15:49
lazyPowerman, i missed line 26, jose15:49
lazyPoweryou cant get information from the unit before its deployed15:49
=== roadmr_afk is now known as roadmr
lazyPowerthats why the sentry.unit.info object isn't working15:49
lazyPowerthere's no API server/sentry deployed until d.setup() is called15:49
* tvansteenburgh is exonerated15:50
josethat's what I was telling you15:50
lazyPowerjose: @!%@#^#@15:50
josethose lines need to be moved *after* d.setup()15:50
joseI knew that15:50
lazyPowerwhy you do this to me?!15:50
jose:P15:50
* marcoceppi_ considers better error messaging15:50
=== marcoceppi_ is now known as marcoceppi
joseERROR: Jose didn't mention that lines had to be moved. RESULT:  ✘15:51
* lazyPower hugs jose with a bat15:52
* lazyPower repeatedly15:52
lazyPower:P15:52
lazyPowernaw, you're good i missed that15:52
lazyPoweryou did tell me to move stuff15:52
lazyPowerso, with that in mind - we need to set the domain post deployment15:52
josecorrect15:53
joseI'll try the tests with my name without the é after I'm done with this tracks stuff15:53
jose*almost* done15:53
lazyPowerjose: that part works15:53
josewhich part?15:53
lazyPoweri'm looking at the amulet stuff to remind myself how to set config post deployment15:53
lazyPowerremoving the e15:53
lazyPowerunicode, e15:53
joseoh, it's not d.configure?15:54
lazyPoweri'm pretty sure that was patched to support post deploymetn configuration with the 1.4 series15:55
lazyPowerbut i dont remember. i'm fishing up teh bug15:55
joseok!15:55
lazyPowerhttps://bugs.launchpad.net/amulet/+bug/127017415:56
_mup_Bug #1270174: Post deployment commands <Amulet:Fix Released by marcoceppi> <https://launchpad.net/bugs/1270174>15:56
lazyPowerwb mup15:56
jose\o/15:57
joselazyPower: w0ot, another ruby error! http://paste.ubuntu.com/7405288/15:58
joseeven after the gem is installed15:58
lazyPowerjose: the bundle is missing the mysql2 gem15:59
lazyPowerthats an old school ruby error15:59
josebut it did install it...16:00
joseooh16:00
lazyPowerits that or the db configuration file is referencing the mysql gem syntax, and should be updated either/or16:01
joseboom, found the error16:01
jose(or at least I think so)16:01
lazyPowerjose: it occurs to me, you're setting the domain to the public ip of the unit. DOesn't the charm do this when no configuration is specified for domain?16:03
lazyPowerdefault to looking up the public-address and actioning with that?16:03
joselazyPower: it doesn't16:03
lazyPowershould probably do that, as it's a 'sane default' practice.16:04
josewhat happens if it's behind haproxy?16:04
lazyPowerit should relation-set public-address in the relationship-changed hook16:04
lazyPowerand haproxy will take care of the domain mapping16:05
josehuh?16:05
lazyPowerjose: try it and see :P16:05
josewill do... once I finish with this ruby thing :P16:06
* jose is getting bored of errors16:06
joseis there a way to manually enter a hook environment when doing `juju ssh unit/#`?16:17
lazyPowersinzui: good catch on https://bugs.launchpad.net/charms/+source/elasticsearch/+bug/129420216:21
_mup_Bug #1294202: reused cluster names break services. <canonical-is> <charmworld> <elasticsearch (Juju Charms Collection):New> <https://launchpad.net/bugs/1294202>16:21
sinzuilazyPower, I look forward to the day I am not invited to diagnose why elasticsearch has wandered off with a index16:23
lazyPowersinzui: it's on the horizon16:23
lazyPowerthis new rev of the charm from mnelson is shaping up to be pretty solid16:23
josecory_fu: mind a PM?16:29
cory_fujose: Why not just use juju debug-hooks?16:29
cory_fuNo problem, PM away16:29
joseyeah, I do that and call an empty 'juju set' :P16:30
joseoh, nvm16:30
josestill having an error :P16:30
lazyPowerjose: rm'ing the unicode e, and moving the d.configure line below d.setup appears to have resolved the test issue. I'm re-running it a second time with -v to ensure i didn't miss something.16:38
joselazyPower: ack, will test too after committing these changes - tracks looks to be on track now16:39
lazyPowerglad we got it sorted :)16:40
lazyPowerhi516:40
joseo/16:42
josehang on with that tracks review if anyone is doing it - needs an upstart job written and I'm working on it16:44
joseand tracks is *really* good to go now17:16
joselazyPower: juju-test.conductor.100_deploy.test RESULT  : ↷ (⌛)17:35
=== roadmr is now known as roadmr_afk
=== CyberJacob|Away is now known as CyberJacob
magicrobotmonkeyis the nova-compute charm supposed to have networking working out of the box18:04
cory_fujose: The tracks charm now deploys fine for me, but the process seems to die and isn't listening on port 80.  Do you happen to know if tracks has a log file somewhere (not seeing it in /var/log)18:05
cory_fuoh, I see it in /var/log/upstart18:06
joseyeah18:06
joseotherwise, /var/log/juju/agents/unit-tracks-0/charm/tracks/log18:06
cory_fuCould not locate Gemfile18:06
cory_fuHrm18:06
joseooooh18:06
joseknow that error18:06
joselooks like the upstart job isn't into the directory, but let me find a solution for this and push it18:06
josecory_fu: my bad, copied the job from another charm and didn't change the directory18:07
cory_fu:)18:08
joseawesome, now my pointer isn't working18:08
cory_fuo_O18:08
josehaha18:09
josewill $JUJU_UNIT_NAME give me the name of the current machine in the format of unit/#?18:10
cory_fuIn the upstart job, or in a hook?18:11
cory_fuI think that it will have the format name/# in the charm hooks, but it won't be available in the upstart job18:13
cory_fuOh, but you're generating the upstart conf, so you can replace it there18:14
joseyeah18:14
joseI'll see how can I awk that18:14
* jose quickly grabs lunch18:14
=== roadmr_afk is now known as roadmr
cory_fujose: ping me whenever you get back, please18:18
josewill do18:18
cory_fuThanks.  Enjoy lunch.  :-)18:18
josethanks :)18:18
josecory_fu: back now!18:26
cory_fuHey.18:27
cory_fuSo, what were you saying about needing to awk the $JUJU_UNIT_NAME?18:27
joseso, if you check the upstart job, it cd's into the folder where tracks has been cloned18:28
cory_fuAlso, I noticed that this charm is installing tracks under the $CHARM_DIR (by dint of not changing the directory in the install hook), which I'm pretty sure is a bad practice18:28
josethat was what I was talking about18:28
joseI can surely move it to ~/tracks, if that's better18:28
cory_fuYeah, it should definitely be moved outside of the charm dir.  What user does tracks run as?  Just root?18:30
joseyes18:30
josewhich I think is a bad practice too?18:30
cory_fuIt's not ideal, but I probably wouldn't ding it for doing so.18:32
cory_fuSome packages a harder to get running as non-root, but if you feel like trying, it would be better to have a tracks user18:33
joseI'll try18:34
cory_fuI think it should be just useradd -r tracks and then chmod -R tracks tracks18:34
cory_fuer, chown -R tracks tracks18:34
cory_fulazyPower: What would be the best place for it to live, outside of the charm dir?  /var/local/tracks?  /home/ubuntu/tracks?  /home/tracks/tracks?18:35
* lazyPower reads18:36
lazyPowercory_fu: if its getting an application user, its acceptable to put it in $HOME18:36
lazyPowerotherwise you're doing chown magic in /var/www, or adding them to a system group18:36
cory_fuOk, in that case, jose, you'd need -m or maybe not make the tracks user a system user18:37
lazyPoweruse your best judgement with the application when it comes to that placement. but in practice i used $HOME for each app.18:37
josewell, I'll try and do something that... works18:37
hackedbellinihi. I have a postgresql unit in production. I made some changes on the charm which I need on that running unit. I'm trying to change the tracking branch for the service from the launchpad one to my local one (my local one is a fork of the launchpad one)18:58
hackedbellinijose yesterday give me some tips, like trying to deploy my local charm with another service name and rename the unit, but I have no idea on how to rename that unit.18:58
hackedbellinido anyone here knows what can I do? Is there an easy way to do that? Or to use jose's tip, how can I rename the unit?18:58
hackedbellininote that it's in production, so I cant just destroy the unit and deploy another one18:58
joseyou cannot rename a unit18:58
joseoh, assign another name to a unit18:59
josejust append the unit name18:59
hackedbellinijose: hrm, probably I misunderstood what you told yestarday. What do you mean by "append the unit name"?18:59
joselike `juju deploy --repository=charms local:postgresql psql` will give the service the name psql instead of the one in the metadata19:00
joseif you do `juju deploy --repository=charms local:postgresql` it will deploy it with the name postgresql19:00
hackedbelliniyes it will. But I don't want a new unit... I want to change the service for the already existing unit19:02
hackedbellinilike I said, it's running in production already and changing units is not an option atm :(19:02
cory_fuI don't think you can change the name after the fact, because it would cause issues for the relations19:03
hackedbellinicory_fu: I could put it in the same name, no problem. I just want to change the tracking branch of the service19:03
hackedbellinilike, when running 'juju upgrade-charm postgresql' it would pull from my local branch instead of the launchpad one19:03
cory_fuHrm.  marcoceppi, do you know if such a thing is possible?  ^19:14
cory_fuSeems like it would be difficult, at best.19:14
marcoceppihackedbellini: yes, you can switch the source of the charm19:15
marcoceppiit's not recommended but if you wanted to fork the charm locally and upgrade from the local source you can do so with the switch flag19:15
cory_fuswitch flag?  I don't see that in juju help deploy19:16
marcoceppijuju upgrade-charm --switch --repository /path/to/local/charm-repo postgresql19:16
marcoceppicory_fu: it's an upgrade-charm command19:16
cory_fuOh, because it would be in upgrade-charm, of course19:16
marcoceppiit's VERY heavy handed19:16
hackedbellinimarcoceppi: wow, thank you so much! You are a life savior!19:16
cory_fuHow so, is it heavy-handed?19:16
marcoceppiyou have the ability to even change the charm running, like juju upgrade-charm switch to mysql from postgresql, etc, which would probably break everything19:17
marcoceppiswitch is basically like the --to flag, use carefully19:17
lazyPower*hulk repository smash19:17
thumperjcastro, marcoceppi: can you guys chat for a minute?21:12
thumperI have some questions and news21:12
marcoceppithumper: I can21:12
thumpermarcoceppi: https://plus.google.com/hangouts/_/gwdavp7sezmqkxxb5sfhp5ivdia?hl=en21:13
cory_fujose: Did moving the chdir to outside of the pre-start / start stanzas fix it?21:19
joseI can't tell, because when I do 'start tracksapp' or 'stop tracksapp' it just hangs there21:19
joseI ^c and if I try it again, it says it's already started/stopped21:20
cory_fuYeah, I think that's because of the expect fork, that I was mentioning.  I think it's sitting there waiting for the app to fork, which it never does21:20
joseI also deleted it21:20
cory_fuDeleted the upstart job?  Or the service?21:21
josethe line :P21:21
joseexpect for21:21
josek21:21
cory_fuOh, I see21:21
josestill hangs21:21
cory_fuCan you send a pastebin of your current upstart job?21:22
josehttp://paste.ubuntu.com/7406987/21:23
cory_fuDid you change the install hook to move the tracks app to /home/ubuntu/tracks or /home/tracks/tracks?21:24
jose/home/ubuntu/tracks/21:25
jose(though I should change it to /tracks/tracks/21:25
cory_fuHrm.  Seems fine to me.  Maybe someone with more experience with upstart could glance at it?21:27
cory_fuSomeone like lazyPower, perhaps?21:28
sarnoldis 'bundle' in the path at that point?21:28
joseit is to be ran there21:28
joseit's a ruby program21:29
cory_fujose:  Permission denied @ dir_s_mkdir - /home/tracks/tracks/tmp/cache21:37
cory_fuOh, I forgot to chown21:38
cory_fuOr, no, the tmp dir didn't get chowned.21:38
cory_fuOh.  It's trying to bind to port 80 which is restricted.21:40
cory_fuI think tracks might have to be run as root.  :/21:41
thumpermarcoceppi: DUDE!!!21:52
thumperjust had a great thought21:52
thumpergo and register juju.academy21:52
marcoceppithumper: dude, already did :)21:53
thumperha, awesome21:53
marcoceppiit should map to learnjuju.com21:53
thumperI read last night that there exists fart.academy21:54
thumper:)21:54
marcoceppihahah21:54
thumperperhaps juju.academy should be the master...21:54
marcoceppithumper: it's been updated21:55
marcoceppiboth juju.academy and learnjuju.com now are the same source21:56
marcoceppithumper: it was always designed to be, the links all point to juju.academy21:56
marcoceppietc21:56
thumperawesome21:56
thumperI should have remembered that21:56
thumperI won't forget again21:56
marcoceppi\o/21:56
=== CyberJacob is now known as CyberJacob|Away
lazyPowercory_fu: never ever run a rails app as root22:57
lazyPower*never*22:58
lazyPowerits a death sentence for system security22:58
josecory_fu: sorry, my connection died as it upgraded ffom 200KBps to 400KBps23:16
josemarcoceppi: found a 'typo' (not sure if it's intentional)23:19
joselazyPower: the only way to run under port 80 is to run as root, right?23:42
joseor I'm missing something23:42
sarnoldjose: I believe you can get the same effect by using setcap to add CAP_NET_BIND_SERVICE to your executable. it's like a mini-setuid progam, and it would probably be best to drop the capability once the socket has been bound.23:44
josesarnold: thanks, I'm looking into it23:46
josehmm, but how could I add it to a filename?23:47
sarnoldjose: try setcap cap_net_bind_service jose_executable23:51
joseI mean, in my context23:51
joseI'm trying to run a service23:52
josenot sure what executable it runs23:52
sarnoldoh I thought you had that :) sorry23:52
joseno prob :)23:52

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