/srv/irclogs.ubuntu.com/2020/06/08/#smooth-operator.txt

=== Spads_ is now known as Spads
mupIssue operator#304 closed: Use git describe to log version when running from git <Created by chipaca> <Closed by chipaca> <https://github.com/canonical/operator/issues/304>10:55
mupPR operator#319 closed: ops: get version from git <Created by chipaca> <Merged by chipaca> <https://github.com/canonical/operator/pull/319>10:55
mupIssue operator#309 closed: KeyError: 'JUJU_MODEL_NAME' while emitting event from Harness <Created by exceptorr> <Closed by chipaca> <https://github.com/canonical/operator/issues/309>10:59
Chipacapjdc: 👋11:05
facubatistaMuy buenos días a todos!11:21
Chipacafacubatista: 👋11:21
facubatistahola Chipaca11:23
* Chipaca integrates https://jazzkeys.plan8.co/ into emacs11:26
Chipacafacubatista: https://jazzkeys.plan8.co/?msg=-M9IfwcZxxA0wD6iLmb111:27
facubatistaChipaca, ja, nice!!11:28
facubatistaI wonder how it be to really integrate it with the keyboard, maybe not with the editor, just at a system level11:29
Chipacafacubatista: snap install bucklespring11:31
facubatistait's a wonder how it's balanced across speakers :)11:34
Chipacafacubatista: you can adjust how "wide" that goes, as well11:34
Chipacawith headphones i find i need to set it to a lot less than the default for it to be reasonable11:34
Chipacawith speakers the default sounds 'right'11:34
Chipacahaving written that, it's obvious why =)11:35
facubatistayes11:35
facubatistaChipaca, so, how we continue with that spec?12:03
Chipacafacubatista: let it prove for another day12:08
facubatistaChipaca, ack, let me know12:10
Chipacafacubatista: but AIUI we need to expand on the contents of charmcraft.yaml and give a go through a .charm contents in the concrete12:12
jammorning facubatista12:14
facubatistaChipaca, a) charmcraft.yaml is for the whole tool, not just build, we may write about it in a different doc, and point from this one?12:14
facubatistajam, hola!12:14
Chipacajam: #320 gtg, #318 and #322 waiting for +1s12:15
mupPR #320: ops/framework.py: Move pickle into Storage <Created by jameinel> <https://github.com/canonical/operator/pull/320>12:15
mupPR #318: Simplified the CharmBase init signature <Created by facundobatista> <https://github.com/canonical/operator/pull/318>12:15
mupPR #322: log: set up sys.excepthook to log exceptions <Created by chipaca> <https://github.com/canonical/operator/pull/322>12:15
* Chipaca the taskmaster12:15
facubatistaChipaca, b) you say to dump the content of a real .charm's tree there?12:15
Chipacafacubatista: and IIRC the build directory itself also (but that can wait until we've made it not be so symlinky)12:16
Chipaca(or pretend we've already done that :)12:16
facubatistaChipaca, we need to talk about that, I don't see the benefit of copying bytes12:17
Chipacafacubatista: ok12:18
Chipaca(i don't see the benefit of copying bytes either)12:18
facubatista(in this case in particular, copying bytes is a good thing in lot of places for this thingies called computers)12:18
Chipacafacubatista: the trick is always to copy as little as possible12:18
Chipaca1/2 of all computer science treaties are about that12:19
Chipacathe other 3/4 are about estimation12:19
facubatista:)12:19
facubatistaChipaca, so, let's talk about symlinks! here? HO? later?12:20
Chipacafacubatista: here is fine12:22
Chipacafacubatista: so i'll start saying what I'd like12:22
Chipacafacubatista: then you tell me why i'm wrong12:22
Chipacafacubatista: I'd like build to do the equivalent of 'cp -al' of all the relevant bits, and then explicitly symlink things like hooks that we want to be symlinks, and then create the zip with the actual symlinks in it12:23
facubatistaChipaca, you're never wrong! you may not be as much right as I am12:23
Chipacafacubatista: I'd like build to create the venv outside of build (.venv maybe?) and the 'cp -al' it into build also, so it can be thrown away / recreated cheaply when not changed12:24
Chipacafacubatista: but this last thing is just optimization12:24
* facubatista does `man cp` for first time in years12:24
Chipacafacubatista: hardlink files, create directories12:24
Chipacafacubatista: almost no byte copying :)12:25
facubatistaChipaca, let's leave the venv to a second phase of this talk12:27
Chipacatotes12:27
facubatistaChipaca, so, doing 'cp -al' is compared to 'symlinks' in: (let me finish)12:29
facubatistaa) nicer, as it no create actual symlinks (hardlinks are cheap!)12:30
facubatistab) more work, as we need to actually do a lot of recursive work to create trees and all files inside those trees12:30
facubatistac) nicer, as we may get to have "actual symlinks" in the zip file12:31
facubatistaChipaca, is (c) the real benefit of your proposal here? is this what you're actually searching for?12:31
Chipacad) nicer, as a developer looking into build/ will see something a lot closer to what they get from unzipping the charm12:32
Chipaca(c) and (d) are what i'm going for12:32
Chipaca(a), meh; (b), smop :-)12:32
facubatistaChipaca, ah, (d) convinced me12:34
facubatistaChipaca, I'm writing something, it may take me 5-10'12:36
Chipacasecond monday of late standup, it throws me every time12:49
* Chipaca gets tea12:49
facubatistaChipaca, what do you think? https://github.com/canonical/charmcraft/issues/2912:52
facubatistaChipaca, btw, would you close milestone 0.1.1? thanks12:52
facubatistaChipaca, let's talk about the venv?14:28
Chipacaveeeeeenv14:28
Chipacafacubatista: sorry my brain was momentarily taken over by zombies14:30
Chipacafacubatista: what do you want to talk about wrt venv?14:31
facubatistaChipaca, where it will be located14:32
facubatistathe second phase of the talk we had before14:32
Chipacafacubatista: so, as per previous discussions, we want a way of not recreating the venv when it wouldn't change, right?14:36
facubatistaChipaca, yes14:36
facubatistaChipaca, I was thinking about using the hash of all requirements to check if we should or we shouldn't14:36
facubatistaChipaca, I like putting the venv inside the build directory, so we only "stain" one place14:38
facubatistaChipaca, we can not put that kind of dir in project's directory, as it may already have a .venv, or a .env, or a venv, etc14:39
Chipacafacubatista: but doesn't build start by nuking build/?14:40
facubatistaChipaca, I would change that, to probably start by nuking everything *but* the venv dir if we shouldn't14:40
Chipacafacubatista: so … what's the issue?14:48
facubatistaChipaca, before you wanted to put it outside... "I'd like build to create the venv outside of build"14:49
Chipacafacubatista: ¯\_(ツ)_/¯ details14:50
Chipacafacubatista: outside as in 'not nuked'; if you think it's easier / more foolproof to have it inside but not nuked, then, works for me14:50
facubatistaChipaca, perfect14:55
Chipacasiiigh. Changing 'fake_script' so that all scripts are python instead of bash triples the time our tests take to run14:56
facubatistaChipaca, what if we mock them?15:00
Chipacafacubatista: that's not very welcoming15:01
facubatistajaja15:01
Chipacai'll be playing with different ways of doing it, later15:02
Chipacajam: standup?15:33
* facubatista -> lunch16:05
mupIssue operator#188 closed: Improve calling for Object descendant tree  <enhancement> <Created by facundobatista> <Closed by facundobatista> <https://github.com/canonical/operator/issues/188>17:15
mupPR operator#318 closed: Simplified the CharmBase init signature <Created by facundobatista> <Merged by facundobatista> <https://github.com/canonical/operator/pull/318>17:15
mupPR operator#320 closed: ops/framework.py: Move pickle into Storage <Created by jameinel> <Merged by jameinel> <https://github.com/canonical/operator/pull/320>17:54
mupIssue operator#289 closed: hook exception logged at DEBUG <Created by jetpackdanger> <Closed by chipaca> <https://github.com/canonical/operator/issues/289>18:58
mupPR operator#322 closed: log: set up sys.excepthook to log exceptions <Created by chipaca> <Merged by chipaca> <https://github.com/canonical/operator/pull/322>18:58
* facubatista eods20:55

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