avsm changed the topic of #mirage to: mirage 2 released! party on!
betheynyx has joined #mirage
wiredsister has quit [Remote host closed the connection]
rgrinberg has joined #mirage
skeuomorf has quit [Ping timeout: 276 seconds]
jermar has joined #mirage
rgrinberg has quit [Ping timeout: 260 seconds]
jermar has quit [Remote host closed the connection]
insitu has joined #mirage
insitu_ has joined #mirage
insitu has quit [Read error: Connection reset by peer]
insitu_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
andreas23 has joined #mirage
copy` has quit [Quit: Connection closed for inactivity]
kensan has quit [Quit: leaving]
srenatus has joined #mirage
mort___ has joined #mirage
jermar has joined #mirage
insitu has joined #mirage
kensan has joined #mirage
AltGr has joined #mirage
mort___ has quit [Quit: Leaving.]
insitu has quit [Ping timeout: 250 seconds]
mort___ has joined #mirage
AltGr has quit [Remote host closed the connection]
ijc has quit [Quit: ZNC - http://znc.sourceforge.net]
ijc has joined #mirage
yomimono has joined #mirage
AltGr has joined #mirage
insitu has joined #mirage
insitu has quit [Client Quit]
danielh1234 has joined #mirage
<danielh1234> Hi. How do you configure Xen to create domains faster. It currently takes 3-4 seconds on my system. I already tried disabling dom0 memory balooning, but it makes no difference.
AltGr has left #mirage [#mirage]
betheynyx has quit [Quit: (Input/output error)]
AltGr has joined #mirage
mort___ has quit [Quit: Leaving.]
seangrove has joined #mirage
miragebot has joined #mirage
<miragebot> [mirage] yomimono pushed 6 new commits to master: https://git.io/vobdY
<miragebot> mirage/master e7dd9c7 Mindy Preston: Change source and destination ip and port names to be consistent.
<miragebot> mirage/master e1a9d6f Mindy Preston: pin all mirage, mirage-types, mirage-types-lwt, tcpip to standardize_record_fields branch
<miragebot> mirage/master 9d100dc Mindy Preston: s/get_source/get_src/ in V1.IP . Fix pins....
miragebot has left #mirage [#mirage]
AltGr has left #mirage [#mirage]
seangrove has quit [Ping timeout: 260 seconds]
agarwal1975 has joined #mirage
bsb-the-grey has quit [Quit: WeeChat 1.4]
mort___ has joined #mirage
rgrinberg has joined #mirage
bsb-the-grey has joined #mirage
seangrove has joined #mirage
danielh1234 has quit [Quit: Page closed]
dexterph has joined #mirage
Guest70161 has joined #mirage
Guest70161 is now known as skeuomorf
skeuomorf has quit [Changing host]
skeuomorf has joined #mirage
seangrove has quit [Ping timeout: 258 seconds]
seangrove has joined #mirage
copy` has joined #mirage
seangrove has quit [Remote host closed the connection]
seangrove has joined #mirage
mort___ has quit [Quit: Leaving.]
AltGr has joined #mirage
mort___ has joined #mirage
mort___ has quit [Client Quit]
amirmc has joined #mirage
andreas23 has quit [Quit: Leaving.]
mort___ has joined #mirage
mort___ has quit [Client Quit]
unpurecamelbot has joined #mirage
<unpurecamelbot> I'll be logging this meeting…
<yomimono> thanks, unpurecamelbot! we appreciate it.
mort___ has joined #mirage
avsm has joined #mirage
djs55 has joined #mirage
djwillia has joined #mirage
noddy has joined #mirage
<noddy> *boing*
thomasga has joined #mirage
<avsm> greetings! do we have an IRC logger? :-)
amirmc has quit [Quit: Leaving.]
<yomimono> unpurecamelbot will be logging this meeting!
* mato waves
<hannes> avsm: it joined just before you ;)
<avsm> yay
talex5 has joined #mirage
GemmaG has joined #mirage
<avsm> Let us begin!
* mort___ .
<GemmaG> Hi all :)
<djwillia> hi!
<avsm> There wasn't much on quality and test in the agenda, but progress has been made this week in terms of infrastructure and containers. There's quite a big array on https://hub.docker.com/r/ocaml/opam/ now (see the README)
<avsm> Latest Fedora, Ubuntu, OpenSUSE and ARM variations of Alpine are all now there and mostly debugged (some issues left on ARM due to the CPU emulation, when building on x86_
<thomasga> \o/
<hannes> do they build mirage-skeleton on a regular basis?
<avsm> hannes: they do, but the logs go into my personal cron logs. Next steps are to push them somewhere useful, perhaps a Canopy setup
unpurecamelbot has quit [Read error: Connection reset by peer]
<mort___> (avsm: fwiw— looks like the line for Alpine armhf is duplicated in that page on hub)
<avsm> thomasga and talex5 have been working on a CI as well, hoping to bring that live during the hackathon
<talex5> Does this mean Lwt is building on Alpine again now?
<thomasga> no
<thomasga> just testing that now :-)
<avsm> talex5: I'm still not sure exactly how to fix that beyond add conf-ncurses. Should I just go ahead and do that?
unpurecamelbot has joined #mirage
<unpurecamelbot> I'll be logging this meeting…
<hannes> avsm: cool! any chance you can enlighten where/whether they'll be able to add more testing for https://github.com/mirage/mirage/pull/544 (or what is needed to get this code movement merged?)?
<thomasga> but `RUN apk add ncurses-dev` fixes the build
<talex5> I thought the problem was with `conf-libev`?
dbuenzli has joined #mirage
<avsm> hannes: they will -- it just unexpectedly blocked on a qemu segfault, frustratingly. Been quite hard to debug. But mort___ now has an ARM64 machine which can build ARM32 natively as well, so this may become easier
<thomasga> avsm: can this is be added as a depext on lwt directly?
<avsm> thomasga: yes, I think so. Lwt is the one with the odd configure script so I have no objection to fixing it there.
<thomasga> talex5: the issue is again discover.ml in lwt
<avsm> Overall for CI, we have the pieces in place but not the coordination infrastructure. That's the next steps before the hackathon so we can trigger builds more easily.
<avsm> Anything else for quality and test? thomasga: i noticed new alcotest releases?
<talex5> thomasga: Lwt's discover.ml is fine Ii think, but the copy in conf-libev seems old and broken.
<thomasga> not really, it tries to compile a file using libev but the error comes from ocamlc complaining about missing ncurses
<thomasga> so nothing to do with libev actually
amirmc has joined #mirage
<mato> tangential depext-related question, is there a depext for "linux kernel headers"? (linux-headers on alpine, linux-libc-dev on Debian/Ubuntu)?
<mato> Solo5 on ukvm will need this as it needs linux/kvm.h
<avsm> mato: there is not, but can be added very easily as a `conf-kernel-headers` package
<thomasga> I don't think so
* avsm wonders how that would work on OSX
<avsm> i guess we build in Linux containers on the Mac
<mato> yes, at least until someone ports ukvm to Hypervisor.framework :)
<avsm> on my mythical todo list ;-)
<avsm> Ok, lets save the CI push for the hackathon in 2 weeks then. Next topic
<avsm> Mirage 3! Over to our release manager yomimono...
<talex5> thomasga: I can't install conf-libev on Alpine even without Lwt. Installing ncurses-dev does fix it. Lwt's discover.ml works even without ncurses-dev, though (it uses pkg-config and avoids the whole auto-detection mess).
<yomimono> Yes! I've left quite a long list of things in the call agenda, but I'd really like to draw folks' attention to the bits that say it's not clear to me how to even do them
<yomimono> (well, and the bits that say "we should do this but it's not done yet" - if any of that looks like something you could do and you've got some time, that would be great too)
<yomimono> call agenda is at https://github.com/mirage/mirage-www/wiki/Call-Agenda for your convenience
<hannes> the 'specification of version numbers for dependencies' is for inside of config.ml!?
<yomimono> no
<avsm> One thing I'm doing to vet these changes is to try to build "real" web services that run under the module signatures. In particular, using ocaml-webmachine and the Slack bindings to run a CI bot. I'm hoping that'll bring out any particularly painful dependency problems.
<yomimono> I just mean some way of saying that a unikernel needs, say, dns > 0.18.3
<yomimono> not just dns
<djs55> or perhaps even that the unikernel needs dns = 0.18.3, so we can guarantee to be able to rebuild it easily in future?
<hannes> yomimono: yes, what is there is packages: "foo" "bar" "baz"; that should then be "foo=0.18.3"?
<avsm> I think it would be better to generate an `opam` file instead, and to use OPAM to make reproducible builds. The Mirage file shouldn't overly constrain the library
<yomimono> avsm: that's the idea I had about it that I liked best
<yomimono> hannes: I'm not sure I understand?
<yomimono> djs55: yes, I think that'd be a very useful thing
<hannes> so you want a MirageOS unikernel to consist of config.ml, unikernel.ml and an opam file, all crafted manually?
<avsm> hannes: nope, generate the `opam` file during `mirage configure`
<thomasga> note: if yougenerate an opam file you will "freeze" the deployment model of your unikernel
<talex5> I've been thinking of doing a "git reset --hard XXX" on opam-repository in my Dockerfiles to get reproducible builds.
<avsm> it should just be config.ml and the entrypoint module, rest can be fully generated
<yomimono> thomasga: can you elaborate?
<hannes> avsm: but from what? I meant we already have a spec of dependencies in config.ml, only names, no versions yet.
<mato> avsm: where would the source of the version dependencies come from?
<mato> what hannes said :)
<thomasga> the only moment you have all the info that you need, is when you do `mirage configure —X`
<thomasga> with X fully specified
<avsm> thomasga: yomimono: I think he means that it will select a set of keys (e.g. --xen or --unix) in the `opam` file. We could add a `--name` to mirage configure to give the opam package an identity as a selection of keys
<avsm> mato: the functoria specs for a key would have to add the constraints. They're where the package selection currently comes from.
<thomasga> avsm: it's also valid for —dhcp=true/false etc
<avsm> thomasga: yes all the user set keys need to be stored for reproducibility
<mort___> is it not possible to specify the versioned name in packages in the config.ml? mirage-http.2.5.2 and so on?
<thomasga> yes it is too
<avsm> The hackathon seems like a decent place to put some of these massive API changes together, but we need to prep PRs ahead of time. the master branch is going to be broken for a while otherwise...
<thomasga> when you generate the opam file, you can "freeze" the version (regarding the current state of opam-repository)
<thomasga> but you will also make the unikernel less portable as you will have to choose the configuration parameters
<mato> so we'd end up with a generated opam package named (e.g.) unikernel-<SHA of constraints> or something like that, which would get installed at "mirage configure" time?
<talex5> mort___: for < and > constraints at least, they get turned into shell redirections when passed to opam.
<mort___> for reproducibility i presume that one needs also to get the versions of all dependencies
<thomasga> I'm not sure what you are trying to achieve...
<mort___> talex5: yes, i was suggesting for exact versions only. (though what about with extra fancy quoting?)
<hannes> thomasga: hmm, shouldn't it be possible at configuration time to generate a disjunction of all possibilities (thinking about "mirage-no-xen" & bla... | mirage-xen & foo)
<avsm> talex5: that seems purely like a shell quoting issue :-)
<thomasga> reproducibility is different than generating an opam file, right?
<djs55> FYI I've been playing with libuv via fdopen's uwt bindings. It looks like it should be more scalable on Windows and OSX in particular but it isn't an Lwt engine — I'm still working though the implications of that. In particular I've had to avoid using Lwt_unix everywhere, even though I'm targetting Unix (sort of)
<avsm> there are two steps: generate an opam file to freeze the key selections, and then freeze opam-repository and the OS distribution to get reproducibility
<thomasga> for reproducability you also need location of dependency source + digest.
<avsm> djs55: fantastic! An alternative to mirage-unix really helps with cross-platform support
<thomasga> and selection of dependencies will also freeze your configuration more with OS-specific deps
<thomasga> so the more you want to add info, the less you become portable
<avsm> ok, it sounds like we have a lot of pieces in the air at the moment. The hackathon's going to be the most practical place to merge these all into master, as we could test for breakage during the day
<avsm> i dont think we'll have the `opam` file generation ready for then, so lets defer reproducibility until we can merge some of the bigger API changes
<avsm> Mindy, your call as to merge order into master branches...
<yomimono> merge everything! break everything!
* yomimono is a child with a hammer
<thomasga> yay!
* mato was hoping to merge solo5 at the hackathon, but with all the other breaking changes up in the air that might be a bit premature
<avsm> mato: I'm keen to stage the changes so we emerge with a working master branch. We should coordinate a schedule during the day to get stuff in, build the skeletons and make sure things stay working
<avsm> I'm happy to sit around doing that
<yomimono> avsm: we should probably do some planning for test infrastructure to keep that from being too painful, but we can discuss that offline
<hannes> some hours ago I opened a RFC for RANDOM https://github.com/mirage/mirage/pull/551 -- feedback welcome on the PR
<avsm> Ok, lets discuss this more when we get to the hackathon. Meanwhile, it would be most useful if people could review the outstanding PRs ahead of the hackathon. I'm also going to propose a few higher level types that can compile to javascript (web API ones)
<avsm> *discuss it more when we get to the hackathon part of the agenda, that is
<avsm> any other PRs that need a look aside from hannes'?
<avsm> an important note: it can be difficult to work on big features at a hackathon, but an excellent time to request merges. So prepare your trees ahead of time :)
<hannes> avsm: certainly PCLOCK/MCLOCK https://github.com/mirage/mirage/pull/548
<avsm> +1 hannes
<yomimono> we have some long-standing ones that I hope to replace or update, like the tracking PR for removing `CONSOLE` and `id`
<yomimono> there's one for adding pp_error and friends to FLOW for example too
<hannes> yomimono: that needs rebase...
<yomimono> if you have one of those old PRs, maybe drop a quick note as to whether you it's viable to build on, and close it if you think it's not
<djs55> PRs which affect mirage types — should we prepare PRs for the affected implementations and then link them together for simultaneous merging?
<yomimono> I prefer that, yes
<hannes> djs55: bonus points for having a branch of all affected packages on mirage-dev repo :)
<yomimono> it's not anybody's responsibility to fix the *entire* world, but if it breaks mirage-skeleton I like to have a fix efore I merge
<yomimono> hannes: well put :)
<avsm> rebase + hack hack hack hack hack
<avsm> ok, onto Solo5
<yomimono> yaaaaay!
<avsm> djwillia: mato: what's up!
<thomasga> solo5 is awesome
<avsm> I'm running it as a test service on http://monk.recoil.org:8080 and it's holding up great to a ping flood :-)
<hannes> does it working with the virtio target (on xhyve/bhyve) yet? :)
<mato> Good progress. Mirage/Solo5 now working with unikernel-runner (tho ukvm only, so you need a /dev/kvm)
<djwillia> mato's been doing awesome stuff and i've just been schmooozing at conferences
<mato> hannes: Virtio works, but I've not documented how to run it :)
<hannes> mato: pls tell, willing to spend a weekend on getting it on bhyve
<hannes> (multiboot)
<mato> hannes: I'll doc it tomorrow
<hannes> mato: \o/
<avsm> hannes: nice, there are multiboot patches floating around for xhyve too
<mato> djwillia: Where should we put docs for running Mirage/Solo5? In the solo5 README, or somewhere else?
<mato> Anyhow, the last remaining piece of the puzzle to get the whole stack running is sorting out nocrypto and friends.
<djwillia> the readme sounds good to me for now, we should have a pointer to the unikernel-runner there at least
lepoetemaudit has joined #mirage
<djwillia> mato: are you doing freestanding versions of gmp and zarith at the moment?
<mato> I hope to have that sorted this week, then go onto doc and polish and figuring out upstreaming before the hackathon.
<mato> djwillia: already done, now I need to figure out the OASIS-bashing to get mirage-entropy and nocrypto building
<djwillia> wow great
<avsm> it might well be a good time to topkg them up if oasis gets in the way -- ping me if you get blocked on the build system mato
<mato> Stared at the _oasis and opam for some time today, no clear plan yet. I'm trying to avoid forking and/or duplicating code.
<mato> avsm: Will do.
<dbuenzli> I'm also available for `topkg` consulting.
<dbuenzli> (free)
<mato> Thanks. I've not looked at `topkg` yet.
<avsm> Ok, thanks for the update! Solo5 support is incredibly exciting
<avsm> GemmaG: over to the hackathon update!
<mato> Cheers
<avsm> I have to drop off to cycle across town... over to GemmaG and yomimono for the rest of the call. Cheers!
<hannes> (can we pls put hackathon projects into canopy instead of into github wikis?)
<GemmaG> Yay! Exciting hackathon times indeed - we have 25 signed up so far - I'm going to send a final reminder around to everyone tomorrow
<GemmaG> Yes - I'm ok with that - whichever works best :)
amirmc has quit [Quit: Leaving.]
<GemmaG> I'd like everyone to plan what they are interested in working on, and for us to figure out if there are any blockers to those projects
<GemmaG> I had started adding a list to the wiki, but happy to move it to canopy if preferred
<GemmaG> Some Pioneer Projects might also be interesting/appropriate
<avsm> just before i leave, does anyone need hardware brought
<avsm> like cubies
<avsm> also put them on that wiki
<avsm> and if you need wired ethernet etc
brson has joined #mirage
<mato> wired ethernet is always good
<djs55> I think I'll be fine with my laptop provided there's wifi
<GemmaG> I'll get a projector etc sorted for any demos
<yomimono> If we can be sure to get a lot of temporary wifi codes or whatever from college, that'd be very helpful I think
dexterph has quit [Remote host closed the connection]
<djs55> yeah I don't have eduroam any more
dexterph has joined #mirage
<GemmaG> yup - will do
<yomimono> yay! :D
<mato> I'd like to do a demo of Mirage/Solo5, will coordinate with djwillia...
<GemmaG> Great :)
<djwillia> really looking forward to meeting everyone in person!
<yomimono> :D
<mato> djwillia: will you be in cambridge for the whole week?
<djwillia> yes, i'm flying during the day on sunday and leaving the following saturday
<mato> great! looking forward to meeting in person :) i'll be arriving in cambridge monday evening, leaving also on saturday
<GemmaG> Excellent!
<djwillia> mato: will be great
<mato> i have to run, gotta go and shift a bunch of servers in 30-degree heat :(
<djwillia> GemmaG: for the help with accommodation!
avsm has quit [Ping timeout: 250 seconds]
<mato> see you all later
<djwillia> see you mato
<yomimono> later mato - stay cool :)
<thomasga> what's the next topic?
<GemmaG> Outreachy - but Gina isn't on the call today
<thomasga> "how's syslog?"
<yomimono> she successfully sent us a log message indicating her planned absence :P
<thomasga> ok :-)
<thomasga> any other stuff?
<GemmaG> She is planning on doing a syslog talk at Velocity in Amsterdam in Nov :)
<GemmaG> Think that's about it, unless there is AoB?
<thomasga> (I need to run too)
<yomimono> sounds like it, then :)
<yomimono> thanks everyone!
<thomasga> see you all!
<GemmaG> :D
dbuenzli has quit [Quit: Page closed]
thomasga has quit [Quit: Leaving.]
<djwillia> thanks and bye!
talex5 has quit [Quit: Leaving]
GemmaG has left #mirage [#mirage]
djwillia has quit [Quit: Page closed]
AltGr has left #mirage [#mirage]
insitu has joined #mirage
yomimono has quit [Ping timeout: 246 seconds]
<engil> unpurecamelbot: commit done
<unpurecamelbot> done
<engil> unpurecamelbot: bye
unpurecamelbot has quit [Quit: unpurecamelbot]
<hannes> engil! :)
lepoetemaudit has quit [Ping timeout: 250 seconds]
ricarkol has joined #mirage
ricarkol has quit [Client Quit]
mort___ has quit [Ping timeout: 272 seconds]
<reynir> ahhh I missed hte meeting
noddy has quit [Quit: "it's a bit backwards around here"]
<reynir> I'm afraid I will not go to the hackathon after all :(
<hannes> reynir: NOOOO :(
dexterph has quit [Ping timeout: 260 seconds]
<reynir> yes :(
seangrove has quit [Ping timeout: 264 seconds]
jermar has quit [Ping timeout: 244 seconds]
insitu has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
hannes has quit [Remote host closed the connection]
hannes has joined #mirage
AltGr has joined #mirage
brson has quit [Quit: leaving]
bronsen has left #mirage ["WeeChat 1.6-dev"]
AltGr has left #mirage [#mirage]
insitu has joined #mirage
<smkz> I am almost done with the NTP client/server implementation for mirage btw
<hannes> \o/
jermar has joined #mirage
insitu has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
copy` has quit [Quit: Connection closed for inactivity]
seangrove has joined #mirage
dexterph has joined #mirage
agarwal1975 has quit [Ping timeout: 246 seconds]
agarwal1975 has joined #mirage
brson has joined #mirage
andreas23 has joined #mirage
brson_ has joined #mirage
brson has quit [Ping timeout: 244 seconds]
ahf has quit [Ping timeout: 244 seconds]
ahf has joined #mirage
skeuomorf has quit [Remote host closed the connection]
agarwal1975 has quit [Quit: agarwal1975]
agarwal1975 has joined #mirage
insitu has joined #mirage
<smkz> (I am done with the parts that estimate clock rate/offset, I am working on proper tests for those and once that is done I will write all the needed glue code to make it actually useful)
copy` has joined #mirage
brson_ has quit [Ping timeout: 250 seconds]
brson has joined #mirage
insitu has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
mort___ has joined #mirage
srenatus has quit [Quit: Connection closed for inactivity]
dexterph has quit [Ping timeout: 258 seconds]
AltGr has joined #mirage
mort___ has left #mirage [#mirage]
agarwal1975 has quit [Quit: agarwal1975]
rgrinberg has quit [Ping timeout: 246 seconds]
AltGr has left #mirage [#mirage]
rgrinberg has joined #mirage