[01:50] Hi, do operator pod resources support annotations? [01:50] I'm creating a custom ingress and I need to adjust request body size and send duration [01:51] this is how I expect it to work https://pastebin.canonical.com/p/48h4287TKn/ [06:12] t0mb0, that is more of a #juju question. the operator framework just passes through the request to Juju. [06:12] I know there are some discussions in the past like: https://discourse.juju.is/t/k8s-charms-annotations-charm-config-use-case/1489 [06:12] I don't know the current state of it [10:19] * Chipaca afk for a bit [10:55] Muy buenos días a todos! === facundo__ is now known as facubatista [10:57] facubatista: 👋 [10:57] hola Chipaca [10:59] facubatista: how're you doing? [11:01] Chipaca, tired, but not so demoralized with quarantine and all [11:01] facubatista: *hugs* [11:01] facubatista: take it easy today maybe? [11:01] facubatista: i was just reading you're getting another 21 days apparently :-( [11:01] Chipaca, yeap [11:02] facubatista: no going outside for exercise even? [11:02] Chipaca, I will write a lot today, which for me is quite interrupted by itself [11:02] facubatista: quite interrupted? [11:02] Chipaca, I NEED go back to tennis, and I don't even want to start thinking when that could be possible [11:03] tennis is like socially-distancing ping pong [11:03] as long as it's outdoor tennis, it should be back sooner than, say, rugby? [11:03] Chipaca, I don't write texts in a steady constant mode, I tend to it by chunks of time [11:03] ah gotcha [11:04] Chipaca, yes, tennis should be one of the firsts sports... but they depend of sports clubs to be open, so... [11:04] Chipaca: now what if you played against a tennis ball machine? Would that be like social-distancing ping pong: boss level? [11:05] just the one machine? psh. that's for amateurs [11:05] oh, like two ball machine's against each other???! [11:05] i meant two or three against you, but, sure [11:05] which oddly reminds me of those dueling useless machines [11:06] heh [11:07] https://youtu.be/UkgoSOSGrx4 [11:07] wimbledon fans will have to settle for that in the meantime [11:09] MarkMaglana: i've seen that but with lego [11:09] now i'll need to find it [11:10] Chipaca: OK here I go down the YouTube rabbit hole... [11:10] MarkMaglana: https://www.youtube.com/watch?v=g5y1pdPVDx8 [11:11] hang on. still working on the first one: https://youtu.be/6xCd55oSgO4 [11:12] :) [11:14] "Daaaaaaaaaaaaaaaaaaamn" (at his Lego pieces organizer) [11:27] * Chipaca ⇝ luncheon [11:27] the eon of lunch [11:27] * Chipaca approves [12:40] hi everyeone - a quick question, is there any docs re: dependency management in the framework (I heard it'll be called `ops.lib`, but not sure, pls correct me if I'm wrong) ? [12:41] vgrevtsev: what're you trying to do? [12:41] there is ops.lib but it does not do dependency management :) [12:42] Chipaca: I'm thinking about how can I share some parts of the charm code across the charms (like interfaces, for example) [12:42] vgrevtsev: then yes, you want to use ops.lib, probably [12:42] and I got an impression that ops.lib is for that [12:42] vgrevtsev: but, ops.lib does not get you the bits on disk, it doesn't manage the dependencies [12:43] ok, so what it does? [12:43] vgrevtsev: it's like a namespace package, but with API and author constraints [12:43] ie you can say "use the mysql interface version 1 from joe" [12:44] but, this interface has to be installed before I can tell the charm to use it [12:44] yes [12:45] so what's the difference then? e.g without ops.lib I can just do a submodule and pin the commit hash to get the exact version of the interface, for example [12:45] vgrevtsev: but you could have two versions of the same interface, a stable and a devel say, side by side and it'd do the right thing [12:46] vgrevtsev: for sure you could, and that would work [12:46] vgrevtsev: and in fact, if you start doing it like that, and then want to switch to ops.lib.use, it would be a one-line diff [12:46] (assuming the interface is opslib-enabled :) ) [12:46] Chipaca: alright... but how does the ops.lib know where should it look for the code/version it was asked for? [12:47] Chipaca: and what does "opslib-enabled" means? I'm going to write a few interfaces during the next week [12:47] will be good to know as much as possible before, not after :-P [12:47] vgrevtsev: i was hoping to work with MarkMaglana to opslib-enable his k8s interface [12:47] vgrevtsev: as the first one [12:47] vgrevtsev: but the code is in 0.6 already so you can use it if you want [12:48] Chipaca: let's git 'er done! [12:48] there's a doc, 1 sec [12:48] so we're back to my original question: is there any docs? :)) [12:48] Chipaca: ah I see, cool [12:48] vgrevtsev: not enough docs yet, no [12:48] :; [12:48] vgrevtsev: there's https://docs.google.com/document/d/1D-DA3vJRRaauNc2bAJqLTKtAMTTP6tdj5HmOz-rasJI/edit [12:48] which hopefully is enough :-) [12:50] MarkMaglana: yes let's :) [12:51] MarkMaglana: what's the most recent k8s.py you know of? [12:51] Chipaca: oh, it's useful, thanks [12:51] probably that is something I was looking for [12:51] Chipaca: that'd be https://github.com/charmed-lma/charm-k8s-alertmanager/blob/master/src/adapters/k8s.py [12:53] MarkMaglana: ack [12:53] MarkMaglana: this pm i'll go through all the other k8s.py and see if there's anything that needs adding [12:53] you got it [12:54] Chipaca: and if you're looking for unit tests, it's here https://github.com/charmed-lma/charm-k8s-alertmanager/blob/master/test/adapters/k8s_test.py [12:54] i was about to ask :-D [12:54] GMTA! [12:54] '... fools seldom differ', my Nan would always add [12:55] G can either min Great or Git, so... [12:56] meanwhile i'll leave you with https://www.ijsr.net/archive/v9i4/SR20409190322.pdf [13:04] Ah yes, when I first learned that the problem of squaring the circle has been finally solved successfully, I breathed a sigh of relief. Quite a momentous event, indeed. [13:53] facubatista: how did you invoque fades to get that error log? [13:59] Facu: how did you invoque fades to get that error log? [14:00] fades -d file:///home/facundo/canonical/operator [14:00] Chipaca, ^ [14:01] * Chipaca creates a 'facundo' user [14:01] :-p [14:01] jejeje [14:03] thats very strange, i was sure i'd tested this [14:04] that's why when j_am asked 'does doing this avoid pulling in ops.__init__' i was so confident with my 'yep' [14:04] but, i must've bungled it somehow [14:43] Facu: can you test the setup.py version magic thing again? just in case i'm deluding myself again :-) [14:43] Facu: (no rush) [14:50] Chipaca, it's left a "file=fh" parameter to fh.write? [14:50] augh [14:51] Chipaca, it's hard to see because the template dedentation, that's why I tend to have the template as a constant at column 0 [14:51] Facu: i think i fixed it [14:51] Facu: not sure if you're saying i should use dedent() or not :) [14:52] gah, i broke it more [14:52] hurrah for tests [15:02] ja [15:15] Successfully installed PyYAML-5.3.1 ops-0.6.1+8.ge08cc63 [15:16] Chipaca, I really like that ^ [15:16] :-D [15:16] 8 commits ahead of 0.6.1! nice :) [15:18] Chipaca, only thing missing in that branch is about "0.7.dev+UNKNOWN" [15:19] Facu: just answered that [15:21] Chipaca, as it needs human intervention, maybe it's less error prone if you do something like: version = VERSION + ".dev+UNKNOWN" [15:22] Facu: and what is VERSION? [15:22] being VERSION a constant on the top of the file, with the simple "0.7" value [15:26] Facu: not at the top of the file, that'll confuse people [15:26] the file'll have VERSION and version and one will be nonsense [15:27] even with __all__, tab completers etc will offer it [15:28] ruh roh [15:28] facundo__: was i talking to myself just then [15:29] Chipaca, last word from you was "nonsense" :p [15:29] even with __all__, tab completers etc will offer it [15:29] Chipaca, I was trying to avoid needing to edit a complex string in the middle of the function [15:30] i'll push something [15:30] for example, what would happen if we change "0.7.dev+UNKNOWN" to "0.8dev+UNKNOWN"? === facundo__ is now known as facubatista [15:31] In [9]: from packaging.version import parse [15:31] In [10]: parse("0.7.dev+UNKNOWN") == parse("0.7dev+UNKNOWN") [15:31] Out[10]: True [15:31] :) [15:31] it was an example [15:31] I'm not too pushy about this, though [15:32] and, the 'canonical' way is '0.7.dev0+unknown' [15:32] Chipaca, PR approved [15:35] facubatista: pushed a tweak to it [15:40] Chipaca, I like it [15:40] * facubatista -> lunch [15:40] facubatista: interestingly the version used is the canonical one, ie if you move .git aside you get ops-0.7.dev0+unknown.tar.gz [15:40] which is fine by me :) [16:43] i think i'm going to wrap things up here [17:02] * Chipaca EOWs [17:02] facundo__: have a great weekend! [17:02] Chipaca, thanks! same for you