<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
<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 :)
<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?
<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
<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>
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
<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...