-
-
Notifications
You must be signed in to change notification settings - Fork 604
OSv Release 0.13
We are pleased to announce the release of OSv 0.13 Alpha Release. Some of the noteworthy new features and improvements below.
This mean you can now run any NodeJS application on top of OSv for a minimal OS+runtime solution. See a simple example here. NodeJS is available as Capstan base image.
- New example of using New Relic agent with a Java app here
We are continuously extending REST API coverage Latest additions are:
- a new reboot API, os/reboot
- ifconfig to return MAC address, network/ifconfig
Up to date API spec is here
Starting from this release the Lua CLI is becoming the default in our stand alone image. The new CLI can run either on OSv VM (for local VM) or externally (for both local and cloud deployment). On both cases, the CLI communicate with OSv VM over REST API and is subjected to its security (like SSL).
Running external CLI have the following advantage:
- No need to build the CLI into the image in advance
- Using the CLI in combination with your familiar host tools.
For example,
ls
is a guest tool,grep
is a host tool:
./cli --api=http://192.168.122.89:8000 -- ls -l | grep so
Backtrace data generated by the OSv tracing and profiling tools now include symbol information on Java JIT code as well as exported dynamic library functions.
Images of the new release are available at osv.io/downloads and using capstan search
EC2 community AMI are available here
Amnon Heiman (11):
Http Server: List all envinronment variable
Http server: Adds reboot API
Http server: ifconfig to return MAC address
Http server: List all fs API
Http Server: Handling of a type conversion in complex types
Http Server: No need to search for question mark in the path
Swagger API: clean the API to alligned to 1.2
Swagger Definition file: Allign to java swagger-codegen
Change permission on import-to-nss.sh script
routecache fails when the cache is full
Http Server: jolokia API should return 404 when there is no jvm
Asias He (9):
Revert "Revert "epoll: fix up lock ordering issues""
epoll: Do not remove _file map twice
epoll: Get rid of registered_epoll
poll: Remove poll_wake_count
epoll: Drop leftover comments
epoll: Reduce lock contetion in epoll_file::wake
epoll: Do not search again in EPOLLONESHOT case
epoll: Update comments in epoll::wait
epoll: Fix clearing evt.events in EPOLLONESHOT case
Avi Kivity (5):
Update boost to version 1.54
Update misc.bin for boost-regex
setup.py: add ncurses for the CLI
setup.py: require libstdc++-static
build: default to external environment for cross-builds
Boqun Feng (1):
libedit: pass CFLAGS and LDFLAGS to configure
Calle Wilund (14):
scripts/trace.py: Transparent dumpfile/tracefile usage + extended symbol resolution (if avail)
java: Mechanism to auto-load resident JVMTI agents iff included in image
trace: Add callback registry for trace symbol resolution
modules/josvsym: Optional module to add JVM JIT symbol resolution to trace dumps
Tracedump: Add public library symbols (exports) to dump symbol table
Jolokia: Ensure all requests are run with context classloader set
Httpserver: http headers should be treated case-insensitive
Httpserver: HTTP body request content should not be dependent on "Content-Type"
Httpserver: Do not pick up empty string as "allowed domain" for CORS
Httpserver test: Don't kill OSv instance if running in "connect mode"
Httpserver tests: Trace REST API tests
Httpserver tests: Jolokia REST API tests
Add weak symbols for __strtol_internal (etc)
Run DT_INIT/DT_FINI iff present in libs.
Claudio Fontana (14):
build.mk: replace kernel base include file
aarch64: gic: set target mask to zero for the uniproc
build.mk: remove unrelated change creep
aarch64: dtb: read amount of memory from device tree
aarch64: dtb: better cmdline handling
aarch64: dtb: get the base address of pl011 from dtb
build.mk: fix parallel build with libtools, route
aarch64: loader.ld: fix ELF initial program counter offset
aarch64: arm-clock: get the timer interrupt from dtb
aarch64: arch-setup: linear map uart using base addr
aarch64: arch-setup: get gic address from dtb
arch-dtb: cascading props should ignore current node
virtio: assert on PCI configuration failure
virtio: move functionality out of assert expression
David Halls (5):
libc: Add more functions needed by Node.js
linux: Add system calls required by Node.js
libc: open64_2
libc: Add more _chk functions
libc: Stdio-based syslog
Dmitry Fleytman (4):
routecache: initialize route cache early
release-ec2: mark created AMIs as permanent
scripts: introduce EC2 garbage collector script
setup.py: install p11-kit package
Glauber Costa (21):
implement reboot call
libc: missing __isnanf
pthread: implement missing scope functions
libc: implement ftime.c
libc: import getsrvbyname from musl
actually implement umask
cpiod: respect original mode of files
cpiod: fix broken build
utimensat: fix access check
tst-fpu: change debug to printf
eventfd2: provide it as an alias for eventfd
musl: import floating point rounding and exceptions
save fpu state/control registers on every context switch
fpu: enhance test for FPU
memcpy: make small_memcpy go to larger numbers
musl: bring in crypt functions
loader: prepare commands later
loader: set an environment variable with the amount of cpus we have
loader: support environment variables in command line
fs: fix namei lookup
tests: enhance tst-stat
Gleb Natapov (8):
initialize FPU before starting a new thread
Change vma_list_mutex from mutex to rwlock
Drop write_lock while retrieving ARC buffer
mmu: flush tlb lazily for cpus that are running system threads
disable jvm balloon
provide correct iterator to std::copy_if in flush_tlb_all()
sched: reduce number of wakeup IPIs
remove prototype of non existing function
Haifeng Gao (2):
tests:remove unused code in misc-timeslice.cc
select: add exceptfds for poll request
Nadav Har'El (35):
sched: add tracepoint for wakeup IPIs
sched: add tracepoint for yield
sched: add tracepoint for rescheduling
build.mk: fix parallel build with libtools
reboot() - remove redundant "extern C"
osv::reboot(): don't halt on failure
top.py: fix no-cpu case
top.py: add "-s" option for context-switch statistics
sched: separate thread statistics
sched: per-thread switch statistics
top.py: add "-s" option for context-switch statistics
top.py: make number of lines a parameter
top.py: remove extra newline
top.py: add migration counts
top.py: add per-thread preemption statistics
top.py: rewrite to make it easier to add and configure columns
upload_manifest.py: fix python3 support
upload_manifest.py: Fix crash when files have non-ascii names
remove unneeded includes of <cxxabi.h>
<osv/demangle.hh> - add missing include
execinfo: implement backtrace_symbols*
Another osv::demangle() variant
setup.py: add "wget" as a requirement for Fedora
doxygen: add include strip path
demangle: add a "demangler" class
sched: allow sched::thread::sleep() in a shared object
libc: implement drand48 et al.
Always show stubbing.hh's messages
libc: fix *rand48 bug
queue-mpsc: fix comments
libc: take rand() and rand_r() from musl
elf: function for finding shared-object containing an address
Fix thread_local support on recent gcc
test-pipe.cc: make it run on Linux as well
poll: generate POLLERR even if no events requested
Or Cohen (45):
cli: Created context module
cli: Add option to choose API address
cli: No print from formatting utilities
cli: Add API renderer for response class 'Threads'
cli: Ad-hoc command execution
cli: Properly parse string command line
cli: Refactor function names for consisitency
cli: Improve ls command
cli: Fix table format padding
cli: Remove alt_getopt and use stdlib's OptParse
cli: Override default --help handler
cli: Separate URL constructing code
cli: Add testing module and test command function
cli: Add -T,--test flag to test commands
cli: Enable mocking of OSv API for testing
cli: Add test for echo command
cli: Add test for dmesg
cli: Add test for cat
cli: Add test for cd
cli: Add test for date
cli: Add test for df
cli: Add test for free
cli: Add test for mkdir
cli: Add test for rm
cli: Add test for ls
Lua: Don't parallel LuaRocks installations
cli: top.py CLI replacement
cli: Fix, refactor top.lua
cli: Small fixes in lib/osv_api
cli: Various fixes and improvements to osv command
cli: Rename osv command to api
cli: Fix test for ls
cli: Move command_filename to util
cli: Add help command
cli: Fix relative path in 'rm' command
cli: Fix error output
cli: Fix df error message when mount not found
cli: Fix -h causing shell to terminate
cli: Fix 'api' working with remaning args
cli: Add help where missing in commands
cli: Add cooperative interrupt for ^C
cli: Use cli_interrupt() in top
cli: Enable non-200 replies in osv_mock_request
cli: Add tests for non-200 API responses
gitignore for httpserver and tests modules
Pekka Enberg (35):
mgmt: update to latest
Revert "top.py: add "-s" option for context-switch statistics"
libc: Add missing syslog.c
apps: bump up to latest version
Add Node to Capstan release images
vfs: Move __open_2() function to vfs/main.cc
mgmt: bump up to latest
images/default: Switch to new CLI by default
Instruct people to use scripts/setup.py for Fedora prerequisites
scripts/setup.py: Add 'unzip' to prerequisites
apps: update to latest
libc: Fix missing in6addr_loopback
apps: update to latest
httpserver/osv-gui: update to latest
cloud-init: Cassandra configuration module
cloud-init: External and internal IP accessors
scripts/ec2-simulator: Public IP address
cloud-init: External and internal IPs templating
ec2-simulator: EC2 availability zone
cloud-init: Add address resolution to HTTP client
scripts/ec2-simulator: Make default launch index zero
cloud-init: Add launch index, reservation ID, and hostname to data source
cloud-init: JSON support
cloud-init: DataStax reflector support for Cassandra
httpserver/osv-gui: update to latest
httpserver/osv-gui: update to latest
apps: update to latest
cloud-init/cassandra: Use debug() for logging
cloud-init: Remove dead code
cloud-init/cassandra: Fix logging printout
apps: update to latest
apps: update to latest
apps: update to latest
Revert "vfs/zfs: remove per-file lock enforcement for ZFS read/write ops"
apps: update to latest
Raphael S. Carvalho (7):
tests: misc-concurrent-io: refactor code and add new tests
gdb: osv zfs: add zfs prefetch stats
fs: add __open_2 function
zfs: update zfs_write to check for maximum allowed offset
vfs: fix comment describing locking in get_arcbuf
vfs: fix sys_open error handling
zfs: return failure when O_DIRECT is requested
Takuya ASADA (2):
vmxnet3: initialize buf array to prevent assertion error on reboot
cli: Ignore empty line
Tomasz Grabiec (22):
net: fix page fault in route_cache::lookup() when no route is found
trace: make 'status' command print time ranges for each CPU
trace: add sched_idle/sched_idle_ret tracepoints
trace: add prof-idle command
modules: introduce require_running()
cli: require httpserver to be running
bsd: avoid space in thread name
trace: fix formatting of per-CPU time ranges
trace: introduce 'wakeup-latency' command
sched: add sched_load() tracepoint
trace: introduce 'cpu-load' command
trace: make symbol resolution more efficient
virtio: move virtio_kicked_event_idx tracepoint
virtio: remove unimplemented function
virtio: fix typos
httpserver: fix command line arguments
build: use the host's build environment by default
java: add josvsym by default
cli: set TCP_NODELAY for HTTP request socket
libc: define __strtok_r
runtime: add stub for sysctl()
modules/certs: fix nss import error
Tzach Livyatan (1):
Add patch to Fedora prerequisite packages
Vlad Zolotarov (13):
libc: added pthread_rwlockattr_destroy()/init() emtpy wrappers.
net: moved struct if_data into a separate file
net: Added wakeup statistics counters to if_data struct
virtio::net: added wakeup statistics
netfront: Added the missing statistics counters
netfront: added ifnet->if_getinfo callback
vmxnet3: Collect wakeup statistics
vmxnet3: Added an rx_bh_wakeups statistics counter
httpserver: added wakeup statistics to ifconfig interface
virtio::net: Improve the Rx refill policy
virtio::vring: make a refill condition less agressive
Tx-no-IPI: initial commit
percpu_xmit: prevent a Tx worker thread from running endlessly on a single CPU
William Dauchy (21):
setup.py: fixing typo in Ubuntu packages list
setup.py: adding base support for debian
scripts: clean leading whitespaces in python scripts
scripts: remove unused import
scripts: fix indentation for ec2-gc script
scripts: fixing spaces for ec2-gc script
scripts: unify strings in ec2-gc
scripts: reorder imports and main for ec2-gc
scripts: replace old-style class for ec2-gc
scripts: move global variable used in main only
scripts: clean spaces behavior to follow a bit of pep8
scripts: clean brackets in run.py
scripts: no space allowed around keyword argument assignment
scripts: unnecessary semicolon
scripts: unnecessary parens after 'if' keyword
scripts: except import error for stringIO
scripts: remove all unnecessary semicolon
scripts: remove all unnecessary parens after 'if' keyword
scripts: fix all bad-indentation (spaces)
scripts, modules: massive cleaning of unused import
modules: BaseException is not meant to be directly inherited
Zifei Tong (2):
build: do not use 'private' in build.mk
scripts: use items() instead of iteritems()