/srv/irclogs.ubuntu.com/2020/10/22/#juju.txt

=== Linda1_00 is now known as LindaGuo
=== LindaGuo is now known as Linda1_00
=== Linda1_00 is now known as LindaG
=== LindaG is now known as Linda1_00
=== Linda1_00 is now known as LindaG
=== LindaG is now known as Linda1_00
=== Linda1_00 is now known as LindaGuo
=== LindaGuo is now known as LindaG
kelvinliuwallyworld_: got this pr to fix the destroy-controller hanging issue, could u take a look? ty https://github.com/juju/juju/pull/1217804:37
kelvinliuwallyworld_: https://github.com/juju/juju/pull/12179 got this PR for fixing one of the error in migration tests, +1 plz ty06:47
achilleasacan I get a quick CR on a clean 2.8->develop merge: https://github.com/juju/juju/pull/1218008:45
stickupkidachilleasa, swap you https://github.com/juju/juju/pull/1218109:00
eloxLook at the bottom of this official documentation: https://juju.is/docs/charm-writing/relations  (For a new user, its telling that there exist a single interface in the juju eco-system "mysql".09:09
eloxA new user would think that juju is really not ready.09:09
stickupkidProbably should be "mysql" is another interface example09:10
eloxI would really love some place where to find a more consistent and comprehensive place where to easily browse interfaces that exists.09:11
eloxI had a hard time writing this tutorial and got this as a comment from a user. That he had no clue on where to find interfances that exists and how to use them. https://discourse.juju.is/t/tutorial-relations-with-juju/363209:12
elox... so I started to look, and realized that I couldn't find any information except in random places on github and launchpad etc. with little or no consistent documentation.09:13
stickupkidhttps://jaas.ai/search?provides=elasticsearch09:13
stickupkidthat'll find everything that provides an elasticsearch interface09:13
eloxA new user will hit a wall here.09:13
stickupkidthat'll find everything that requires an elasticsearch interface https://jaas.ai/search?requires=elasticsearch09:14
stickupkidI really don't think we document that well at all and I agree09:14
eloxThats nice, but its not the way people would go ahead and find information and understand what is possible really.09:15
stickupkidI wonder if juju find (new command comming for searching charms) should offer that...09:15
stickupkidso is the problem understanding an interface or finding other charms that provide/require the interface?09:16
stickupkidI think we should do both better09:17
eloxI think that juju needs some kind of inventory which has a consistent presentation for things like "interfaces" to that any two different interfaces can be understood equally. The format of that information needs to be defined and presented in such a way that it can be replicated easily.09:17
eloxIf every interface is "different", the level of repetition will be low and cumbersome. A user then needs to "re-learn" every relation from what ever documentation is available or most likely by studying someone elses code. This is a very user-unfriendly path forward learning and using relations.09:19
stickupkidelox, I really think this discourse or bug worthy, it's really valid criticism that I don't want to loose09:20
eloxIt might be enough for expert level programmers, but for casual programmers, such as myself - I'm hitting a hurdle I have a very hard time getting over and most likely will produce bad code from.09:21
elox@stupidkid what do you propose?09:22
stickupkidthis discussion in discourse, explain what you've hit, what's wrong.09:23
=== rand is now known as oscar_0
eloxstupidkid: https://discourse.juju.is/t/interfaces-relations-and-how-to-help-casual-users-implement-them-in-juju/370009:37
=== salmankhan1 is now known as salmankhan
stickupkidachilleasa, updated10:01
oscar_0how does juju use images from a cloud? is there a way to list all images available in a cloud?10:02
stickupkidoscar_0, all the images for the clouds http://cloud-images.ubuntu.com/releases/streams/v1/10:03
oscar_0stickupkid: thanks10:04
stickupkidoscar_0, do I know if there is an easy way to list all the images for a given cloud, I'm unsure10:05
oscar_0stickupkid: but how do I use that repository with juju?10:06
stickupkidoscar_0, that's the default fall back cloud images repository10:07
stickupkidoscar_0, let me phrase another way, what are you wanting to do?10:07
oscar_0stickupkid: we want to run a specific version of centos due to certain applications. we have a VMware cloud that is hooked up with juju. but so far it only plays with ubuntu10:08
stickupkidoscar_0, you need to run this plugin - juju metadata10:09
stickupkidhttps://github.com/juju/juju/tree/develop/cmd/plugins/juju-metadata10:09
stickupkidsee here for more information, let me see if there is any documentation on this10:09
oscar_0stickupkid: thanks, I will explore that one10:10
stickupkidhttps://discourse.juju.is/t/new-feature-in-juju-2-8-add-custom-machine-images-with-the-juju-metadata-command/317110:10
stickupkidand https://discourse.juju.is/t/cloud-image-metadata/113710:10
oscar_0going to check those ones out10:11
oscar_0What kind of permissions does "juju metadata list-images" require? I'm getting "ERROR permission denied (unauthorized access)"11:07
stickupkidthat I don't know11:07
achilleasamanadart: potential fix for flaky TestStatusAllFormats https://github.com/juju/juju/pull/12182. Cannot get it to fail locally though so I can't verify it will do the trick :-(11:08
manadartachilleasa: Will look in a mo'. In the k8s meeting.11:09
stickupkidoscar_0, by the looks of it (I could be wrong here), it only lists images that you've added11:23
oscar_0stickupkid: I resolved the error. I was not properly logged in as controller admin11:28
oscar_0this "image-id" thing in add-image, is that one provided by the cloud provider?11:35
aluriacory_fu: hi o/ - would you have ~5min for a Q about queue handlers in the reactive framework?14:09
hmlstickupkid: with 12173, i get no password prompt on the qa - updated the pr14:14
stickupkiddepends how snap is stalled maybe?14:14
stickupkid*installed14:15
hmlstickupkid: just have classic confinment on the juju snap14:16
stickupkidsnap requires sudo for me14:16
stickupkidno idea why14:16
hmlme too for snap refresh snap info does not.14:16
hmlbut why doesn’t the test let me put in the password?14:16
hmloh, it expects the snap command to be run with sudo14:17
stickupkidyeah, I really don't want sudo in our tests, but may have too14:17
stickupkidgrrr14:17
hmlstickupkid: to test, i added sudo, didn’t fail imediately14:19
hmlwondering how the test will run in the ci environments14:19
stickupkidso sudo is fine as we'll be in a container14:20
petevg[m]I wonder if there's a group that we can add a user to in order to manage snapd ...14:21
petevg[m]Though if we're in a container, I guess it doesn't matter.14:21
hmlstickupkid: does the pr need to be rebased after the other pr landed?14:24
hml   | ==> Current juju version 2.8.514:24
hml    | ERROR no matching agent versions available14:24
=== salmankhan1 is now known as salmankhan
stickupkidhml, I added sudo and it worked for me15:28
stickupkidhml did you run make go-install after you downloaded the branch?15:28
hmlstickupkid: i did15:29
cory_fualuria: Hey, sorry I missed your ping earlier; I was out voting.  Do you still have a question?15:41
aluriacory_fu: hey, nw! yes, the Q is how the order in which handlers are triggered is decided - in  https://pastebin.ubuntu.com/p/Cs23QJrkKT/ -> a @hook("config-changed") function (line 14) removes a state and several handlers are queued (lines 24-30)... the "setup_grafana" handler should have been run before "configure_sources"... and so it is in focal and bionic, but the pastebin runs on xenial15:43
aluriaI think it would be much safer on the side of the charm to trigger handlers one by one, in sequence, rather than in parallel... but I wanted to understand why the above was an issue in Xenial but not in Bionic nor Focal15:44
cory_fualuria: Handlers are run one at a time, and there's a phase for @hook handlers to run before non-@hook handlers, but the specific order of hooks within a phase isn't well defined.  Specifically, it depends on file discovery, module attribute, and dict ordering.  The difference between series is probably due to the change in dict ordering stability in newer versions of Python (officially in 3.7, unofficially in CPython 3.5 and 3.6), but there is15:49
cory_fustill some potential for the order in which files are discovered to change it.15:49
cory_fuIf a given handler needs to run after another one, you should have the earlier one set another flag that the later one can gate off of, or just call it directly.  Or, better yet, start using the new framework.  ;)15:50
aluriacory_fu: hehe, cheers very interesting. Where is the queuing of handlers defined in https://github.com/juju-solutions/charms.reactive/tree/master/charms/reactive ?15:51
aluriahttps://github.com/juju-solutions/charms.reactive/blob/master/charms/reactive/bus.py#L9415:52
cory_fuYeah, that's where all the registered handlers are stored, and then dispatch function tests them and runs the one whose conditions match: https://github.com/juju-solutions/charms.reactive/blob/master/charms/reactive/bus.py#L38415:53
aluriaack, ty15:54
cory_fualuria: Hrm.  Odd, though.  Xenial has 3.5, and even if the order of the registered handlers was unstable (the order in which the trace message for the handler being queued is logged ought to be the same as the order they are invoked, because by that point they're converted to a list: https://github.com/juju-solutions/charms.reactive/blob/master/charms/reactive/bus.py#L35115:59
cory_fuStill, I wouldn't recommend relying on any expected ordering of the handlers without enforcing it with an explicit flag condition.  In this case, it seems like the other handlers should explicitly gate on the grafana.configured flag16:03
cory_fuOr maybe config_changed should also clear grafana.started when it clears grafana.configured16:05
aluriacory_fu: /me nods - thx for the clarifications16:05

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