containers / virtcontainers

A Go package for building hardware virtualized container runtimes
Apache License 2.0
139 stars 43 forks source link

1.0.7 release #635

Closed sameo closed 6 years ago

sameo commented 6 years ago

Added ARM64 support Added Kata Containers support Added dockershim support Added govmm support Added support for the one proxy per VM model Added 1.0 API documentation Added hotplug support for QEMU's Q35 machine type Fixed the agent, proxy and shim hierarchy Fixed the state storage implementation

Shortlog:

10d462c block: Fix disabling block device use 5236b92 documentation: Add API usage example 77c41ca documentation: Add short container 1.0 API description 0fbae82 documentation: Add short pod 1.0 API description 5a2d207 documentation: Document the 1.0 API 1ccb3a4 pod: Fetch pod network only from createPod() 563c175 qemu: change function names d8a6dd3 qemu: update qemu init b877182 qemu: add support for ARM 485b51b hypervisor: remove getState function 13d23e2 vendor: Re-vendor govmm a43389e kata_agent: Ignore resources from the specification 1479051 kata_agent: Empty namespaces paths a28064c kata_agent: Fix 9pfs rootfs 97be8e1 vendor: Update Gopkg.toml for new prune syntax a0ee7ef vendor: Remove constraints from packages not directly vendored 195d71f Run cc-shim in the network namespace of pod 62e5145 container: Let some time before to force kill a container process 9ab4716 container: Remove useless container fetching 1f9f41f pod: Remove useless pod fetching b19559f pod: Don't update container states from the pod e047779 net: remove netModel string function ac880a1 test: network: add unit test f19bd7a oci: Allow to get InternetworkingModel from config 573dcf0 network: Add NetInterworkingModel methods 6d19f56 network: Endpoint type dictate how the connection needs to be made 037a81a network: define internetworking model at endpoint creation 089119a network: remove unsed function createNetworkEndpoints e6c6f84 Add support for dockershim pod annotations e01404c container: Allow to send a signal to a created container e5ad775 container: Allow to stop a container in state created 00a9091 qemu: change CPU topology to support until 240 CPUs 7dc7483 mount: Explicitely modify and store container mount list 9acfae9 container: Move devices and mounts creation to createContainer() 484cc19 api: Add new container pointer to pod structure d07aeb2 container: Replace fetchContainer() with findContainer() cc8a959 kata_agent: Unmount properly the container a82ff68 kata_agent: Add high level unit tests 9a1f1f1 agent: Store URL and ProxyPid info from each implementation cfa2543 agent: Cleanup agent initialization 72e4468 agent: Push shim initialization down to the agent 9e8dadb agent: Push proxy initialization down to the agent 16e3a94 agent: Return process from createContainer() 41c85b2 proxy: Add proxyParams to proxy interface 67d5423 proxy: Rework proxy interface b654115 qemu: Log default kernel params d460a53 qemu: Remove unecessary parameter for buildKernelParams() 80038f3 build: Only clean files if they exist a4377a7 build: Fix clean and uninstall 5da67c9 kata_proxy: Regenerate the proxy URL when needed 5a12655 kata_agent: Parse the OCI command properly 643aeb5 agent: Increas unit testing coverage 5e78fac container: Pass the command to startShim e747236 api: Store the pod when it's completely created 42f622b pod: Register pod against proxy c03bd2f pod: Simplify container creation routines 17518a9 container: Rename createShimProcess b404961 container: Let the agent implementations start the shims c78954f pod: Wait for the VM and start the pod in startVM f67f447 pod: Rename doFetchPod 0d794ca shim: Carry the info about terminal 03a08e1 vendor: Update kata agent vendoring 6bd535a kata_agent: Constraints the OCI spec 6b8935f vendor: Add cri-containerd annotations to vendor dir fec607f cri: Add support for cri-contaienrd pod annotations 940a13e logging: Set source field for oci and hyperstart packages 579639b kata_proxy: Fetch guest agent logs when in debug mode 5fc2656 kata_agent: Replace OCI mounts source paths 7840481 mount: Pass guest shared dir to create the guest mounts 81c9ec3 mount: Add type and options fields e716658 qemu: Shut the nesting env check debug d488ca0 kata_proxy_test: Fix kata proxy unit tests 91633aa kata_proxy: Check the agent interface before dereferencing it 9aeb502 container: Create container before starting it 3fec78b kata_agent: Do not share the sandbox PID ns 8af573f kata_proxy: Kill the proxy once we unregister the VM 2ebad33 kata_agent: Unmount container rootfs when container is stopped 852f601 kata_agent: Add exec IDs for exec and create container 45c9cfd kata_agent: Fix the guest rootfs OCI path cc469f5 kata_agent: Add logrus based logger 5a34447 kata_agent: Use the correct serial channel name 9ca6126 kata_proxy: Implement all interface ops b8ac6b6 kata_agent: Build and store the default gRPC socket fb1eecd mount: Fix unmount of dangling bind-mounts d7462c7 pkg/oci: Clarify resource calculation comment 027aab8 qemu: adjust QMP naming to avoid non-unique truncation 0c4064e capabilities: Pass capabilities to hyperstart. e20ba9d oci: Add support for capabilities 6776dd9 shim: Correct kata debug flag b307c08 qemu: refactor/simplify addDevice function 747d364 vhost-user: rewrite to use interfaces/embedded types cc67fb0 vhost-user: enabling for vhost-user network devices f5587cf device: make a more generic function for hypervisor args d6f0600 gitignore: Add new shim binary to gitignore list bf8359f gitignore: Add new shim binary to gitignore list c30fd9a ci: Install missing dep tool d1bb792 kata_agent: Signal the kata shim 08c96c2 shim: Generalize stopShim 3e86f7b vendor: Force kata containers agent vendoring 34952bb shim: Factorize the shim config structure between kata and CC a7e244a shim: Factorize shim execution code eb8befb shim: Add a Kata shim mock implementation 6da9685 shim: Add a Kata Containers shim type 18f46de kata_shim: Initial implementation 60a446a container: Generate process token when not set 4c2c9a4 mounts: Fix bug while checking if /dev was bind-mounted 67fcb6d pkg/oci: honour CPU period and quota 1a3de59 agent: Add kata exec, stopContainer and killContainer 4f92997 annotations: Update tests to use package prefix b3da3de mount: Fix tests for bindMountContainerRootfs function aa75a0e kata_agent: Implement vmURL and setProxyURL 53f093d kata_agent: Initial VSOCK support bc302d2 kata_agent: Implement the validate function cb7fac2 kata_agent: Rename shared dir paths 0b95eda kata_agent: Create and start container implementations c4a4be4 mount: Gather the entire bind mount API be96f34 vendor: Update for Kata Containers c0692ca annotations: Move OCI annotations to the annotation package 1a638c0 ci: Handle complex revendoring cases fe726af kata_agent: Implement pod start and stop ops 3d1afe4 kata_agent: Initialize gRPC client f6948d8 agent: Add new agent type for Kata Containers 7d35db6 kata_agent: Add Kata agent configuration b2fe3df hyperstart: Rename to hyperstart_agent f86cd11 kata_agent: Initial implementation 414e156 qemu: improve kernel boot time bdde7bb pod: Add important comment for Cmd type a217958 oci: Pass the NoNewPrivileges flag to the agent. f683602 oci: Add support for NoNewPrivileges in oci spec ddd89b7 cheanup: Remove vendored "golang.org/x/crypto" package. fd6e357 cleanup: Remove sshd agent b7c19b8 cni: update function names for consistency 847eaaa network: scan network one less time dc4836a network: unique ID is not unique 8449f56 network: refactoring and cleanup of CNI path d6f9690 vendor: Revendor govmm for VSOCK support 71ce0c8 proxy: Implement Kata Containers proxy 8f9a2e0 proxy: Implement no_proxy generic case 2e2d33c agent: Introduce new functions to agent interface 05cec52 hyperstart: Change the path where rootfs is bind-mounted d0051aa agent: Pass information about the "-v /dev:/dev" case bdc815d mounts: Deduce additional information about system mounts 7c88153 vendor: switch to govmm c6b10c5 agent: Return the actual error returned by the agent 78771b2 Networking: Add support for multiqueue tap 2b38edc Revendor: Revendor qemu to add multiqueue support and vhost-user d4a5a59 Vendoring: Revendor netlink to add multiqueue tap support 11cfdcf cni: pass pod ID to CNI plugin's add/delete calls b956d2b gitignore: Add .swp files d6dc515 ethtool: Remove .swp file 890a8b1 Fix network warning message b0dd4c6 9p: Do not pass the rootfs through 9pfs 077a427 vendor: update ciao 01b012b vendor: Move the ciao vendoring to ciao-project 148b06a proxy: Launch one proxy instance per pod 619300a proxy: Use CC3 proxy path d8f2a22 shim: Only show shim-count if there are any c993e45 shim: Quote urls in error aa2ba14 Remove redundant "if" check 37dc3c6 cni: Assign the netpair for virtual endpoints after scan 8f846a2 cni: Fix bug while updating endpoints after scanning net namespace eb39def qemu: Provide unique QMP sockets names 6026603 qemu: Don't wait for the end of the VM eeacf8b qemu: Fix disconnectCh issue and simplify it 711783f agent: hyperstart: Tear down properly the pod b20ba87 pod: Improve pod create performances d449ece api: Refactor RunPod() c3663b2 pod: Run post-start hooks outside netns 42df5a6 hypervisor: add hot plugging support for Qemu Q35 7e80438 container: fix device mapper hot plug in qemu 2.9 121a37c filesystem: Fix fetchFile behaviour for devicesFileType 07593f0 block: Skip cold-plugging block devices. 4132cd6 api: Simplify drive hotplugging 74be935 network: Add interface type to our network info 5718a68 network: Cleanup and optimizations a7935fd storage: Simplify fetches from storage d8055a6 network: cni: Fix lack of support for SRIOV 06c73de network: Move fully to netlink structures af12f75 network: Replace CNI Result structure with a larger one 35aafe8 vendor: Update CNI related repositories

Signed-off-by: Samuel Ortiz sameo@linux.intel.com

sboeuf commented 6 years ago

LGTM