avsm changed the topic of #mirage to: mirage 2 released! party on!
<hannes>
if I don't understand the semantics, I can barely contribute.. sorry.
<Drup>
but, the relation between configuration and eval is much simpler than what you make it: by default if the unikernel is unconfigured, then no-eval, otherwise, eval
<hannes>
so, should mirage configure --no-eval of an already configured unikernel show you an unconfigured one?
<Drup>
yes
<Drup>
(that's what it should do now, you can check)
<hannes>
so, given a configured unikernel, mirage clean && mirage describe is a synonym for mirage describe --no-eval ?
<Drup>
except you do side effects on the file system, which is not unsignificant ...
<hannes>
yeah. i'm ignoring these right now..
<Drup>
(it's more significant for "mirage configure && mirage describe" vs "mirage describe --eval")
<hannes>
mirage describe --eval <options> won't do anything to disk, will it?
<Drup>
of course not
<hannes>
(assume a vanilla unikernel)
noddy has quit [Ping timeout: 245 seconds]
<Drup>
(even with a non vanilla unikernel)
<hannes>
so, once I mirage describe --eval'ed my favourite unikernel, how I'll build it?
<Drup>
Well, I mean, that's the point ... the --(no-)eval options are here precisely so that you can explore your configuration without doing any configuration or anything
<hannes>
by using my shell history, replace "describe --eval" with "configure" and then mirage build it?
<Drup>
Yes
<Drup>
Someone wanted to add a cmake-like smart configure (I think anil), that would be interesting, but that's not here yet
<hannes>
ok, maybe the desired workflow (and interactions between describe and configure) should be in words somewhere, maybe with some example
<Drup>
I agree !
<hannes>
what is "cmake-like smart configure"?
<hannes>
(sorry, i don't know cmake)
<Drup>
There is a small curse-based TUI that allows you to change the various configure value, and then when you are happy, press the configure&built button
<hannes>
ok. ic.
nullcat has joined #mirage
<hannes>
sleep... will try to think about that tomorrow a bit more
<hannes>
again, thanks for your patience explaining me this
<Drup>
Well, I didn't really wrote good documentation for all this, so, yeah, I should at least try to explain it ... :/
<hannes>
and i still doubt we need to merge any command line arguments (which in my experience is always confusing for the user).
nullcat has quit [Client Quit]
<Drup>
hannes: I think it's clearer if you just try to play with the options on a non-trivial unikernel (like mirage-skeleton/static_website)
<hannes>
I'd be happy with describe having 2.5 modes: unconfigured, vanilla: show all options, discover options of an unconfigured unikernel (partial evaluation), or describe the fully configured one
<hannes>
the second and third comma should've been a semicolon separator
<Drup>
Huum
<Drup>
I would like to see what kind of CLI you have in mind exactly
agarwal1975 has joined #mirage
noddy has joined #mirage
noddy has quit [Ping timeout: 250 seconds]
brson has quit [Quit: leaving]
twopoint718 has joined #mirage
Khady_ is now known as Khady
twopoint718 has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
twopoint718 has joined #mirage
twopoint718 has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
rgrinberg has quit [Ping timeout: 258 seconds]
julio_ has quit [Quit: EliteBNC free bnc service - http://elitebnc.org - be a part of the Elite!]
insitu has joined #mirage
w10have has joined #mirage
fgimenez has joined #mirage
fgimenez has joined #mirage
fgimenez has quit [Changing host]
dobson has quit [*.net *.split]
AltGr has joined #mirage
dobson has joined #mirage
dobson has quit [*.net *.split]
dobson has joined #mirage
insitu has quit [Ping timeout: 250 seconds]
insitu has joined #mirage
mort___ has joined #mirage
fgimenez has quit [Ping timeout: 265 seconds]
fgimenez has joined #mirage
w10have has quit [Ping timeout: 248 seconds]
insitu has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
agarwal1975 has quit [Quit: agarwal1975]
fgimenez has quit [Ping timeout: 248 seconds]
fgimenez has joined #mirage
fgimenez has joined #mirage
fgimenez has quit [Changing host]
mort___ has quit [Quit: Leaving.]
agarwal1975 has joined #mirage
insitu has joined #mirage
mort___ has joined #mirage
noddy has joined #mirage
insitu has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
agarwal1975 has quit [Quit: agarwal1975]
agarwal1975 has joined #mirage
smondet has joined #mirage
w10have has joined #mirage
insitu has joined #mirage
agarwal1975 has quit [Quit: agarwal1975]
agarwal1975 has joined #mirage
insitu has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<mato>
hannes: +1 to everything you said about mirage describe :-)
fgimenez has quit [Ping timeout: 256 seconds]
fgimenez has joined #mirage
w10have has quit [Quit: Konversation terminated!]
insitu has joined #mirage
yomimono has joined #mirage
twopoint718 has joined #mirage
<hannes>
Drup: it's not a joke. I don't see how to get --help to work
<Drup>
It used to work before, no ? I'll take a loot later
brson has joined #mirage
<Drup>
but the solution "just educate the user to not use the most common CLI argument in the history of UNIX" is not the good one :)
<hannes>
you can implement hacks (or get cmdliner to do sth about it) to retrieve "-f tls.ml" before parsing the full commandline.
<Drup>
yes, that's what we always did, that's the only way to get the "good" semantics
<hannes>
I personally think that providing a -f option is the wrong way to go, too much trouble for too little gain. but I'm not the one in charge here.
<Drup>
hannes: I kinda of agree with you, but same for me :D
brson has quit [Read error: Connection reset by peer]
<yomimono>
I think the idea that we can't handle specifying a file argument is a little sad :( it's my worst, most terrible programs that I expect never to maintain that have this characteristic
brson has joined #mirage
<yomimono>
I think it's worthwhile to maintain this functionality
<yomimono>
that said, I'm not the one writing the PRs
fgimenez has quit []
<Drup>
hannes: it more or less all comes down to the fact that cmdliner is applicative and we are doing operations that are monadic (generating the command line parsing dependings on one of the command line argument)
<Drup>
I asked bunzli once to provide a monadic-ish operator for cmdliner that would rely on peek_opts and handle failure in a clean way, I was accused of being a disorgnized idiot, so I didn't pursue the question.
mort___ has quit [Quit: Leaving.]
<hannes>
I don't have any further comments on the topic, sorry. I explained my thoughts sufficiently, and won't touch the code any further. My PR is good to merge and improves the current state, which was largely regressions caused by earlier patches from me.
insitu has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
brson has quit [Ping timeout: 258 seconds]
twopoint_ has joined #mirage
brson has joined #mirage
twopoint_ has quit [Client Quit]
brson_ has joined #mirage
brson has quit [Ping timeout: 240 seconds]
twopoint718 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
twopoint718 has joined #mirage
smondet has quit [Ping timeout: 258 seconds]
rgrinberg has joined #mirage
noddy has quit [Ping timeout: 265 seconds]
brson_ has quit [Read error: Connection reset by peer]
<hannes>
yomimono: oh, you were right about mirage-net-unix being already tested. sorry for the confusion.
<yomimono>
hannes: no problem, one fewer thing to do :)
<yomimono>
I happen to be thinking about this now... I'd like in testing for us to try to configure for each of the values, when keys have a set of distinct ones
<hannes>
I currently fail at my registrar website... but I have ns.nqsb.io up and running using ocaml-dns :D
<yomimono>
e.g. build the kv-ro example with each of the possibilities for kv_ro
<yomimono>
:D
<hannes>
yomimono: I thought about that as well, but delayed it to once I look into the CI system... since doing it with shell etc. is rather cumbersome
<yomimono>
hannes: yeah, it has to be tied into the mirage front-end tool somehow I think
<yomimono>
or get that intelligence from *somewhere* anyway
<hannes>
agreed. and it is non-trivial since only some configurations make sense
<yomimono>
right, --net=socket -t xen is expected to fail
<yomimono>
would be nice to test that failures fail nicely too though
<hannes>
..which we should test for as well, but somewhere we need to have the 'expected to work' and 'expected to fail' information
* yomimono
nods
<yomimono>
I feel we may have had this conversation before
<yomimono>
I want to pull a lot of the stuff out of mirage-skeleton, replace that repository with two - one for teaching and one aimed at testing as wide a spectrum of things as possible, both of which would get tested in CI
<hannes>
SGTM
<yomimono>
and also test this repository of inspiring, useful things you've mentioned on a mirage issue
<yomimono>
I want it to exist
<yomimono>
so it's good that there's a nameserver around ;)
<hannes>
there certainly already have been other nameservers around
<hannes>
I'm only picky and have one which doesn't need crunch and a zonefile parser
<yomimono>
pretty reasonable imo. also the last one I knew of needed some unmerged patches