/srv/irclogs.ubuntu.com/2014/01/08/#juju.txt

arosales /away afk01:31
* arosales misssed that space01:32
=== Guest93739 is now known as Kyle
xnoxI have pushed a charm to lp:~xnox/charms/trusty/jemjem/trunk I'm trying to open a bug against jemjem charm but apperantly "jemjem" is not published in the charm collection.09:58
xnoxHow can I track bugs against my charm?09:59
xnoxCan I declare constraints in the charm itself? As in my charm can only work with minimum 2CPUs & 2GB RAM11:02
xnox(i want to prevent people deploying it on worse configuration)11:02
xnoxI guess that's what bundles are for =)11:03
jamxnox: it has come up a couple times, as you've found, bundles are the current answer for that11:17
=== gary_poster|away is now known as gary_poster
mattywHi Folks, If I do a local deploy is it possible for me to have different directories of the same charm for different version? like my-charm-1 and my-charm-2 and deploy them using local:my-charm-2? At the moment it looks like it doesn't work becuase the name in the metadata is differnt13:31
marcoceppi_mattyw: I think what you can do is possible, but can you expand a little more how your files are setup and the end goal?13:33
mattywmarcoceppi_, sure I'd have the same charm in a local directory - different versions would be under different directories ~/mycharms/my-charm-1 ~/mycharms/my-charm-213:35
mattyw^^ but underneath they're the same charm - so the metadata is unchanged (but the revision number is different)13:35
marcoceppi_ah, so that won't work. Charm versions are tracked via the revision file in the charm, not by the directory name13:35
marcoceppi_mattyw: try ~/mycharms/my-charm and ~/mycharms2/my-charm instead13:36
mattywmarcoceppi_, that's a pretty neat idea13:36
mattywmarcoceppi_, I'll give that a go, thanks13:36
marcoceppi_mattyw: np, cheers13:36
bashokHi, I am currently testing out juju with my private cloud setup, my cloud has multiple compute regions all my global services has endpoints with a region name, and nova endpoints has a different region name,  while configuring environments.yaml,  I can specify only one region name, which is creating issues, is there a way to overcome this, is this a hard requirement to have all services with same region in endpoints?14:14
=== elopio_ is now known as elopio
argesHi. Is there a way to deploy a specific revision of a charm using juju deploy? Without having to locally clone, checkout etc...14:25
marcoceppi_arges: juju deploy mysql-# where # is the version number14:38
argesmarcoceppi_: : ) thanks14:46
jcastromarcoceppi_, can I get a +1 or -1 on my two new bullet proposals?14:50
jcastrothe GUI guys would like to do an update14:50
ghartmannHi, just a quick question. Anyone working on a IPython Notebook charm ?14:50
marcoceppi_jcastro: neither really "require" anything by the charm author, per se14:51
marcoceppi_jcastro: actually, I'll reply to the thread14:51
jcastroyeah but it's a nice feature to show in the gui14:51
marcoceppi_jcastro: truth14:52
marcoceppi_ghartmann: not that I'm aware of!14:52
jcastrosince those are now more "this charm has this features" more than "this charm passes this"14:52
marcoceppi_jcastro: true14:52
jcastroeither way reply to the list14:52
ghartmannthanks14:52
caribouIn an existing charm, if I want to add a new option, is config.yaml the only place I need to go to define it ?15:52
medberryI think so.  marcoceppi_ ^15:52
marcoceppi_caribou: yes, then you need to make sure to utilze the new option in the config-changed hook :)15:53
cariboumarcoceppi_: thanks15:54
cariboumarcoceppi_: so you mean that *every* option has to appear at least once in config-changed ?16:01
cariboumarcoceppi_: my change is to add an option in a conf file16:02
marcoceppi_caribou: no, it doesn't have to be used at all, but then why even bother addint it to config.yaml?16:02
marcoceppi_I was more referring to the fact that it's best to have it in config-changed, it can be used in any hook of the charm though16:03
cariboumarcoceppi_: of course; my change is to define a value in a template file (cinder.conf for instance)16:03
jcastrohey evilnickveitch16:08
evilnickveitchjcastro, hey16:08
jcastrohey on the list16:08
jcastrothe guy trying jenkins says the debug-hooks doc page is "opaque"16:08
jcastrohe thinks some examples there would be good16:09
cariboumarcoceppi_: nOOb's mistake, I forgot to increment the revision :-/16:11
evilnickveitchjcastro, ok16:11
jcastrohey marcoceppi_16:18
jcastrobac landed the new QA bullets16:18
jcastrohttps://manage.jujucharms.com/charms/precise/apache2/qa/edit16:18
jcastrowe can now check those off as part of the audit16:18
=== negronjl_ is now known as negronjl
dpb1Would it be possible for someone to look at this?  https://bugs.launchpad.net/charms/+bug/125963017:50
_mup_Bug #1259630: add storage subordinate charm <landscape> <Juju Charms Collection:New for davidpbritton> <https://launchpad.net/bugs/1259630>17:50
=== CyberJacob|Away is now known as CyberJacob
marcoceppi_dpb1: if it's not in https://manage.jujucharms.com/tools/review-queue we don't really know about it18:03
=== medberry is now known as med_
=== CyberJacob is now known as CyberJacob|Away
marcoceppi_dpb1: wait, is this a charm or an idea you want feedback on?18:03
dpb1marcoceppi_: what do I do to get it there?18:03
dpb1marcoceppi_: I have the bug marked with charmers, I have it assigned to me18:04
marcoceppi_dpb1: but is it a charm or just a concept you want to discuss?18:04
dpb1charm18:04
marcoceppi_dpb1: you need to link a branch to for it to show up18:04
dpb1blah18:04
marcoceppi_I don't see a branch linked anywhere other than your jenkins mention18:05
dpb1lp should just know! :)18:05
marcoceppi_;)18:05
marcoceppi_dpb1: cool, it'll show up in the queue in the next 10 mins and I'll try to get eyes on by end of the week18:06
dpb1marcoceppi_: thanks much!  we already have some follow-on work and are looking to integrate it into the postgres charm, so feedback would be appreciated18:06
marcoceppi_dpb1: cool, I also see the swap charm is up for review soon too18:07
dpb1marcoceppi_: yes, that one is much more limited in scope.  just something to clear out some todo items.  el-mo even told me already it sucked. :)18:08
jcastromarcoceppi_,  I think I found the problem with the mongodb replicaset you mentioned in passing the other day19:15
marcoceppi_jcastro: excellent!19:15
=== CyberJacob|Away is now known as CyberJacob
lazypowerjcastro, do tell19:19
jcastroI think you need to set the replica set name before you add unit19:19
jcastroI am testing it out now19:19
jcastrolazypower, "Not using --replSet" do you get that in the UI?19:22
lazypowerjcastro, 1 sec on the phone with blythe19:22
jcastrono worries19:22
jcastrohere it is19:23
jcastro           19:22:40.165 [initandlisten] ERROR: can't use --slave or --master replication options with --replSet19:23
jcastronegronjl, around?19:23
lazypowerjcastro, as i understand it, which may be incorrect, you have to define the heartbeat set and let election occur19:27
lazypower*define the replica set, allow it to heart beat, and election occur before you define master slave relationships19:27
jcastroyeah it's just none of that is in the instructions19:27
jcastroit's like "yo, juju deploy, add-unit, done!"19:28
marcoceppi_jcastro: maybe the config just doesn't have sane defaults?19:28
lazypowergood point, i ran into that helping maxcan get his mongodb cluster deployed.19:28
jcastromarcoceppi_, maybe19:28
lazypowerand what actually solved it, was just running it again with -r after the config servers came online19:28
jcastroI mean, the hardcore one with sharding needs a config.yaml and all that19:28
lazypoweroh this is strictly replset creation?19:29
maxcanyup19:29
jcastrothis is just the simple multi node deployment19:29
jcastrolazypower, yeah19:29
maxcanresolved -r; rinse; repeat is your friend19:29
jcastrough19:29
maxcanalso, needed to make sure that teh configsvr RS was all set up and good before relating to mongos19:29
jcastroanyone have their history handy with all the commands? I am working on fixing the readme today19:30
jcastroso you can just do it in the first try19:30
lazypowerMaxcan has a  sharded RS history19:31
lazypowerLet me reach out to some peeps and see if i can fetch the history of my last deployment.19:31
jcastrota19:31
* lazypower doffs hat19:31
jcastroI don't need the sharded one yet, but I'll take it!19:31
lazypowerjcastro, its going to be a sharded repl set from me as well...19:32
jcastroaha!19:33
jcastrothe resolved --retry seem to do the trick19:33
lazypowerjcastro, thats the race condition we ran into. Something's not getting set right away during the relationship-joined/changed hooks19:33
jcastrook19:33
jcastroI am going to file a bug19:34
jcastroand then add a note in the readme19:34
jcastrohttps://bugs.launchpad.net/charms/+source/mongodb/+bug/126722219:37
_mup_Bug #1267222: Race condition when deploying a simple replica set <mongodb (Juju Charms Collection):New> <https://launchpad.net/bugs/1267222>19:37
jcastroif anyone has anything to add19:37
marcoceppi_So, you have the ability to create a testing configuration file, it will live in the tests directory. I have it called testplan.yaml but think it's too long. suggestions?19:37
negronjljcastro: I'll get back to you in a few minutes ... let me finish lunch19:38
jcastrono worries!19:38
marcoceppi_I was going to call it config.yaml, but didn't want ot confuse the actual config.yaml file19:39
jcastroconfig_test.yaml?19:39
lazypowermarcoceppi_, is this related to setup/teardown of your testing suite? or specifics?19:40
marcoceppi_lazypower: it's the ability to see the test driver with configuration options for your charm19:40
marcoceppi_more like test plugin preferences19:40
marcoceppi_jcastro: test_config.yaml sounds better, so I'll go with that unless someone thinks of the equivlant "promulgate" word for this before eod19:41
jcastrono more weird words!19:41
lazypower^19:41
marcoceppi_<319:51
maxcanlazypower: just got back, was on a cll20:00
lazypowerAll good my man. I was too.20:00
lazypowerHow's things post deployment? I assume it went without a hitch after we got the cluster setup?20:00
maxcanno, took me several hours to get it right20:12
maxcanbut your help was invaluable20:12
lazypowerWell thanks for the plug :) Did you happen to do a writeup on your hurdles you faced?20:22
lazypowermaxcan, and if not, I can help by doing a phaux interview with you. I'm really interested in your experience.20:29
=== hatch_ is now known as hatch
jcastrombruzek, arosales: TLDR is that the juju in stable ppa uses lxc-ls, which in trusty now requires root21:02
jcastro1.17 skips that and should work, so we'll be fine.21:03
jcastronote, that it does not work for me right now21:03
marcoceppi_jcastro: 1.17.1 should be landing in the dev ppa sooner or later21:04
mbruzekshould I enable trusty-proposed ?21:05
mbruzekOr where do I get the dev one?21:05
marcoceppi_mbruzek: ppa:juju/devel21:05
mbruzekoh.21:05
mbruzekjuju dev21:06
marcoceppi_actually, 1.17.0 is already out21:06
marcoceppi_jcastro: did you try 1.17.0?21:06
mbruzekmbruzek@skull:~/workspace/charms/tomcat$ juju --version21:06
mbruzek1.16.5-trusty-amd6421:06
jcastroyeah21:06
jcastroI get some connection refused error.21:06
marcoceppi_mbruzek: yeah, 1.EVEN are "stable" releases, 1.ODD are devel releases21:07
marcoceppi_so if you sudo add-apt-repository ppa:juju/devel; sudo apt-get update, sudo apt-get upgrade you'll get 1.17.021:07
jcastrojorge@jilldactyl:~$ sudo juju bootstrap21:07
jcastro ERROR Get http://10.0.3.1:8040/provider-state: dial tcp 10.0.3.1:8040: connection refused21:07
jcastrois what I get currently21:07
marcoceppi_jcastro: run it with --debug --show-log21:08
jcastrooh dude, environment exists21:08
jcastroI think I had it bootstrapped21:08
jcastroand _then_ upgraded21:08
marcoceppi_doh!21:08
jcastrough, can't destroy it now21:09
marcoceppi_jcastro: stop all the juju-* upstart tasks21:09
marcoceppi_then rm -f /etc/init/juju-*21:10
jcastrogot it21:10
jcastroblowing away .jenv did it21:10
jcastrothat's my new debug tool21:10
marcoceppi_ah21:10
jcastro"something broke? blow away the .jenv file"21:10
jcastrook, so it works fine now with 1.1721:11
marcoceppi_jcastro: sweet21:19
maxcanlazypower: i will definitely do a write up22:22
arosalesjcastro, sorry I was tied up in a meeting. thanks for the fyi in trusty needing 1.1722:57
=== CyberJacob is now known as CyberJacob|Away
maxcanso, anytime I add-unit juju opens up my juju-amazon security group ports 22, 17070, and 37017 to 0.0.0.0/023:31
davecheneymaxcan: yes, that is necessary23:32
maxcanalso dangerous23:32
davecheneythose are the control ports juju needs to talk to the bootstrap node, the state server and the api server23:33
maxcancoulnd't it just only open those ports to the IP of the management server23:33
maxcanwhy 0.0.0.0?23:33
davecheneythe management server is the bootstrap node23:33
davecheneythose ports are open so your client can connect to juju23:34
maxcani get that opening to the AWS security-group is to AWS specific23:34
davecheneyi understand your point23:34
davecheneyit's not something that juju does at the moment23:34
davecheneyplease consider raising a freature request23:34
maxcani'll add it to my list of feature requests23:35
maxcanthat i'm writing up23:35
maxcanFYI, my setup is that I have a client running on an EC2 host which requires yubikey 2FA for SSH access23:35
maxcanmy juju scripts generate a random admin secret and run all the juju commands from that machine23:36
maxcanso that way, it should be impossible for any outside access to the juju boxes23:36
davecheneysounds like a sound practice23:36
davecheneythe firewaller currently doesnt' handle source ip acls, it just knows how to configure by port23:37
davecheneythis would have to be something additional to juju23:37
maxcanyeah23:37
maxcancurrently, on AWS at least, the default juju behavior is to open all ports on all juju machines to all juju machines23:38
davecheneyyes, charms expect that23:38
maxcanbut, each machine does get its own security group (juju-amazon-N) which is basically unused23:38
davecheneyyes, this is a known bug23:38
davecheneyit sort of extends from openstack providers which limit security groups23:38
davecheneyso we 1/2 finished the workaround23:39
maxcanwould it be consistent with charms' expected behaviors to only open up ports (besides conmand ports) when there is a relation23:39
maxcanand to only use the relaitons ports23:39
davecheneycharms expect an open network23:39
davecheneythe open-port close-port comments relate to the external network23:39
davecheneyso, when i say open network23:40
davecheneyi mean open internal network23:40
maxcanbecause not all relations have explicit ports?23:40
davecheneyopen-port / close-port only talk about services exposed by the charms23:41
davecheneywhen charms are related together the expectation is they have full network access to one another23:41
davecheneyeg, mysql <> wordpress23:41
davecheneyexpects 100% access on a private network23:41
davecheneywordpress may call expose-port, but that is realy just to setup the port forwarding23:41
maxcani see23:41
davecheneyeg, when wordpress and mysql relate the mysql charm will call23:42
davecheneyunit-get private-address23:42
davecheneyto obtain it's private ip address and pass that via the relation to wordpress23:42
maxcani see23:43
maxcankind of violates the principle of least access but if all the charms expect that, not much to do23:43
maxcanfor the charms i'm using and writing (mongo and internal) it could be accomplished23:44
maxcannext question, is it possible to add-units to a service using a newer revision of the charm without upgading the running instances?23:45
davecheneymaxcan: no23:45
davecheneyadd-unit always uses the version of the charm that is cached in the state23:45
maxcanhm23:45
davecheneyie, add-unit always depliys the same version of the charm23:45
davecheneyi know what you are trying to do23:45
davecheneyjuju doesn't support smoke test upgrades at the moment23:46
davecheney s/smoke test/rolling/23:46
maxcanso if i have 20 app servers and hit upgrade charm, will they be done serially or in parallel?23:48
davecheneyparallel-ish23:48
davecheneywe wave our hands and say juju is asynchronus23:48
maxcanthat seems not good-ish23:48
davecheneyso the only guarnetee is all the units will process the upgrade charm request23:49
maxcanzero downtime deploys would be nice23:49
davecheneya. eventually23:49
davecheneyb. before doing any other relation events23:49
davecheneymaxcan: for zero time upgrades we recommend having two environments23:49
davecheneyeg. omgubuntu has two environments, A and B, upgrade A, making it the primary B bcomes staging23:50
davecheneyupgrade B it becomes the primary and A becomes staging23:50
davecheneyie is difficult for juju to handle zero downtime upgrades because juju is not a process manager23:50
davecheneyie, it doesn't know the state of processes, only the agents which run comments23:50
davecheneycommands23:50
maxcanthat wouldn't work for us, we'd have to move our mongo cluster23:51
marcoceppi_there's definitely room to for a subordinate charm to do zero downtime upgrades, but you'd have to not use upgarde-charm and instead opt for a configuration option on your service (ie a version configuration option)23:51
davecheneyanother option is to create two services23:51
maxcanso, for us, we dont need process managers because we're happy to have immutable app servers23:51
davecheneymarcoceppi_: yeah, that is what I think the openstack chamrs do23:51
maxcani.e. spin up 10 servers with version 2, when their started, kill the 10 servers with version 123:52
davecheneymaxcan: you'd have to do that as two services23:52
marcoceppi_right, they tack version as a configuration option and only use upgrade-charm when the charm's code changes. So you can juju set version="whatever"; then have your charm perform leader election and perform rolling upgrade execution23:52
maxcanaaaahhh23:52
maxcannow it all makes sense23:53
davecheneymaxcan: i don't know if the mongo db charm would give out the smae credentials on two different relations23:53
davecheneyi suspect it would not23:53
maxcanessentially version my services23:53
marcoceppi_davecheney: probably not23:53
marcoceppi_maxcan: yes, the openstack charms do this and several others (discourse comes to mind)23:53
davecheneymaxcan: so possibly in that scenario you have two services, one with zero units, the other with 1023:53
davecheneyupgrade-charm on one service23:53
davecheneythen add units to it, and remove units from the other one23:53
davecheneyor have 10 in each23:54
davecheneyand just have a big red button on your load balancer that switches the load from one service backend to another23:54
marcoceppi_maxcan: here's an example of the configuration options for discourse23:54
marcoceppi_http://manage.jujucharms.com/~marcoceppi/precise/discourse and http://manage.jujucharms.com/~marcoceppi/precise/discourse/config23:55
maxcanthanks!23:55
maxcandavecheney: perfect23:55
marcoceppi_If you decouple the application upgrade process from the charm upgrade process you no longer have to rely (as much) on juju to perform the upgrade and can implement your own upgrade logic via the peer relation and config-changed23:56
maxcanmarcoceppi_: we kind of have.  our install hook pulls a docker image from s3, so if that is updated, even wtihout the charm being updated, we'll get a new version23:57
marcoceppi_cool23:57

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