[07:20] <kjackal_> Good morning Juju world!
[08:07] <Spaulding> morning kjackal_
[08:39] <magicaltrout> https://jujucharms.com/docs/2.0/reference-releases <- not sure what the state of doc updates is, but that one is out of date
[09:30] <kjackal_> Thank you magicaltrout. Just oppented an issue ticket to track this: https://github.com/juju/docs/issues/1475
[09:37] <magicaltrout> what a treat
[09:38] <magicaltrout> kjackal_: you going to apachecon?
[09:39] <kjackal_> magicaltrout: nope, I do not think so!
[09:39] <magicaltrout> thank god
[09:40] <kjackal_> magicaltrout: god had nothing to do with it, it was all skill!
[09:40] <magicaltrout> lol
[11:22] <cargill> hi, I'm trying to destroy an old controller so that I can with a clean 2.0, but destroy-controller --destroy-all-models is just waiting and  kill-controller eventually says "unable to retrieve hosted model config: no such request - method Controller(3).HostedModelConfigs is not implemented (not implemented)"
[11:23] <cargill> it's local LXD, is there any way I can clear this up manually?
[11:24] <magicaltrout> just remove the LXD containers via the LXD commands and then remove the controller from ~/.local/share/juju/controllers.yaml
[11:24] <cargill> magicaltrout: what are the lxd commands? man lxd is not much help on this
[11:24] <magicaltrout> lxc stop ...
[11:25] <magicaltrout> lxc destroy
[11:25] <magicaltrout> sorry, lxc list first
[11:25] <cargill> oh, lxc tools, sorry
[11:25] <magicaltrout> to find the controller id
[11:31] <cargill> looks like it's gone now, thanks
[12:01] <SDB_Stefano> hi kjackal, can I ask your help ?
[12:01] <kjackal_> SDB_Stefano: hi, sure go ahead
[12:02] <kjackal_> SDB_Stefano: whats up?
[12:02] <SDB_Stefano> I'm working for www.scaledb.com and I'm working on the creation of a charm of our product scaledb (same name of the company).
[12:03] <kjackal_> Awesome!
[12:03] <SDB_Stefano> the objective is to instanciate  an app/unit and install on it our product.
[12:04] <SDB_Stefano> so I created the unit and than logging into it using 'juju ssh ude/..' I installed manually the product (2 deb pkgs)
[12:05] <SDB_Stefano> the installation went fine, but when I tried the start our engine it failed with the error :
[12:05] <SDB_Stefano> 2016-10-18 10:41:42 ScaleDB Message: [Warning] [IO Error] [File open failed] [OS error:] [22] [Invalid argument] [File Name:] [/usr/local/scaledb/data/direct_io_sector_size_data.dat.10127]
[12:05] <SDB_Stefano>  
[12:05] <SDB_Stefano>     ******************************** IO Error *********************************
[12:05] <SDB_Stefano>  
[12:05] <SDB_Stefano>     * 2016-10-18 10:41:42 File open failed                                    *
[12:05] <SDB_Stefano>     * File name: /usr/local/scaledb/data/direct_io_sector_size_data.dat.10127 *
[12:05] <SDB_Stefano>     * OS Error: 22 - Invalid argument                                         *
[12:05] <SDB_Stefano>     ***************************************************************************
[12:05] <SDB_Stefano> 2016-10-18 10:41:42 ScaleDB Message: [Warning] [IO Error] [File open failed] [OS error:] [22] [Invalid argument] [File Name:] [/usr/local/scaledb/data/direct_io_sector_size_data.dat.10127]
[12:05] <SDB_Stefano>  
[12:05] <SDB_Stefano>     ******************************** IO Error *********************************
[12:05] <SDB_Stefano>     * 2016-10-18 10:41:42 File open failed                                    *
[12:05] <SDB_Stefano>     * File name: /usr/local/scaledb/data/direct_io_sector_size_data.dat.10127 *
[12:06] <SDB_Stefano> so it seems it's not able to write into the fils /usr/local/scaledb/data/direct_io_sector_size_data.dat.10127
[12:06] <SDB_Stefano> the grant are fine
[12:06] <SDB_Stefano> and we use to install in Ubuntu without problems
[12:06] <SDB_Stefano> any suggestions ?
[12:06] <SDB_Stefano> I tried uwing Ubuntu 16, I'm trying right now using 14 (just for try a diffeent way
[12:06] <SDB_Stefano> )
[12:08] <kjackal_> SDB_Stefano: That is a strange error. Never seen it before.
[12:08] <kjackal_> SDB_Stefano: Lets see... do you have the charm somewhere so that I can try it myself?
[12:10] <SDB_Stefano> I'm testing/developing locally, I could send you a tar file
[12:10] <kjackal_> SDB_Stefano: why did you have to login into the unit and issue deb install?
[12:11] <kjackal_> SDB_Stefano: is the charm closed source?
[12:12] <kjackal_> I would prefer it to be somewhere on github, but if there is no other options I guess a tar would be fine
[12:12] <kjackal_> SDB_Stefano: ^
[12:12] <magicaltrout> also is local testing inside LXD? I assume so, if so can you just launch a LXD image and deb install it like usual?
[12:14] <SDB_Stefano> yes, I using a local dev environemnt on a Ubuntu 16 running in Vbox, so I'm using LXD
[12:14] <magicaltrout> looks to me like it might be open file limit or something like that imposed by the underlying OS or container
[12:15] <SDB_Stefano> at logging and doing the manual installation,as :
[12:15] <SDB_Stefano> 1- I'm at the first stage in using JUJu so it's a first step before the automation of all the steps into the hook/install
[12:15] <SDB_Stefano> 2- I'm using the previous version of our software that requeries an interactive input during the installation
[12:17] <kjackal_> SDB_Stefano: I see! Where can I find the installation instructions you are following?
[12:17] <SDB_Stefano> out pkg set the ulimit  during the installation :
[12:17] <SDB_Stefano> /etc/security/limits.conf
[12:17] <SDB_Stefano> scaledb soft nofile 65536
[12:17] <SDB_Stefano> scaledb hard nofile 65536
[12:18] <SDB_Stefano> so it is  after the installation :
[12:18] <SDB_Stefano> ulimit -n
[12:18] <SDB_Stefano> 65536
[12:19] <SDB_Stefano> I'm going to prepare all the needed, give me some minutes.
[12:22] <kjackal_> BTW SDB_Stefano you do not have to fight by yourself. If you sign a partnership http://partners.ubuntu.com/programmes/charm yu will get "Tailored training on Charm creation and best practices", and I do not think it costs anything
[12:22] <magicaltrout> it does not
[12:22] <kjackal_> SDB_Stefano: But thats another story, lets see what we can do with the charm first :)
[12:24] <SDB_Stefano> ok, I will talk about that to my manager, thanks fr the adivce.
[12:31] <rock> Hi. we developed "cinder-storage driver" charm. Our charm dependent on Github. During the execution of the charm it will go and get latest files from Git and it will keep those files in cinder node. We will deploy our charm post deployment of Openstack setup. So during execution of our charm it was giving "git ERROR"[Like git is not there].
[12:32] <rock> For some juju openstack setups , cinder node already has git service .
[12:33] <magicaltrout> you don't want to add your files as charm resources rock?
[12:35] <magicaltrout> anyway, i dunno how you're pulling your stuff but I guess you need to install the git package during the install hook
[12:46] <rock> magicaltrout: Hi. Thanks. I have that option. But apart from that do we have any other option?
[12:46] <neiljerram> Afternoon all, I have a question about running Juju (2.0) on GCE: is it possible to configure Juju so that it does _not_ allocate a GCE External IP for each machine?
[12:46] <magicaltrout> apart from installing git?
[12:48] <rock> magicaltrout: Yes. Apart from installing "git"  as part of install hook. [If already "git" is there it will not install git otherwise it has to install "Git".
[12:49] <magicaltrout> I don't know what you're asking any more. If you need to use git, you have to install git, in which case you can use layer-apt to install git... or not.
[12:54] <rock> magicaltrout: Do we have juju charm for "git"?
[12:55] <magicaltrout> https://github.com/jamesbeedy/layer-git-deploy.git
[12:55] <magicaltrout> that probably does what you want
[12:55] <magicaltrout> and if not, you can install git using layer-apt
[12:56] <magicaltrout> https://git.launchpad.net/layer-apt
[13:04] <rock> magicaltrout: Hi. If I go for "layer git", Just I need to create layer.yaml file and in that I have to mention that "git" under apt:  packages : right?
[13:05] <rock> Then when we deploy charm it will automatically execute that git package right.
[13:18] <kjackal_> SDB_Stefano: there?
[13:18] <kjackal_> SDB_Stefano: where do you see the error you reported above?
[13:20] <SDB_Stefano> the deploy is ok - the manual installation should be executed after the deploy
[13:20] <SDB_Stefano> I have attached a readme in the email with the steps
[13:20] <SDB_Stefano> at the step : scaledb-one init
[13:20] <SDB_Stefano>  
[13:20] <SDB_Stefano> it fails
[13:20] <SDB_Stefano> the log is available : cat /usr/local/scaledb/tmp/cas*
[13:30] <Spaulding> Hm, how I can set up ports to expose for juju? Is there a variable for that?
[13:33] <kjackal_> Spaulding: There is a call you have to do to tell juju what to expose. Just a sec
[13:34] <kjackal_> Spaulding: What language? Python?
[13:35] <kjackal_> Spaulding: for bash there should be open-port like they do here: https://jujucharms.com/docs/1.25/authors-charm-writing
[13:36] <Spaulding> kjackal_: thanks, but I've found that there is a variable provides in metadata.yaml
[13:36] <Spaulding> provides:
[13:36] <Spaulding>   website:
[13:36] <Spaulding>     interface: http
[13:36] <Spaulding> y
[13:36] <Spaulding> something like that
[13:36] <magicaltrout> thats the relations Spaulding
[13:36] <magicaltrout> you wont' expose anything with that
[13:37] <kjackal_> Spaulding: https://pythonhosted.org/charmhelpers/api/charmhelpers.core.hookenv.html?highlight=port#charmhelpers.core.hookenv.open_port
[13:38] <Spaulding> magicaltrout: kjackal_ thx
[13:38] <Spaulding> why Juju docs are so confusing? :/
[13:39] <magicaltrout> better confusing docs than lack of docs
[13:39] <Spaulding> magicaltrout: sad but true
[13:39] <magicaltrout> the boss of the docs is evilnickveitch have a word with him :)
[13:42] <evilnickveitch> Spaulding, I agree that some of the charm developer docs are confusing! But we moved to a completely new way to write charms
[13:43] <Spaulding> Is this new way is a good way?
[13:43] <evilnickveitch> Spaulding, you should start here: https://jujucharms.com/docs/2.0/developer-getting-started
[13:43] <magicaltrout> better than the old way! ;)
[13:43] <evilnickveitch> well, it's a better way :)
[13:44] <Spaulding> I hope it's not dead end... :)
[13:45] <magicaltrout> the reactive charms are infinetly better than the non reactive charms
[13:45] <magicaltrout> but of course the old stuff still exists, so the docs do as well
[13:45] <Spaulding> btw. Anyone of you guys are going to OS Barcelona?
[13:46]  * magicaltrout isn't hipster enough
[13:46] <Spaulding> reactive is for sure more flexible
[13:47] <Andrew_jedi> http://askubuntu.com/questions/777475/ceph-drive-failure-and-replacement-procedure
[13:47] <Andrew_jedi> Are there any Ceph folks here ?
[13:48] <magicaltrout> you're probably better off in #openstack-carhsm Andrew_jedi
[13:48] <magicaltrout> er
[13:48] <magicaltrout> openstack-charms
[13:48] <Andrew_jedi> magicaltrout: Thanks :)
[14:17] <cargill> is there a way yet to find which charms use a given layer?
[14:20] <Spaulding> ok, so 1st part of my charm is done...
[14:20] <Spaulding> i got lamp+appliance...
[14:20] <Spaulding> now i need to handle mysql relation...
[14:20] <magicaltrout> don't think so cargill you can look up interfaces but I've not seen a layer search
[14:20] <Spaulding> to add / fill the db
[14:20] <lazyPower> Spaulding congrats on completion :D
[14:20] <Spaulding> any tips how to do it in a good way?
[14:20] <lazyPower> well, first step completion
[14:21] <Spaulding> I'll try to see how it's done on "wordpress" or any other PHP app charm
[14:21] <lazyPower> Spaulding - there are a few examples. typically you just need the mysql-client package, and then run your migrations or use whatever language tools to run migrations.
[14:21] <lazyPower> not sure if you're using laravel or symphony or cake - i know those three have utilities to aid in db migrations.
[14:22] <shruthima> hi kwmonroe , For IBM-IM charm we have modified with a simple series check code and tried to test it but trusty machine is not getting created on s390x it is going to pending state .. how to go ahead
[14:22] <lazyPower> cargill - you can pull the charm and run `charm layers`
[14:22] <lazyPower> cargill if its a reactive charm, it'll read the build manifest and tell you what layers assembled the charm
[14:22] <cargill> lazyPower: yes, but I'm looking at the reverse
[14:22] <cargill> given a layer, ask "what charms use this layer?"
[14:23] <magicaltrout> Spaulding: https://github.com/johnsca/juju-relation-mysql
[14:24] <lazyPower> cargill - ah, no i dont think we have any graphs of that put together.
[14:24] <cargill> mostly laziness at the moment, trying to find a charm that uses the nginx layer to band up a few http endpoints from the server under for same server
[14:25] <kwmonroe> interesting shruthima, i hadn't considered that the base OS would need to be present before the charm can assert "series / architecture mismatch".  i'll need to think about that one a bit more..
[14:26] <cargill> lazyPower: is there a service that lets you examine the metadata/layer/.. yamls for all charms in the store?
[14:26] <cargill> or plans for one?
[14:26] <cargill> that would provide exactly that
[14:26] <lazyPower> cargill - the charm store api will give you a file list of whats in the charm, and you can then use the API links to pull the metdata/layer.yaml from the API.   the charm store already provides this functionality
[14:26] <lazyPower> but you would need to write the glue code to make it as concise as you're outlining.
[14:26] <shruthima> kwmonroe: ok if any other way please mail us thank you
[14:27] <lazyPower> cargill - as an example, http://jujucharms.com/u/containers/kubernetes-master   -- there's a file list on the right side you can click on and view the contents of that charms files using the API
[14:27] <lazyPower> https://api.jujucharms.com/charmstore/v5/~containers/kubernetes-master/archive/metadata.yaml
[14:28] <cargill> lazyPower: that's a lot of scraping first, isn't it? as in: you can't ask "show me all layer.yaml's provide keys" without downloading all those files first?
[14:28] <lazyPower> nope
[14:28] <lazyPower> at least not as the api exists today
[14:28] <Spaulding> magicaltrout: wow, that looks nice!
[14:28] <Spaulding> thx again!
[14:29] <magicaltrout> thats why reactive stuff exists ;)
[14:33] <cargill> lazyPower: are there rate limits in the charm store or another reason why setting up a scraper wouldn't be advisable?
[14:33] <lazyPower> cargill - it may be prudent to mail the list so we can start that conversation, and filing a bug would be a good start to having that added to teh teams roadmap
[14:33] <Spaulding> so i just need to add this to includes
[14:33] <Spaulding> as "interface:juju-relation-mysql" ?
[14:33] <lazyPower> cargill let me poke the store maintainer to see if there's any feedback there, one moment
[14:33] <magicaltrout> Spaulding: you include it in layer.yaml
[14:34] <magicaltrout> then use something like the snippet on the readme to get the username/password/url etc
[14:34] <magicaltrout> when a relation to mysql is joined
[14:34] <Spaulding> I'm checking that! :)
[14:34] <magicaltrout> at which point its then up to your charm to action on that
[14:34] <magicaltrout> so like lazyPower said, you might plumb it into mysql client
[14:34] <magicaltrout> you might write it to a config
[14:34] <magicaltrout> you might do both
[15:22] <lazyPower> cargill i'm having some trouble getting a straight answer, so still investigating.
[15:23] <cargill> lazyPower: I've sent an email to the mailing list
[15:23] <cargill> so you have something to reference as well
[15:23] <lazyPower> ok, thats probably for the best in terms of visibility. Thanks
[15:24] <cargill> (at least I hope it's reached the list)
[15:24] <cargill> it has
[15:54] <skay> I'd like to have a charm that is able to configure lxd on the machine it creates. https://github.com/checkbox/pmr-configs/tree/master/charms/xenial/cert-pmr
[15:54] <skay> I'd like to add the steps to do that to that charm
[15:54] <skay> it is possible to set up lxd automatically like I want?
[15:56] <skay> that charm sets it up so that when we merge branches a hook can run that starts a container and runs some tests
[15:57] <skay> previously people used old lxc. I'd like to use the new lxd stuff instead
[15:57] <skay> I've got it working manually on my laptop and want to automate it
[15:58] <skay> I want to charmify it
[17:05] <lazyPower> Cynerva ryebot - re: kubectl get pv --all-namespaces, was this 1.4.0 or 1.4.1?   that historically worked on 1.4.0.....
[17:53] <Cynerva> lazyPower: looks like kubectl 1.4.0
[18:01] <ryebot> marcoceppi lazyPower standup?
[18:06] <marcoceppi> ryebot: no
[18:14] <Baqar> opps sorry for spamming
[18:14] <Baqar> opps sorry for spamming
[18:37] <lazyPower> Baqar if its any help, i didn't see any spam from you.
[19:02] <Cynerva> Is there a way to set default model constraints? I see there's a `juju set-model-constraints` command for one model, but I'd like to set a default for newly created models as well.
[19:27] <marcoceppi> Cynerva: yes, `juju model-defaults`
[19:27] <marcoceppi> Cynerva: if you provide key=val to that it'll set the defaults for new models
[19:27] <marcoceppi> Cynerva: you can also provide defaults when bootstrapping
[19:29] <Cynerva> marcoceppi: cool thanks
[19:41] <cory_fu> petevg: Correction to running test_prog: You have to actually activate the .tox env, not just run matrix from the bin dir
[19:42] <cory_fu> I think
[19:42] <cory_fu> Hrm.  No, that's not working for me now, either
[19:42] <petevg> cory_fu: well, yes. Or build a virtualenv with all the stuff installed. The .tox enviroment is convenient, though.
[19:43] <petevg> cory_fu: what error are you getting?
[19:44] <cory_fu> petevg: I needed to rebuild my tox env.  Doing that made it work without full activation
[19:44] <cory_fu> petevg: Error I was getting was: pkg_resources.DistributionNotFound: The 'matrix' distribution was not found and is required by the application
[19:45] <petevg> cory_fu: cool. It works for me, too.
[19:46] <petevg> ... and errors show up nicely in the log. Yay.
[19:48] <petevg> cory_fu: hrm. Deploy doesn't seem to be actually deploying anything when I run test_prog. Either that, or glitch isn't waiting for it to finish ...
[19:48] <cory_fu> petevg, bcsaller: It looks like the updated libjuju got dropped during my merge conflict resolution, so the deploy probably isn't working for you
[19:48] <cory_fu> ha
[19:48] <petevg> Aha.
[19:49] <cory_fu> petevg: Let me update the wheelhouse in master real quick
[19:49] <petevg> cory_fu: cool.
[19:50] <cory_fu> petevg, bcsaller: Pushed
[19:50] <bcsaller> thanks
[19:51] <petevg> thx :-)
[19:52] <cory_fu> bcsaller, petevg: Damnit.  That doesn't seem to have fixed it
[19:54] <petevg> cory_fu: huh. I get mysql deployed, but the rest of the mediawiki bundle.
[19:54] <cory_fu> petevg: Oh, ok.  I forgot to rebase my branch to the master I just pushed.  >_<
[19:54] <petevg> Yeah. Rebasing would be important :-)
[19:55] <petevg> (I did rebase, but I only see mysql deployed ...)
[19:55] <cory_fu> Yeah, also seeing that
[19:55] <cory_fu> Not sure why
[19:56] <petevg> cory_fu: AttributeError: module 'juju.client.connection' has no attribute 'rpc'
[19:56] <petevg> Want me to post the rest of the traceback?
[19:56] <cory_fu> petevg: This is what I'm seeing: http://pastebin.ubuntu.com/23345387/ (tvansteenburgh)
[19:57] <cory_fu> petevg: So, the error you got means the connection didn't get established.  Let me test on master.  One sec
[19:57] <petevg> cory_fu: Interesting. That's completely different than what I'm seeing.
[19:58] <petevg> cory_fu: http://paste.ubuntu.com/23345392/
[19:59] <petevg> (I also get errors from glitch about there not being a valid model, which suggests that it's not waiting for deployer to do stuff.)
[19:59] <cory_fu> Yeah, like I said, that means the juju_model doesn't have a connection, but I thought I fixed that
[19:59] <cory_fu> wth.  I swear this worked yesterday
[20:00] <cory_fu> Hrm.  And it does on my branch.  Let me see what I changed.
[20:00] <cory_fu> Ugh.  Nothing relevant
[20:01] <cory_fu> And, now it's failing on my branch too
[20:01] <petevg> Exciting!
[20:04] <cory_fu> tvansteenburgh: It looks like even after calling `await model.connect_current()`, `model.connection` is still sometimes None, but not consistently.  Any advice?
[20:06] <cory_fu> bcsaller: Just to confirm, deploy should never get triggered until `await self.run(context)` is called in `RuleEngine.__call__` right?
[20:07] <tvansteenburgh> cory_fu: i have never seen that. where's the code that's causing this?
[20:07] <bcsaller> cory_fu: I don't see how it could
[20:07] <cory_fu> tvansteenburgh: https://github.com/juju-solutions/matrix/blob/master/matrix/rules.py#L309
[20:08] <ryebot> What are best practices for shutting down services when applications are stopped/removed? My concern is that I'll have two or more applications running on the same machine using the same background service - if a charm stops that service on its stop hook, that would conflict with other charms depending on it.
[20:08] <cory_fu> tvansteenburgh: After that, during the `await self.run(context)` bit, it attempts to call `context.juju_model.deploy()` and it fails with petevg's stack trace
[20:10] <cory_fu> tvansteenburgh: I just realized that the stacktrace was very similar to the one I was getting when model.connection was None, but not the same
[20:10] <tvansteenburgh> cory_fu: one sec
[20:11] <tvansteenburgh> cory_fu, petevg: see how it does now (after pulling latest commit)
[20:12] <cory_fu> :)
[20:12] <cory_fu> One sec, rebuilding and trying
[20:13] <cory_fu> tvansteenburgh: Strange that it was inconsistent for me
[20:14] <cory_fu> tvansteenburgh: That fixed that one error, but I'm still getting the KeyError from my pastebin
[20:14] <cory_fu> petevg, bcsaller: matrix master updated with new libjuju
[20:14] <cory_fu> tvansteenburgh: It seems to be a timing issue, as it goes away as the services come up
[20:16] <cory_fu> tvansteenburgh: Full log: http://pastebin.ubuntu.com/23345468/
[20:16] <tvansteenburgh> cory_fu: ah, yeah, that logic is wrong, i'll need to do that a different way
[20:16] <cory_fu> Ok
[20:18] <cory_fu> petevg: With latest master, if you re-run it with the bundle already deployed, it should go w/o error
[20:19] <petevg> cory_fu: I'll try it w/ the bundle deployed (I see the KeyError when it isn't.)
[20:21] <tvansteenburgh> cory_fu, petevg: pushed fix for KeyError
[20:21] <petevg> tvansteenburgh: sweet. ty
[20:21] <tvansteenburgh> it should be done a little differently, but that'll get you unblocked for now
[20:39] <cory_fu> petevg, bcsaller: matrix master updated with tvansteenburgh's KeyError fix
[20:39] <cory_fu> tvansteenburgh: Thanks!
[20:39] <petevg> cory_fu: cool. thx. :-)
[20:40] <cory_fu> bcsaller: So, I'm now seeing the health rule stuck in "pending"
[20:41] <cory_fu> bcsaller: Also, how can I make the log portion of the TUI "window" taller?
[20:42] <cory_fu> nm, found it
[20:43] <bcsaller> cory_fu: also you can tail -F matrix.log, as well as use -s raw when running matrix
[20:43] <cory_fu> bcsaller: Yeah, but I like the fancy UI.  :)
[20:44] <bcsaller> cory_fu: oh, good :)
[20:44] <cory_fu> Also, the task_view is helpful
[22:14] <lazyPower> ryebot - i tend to agree with you. I feel thats a good question to ask on the list
[22:15] <ryebot> lazyPower: cool, thanks