[00:01] <babbageclunk> no, it'll be in the api package - this is the kind of thing I was thinking of: https://github.com/juju/juju/blob/develop/api/controller/controller_test.go#L375
[00:01] <babbageclunk> veebers: ^
[00:07] <veebers> babbageclunk: excellent, that looks to be exactly what I want, thanks!
[00:08] <babbageclunk> cool
[00:58] <[Kid]> anyone had issues with juju deploying openstack on hosts that have shared storage?
[00:58] <[Kid]>  hook failed: "mon-relation-changed" for ceph-mon:osd
[00:58] <[Kid]> https://paste.ubuntu.com/p/Y6Hh758CPQ/
[01:02] <vino> babbageclunk: i have added unit test cases for verifying systemd failure and addressed review comments
[01:02] <babbageclunk> babbageclunk: ok, taking a look now
[01:02] <babbageclunk> doh, I mean vino^
[01:02] <vino> babbageclunk: the push is still going on :)
[01:03] <vino> its done..
[01:45] <vino> babbageclunk: I am working on PR: https://github.com/juju/juju/pull/8670
[02:21] <veebers> anastasiamac, babbageclunk: If you have a quick moment I would love a hand with this test, trying to do something similar to what babbageclunk linked above, but for api.Client (It currently doesn't have the option to pass in a apicaller at client creation, so I can't inject the best api version value)
[02:21] <anastasiamac> veebers: lemme find u an equivalent in api tests :) gimme a sec...
[02:22] <veebers> anastasiamac: cheers, I've looked but couldn't find one that would let me test FindTools returning the right error
[02:23] <anastasiamac> veebers: k, mayb m not understanding what u r after... i thought u wanted something similar to what's in https://github.com/juju/juju/blob/develop/api/caasunitprovisioner/client_test.go#L27
[02:26] <veebers> anastasiamac: something like that is what I was hoping for, wanting to test https://github.com/juju/juju/blob/develop/api/client.go#L284 but the current tests (example) https://github.com/juju/juju/blob/develop/api/client_test.go#L55 getting a Client I'm not sure if I can passing an APICaller so I can set best api version
[02:29] <babbageclunk> veebers: sorry, otp
[02:29] <anastasiamac> veebers: have u tried patching  a facade call (here best version) similar to https://github.com/juju/juju/blob/develop/api/client_test.go#L208
[02:30] <anastasiamac> veebers: the same test file, line 333 has another patch example...
[02:32] <anastasiamac> veebers: but geenral comment - we are not too thrilled to have JujuConnSuite based tests anywhere but in featuretests pkg... maybe the work u r doing, at least the tests, should reside in a new suite that complies with current standards? :D
[02:32] <anastasiamac> veebers: m happy to discuss \o/
[02:38] <veebers> anastasiamac: that patch example is pretty much my backup of what I wanted to do, but don't want to make people non-thrilled :-|
[02:39] <veebers> anastasiamac: perhaps I'll implement the test this way and we can chat about a better way once i've added it to my PR?
[02:43] <babbageclunk> veebers: oh wow, sorry - I didn't realise those tests were using JujuConnSuite.
[02:46] <babbageclunk> veebers: The simplest thing is probably what anastasiamac suggests - make a new suite that works like the controller test I linked to, and just has one test for the version check.
[02:47] <anastasiamac> veebers: babbageclunk +1 on a new suite :D
[02:48] <veebers> anastasiamac, babbageclunk ok I'll give that a whack. New suite in the api/client_test.go file/
[02:48] <veebers> ?
[02:48] <babbageclunk> veebers: yup
[02:49] <babbageclunk> veebers: use that controller test one as an example - the gc.Suite call is important to register it. I don't think you'll need a setup or anything either.
[02:49] <anastasiamac> veebers: purest opinion - each suite deserves its own file :) but i can b swayed
[02:49] <babbageclunk> I think that's overkill :)
[02:49] <veebers> ack, ack I'll give it a whack
[02:49] <anastasiamac> like i said :D
[02:50] <anastasiamac> "purist" does not always mean "worth in practice" :D
[02:51] <babbageclunk> Then you're a realist like me, we just disagree about exactly where the line is!
[02:53] <anastasiamac> babbageclunk: one of the best things that vino siad to me "when ppl disagree, they progress [when trying to find a solution together]" :D i LOVED it
[02:54] <anastasiamac> veebers: and fwiw, m *thrilled* u r  working in (and with) juju codebase \o/ really...
[02:55] <vino> :)
[02:55] <veebers> anastasiamac: ^_^
[02:55] <babbageclunk> anastasiamac: true - if we all agreed it would just mean that we suffered from groupthink
[02:57] <anastasiamac> babbageclunk: but on a srs note, m looking at a _test* file  2,779 lines long.... surely this is insane in any book :D
[02:58] <babbageclunk> ugh
[02:59] <veebers> anastasiamac: yeah that's crazy, someone should have removed 2 lines to make it 2,777 lines. That number looks *heaps* nicer
[02:59] <veebers> (or ultimately remove 555 lines to make it even nicer ;-))
[02:59] <anastasiamac> veebers: i was thinking to round it up to 3K :) surely 000s r prettiest :D
[03:00] <anastasiamac> veebers: yeah or to round down as u suggest :)
[03:01] <veebers> anastasiamac: true, but that would mean adding more lines. Perhaps a bunch of: /**********************************\n * This is a comment\m ***************************************/
[03:02] <anastasiamac> nice :0 yes, i love this pseudo-latin that gets added everywhere as an example text... worth having our copy in this file :D
[03:32] <veebers> sorry anastasiamac, babbageclunk I've hit a blank. The controller client can be created with controller.NewClient(apiCaller), but api.Client cannot (from what I see) there is only this; https://github.com/juju/juju/blob/develop/api/state.go#L264
[03:34]  * anastasiamac looking
[03:36] <anastasiamac> veebers: do u have a sec to ho?
[03:37] <veebers> anastasiamac: I sure do, standup?
[03:37] <anastasiamac> veebers: yes! let's
[03:38] <babbageclunk> veebers: oh man, I'm sorry - this is way more difficult than I'd have expected. In the end I don't think it's essential to have a test for this.
[03:41] <anastasiamac> babbageclunk: u r hurting my ears :(
[03:42] <babbageclunk> I'm just not sure it's worth it. And while I was looking for a good example I found lots and lots of API clients that were checking the facade version but didn't have tests for it.
[03:46] <anastasiamac> babbageclunk: i think that we r also leaning out client so that we can burn it away altogether... so i agree, if veebers will enjoy the exercise of figuring out how to test client without JujuCOnnSuite (for example by mocking the state call that return Client()), then he'll b pioneering a new territory... if however, it gets too furstrating, let it go...
[03:50] <babbageclunk> yay!
[04:07] <veebers> babbageclunk: this being a facade ver change, it needs to get in for the beta2 release so it can make it into 2.4 right?
[04:15] <anastasiamac> veebers: babbageclunk: we prefer not to bump facade versions in point releases, so it's bets of it's in before 2.4.0
[04:15] <anastasiamac> and , of course, the more test driving it gets, the better...
[04:16] <anastasiamac> so the earliest u can but may b not strictly a  must for 2.4-b2?..
[04:16] <veebers> anastasiamac: if we go b2 -> rc -> rc I'll def need it in b2 :-)
[04:17] <anastasiamac> it'd b nicer, yes
[05:21] <veebers> anastasiamac, babbageclunk: I got a solution for that test (thanks anastasiamac) It's pretty barebones in that it only allows to test for the failure I was looking for. Could I get a re-review when you're free?
[05:22] <babbageclunk> veebers: looking now
[05:22] <veebers> thanks babbageclunk, I'm sure sometime in the future I'll leave you alone so you can actually get your stuff done ^_^
[05:24] <babbageclunk> veebers: yeah, that looks great! Did anastasiamac tip you off about export_test?
[05:24] <veebers> Query, whats' needed for a charm to handle an upgrade? For instance setting up mediawiki related to a db works (status goes from blocked (needs db) -> started) do an update and status changes to blocked (needs db) but the application continues to work (i.e it's not blocked)
[05:24] <anastasiamac> babbageclunk: noooo, veebers figured it all by himself... i was watching the magic
[05:24] <babbageclunk> smooth
[05:24] <veebers> hah, I had help from anastasiamac, she pointed me in the right dir
[05:26] <babbageclunk> veebers: hmm, not sure why the status says it's blocked if it's connected to the db
[05:27] <veebers> babbageclunk: yeah, I suspect (based on something wallyworld said) that the charms not handling the hooks properly when things get updated? (I'm not sure what exactly gets re-fired etc.)
[05:36] <babbageclunk> veebers: yeah, that sounds plausible - I think it's config-changed?
[05:50] <veebers> babbageclunk: cool thanks. I may have a look as it'll make this CI test change easier
[09:25] <TheAbsentOne> If I get the message "clear_flag" unknown does that mean I have a version issue? Also how do I properly check the version of reactive framework/juju?
[09:57] <TheAbsentOne> wow client crashed >.>
[10:34] <TheAbsentOne> kwmonroe you here by any chance?
[10:46] <TheAbsentOne> nvm fixed it!
[11:02] <TheAbsentOne> is charms reactive tool from pip broken?
[11:36] <TheAbsentOne> is adam gandelman on this Irc?
[11:38] <rick_h_> TheAbsentOne: shouldn't be broken from pip. What's the issue?
[11:40] <TheAbsentOne> I installed charms.reactive but when I try to run ``charms.reactive -p get_flags`` I get invalid syntax error and some traceback
[11:40] <TheAbsentOne> rick_h_
[11:40] <TheAbsentOne> same with a --help
[11:40] <rick_h_> TheAbsentOne: this is run via juju run on a unit or something?
[11:41] <rick_h_> TheAbsentOne: it's a library, not a command line client. I'm not following what you're trying to do here.
[11:42] <TheAbsentOne> I tried to do this: https://jujucharms.com/docs/2.2/developer-debugging rick_h_
[11:43] <TheAbsentOne> but allow me to ask how I can retrieve a list of all flags?
[11:43] <rick_h_> TheAbsentOne: so I'm confused. corey_fu is setting me straight
[11:43] <rick_h_> TheAbsentOne: looking at it, sec
[11:44] <rick_h_> TheAbsentOne: so you installed charms.reactive from pip in what fashion?
[11:44] <TheAbsentOne> first with pip install charms.reactive, then with pip3 - same issue
[11:44] <TheAbsentOne> https://pastebin.com/8X6c2iEX rick_h_
[11:44] <rick_h_> TheAbsentOne: ok, that's not python 2 compatible
[11:45] <rick_h_> TheAbsentOne: so let's try something
[11:45] <rick_h_> TheAbsentOne: run `sudo updatedb` and then once that completes `locate charms.reactive | grep bin` and see what comes out
[11:46] <TheAbsentOne> ahn I uninstalled with pip and reinstalled with pip3 and it seems to fix it
[11:48] <TheAbsentOne> I do get an empty list though :( thanks for the help rick_h_
[11:49] <rick_h_> TheAbsentOne: huh, well I messed something up then because you're clearly running something with charms.reactive
[11:49] <rick_h_> TheAbsentOne: try this `which charms.reactive`
[11:49] <TheAbsentOne> ohn but the locate command found stuff, under usr/local/bin
[11:50] <TheAbsentOne> and in my home folder too rick_h_
[11:50] <rick_h_> TheAbsentOne: ok, so now let's see what `ls -al /usr/local/bin/charms.reactive` shows
[11:51] <rick_h_> TheAbsentOne: yea, basically when you pip3 installed it there should be another version that is py3 and should work around somewhere
[11:51] <rick_h_> TheAbsentOne: so I'm trying to find the py3 so we can test it out
[11:51] <TheAbsentOne> the command returns nothing interesting only the file itself
[11:52] <TheAbsentOne> but there is a charms.reactive.sh right? Isn't that what you are looking for?
[11:53] <TheAbsentOne> rick_h_: https://www.dropbox.com/s/d5ejpkz49frlwvk/tempclicharms.png?dl=0
[11:54] <rick_h_> TheAbsentOne: so let's try the one in your local directory and see if that works
[11:54] <rick_h_> TheAbsentOne: the other thing might be we can edit the .sh script and point the top of it to python3 vs python2
[11:56] <TheAbsentOne> but right now the command is running fine rick_h_ or is it something else you want to figure out?
[11:56] <rick_h_> TheAbsentOne: ok, if it's running fine now okie dokie
[11:57] <TheAbsentOne> unless I can help you with something about it? ^^
[11:57] <TheAbsentOne> say rick_h_ do you want to give a quick look at something
[11:58] <rick_h_> TheAbsentOne: shoot
[11:59] <TheAbsentOne> rick_h_: So I'm creating a charm that uses the mysql-shared interface and the apache-layer to deploy apache and setup some pages in a wordpress like way. But it seems the mysql charm doesn't properly accept my request
[11:59] <TheAbsentOne> https://pastebin.com/4znUZhvv this is my charm's heart
[12:01] <rick_h_> TheAbsentOne: so does the apache unit have the default apache index page when you get it running at /index.html?
[12:04] <TheAbsentOne> rick_h_: I assumed that worked (as I did a similar thing before) but nope, weirdly enough it installs the pages correctly but the service doesn't get started for some reason
[12:04] <rick_h_> TheAbsentOne: did you expose apache?
[12:05] <rick_h_> TheAbsentOne: is this on a public cloud with all ports closed by default and you'd need to use expose to open the port for the charm?
[12:07] <TheAbsentOne> no public cloud (vmware cluster only accessible with a vpn) but I exposed it yeah
[12:08] <TheAbsentOne> let me start the service manually
[12:08] <rick_h_> TheAbsentOne: I mean I'd start with testing can you get the normal apache charm to work out and serve out the basic page on there first. Then look at how the charm works vs the layer and see what you might need to pull/copy
[12:11] <TheAbsentOne> rick_h_: Yeah exactly I got that working before, I'll come back to you when I fix it. I'm just a bit confused right now. When I try systemctl restart apache2 I get asked for a password, is there a default password juju uses for things like this?
[12:12] <rick_h_> TheAbsentOne: did you sudo do it?
[12:12] <TheAbsentOne> Urgh >.> I'm really not paying attention thx rick_h_
[12:12] <rick_h_> TheAbsentOne: sorry, let me know if I can help. I'm tossing around different sessions at a sprint but I'll try to check in
[12:13] <TheAbsentOne> so basicly when I do that, the apache layer stuff is fine, this means I have to do it in a hook I guess
[12:13] <TheAbsentOne> np rick_h_ thanks for helping out!
[12:13] <rick_h_> TheAbsentOne: yea, might have to restart I guess if you change something there and the charm is doing it but that's not baked into the layer
[12:14] <TheAbsentOne> exactly, I'll put the repository on github soon too, will make things easier to correct! After lunch ;) talk to you in a bit rick_h_
[14:35] <TheAbsentOne> https://pastebin.com/gRcQJ3Dg do you need something more then this: ``database.configure('proto', 'admin', 'admin', prefix="proto")`` for the mysql-shared interface? Can't figure out why mysql charm is failing here
[16:16] <stub> Do we still care about precise support in charm-helpers ?
[20:13] <TheAbsentOne> could someone explain me why there is no interface:http in the vanilla tutorial/example layer-charm (https://jujucharms.com/docs/2.3/developer-layer-example)
[20:14] <TheAbsentOne> and a provides: with that interface
[20:25] <veebers> Morning team o/
[20:44] <TheAbsentOne> nvm my question, it's late here figured it out. Morning for you veebers goodnight for me ^^
[20:45] <veebers> Good night TheAbsentOne o/
[23:05] <veebers> if a charm does "juju-log" where can I see that log message? can I use juju debug-log or similar, do I need to jump onto a machine to see logs?
[23:45] <veebers> no, better question I know you can show the log of hooks run, but I can never remember how to do so
[23:49] <babbageclunk> veebers: I'm not sure off the top of my head. I think they'll be in debug-log, but in the log for the model rather than the controller (which is where I'm normally looking).
[23:49] <veebers> babbageclunk: ah, perhaps thats it. cheers