forked from mirage/mirage-www
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request mirage#288 from amirmc/weekly
Add notes from call on 2015-02-11
- Loading branch information
Showing
3 changed files
with
156 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,154 @@ | ||
11th Feb 2015: Improving quality, error handling, TLS merge and GSoC | ||
|
||
### Agenda ### | ||
|
||
- Improving Quality | ||
- Error Handling RFC | ||
- TLS merge progress | ||
- OPAM 1.2 only | ||
- GSoC Projects | ||
- FOSDEM demo | ||
- Bitcoin Piñata | ||
|
||
|
||
Attendees: Amir Chaudhry, Thomas Gazagnaire, David Kaloper, Thomas Leonard, | ||
Jon Ludlam, Anil Madhavapeddy, Hannes Mehnert, Richard Mortier, Dave Scott, | ||
Mindy Preston and Nicolas Ojeda Bar | ||
|
||
|
||
### Notes ### | ||
|
||
#### Improving Quality #### | ||
|
||
We need to improve this in a more general and automated way. So far, we've done | ||
quite well with local library testing but we don't really have the ability to | ||
test things in coordinated way for unikernels. Specifically, we don't really | ||
have much end-to-end testing that looks at the complete toolchain. The only | ||
place where this surfaces for us is still mirage-www (this website!), as bugs | ||
tend to appear there whenever a wider issue occurs (cf. the recent crash on | ||
boot - [mirage/mirage#375][]). Finding bugs in an automated way and reporting | ||
them is important as the project grows. | ||
|
||
Some options include providing a manifest of specific versions and running | ||
tests that way. It would allow us to take different libraries and bisect | ||
issues. We would have to build this ourselves as we still have very few | ||
automated tests e.g [is-mirage-broken][] (and it's not enough to just have | ||
tests — we also have to fix things that they show as broken). | ||
|
||
Another thought is that instead of merging directly into the upstream OPAM | ||
repository (which is when we realise things aren't quite right), maybe we can | ||
merge into a staging repo and ensure they pass a bunch of additional tests. | ||
Provided tests pass, then the libraries can be merged upstream en-masse — in a | ||
known-working state. However, we must take care to balance things between | ||
staging and releases — we don't want to end up with a large backlog of | ||
'unreleased' software and then do infrequent 'big-bang' releases. We need to | ||
test and release upstream often and no-one should have to add the staging | ||
remote just to use up to date software (that would merely shift the current | ||
problem from the main OPAM repo to our staging repo). | ||
|
||
Related to the above, the ability to splice from an OPAM remote might be good | ||
(currently have to take *everything* on a remote). Perhaps ThomasG, Anil and | ||
Louis Gesbert can discuss at this. At the moment, trying to add test cases | ||
into libraries will make a big difference as an interim workflow. For | ||
example, Magnus has been patching TCP/IP to have some functional testing on | ||
Travis and we could do this for other libraries too, e.g DNS, Cohttp, etc and | ||
the approach would be useful elsewhere too. Getting some kind of Xen testing | ||
into [mirage-skeleton][] would also be great. | ||
|
||
[mirage/mirage#375]: https://github.com/mirage/mirage/issues/357 | ||
[is-mirage-broken]: https://github.com/mirage/is-mirage-broken/blob/master/logs/README.md | ||
[mirage-skeleton]: https://github.com/mirage/mirage-skeleton | ||
|
||
#### Error Handling RFC #### | ||
|
||
Thomas Leonard [began a discussion][err-mail] on Error handling in Mirage and | ||
[submitted a page][err-pr] to the website as an RFC. Since then, he's tried to | ||
document what people advocating for polymorphic variants were describing but, | ||
it would be better if other people can read it and advocate for their opinion | ||
(DavidK would take a look). There are also things from 4.02 that we might want | ||
to consider. In general, one of the themes that emerged from the discussions | ||
so far is the difference of Error-handling 'in the large' and 'in the small'. | ||
|
||
[err-mail]: http://lists.xenproject.org/archives/html/mirageos-devel/2015-01/msg00143.html | ||
[err-pr]: https://github.com/mirage/mirage-www/pull/274 | ||
|
||
#### OPAM 1.2 support only #### | ||
|
||
The [patch to the mirage tool][drop-12] has been made but not merged yet. | ||
ThomasG needs to get around to this and will do in due course. | ||
|
||
[drop-12]: https://github.com/mirage/mirage/pull/353 | ||
|
||
#### TLS Merge progress #### | ||
|
||
We are almost there with this and there are number of patches that need to be | ||
reviewed and merged ([mirage/mirage-dev#52][]). The largest blockers are the | ||
blobs of C code and getting them to run on Mirage. The last mile still hasn't | ||
been covered as the entropy story is not yet complete — we need to get | ||
`xentropyd` out first. Currently it's not reliable enough as things start | ||
hanging. Once that's out of the way we're looking good. DavidK is working on | ||
it. | ||
|
||
[mirage/mirage-dev#52]: https://github.com/mirage/mirage-dev/pull/52 | ||
|
||
|
||
#### GSoC Projects #### | ||
|
||
As part of Xen, we will be submitting projects as part of Google Summer of | ||
Code (GSoC). We've been curating a set of [Pioneer Projects][pioneer] and we | ||
can definitely add to this list. A quick call for ideas resulted in several | ||
potential projects being proposed and these will be added to the projects page. | ||
Very briefly, we discussed: | ||
|
||
- A router VM, which can route traffic and be a DHCP server. | ||
- A syslog unikernel | ||
- A Firewall | ||
- OCaml SSH | ||
|
||
Please see the [Pioneer Projects page][pioneer] for more details. | ||
|
||
[pioneer]: https://github.com/mirage/mirage-www/wiki/Pioneer-Projects | ||
|
||
#### FOSDEM Demo #### | ||
|
||
Amir gave a demo at FOSDEM of a unikernel running on a Cubieboard2, that would | ||
serve the 2048 game when people connected to its Wifi access point. Mindy, | ||
Magnus and DavidK helped to get the Wifi bridge working and the demo was quite | ||
successful. There's a [blog post][demo] describing the event and the [repo][] | ||
is available with instructions on what to do. Several people expressed an | ||
interest in summer projects so they were directed to the Pioneer Projects page. | ||
|
||
[demo]: http://amirchaudhry.com/unikernel-arm-demo-fosdem/ | ||
[repo]: https://github.com/amirmc/fosdemo | ||
|
||
#### Bitcoin Piñata #### | ||
|
||
Yesterday, saw the release of the [Bitcoin Piñata][btc-pin], which is designed | ||
to draw more attention to the OCaml TLS stack and unikernels. Amir wrote a | ||
[background post][bg] to provide some context around it and both of these | ||
appear to have spread very quickly over social media. The challenge is to | ||
break into a unikernel and recover the private key to a bitcoin address (and | ||
then make off with the bitcoins) — Hence the name, Piñata. If someone does | ||
manage to take the coins, we should see the transaction in the [blockchain][]. | ||
Somewhat ironically, it seems that people have *added* some coins to the | ||
address (albeit only a small amount). The Piñata is due to be up for about a | ||
month, or until the coins are gone — the only reason for the time limit is due | ||
to the maintenance burden of keeping the site up and dealing with issues (cf. | ||
the site was subjected to a [SYN flood][syn-flood] the evening after it went | ||
live.). | ||
|
||
[btc-pin]: http://ownme.ipredator.se/ | ||
[bg]: http://amirchaudhry.com/bitcoin-pinata/ | ||
[blockchain]: https://blockchain.info/address/183XuXTTgnfYfKcHbJ4sZeF46a49Fnihdh | ||
[syn-flood]: http://en.wikipedia.org/wiki/SYN_flood | ||
|
||
-- | ||
|
||
#### AoB #### | ||
|
||
- The next call is scheduled for **Wednesday, 25th February** - Please add any | ||
[agenda items][call-agenda] you wish to discuss in advance and refer to the | ||
[mailing list][mir-mail] for actual details a day or so in advance. | ||
|
||
[call-agenda]: https://github.com/mirage/mirage-www/wiki/Call-Agenda | ||
[mir-mail]: http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel |