avsm changed the topic of #mirage to: mirage 2 released! party on!
yomimono has quit [Ping timeout: 245 seconds]
rgrinberg has joined #mirage
smondet has quit [Ping timeout: 248 seconds]
rgrinberg has quit [Remote host closed the connection]
yomimono has joined #mirage
yomimono has quit [Ping timeout: 256 seconds]
rgrinberg has joined #mirage
yomimono has joined #mirage
brson has quit [Quit: leaving]
smondet has joined #mirage
yomimono has quit [Ping timeout: 256 seconds]
smondet` has joined #mirage
noddy has quit [Ping timeout: 246 seconds]
smondet has quit [Ping timeout: 240 seconds]
rgrinberg has quit [Ping timeout: 272 seconds]
yomimono has joined #mirage
yomimono has quit [Ping timeout: 256 seconds]
rgrinberg has joined #mirage
srenatus[m] has quit [Read error: Connection reset by peer]
srenatus[m] has joined #mirage
rgrinberg has quit [Ping timeout: 248 seconds]
smondet` has quit [Ping timeout: 245 seconds]
AltGr has joined #mirage
hannes has quit [Read error: Connection reset by peer]
hannes has joined #mirage
mort___ has joined #mirage
mort___ has quit [Quit: Leaving.]
noddy has joined #mirage
noddy has quit [Ping timeout: 272 seconds]
agarwal1975 has joined #mirage
mort___ has joined #mirage
smondet has joined #mirage
yomimono has joined #mirage
rgrinberg has joined #mirage
talex5 has joined #mirage
thomasga has joined #mirage
syntiux has quit [Ping timeout: 260 seconds]
syntiux has joined #mirage
yomimono has quit [Ping timeout: 272 seconds]
yomimono has joined #mirage
<hannes> morning
<yomimono> morning :)
<yomimono> how's your sunshine?
GemmaG has joined #mirage
djwillia has joined #mirage
<thomasga> mine is shiny :p
<yomimono> :D
<hannes> needed to move into the shadow to read my display
<yomimono> sounds horrible!
<lobo> hannes: morning. i envy you. it is snowing here and damn cold
avsm has joined #mirage
<avsm> greetings!
<demonimin> hello to all of you!
<yomimono> so! I claimed we'd have a biweekly catchup
<dinosaure> hi!
<avsm> wasn't there a leap week in 2016 yomimono?
<yomimono> I don't see unpureocamlbot :(
<thomasga> \o/
<yomimono> avsm: leap second, leap day, maybe leap week, why not?
djs55 has joined #mirage
<yomimono> engil, avsm: summon bot friend?
<hannes> we can copy&paste https://irclog.whitequark.org/mirage/2017-01-04 afterwards
<avsm> yeah, and I can relieve engil from bot duties in two weeks with a mirage irc logger. Need to rebuild canopy with modern libraries anyway.
<yomimono> OK, sounds like a plan to me. Agenda is at https://github.com/mirage/mirage-www/wiki/Call-Agenda for those who would like to look or add any items.
<djwillia> hi all happy new year
<yomimono> hi djwillia :)
<avsm> hi djwillia! same to you all :)
<yomimono> so our first agenda item of 2017 is, unsurprisingly, mirageos 3 and progress to it
<hannes> avsm: the canopy push hook seems to be not working on mirage/canopy-data
<avsm> hannes: its working; canopy is not rebuilding succesfully due to parsing errors. Will look later.
<avsm> mirage3: firstly a huge props to everyone on getting the errors changes in!
<yomimono> I very lazily compiled a list of things which had URLs set somewhere other than github.com/mirage in mirage-dev, i'd appreciate it if folks who've been working on updating packages could have a look to see if anything is on there that should be upstreamed still
<avsm> its utterly barking mad how many libraries changed and how many compile now :)
<yomimono> http://pastebin.com/kG1U8xj2 , I see some false positives already but just have a look and maybe @ a maintainer if you already have PRs in
<thomasga> (some are still not compiling unfortunately :p)
<hannes> i've canopy etc deployed with current mirage-dev + irimin pr :D
<yomimono> :D
<thomasga> but yes, we have a pretty big collection of (almost compatible) libraries now :-)
<hannes> thomasga: big thanks for all the PRs and work (same to @yomimono and others involved)
<yomimono> massive props to everyone who did work on this, particularly thomasga who did such a huge push on errors and splitting the types into separate packages
<avsm> A reasonably stable URL for finding out where to help fix breakage is: https://ci.ocaml.io/mirage/mirage-dev/ref/heads/master
<avsm> this is the mirage-dev OPAM remote building regularly
<hannes> howr regularly?
<avsm> very regularly. like, always
<avsm> on every commit
<thomasga> @yomimono: vchan can point to mirage now, I have merged my PR
<thomasga> (I'll make a PR)
<yomimono> thomasga: yay!
<yomimono> there are two things that haven't yet been split out of mirage/types/V1.mli into their own packages: tcpip and channel
<thomasga> I'm pretty happy with the new errors and library split
<thomasga> channel is split
<yomimono> I'm working on tcpip - I have tcpip + mirage-protocols + mirage-protocols-lwt, doing a mirage-stacks as well
<yomimono> thomasga - I thought so but then git and less said otherwise, must have a stale branch, great to hear
<avsm> yomimono: i will abandon my topkg port of tcp on the basis of extreme bitrot: after 4 weeks :)
<thomasga> but maybe I didn't propagate everything yet
<thomasga> woops
<thomasga> I'll make a PR to remove the dead-code in mirage-types
<avsm> quick question re: remotes testing. I need a set of "package roots" to install from something like mirage/mirage-dev, but its too noisy to try to build every single package in `packages/*`. or should we just do that anyway?
<avsm> alternatively we could have a packages.txt tht describe the root ones that we want installed on every push to the remote
<thomasga> @avsm: yes we should be everything
<hannes> avsm: imho: build every package under packages/* (is likely too noise for opam-repository, but good for mirage-dev)
<thomasga> the current tests are not enough
<yomimono> try everything, if it's too noisy we can remove things
<hannes> (and try a build-test as well for each package)
<thomasga> I've catched errors way to late while trying to build mirage-www
<yomimono> afk a sec, sorry
<thomasga> (while mirage-dev was building just fine)
* yomimono finishes keeping cat from escaping to pleasant -15C outside
<thomasga> @yomimono (when you're back): are you looking at spliting the remaining signatures from V1? I think that's really the last missing piece for starting to cut releases
<hannes> thomasga: for that, we should have a unikernel remote repository
<avsm> ok, every package it is then. I'll activate that on mirage-dev later on
<yomimono> thomasga: yes. nearly finished as a matter of fact
<thomasga> hannes: agreed. mirage-skeleton is not enough to tests all the combinations
<hannes> (by that I mean to have an opam repository containing all the unikernel we have, opam files generate by `foreach backend: mirage configure -t $backend`)
kayceesrk has joined #mirage
<hannes> yomimono: \o/
<thomasga> yomimono: sweet!
<thomasga> we can share the work to start releasing mirage-dev packages if you want :-)
<yomimono> then will submit a PR to rename V1/V1_LWT, although maybe we can just remove them
<hannes> +1 for just removing them
agarwal1975 has quit [Quit: agarwal1975]
<avsm> or leave them with a polymorphic variant that points to the new place
<avsm> as Core does with polymorphic comparison
<yomimono> thomasga: if you're still available that would be amazing
<thomasga> mirage-types it's quite useful place for documentation
<yomimono> avsm: example? not sure I understand what you mean
<avsm> oh, btw, you can stage PRs on mirage/opam-repository instead of ocaml/opam-repository if you'd like
<yomimono> thomasga: it should just be links to the real docstrings in the individual repos though, otherwise it will get out of date
<yomimono> and then there should probably just be a link elsewhere, no need for the modules
<thomasga> yomimono: I was planning to continue doing some mirage work until the end of the week, after that I can help a bit but will be less available. So as soon as you split the last sigs, we can start releasing the split packages in opam-repo
<hannes> yomimono: but error handling conventions, and guidelines etc. should be kept in mirage-types imho
<avsm> yomimono: in Core, they do things like: val (==) : [ `Consider_using_phys_equal ] -> [ `Consider_using_phys_equal ] -> [ `Consider_using_phys_equal ]
<avsm> using error messages as a documentation side channel :)
<yomimono> oh, interesting
<thomasga> I think it is a good idea to keep something like: http://docs.mirage.io/mirage-types/V1/index.html
<thomasga> e.g. it's useful when writing a unikernel to know what is available
<yomimono> thomasga, hannes: OK, in that case rename rather than remove, and it's a good occasion to do doc review (as MirageOS 3 is in general)
<thomasga> but it should be discouraged to depend on V1 directly (and we should rename it into Mirage_types).
<thomasga> +1
vramana has quit [Read error: Connection reset by peer]
<hannes> yomimono, thomasga: +1
<avsm> sounds good to me
<yomimono> on that topic, I had an item for "docs wishlist and blog post volunteers" but I think unless we have volunteers who want to talk right now, that's better on the mailing list
<avsm> one location for Merlin browsing would also be useful -- i often just use V1_LWT as a reference while I write code
<avsm> yomimono: I'm definitely on for this one next week. It's on my list after the CI is stable (which it is now)
<yomimono> mirage-types and mirage-types-lwt are useful metapackages for installing everything
<thomasga> (also we should probably consider merging V1_LWT and V1 into a single Mirage_type sig)
<yomimono> avsm: awesome
<thomasga> I should maybe try to run a solo5 unikernel and blog about it :p
<yomimono> thomasga: perhaps we could remove V1_LWT entirely
<yomimono> thomasga: yes!!
<hannes> thomasga: I'd move the ipaddr, cstruct, io_page stuff into Mirage_types, and keep a Mirage_types_lwt for the 'a io
<avsm> I've also published a few updates to various web packages in opam now (jekyll-format especially) so the mirage-www rewrite is easier now
<avsm> mostly a matter of ripping out html generation into a separate library and then leaving mirage-www much simpler from a runtime perspective
<thomasga> hannes: good point. I'll open a ticket to discuss about this (the remaining bits to do to kill V1)
<yomimono> +1
<yomimono> avsm: you have at least 1 user for something that generates blogs from jekyll and doesn't require me to manage a non-ocaml toolchain
<avsm> yeah
<def`> avsm: one location?
<hannes> avsm: great. is by any chance a CI task possible which runs mirage configure on selected subdirs and commits to a unikernel opam repository mentioned above on your todo?
<avsm> hannes: yeah ive got unikernel deployment on there
<avsm> unfortunately i got a polite note from github telling me to stop doing so much automated pushing
<avsm> so am setting up a gitlab instance for the binary deployments
<hannes> avsm: awesome! :) I'll try to find some time to look into porting your stuff to a FreeBSD CI
<avsm> (but perhaps it doesnt need a web UI at all)
<avsm> hannes: that would be great!
<thomasga> avsm: can you open an issue on docker/datakit, we should be able to batch some of the pushes
<avsm> thomasga: ok
<djwillia> avsm: can i ask some noob-ci questions?
<avsm> of course!
<djwillia> avsm: is ukvm a backend in the ci?
<hannes> (I managed to relocate myself to my winter office https://twitter.com/h4nnes/status/816611786636009472)
<avsm> everyone is a noob-ci -- its only about 3 days old in live deployment :-)
<djwillia> :)
<avsm> djwillia: sort of -- right now it is just build testing everything, so it is doing ukvm via solo5
<avsm> but the next stage is to aadd a build pipeline for mirage configure -> deploy
<djwillia> I'm wondering how to get the ci in my development workflow because it seems super useful
<avsm> which will commit the binary kernel
<avsm> djwillia: i'll send out a detailed message about how to deploy your own. talex5 has done a great job of making it fairly self-contained
<hannes> djwillia: I just had the very same idea earlier today when doing some opam-signing work
<hannes> avsm: yay! :)
<avsm> i'm running two distinct public instances: https://ci.mirage.io and https://ci.ocaml.io
<thomasga> djwillia: I am also working on a way to run the CI on your local machine (possible but a bit awkward to do at the moment)
<djwillia> i have some pretty massive changes to solo5/ukvm that i want to make sure don't break things
<avsm> it just needs a few more iterations to eke out bugs so you dont all get hammered by them
<djwillia> ok cool
<avsm> djwillia: i can activate it for those repos in solo5
<thomasga> but yea, talex5+avsm self-contained deployment are also looking very good
<hannes> djwillia: what is contained in the massive changes? (if we can divert the agenda to news from solo5 land for a bit)
<yomimono> agenda diversion approved, I'm curious too
<djwillia> my big changes are that i now have the working backend for running ukvm on MacOSX Hypervisor.framwork more-or-less up-to-date with the code in the current ukvm master
<avsm> it's running on https://ci.ocaml.io/pr on multiple orgs for instance
<avsm> djwillia: amazing! I've also got OSX testing on the roadmap :)
<djwillia> what it means is that a solo5/ukvm unikernel (the same binary) can be run on either Linux (with kvm) or MacOSx (with Hypervisor.framework)
<hannes> djwillia: neat! :D
<reynir> o/
<djwillia> it's going to take a bunch of time working with mato to get it merged, but i figured CI might be really useful during that process
* yomimono high-fives reynir
<thomasga> djwillia: this is amazing.
<avsm> good timing!
<thomasga> I want to write a blog post on how to run solo5/mirage on OSX :-)
<hannes> djwillia: of course, I'd like a vmmapi.h (FreeBSD/bhyve) version as well (but don't have time for this atm)
<djwillia> it doesn't use hyperkit, but just the Hypervisor.framework directly
<avsm> djwillia: thats fine -- hyperkit isnt a necessary dependency
<hannes> djwillia: i understand, and the only API in FreeBSD which is exposed atm (and used by bhyve) is vmmapi.h
<avsm> cant wait to try this :-)
<djwillia> I haven't looked at vmmapi.h, but I expect it will be pretty quick after this change
<hannes> \o/
<djwillia> in my branch ukvm now has a top half/bottom half
<djwillia> and Hypervisor.framework is low-level enough that most of the VMCS setup is explicitly done, so will be able to be reused for FreeBSD
agarwal1975 has joined #mirage
<djwillia> I think when I was looking at xhyve it may be even more low level than Hypervisor.framework, but I really think ti would be small changes
<avsm> djwillia: let me know when you'd like to activate CI and point me at some PRs
<avsm> so I've got quite a queue of requests written down now. I'll migrate avsm/mirage-ci over to mirage/mirage-ci and mail the list soon
<djwillia> avsm: sounds good!
<hannes> what have we left on the agenda?
<avsm> hackathon!
brson has joined #mirage
<yomimono> hannes is already doing good hype by sharing nice photos of a warm-looking place
<hannes> as mentioned, I already went closer to the event. I have a moroccon phone number, venue is paid for 30 people (10 places still open, but sufficiently many people interested)
<hannes> physically I'll spend the weeks until the retreat here in mirleft, morocco. http://marrakech2017.mirage.io has hack retreat information
<avsm> if anyone wants to hack on self-hosted arm64, i have several boxes i can pass onto people
<avsm> i have much desire for a 64-bit arm ukvm backend
<avsm> but we can have Intel NUCs as well of course
<hannes> I have an intel nuc with me and FreeBSD/bhyve and several wireless and wired connections (headless). we can use this to deploy our infrastructure in marrakesh :)
<yomimono> perhaps a canopy instance for folks to write in would be nice for organizing gear
<yomimono> I'll remember to check in on that at the next meeting
<avsm> for those who cant travel due to lectures etc there will be a mini cambridge hacking contingent
<avsm> if anyone needs funding, please get in touch with GemmaG or me
<hannes> djwillia, avsm: do you have time to join us in marrakech?
<avsm> hannes: unsure yet, but keen to for at least the weekend if possible!
<djwillia> hannes: trying to figure it out, will let you know as soon as I can!
<hannes> avsm: yes, that is a possibility to join just for the (possibly extended) weekend
<hannes> djwillia: mato signed up, btw :)
<djwillia> i have no doubt it would be a good time hanging out with you guys :)
<hannes> djwillia: and as ricardo as well
<avsm> will definitely need some sun by then :-)
<djwillia> yes i will ask him; i know he wants to go
<avsm> cool, sounds like it'll be tagging time for the next few weeks then!
<yomimono> Any other topics folks wanted to bring up, while we're here and paying attention?
copumpkin has joined #mirage
<yomimono> If not, I'll go finish up some stacks :D
<copumpkin> avsm: hi!
<avsm> greetings copumpkin! and -> djwillia is the Hyperkit.framework hacker :-)
<copumpkin> sweet, thanks. Mostly curious to see how it's being used outside of the docker for mac client
<copumpkin> since I might want to use it for something else
<avsm> i think that's pretty much everything from me yomimono
<reynir> I saw something about missing IRC logs on the uh...
<reynir> agenda
<copumpkin> oh sorry, am I interrupting an IRC meeting
<avsm> reynir: they are actually stored on https://github.com/mirage/canopy-data but not being rendered. will fix it before next call...
<avsm> copumpkin: no worries, almost done
* copumpkin zips it
<thomasga> there are some logs there: https://irclog.whitequark.org/mirage/2017-01-04
<reynir> Ah okay. I was going to offer my logs :-)
<yomimono> reynir: yeah, got addressed at the top of the meeting so I skipped it - I think we're good on that?
<reynir> yomimono: Sorry, I missed it when I skimmed the backlog :-)
<hannes> someone has to do the tedious copy + paste work
<yomimono> reynir: np!
<thomasga> need to run, thanks all!
<yomimono> I think that's it!
<yomimono> I call this meeting... complete.
<avsm> copumpkin: docker for mac is definitely the biggest consumer of the hypervisor.framework, but certainly not for any technical reason
<avsm> i think we just discovered it first
GemmaG has left #mirage [#mirage]
<avsm> so with djwillia' ukvm should be fine for use elsehwere
djs55 has quit [Quit: Leaving.]
<djwillia> sorry, not following: copumpkin, you're looking for example code using hypervisor.framework?
<djwillia> copumpkin: hi by the way
<copumpkin> hi :)
<djwillia> copumpkin avsm: my use of hypervisor.framework is for ukvm (a minimal unikernel monitor)
<copumpkin> mostly looking for different real non-docker uses of it, so yeah, sample code etc.
<djwillia> my changes are not in a PR yet, but I can point you to a branch if you'd like
talex5 has quit [Quit: Leaving]
<avsm> the ukvm backend should be as minimal a hello world for vmcs setup that you could ask for
<copumpkin> sure ,that'd be great
<djwillia> avsm: since it's sharing with ukvm there's a layer of abstraction in there which makes it a bit more complicated than hello world, but yeah it's close
<djwillia> also, look at these: hvdos: https://github.com/mist64/hvdos xhyve: https://github.com/mist64/xhyve
<djwillia> those both use Hypervisor.framework
<copumpkin> yeah, already using xhyve, but it seems partially abandoned and that the hyperkit fork is the most active of them
<djwillia> hvdos is REALLY simple
<copumpkin> it seems like several people have forked xhyve and then forgotten about it
<djwillia> and here's my uhvf work-in-progress branch https://github.com/djwillia/solo5/blob/monitors-merge/monitors/uhvf/uhvf-core.c
<copumpkin> thanks! I'll study it :)
<copumpkin> is the docker for mac interface with hyperkit also public somewhere?
<djwillia> I don't know about docker for mac and hyperkit
<copumpkin> ah
<copumpkin> I found https://github.com/docker/for-mac but it seems to be a fake repo
<djwillia> i was just using the hypervisor.framework directly
<copumpkin> makes sense
<djwillia> hvdos and xhyve help some, the apple docs help a little
<copumpkin> yeah, looked at that already
<copumpkin> my use case is pretty close to the docker for mac one: I'm trying to run a minimal linux image in the background as a workhorse for another process
<copumpkin> but anyway, I'm sure it'll be fairly straightforward
<djwillia> ah, i expect you will need to do more setup than what uhvf does
<copumpkin> luckily I don't need the linux process to be able to do anything much
<copumpkin> even networking is somewhat optional as long as I can talk to the host somehow
<copumpkin> anyway, thanks for the help :)
<copumpkin> it'll be educational
<djwillia> the kernel may expect you to implement certain emulation depending on how you plan to boot it
<djwillia> no problem. good luck!
<copumpkin> thanks :)
<copumpkin> avsm: I also asked if there's a public (even unofficial) "plan" for hyperkit. Do you know of such a thing? mostly curious whether docker has any plans for expanding its functionality or if it considers it to be in a good place already
yomimono has quit [Ping timeout: 256 seconds]
rgrinberg has quit [Remote host closed the connection]
djwillia has quit [Ping timeout: 260 seconds]
rgrinberg has joined #mirage
smondet has quit [Ping timeout: 240 seconds]
<avsm> copumpkin: we're generally doing a bunch of refactoring to reduce the diff to bhyve, and performance improvements
<avsm> most things are on-demand -- issues asking about any specific functionality you'd like are welcome
yomimono has joined #mirage
kayceesrk has quit [Read error: Connection reset by peer]
AltGr has left #mirage [#mirage]
yomimono has quit [Client Quit]
yomimono has joined #mirage
kayceesrk has joined #mirage
avsm has quit [Quit: Page closed]
kayceesrk has quit [Quit: kayceesrk]
mort___ has quit [Quit: Leaving.]
agarwal1975_ has joined #mirage
agarwal1975 has quit [Read error: Connection reset by peer]
agarwal1975_ is now known as agarwal1975
rgrinberg has quit [Ping timeout: 246 seconds]
smondet has joined #mirage
noddy has joined #mirage
miragebot has joined #mirage
<miragebot> mirage/master a15d164 Thomas Gazagnaire: Fix the dependencies of the tls device...
<miragebot> mirage/master d6409f5 Thomas Gazagnaire: Merge pull request #762 from samoht/tls...
<miragebot> [mirage] samoht pushed 2 new commits to master: https://git.io/vM3wM
miragebot has left #mirage [#mirage]
dograt has quit [*.net *.split]
aggelos__ has quit [*.net *.split]
dinosaure has quit [*.net *.split]
hnrgrgr has quit [*.net *.split]
poka has quit [*.net *.split]
poka has joined #mirage
hnrgrgr has joined #mirage
aggelos_ has joined #mirage
dinosaure has joined #mirage
kayceesrk has joined #mirage
dograt has joined #mirage
kayceesrk has quit [Quit: kayceesrk]
kayceesrk has joined #mirage
mort___ has joined #mirage
kayceesrk has quit [Quit: kayceesrk]
miragebot has joined #mirage
miragebot has left #mirage [#mirage]
<miragebot> mirage/master 80adf3e Thomas Gazagnaire: Move the channel signatures to mirage-channel
<miragebot> mirage/master 8ab7315 Thomas Gazagnaire: Merge pull request #763 from samoht/channel...
<miragebot> [mirage] samoht pushed 2 new commits to master: https://github.com/mirage/mirage/compare/d6409f5f4f0d...8ab7315d9e8e
kayceesrk has joined #mirage
kayceesrk has quit [Quit: kayceesrk]
kayceesrk has joined #mirage
kayceesrk has quit [Quit: kayceesrk]
kayceesrk has joined #mirage
copy` has joined #mirage
yomimono has quit [Ping timeout: 245 seconds]
yomimono has joined #mirage
yomimono has quit [Ping timeout: 246 seconds]
thomasga has quit [Quit: Leaving.]
kayceesrk has quit [Quit: kayceesrk]
agarwal1975 has quit [Quit: agarwal1975]