From c70cf5e01e119ceb574732be92e161c6ad37e0c2 Mon Sep 17 00:00:00 2001 From: Magnus Skjegstad Date: Thu, 15 Oct 2015 17:32:33 +0100 Subject: [PATCH 1/3] Update README with blog posts and paper --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 780a539..64157b5 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,12 @@ Jitsu supports several backends to manage the unikernel VMs. Currently [libvirt] [![Build Status](https://travis-ci.org/mirage/jitsu.svg)](https://travis-ci.org/mirage/jitsu) +## Further reading ## + - [Just-in-Time Summoning of Unikernels (v0.2)](http://www.skjegstad.com/blog/2015/08/17/jitsu-v02/). A more detailed description of how Jitsu works, highlighting some of the new features in v0.2. + - [Jitsu: Just-In-Time Summoning of Unikernels](https://www.usenix.org/system/files/conference/nsdi15/nsdi15-paper-madhavapeddy.pdf) (by A. Madhavapeddy et al). Research paper describing the first version of Jitsu and how we used it to boot unikernel services in milliseconds on ARM-based [Cubieboards](https://en.wikipedia.org/wiki/Cubieboard). + - [Towards Heroku for Unikernels: Part 2 - Self Scaling Systems](http://amirchaudhry.com/heroku-for-unikernels-pt2/). Blog post by Amir Chaudhry describing how tools like Jitsu and unikernels can be used to build demand driven clouds. + - [A unikernel experiment: A VM for every URL](http://www.skjegstad.com/blog/2015/03/25/mirageos-vm-per-url-experiment/). Experimenting with running a separate unikernel per URL. + #### Overview #### - [Installing Jitsu](#installing-jitsu) From b35b433213d4540a823d6c26a497c83d44914fa7 Mon Sep 17 00:00:00 2001 From: Magnus Skjegstad Date: Thu, 15 Oct 2015 17:33:08 +0100 Subject: [PATCH 2/3] Add VERSION file to track build and release versions --- Makefile | 11 ++++++++--- VERSION | 1 + src/.gitignore | 1 + src/main.ml | 2 +- 4 files changed, 11 insertions(+), 4 deletions(-) create mode 100644 VERSION create mode 100644 src/.gitignore diff --git a/Makefile b/Makefile index 6533df3..2f914ef 100644 --- a/Makefile +++ b/Makefile @@ -16,12 +16,17 @@ TEST_INCLUDE=-I $(SRC) PWD=$(shell pwd) BIN=$(PWD)/bin INSTALLDIR=/usr/local/bin +VERSION=$(shell cat VERSION) +VERSION_ML=$(SRC)/jitsu_version.ml all: $(BIN)/jitsu -$(BIN)/jitsu: $(addprefix $(SRC)/, $(FILES)) $(addprefix $(SRC)/, $(MAIN)) +$(VERSION_ML): VERSION + echo 'let current="$(VERSION)"' > $(VERSION_ML) + +$(BIN)/jitsu: $(addprefix $(SRC)/, $(FILES)) $(addprefix $(SRC)/, $(MAIN)) $(VERSION_ML) mkdir -p $(BIN) - cd $(SRC) ; ocamlfind $(OCAMLOPT) $(INCLUDE) $(PACKAGES) $(OPT) $(FILES) $(MAIN) -o $(BIN)/jitsu -syntax camlp4o + cd $(SRC) ; ocamlfind $(OCAMLOPT) $(INCLUDE) $(PACKAGES) $(OPT) $(VERSION_ML) $(FILES) $(MAIN) -o $(BIN)/jitsu -syntax camlp4o $(BIN)/test: $(BIN)/jitsu $(addprefix $(TEST_SRC)/, $(TEST_FILES)) $(addprefix $(TEST_SRC)/, $(TEST_MAIN)) cd $(TEST_SRC) ; ocamlfind $(OCAMLOPT) $(TEST_INCLUDE) $(TEST_PACKAGES) $(OPT) $(addprefix $(SRC)/, $(FILES)) $(TEST_FILES) $(TEST_MAIN) -o $(BIN)/test -syntax camlp4o @@ -31,7 +36,7 @@ test: $(BIN)/test $(BIN)/test install: $(BIN)/jitsu - @echo "Installing jitsu in $(INSTALLDIR)..." + @echo "Installing jitsu $(VERSION) in $(INSTALLDIR)..." install -s $(BIN)/jitsu $(INSTALLDIR)/jitsu clean: diff --git a/VERSION b/VERSION new file mode 100644 index 0000000..3b04cfb --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +0.2 diff --git a/src/.gitignore b/src/.gitignore new file mode 100644 index 0000000..d3bc8df --- /dev/null +++ b/src/.gitignore @@ -0,0 +1 @@ +jitsu_version.ml diff --git a/src/main.ml b/src/main.ml index b23f347..82891b3 100644 --- a/src/main.ml +++ b/src/main.ml @@ -52,7 +52,7 @@ let info = `P "Magnus Skjegstad " ; `S "BUGS"; `P "Submit bug reports to http://github.com/mirage/jitsu";] in - Term.info "jitsu" ~version:"0.2-alpha" ~doc ~man + Term.info "jitsu" ~version:Jitsu_version.current ~doc ~man let bindaddr = let doc = "Bind local DNS server to interface with this IP" in From cd189160f746cf83773faa6d492fe2aca9197101 Mon Sep 17 00:00:00 2001 From: Magnus Skjegstad Date: Thu, 15 Oct 2015 17:33:30 +0100 Subject: [PATCH 3/3] Update VERSION and CHANGES --- CHANGES.md | 16 ++++++++++++---- VERSION | 2 +- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 0cd9adc..0b327b9 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,13 @@ -0.2 -General +0.2.1 (2015-15-10) + +- Add/fix support for multiple DNS entries per VM +- Update storage backend to support latest Irmin API (0.10.0) +- Add VERSION file to track version in builds and releases +- Update README with links to paper and recent blog posts + +0.2 (2015-17-08) + +General: - Add support for rumprun unikernels in libxl backend (rumprun_config option) - New configuration syntax with key/value pairs - VMs are now destroyed by default (was suspend, can be changed with -m) @@ -7,12 +15,12 @@ General - Support for setting fixed response delay per domain (response_delay option, overrides -d) - Support more than one DNS name per VM -Storage +Storage: - All storage functionality moved to separate storage module - Irmin in-memory storage backend to store internal state - Add --persistdb parameter to persist Irmin db to disk -Synjitsu +Synjitsu: - Add --synjitsu parameter to connect to Synjitsu - Support for optionally updating synjitsu with the MAC address of newly booted unikernels - Support for enabling/disabling synjitsu per domain (use_synjitsu option) diff --git a/VERSION b/VERSION index 3b04cfb..0c62199 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.2 +0.2.1