profile
viewpoint

includeos/IncludeOS 4180

A minimal, resource efficient unikernel for cloud services

MagnusS/Java-BloomFilter 422

A stand-alone Bloom filter implementation written in Java

MagnusS/jitsu 22

A DNS server that automatically starts unikernels on demand

MagnusS/irmin-go 17

HTTP bindings for Irmin in Go

includeos/vmbuild 3

Utilities for building IncludeOS VMs

MagnusS/garpjitsu 3

Jitsu companion unikernel for sending gARP

includeos/homebrew-includeos 2

Homebrew recipes for IncludeOS

MagnusS/jitsu-demo-data 2

Jitsu Irmin database contents

Pull request review commentgs0510/index-benchmarks

Add frontend using ARG build argument in docker-compose

 The `docker-compose` file will both 1. setup the postgres instance 2. start the graphql engine +First you will need to build the docker images, and pass the build argument to the `docker-compose build` command.++```+docker-compose build --build-arg FRONTEND_DIRECTORY="<location of frontend directory>"+```++You can clone the frontend from [here](https://github.com/gs0510/current-bench/).

shouldn't this point to craigfe/current-bench?

gs0510

comment created time in 13 days

push eventMagnusS/albatross

Magnus Skjegstad

commit sha 3ad111afeacb6e3df382c424b1eb77059452d99f

Add --retry-connections, disable stats by default unless --enable stats is specified

view details

push time in 2 months

pull request commenthannesm/albatross

Minor updates to albatrossd

@hannesm I think these latest commits should address your comments. New parameter --retry-connections is 3 by default (-1 is unlimited retries), server socket is opened last and stats is enabled with a --enable-stats parameter

MagnusS

comment created time in 2 months

push eventMagnusS/albatross

Magnus Skjegstad

commit sha deb17fb9cbe0f2c77a2e4dde132fb46cffdc9cf6

Add --retry-connections, disable stats by default unless --enable stats is specified

view details

push time in 2 months

push eventMagnusS/albatross

Magnus Skjegstad

commit sha 0d30884aa6de96486d10dfb3592015f41351bf7f

Connect to log/console before creating main socket

view details

Magnus Skjegstad

commit sha 51f1d63828b7cb2bfaaaab150dee4017258a05c7

Add --connection-retries, disable stats by default unless --enable stats is specified

view details

push time in 2 months

startedlayeh/radius

started time in 2 months

PR opened gs0510/index-benchmarks

README updates

Added instructions for installing the dependencies with opam, and moved the other instructions higher up

+31 -25

0 comment

1 changed file

pr created time in 2 months

create barnchMagnusS/index-benchmarks

branch : update-readme

created branch time in 2 months

Pull request review commenthannesm/albatross

Minor updates to albatrossd

 let jump _ influx tmpdir dbdir =   | Error (`Msg msg) -> Logs.err (fun m -> m "bailing out: %s" msg)   | Ok old_unikernels ->     Lwt_main.run-      (let unix_connect s =-         Vmm_lwt.connect Lwt_unix.PF_UNIX (Lwt_unix.ADDR_UNIX (socket_path s))+      (let rec unix_connect ~retries s =+         Vmm_lwt.connect Lwt_unix.PF_UNIX (Lwt_unix.ADDR_UNIX (socket_path s)) >>= fun x ->+         (match x with+         | Some x -> Lwt.return (Some x)+         | None -> if (retries-1 != 0) then begin+                     Logs.err (fun m -> m "unable to connect to %s, retrying in 5 seconds" (socket_path s));+                     Lwt_unix.sleep 5.0 >>= fun () ->+                     unix_connect ~retries:(retries-1) s+                   end else+                     Lwt.return_none)

Ok, sounds good -- I'll update the PR with these changes (hopefully later today)

MagnusS

comment created time in 2 months

push eventmirage/mirage-vnetif

Magnus Skjegstad

commit sha 068b98a44f4d8dbb1fe32892b45814c6e73e45bb

Add vnetif_stack, monitor function, listen mutex for tests This commit adds support for creating the V4 stack directly from the library (Vnetif_stack). Previously we only provided the netif layer, so the stack had to be assembled manually. The Vnetif.connect function now accepts an optional monitor function. This function can be used to capture packets as they are read/written by the virtual interface. Packets can also be captured by connecting another interface to the backend and observe traffic from there, but this may result in a different ordering when the listen functions are called in async (which they usually are). By capturing on the interface we're able to see the traffic in the same order as it is sent/received. An unlock_on_listen mutex can now be passed to Vnetif.connect. If specified, the mutex will be unlocked if the listen function is called on the interface. This is useful for tests where a client thread waits for a server to listen for new connections. The client can now wait for the lock to unlock instead of sleeping. Signed-off-by: Magnus Skjegstad <magnus@skjegstad.com>

view details

Magnus Skjegstad

commit sha ebebefacc64da6c7aa3cbd1d0e89442f7bc70c9f

Add connect test Add a basic connect test based on the earlier connect example. Uses the netif mutex to wait for client to connect. Signed-off-by: Magnus Skjegstad <magnus@skjegstad.com>

view details

Magnus Skjegstad

commit sha 4740361342b5661b833151d743bb8d01d6f1f5f6

Move dune libraries from src to test Some of the libraries were only needed for tests, so move them to the tests dune file Signed-off-by: Magnus Skjegstad <magnus@skjegstad.com>

view details

Magnus Skjegstad

commit sha 6a25d82282d138986a00e719a2a8c7e39041d886

Split project in two packages, clean up deps Vnetif_stack is now bundled in its own package to avoid a circular dependency on tcpip, which uses regular Vnetif for testing. Tests are currently only available for the mirage-vnetif-stack package, as they use tcpip to establish a connection. Also cleans up the main opam file to remove unused dependencies.

view details

Magnus Skjegstad

commit sha f395ac0c16a3fe2c4bb77091636ca2095def5426

Update CI to build and test mirage-vnetif-stack

view details

Magnus Skjegstad

commit sha 3626c6841abb5ddd7d620521dcf77516f10eb782

Update CHANGES

view details

Magnus Skjegstad

commit sha e33e44c987289b31571dbb5f836d43a3a6485120

Merge pull request #30 from MagnusS/stack-tests Add Vnetif_stack, connect test and other helper functions

view details

push time in 2 months

PR merged mirage/mirage-vnetif

Add Vnetif_stack, connect test and other helper functions

This PR adds support for creating the V4 stack directly from the library (Vnetif_stack). Previously we only provided the netif layer, so the stack had to be assembled manually by the caller. This adds a new dependency on tcpip, which also depends on mirage-vnetif for tests, so this may have to be resolved before release.

The Vnetif.connect function now accepts an optional monitor function. This function can be used to capture packets as they are read/written by the virtual interface. Packets can also be captured by connecting another interface to the backend and observe traffic from there (as is done in mirage-tcpip), but this may result in a different ordering when the listen functions are called in async (which they usually are). By capturing on the interface we're able to see the traffic in the same order as it is sent/received.

An unlock_on_listen mutex can now be passed to Vnetif.connect. If specified, the mutex will be unlocked if the listen function is called on the interface. This is useful for tests where a client thread waits for a server to listen for new connections. The client can now wait for the lock to unlock instead of sleeping.

Also adds a basic connect test based on the earlier connect example which uses the netif mutex to wait for client to connect instead of sleeping.

+306 -26

1 comment

16 changed files

MagnusS

pr closed time in 2 months

Pull request review commenthannesm/albatross

Minor updates to albatrossd

 let jump _ influx tmpdir dbdir =   | Error (`Msg msg) -> Logs.err (fun m -> m "bailing out: %s" msg)   | Ok old_unikernels ->     Lwt_main.run-      (let unix_connect s =-         Vmm_lwt.connect Lwt_unix.PF_UNIX (Lwt_unix.ADDR_UNIX (socket_path s))+      (let rec unix_connect ~retries s =+         Vmm_lwt.connect Lwt_unix.PF_UNIX (Lwt_unix.ADDR_UNIX (socket_path s)) >>= fun x ->+         (match x with+         | Some x -> Lwt.return (Some x)+         | None -> if (retries-1 != 0) then begin+                     Logs.err (fun m -> m "unable to connect to %s, retrying in 5 seconds" (socket_path s));+                     Lwt_unix.sleep 5.0 >>= fun () ->+                     unix_connect ~retries:(retries-1) s+                   end else+                     Lwt.return_none)

Yes, if console or log fails or are slow to start albatrossd would wait and report which socket it was waiting for -- currently indefinitely, but I guess there could be a --retries= with a lower default if you want it to fail. I just noticed that albatrossd also opens its own socket first, which isn't ideal as it's not functional yet (but it looks like that could be moved). I don't mind closing this if you'd prefer to keep the solution as it is for now though -- I mostly wrote this to make my own testing easier :)

MagnusS

comment created time in 2 months

PR opened hannesm/albatross

Minor updates to albatrossd

Make albatrossd retry socket connections while waiting for log/console/stats daemons to start and return socket path in the error messages - this should allow the daemons to be started in any order. Also adds an explicit --disable-stats option as it will now retry the socket connection indefinitely if this is not specified (perhaps this should be --enable-stats instead though).

+28 -8

0 comment

2 changed files

pr created time in 2 months

create barnchMagnusS/albatross

branch : fixes

created branch time in 2 months

pull request commentmirage/mirage-skeleton

add small example for postgres (using pgx)

Restarted the CI build. It failed because of a temporary error with ocamlgraph which should be fixed now.

anuragsoni

comment created time in 2 months

fork MagnusS/albatross

Albatross: orchestrate and manage MirageOS unikernels with Solo5

fork in 2 months

delete branch MagnusS/IncludeOS

delete branch : update-slack-inv

delete time in 2 months

push eventincludeos/IncludeOS

Magnus Skjegstad

commit sha 6e91f4649a2b64e9b1a0a629eace21fd00e4ff1e

Update slack invite links

view details

Magnus Skjegstad

commit sha 99b60c782161f521edd797f789c35158109d9d44

Merge pull request #2203 from MagnusS/update-slack-inv Update slack invite links

view details

push time in 2 months

PR merged includeos/IncludeOS

Update slack invite links

Update the slack invite links in the README

cc @perbu

+2 -2

0 comment

1 changed file

MagnusS

pr closed time in 2 months

PR opened includeos/includeos.github.io

Update Slack links

Remove redirect and add new slack invite

cc @perbu

+2 -2

0 comment

2 changed files

pr created time in 2 months

create barnchMagnusS/includeos.github.io

branch : update-slack

created branch time in 2 months

PR opened includeos/IncludeOS

Reviewers
Update slack invite links

Update the slack invite links in the README

cc @perbu

+2 -2

0 comment

1 changed file

pr created time in 2 months

create barnchMagnusS/IncludeOS

branch : update-slack-inv

created branch time in 2 months

PR opened mirage/mirage-www

Move my name from contributors to core team
+1 -1

0 comment

2 changed files

pr created time in 2 months

create barnchMagnusS/mirage-www

branch : team-update

created branch time in 2 months

push eventMagnusS/bmtune

Magnus Skjegstad

commit sha d98185a83c6b9c38511822b3d045adf98b4c43d9

fix formatting

view details

Magnus Skjegstad

commit sha 3b5239a6aaca04fa1f2473ff114761ab161d7d5f

Add link to linuxkit image

view details

push time in 2 months

push eventMagnusS/bmtune

Magnus Skjegstad

commit sha 77a5e4515c840978b96f553270f6e8145451b8d2

Add standard link flags

view details

Magnus Skjegstad

commit sha 8f7d7a35849b9dfe1432b4a564bdac24a1597faa

build: use static dune profile instead of extra source file

view details

push time in 2 months

PR opened ocurrent/ocaml-ci

Add @magnuss to whitelist

Adding myself to the whitelist to test the CI

+1 -1

0 comment

1 changed file

pr created time in 2 months

create barnchMagnusS/ocaml-ci

branch : whitelist

created branch time in 2 months

startedocurrent/ocaml-ci

started time in 2 months

fork MagnusS/ocaml-ci

A CI for OCaml projects

fork in 2 months

push eventMagnusS/bmtune

Magnus Skjegstad

commit sha 01ce800a0ff8435e7693345688ddcbbfb4568dac

Update to use ocamlformat

view details

push time in 2 months

push eventMagnusS/bmtune

Magnus Skjegstad

commit sha addacee4cd90280ad39e49098901c2be3c7afb33

add link to ocaml_bench_scripts

view details

push time in 2 months

push eventMagnusS/cb-lk

Magnus Skjegstad

commit sha 704224d3f2080cd87fc6ac2cf8148c3f78ecf62d

Add Linuxkit config

view details

Magnus Skjegstad

commit sha 8f37faa00fe99a9d6cc3ca48d682c4fc18170997

Add ipxe script example

view details

Magnus Skjegstad

commit sha 61b39733fcb4f374a15385ccf9e45512d0c0c0f0

Update README and Makefile

view details

push time in 2 months

issue commentmirage/mirage-vnetif

Is this repo possibly outdated?

You are right - the library should be up to date, but the examples and README in this repo have not been updated to the latest version of MirageOS unfortunately. So the IP-stack now needs to be constructed differently, which mirage-tcpip is doing.

You can see how it is set up in https://github.com/mirage/mirage-tcpip/blob/master/test/vnetif_common.ml#L65 and used in https://github.com/mirage/mirage-tcpip/blob/master/test/test_connect.ml#L47. The test_connect test in mirage-tcpip should be very similar to the connect unikernel example here.

I have pushed an early updated version of the example in a branch here, which should at least fix some of the issues: https://github.com/MagnusS/mirage-vnetif/tree/fix-connect-example/examples/connect

I'm in the process of cleaning up the documentation and examples, but it may take some time to update everything. Happy to merge PRs with fixes or updates :-) I'll leave this issue open to track it.

lucaszanella

comment created time in 2 months

push eventMagnusS/mirage-vnetif

Magnus Skjegstad

commit sha 6d632ba3c4fca4503b80c3e157e99db65c052aec

Partial fix for connect example

view details

push time in 2 months

push eventMagnusS/mirage-vnetif

Magnus Skjegstad

commit sha aa652cdb7e76b819decc7cfddef79b99ef73d33d

Partial fix for connect example

view details

push time in 2 months

create barnchMagnusS/mirage-vnetif

branch : fix-connect-example

created branch time in 2 months

CommitCommentEvent

push eventMagnusS/bmtune

Magnus Skjegstad

commit sha ccd4c4d67137a54ca8ac1b8f5646f3a36500d0d3

add initial version of bmtune Signed-off-by: Magnus Skjegstad <magnus@skjegstad.com>

view details

Magnus Skjegstad

commit sha 40348e98d1a3f2d5843fc8272d906876c3cc3b7d

Add Makefile, Dockerfile, static target Adds a Makefile + Dockerfile for building on platforms without a supported musl-tools. Docker container is FROM scratch with the static binary, suitable for including as a linuxkit pkg Signed-off-by: Magnus Skjegstad <magnus@skjegstad.com>

view details

Magnus Skjegstad

commit sha d7cadd53a41b4f28423936045d0734f56a79cde8

Add irq reconfig, cpu governor, turbo boost disable

view details

Magnus Skjegstad

commit sha e2b79f67e25c57e60ac877630fd09b53f8582fdd

Ignore some IRQs, more robust isolcpu/nohz_full checks Signed-off-by: Magnus Skjegstad <magnus@skjegstad.com>

view details

Magnus Skjegstad

commit sha 712e3f0b70607023bfc1e65cbf76043b240fd666

Move Dockerfile, Makefile to toplevel, src to /src Signed-off-by: Magnus Skjegstad <magnus@skjegstad.com>

view details

Magnus Skjegstad

commit sha 5f3d4e28d0db336d81071f26b02dc49d29956b6d

Update to use dune, push/tag docker image

view details

Magnus Skjegstad

commit sha e934b285e3e661a4378a36b47eb6e981b258a715

Update README

view details

push time in 2 months

create barnchMagnusS/bmtune

branch : master

created branch time in 2 months

created repositoryMagnusS/bmtune

created time in 2 months

create barnchMagnusS/cb-lk

branch : master

created branch time in 3 months

created repositoryMagnusS/cb-lk

created time in 3 months

more