Commit Graph

1366 Commits

Author SHA1 Message Date
James O. D. Hunt
6f2c036601
Merge pull request #1164 from liwei/fix-factory-status
factory: do not destroy vm factory when checking status
2019-01-23 11:48:18 +00:00
James O. D. Hunt
1353499e74
Merge pull request #1115 from nitkon/P9SMT
runtime: Fix TestCCCheckCLIFunction on P9 system
2019-01-23 10:34:21 +00:00
Wei Li
d78a62da87 factory: do not destroy vm factory when checking status
Fixes: #1163

Signed-off-by: Wei Li <liwei@anbutu.com>
2019-01-23 15:57:04 +08:00
Jose Carlos Venegas Munoz
718488b7b5 makefile: honor DESDIR on install
- Do symlink to a relative path to hypervisor config.
- Create symlink on DESTDIR

Fixes: #1161

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2019-01-23 00:27:55 -06:00
Jose Carlos Venegas Munoz
5f7fcd7730
Merge pull request #1156 from katacontainersbot/1.5.0-branch-bump
# Kata Containers 1.5.0
2019-01-22 14:44:35 -06:00
Nitesh Konkar
c93aa53187 runtime: Check SMT=on/off only for P8 or lesser
Set testCPUInfoTemplate to systems /proc/cpuinfo
and check if SMT is on/off only on P8 and lower
systems as Power 9 systems support virtualization
irrespective of SMT being on/off.

Fixes: #1114

Signed-off-by: Nitesh Konkar niteshkonkar@in.ibm.com
2019-01-22 22:04:52 +05:30
James O. D. Hunt
c271d1c055
Merge pull request #1142 from alicefr/pci_type
s390x: change pci bridge type
2019-01-22 15:31:25 +00:00
Xu Wang
3b0b0147bd
Merge pull request #1139 from bergwolf/delete
clean up container dir
2019-01-22 10:16:34 +08:00
katacontainers bot
6875d3f6da release: Kata Containers 1.5.0
- s390x: root parameter is missing
- vc: qemu: fix error message on hotplug.
- virtcontainers: set private propagation in rootfs
- virtcontainers: ppc64le qemu does not have nvdimm capabilities yet
- shimv2: use the UnmarshalAny() to unmarshal Protobuf.Any
- runtime-v2: Make sure Shutdown() only shuts the server down
- Add build support for the firecracker hypervisor
- virtcontainers: Fix unit test typo
- shimv2: multi wait support for wait service
- update: allow do update on ready.
- cli: fix parameter order error in cli/ps.go
- virtcontainers: Add Asset, Capabilities and Bridge to the types package
- katautils: Move SetKernelParams from CreateSandbox to updateRuntimeCo…
- Versions: Add firecracker version
- Hypervisor interface simplification
- kata-runtime: Return correct kata-env on ppc64le
- katautils: Remove unused argument containerID of function SetKernelPa…
- kernel: Revert "versions: Bump to kernel 4.19.10"
- versions: Bump to kernel 4.19.10
- Initial types package creation
- cli: allow to kill a stopped container and sandbox
- virtcontainers: Pass seccomp profile inside VM
- First createSandboxFromConfig simplification
- shimv2: get the kata configure file from env KATA_CONF_FILE
- firecracker: Network API update
- container: Use lazy unmount
- block: Add new block storage driver "nvdimm"

5329a71 runtime-v2: Make sure Shutdown() only shuts the server down
a07b4cd virtcontainers: Fix unit test typo
f542233 s390x: root parameter is missing
18c7aa4 virtcontainers: ppc64le qemu does not have nvdimm capabilities yet
5ee838d shimv2: use the UnmarshalAny() to unmarshal Protobuf.Any
7228bab container: update: Allow updates once container is created
2e1ddbc virtcontainers: Add Bridge to the types package
5ba30fd shimv2: multi wait support for wait service
b25f43e virtcontainers: Add Capabilities to the types package
67e696b virtcontainers: Add Asset to the types package
6c3e0a9 build: Add support for building firecracker hypervisor
6fcb76c build: Handle qemu explicitly
933b16f build: Improve quiet install
a5a74f6 vc: qemu: fix error message on hotplug.
d4dd5f1 qemu: fix gofmt import order.
42a89d0 katautils: Move SetKernelParams from CreateSandbox to updateRuntimeConfig
abcc2d5 Versions: Add firecracker version
db33d71 Kata-runtime: Use correct model name for TestGetCPUDetails
11e24aa kata-runtime: Return correct kata-env on ppc64le
2c1b15d kernel: Revert "versions: Bump to kernel 4.19.10"
b029e44 virtcontainers: set private propagation in rootfs
a02fd59 virtcontainers: Remove code duplication in the test setup
cf22f40 virtcontainers: Remove the hypervisor waitSandbox method
763bf18 virtcontainers: Remove the hypervisor init method
fb149ce katautils: Remove unused argument containerID of function SetKernelParams
b05dbe3 runtime: Convert to the new internal types package
701afe9 virtcontainers: First types package
3ab7d07 virtcontainers: Alias for pkg/types
c2c9c84 virtcontainers: Conditionally pass seccomp profile
bf2813f cli: allow to kill a stopped container and sandbox
09168cc virtcontainers: Call stopVM() from sandbox.Stop()
acf833c virtcontainers: Call agent startSandbox from startVM
ebf8547 virtcontainers: Remove useless startSandbox wrapper
0b28ab9 shimv2: get the kata configure file from env KATA_CONF_FILE
5c6d94d firecracker: Revendor firecracker go sdk to 0.12.0
ec5cf18 firecracker: Network API update
dd28ff5 memory: Add new option memory_offset
ef75c3d block: Add new block storage driver "nvdimm"
c099be5 container: Use lazy unmount
802bfa2 versions: Bump to kernel 4.19.10
08f1c05 Module: fix parameter order error in cli/ps.go

Signed-off-by: katacontainers bot <katacontainersbot@katacontainers.io>
2019-01-21 17:37:58 +00:00
Frank Cao
d1cd82d0c1
Merge pull request #1143 from alicefr/missing_root
s390x: root parameter is missing
2019-01-21 19:40:38 +08:00
Peng Tao
e8788bebd5
Merge pull request #1121 from jcvenegas/fix-memory-max-message
vc: qemu: fix error message on hotplug.
2019-01-21 14:16:41 +08:00
Peng Tao
d75f26d719 vc: set detach flag when umounting rootfs
docker might bind mount some files/dirs under container rootfs
without notifying runtime. We need to unmount them otherwise
docker will fail to clean up containers.

man umount(2):
MNT_DETACH (since Linux 2.4.11)
     Perform a lazy unmount: make the mount point unavailable for new accesses, immediately
     disconnect the filesystem and all filesystems mounted below it from each other and
     from the mount table, and actually perform the unmount when the mount point ceases to be busy.

Signed-off-by: Peng Tao <bergwolf@gmail.com>
2019-01-21 14:11:35 +08:00
Peng Tao
d314e2d0b7 agent: clean up share path created by the agent
The agent code creates a directory at
`/run/kata-containers/shared/sandboxes/sbid/` to hold shared data
between host and guest. We need to clean it up when removing a sandbox.

Fixes: #1138

Signed-off-by: Peng Tao <bergwolf@gmail.com>
2019-01-21 14:10:59 +08:00
Peng Tao
36762c7cad qemu: cleanup vm template path properly
VM templates creates a symlink from `/run/vc/vm/sbid` to
`/run/vc/vm/vmid`. We need to clean up both of them.

Signed-off-by: Peng Tao <bergwolf@gmail.com>
2019-01-21 14:10:51 +08:00
Peng Tao
0c09d2bf9a
Merge pull request #980 from devimc/topic/left_mount_points
virtcontainers: set private propagation in rootfs
2019-01-21 13:28:23 +08:00
Graham Whaley
150a44fa6c
Merge pull request #1137 from nitkon/patch-1
virtcontainers: ppc64le qemu does not have nvdimm capabilities yet
2019-01-18 10:46:32 +00:00
Sebastien Boeuf
744354db56
Merge pull request #1134 from lifupan/marshalany
shimv2: use the UnmarshalAny() to unmarshal Protobuf.Any
2019-01-18 01:33:52 -08:00
Sebastien Boeuf
45f72219f8
Merge pull request #1151 from sboeuf/fix_v2_shutdown
runtime-v2: Make sure Shutdown() only shuts the server down
2019-01-18 01:32:43 -08:00
Sebastien Boeuf
5329a71b3d runtime-v2: Make sure Shutdown() only shuts the server down
Because the runtime v2 runs as a RPC server, the caller will at some
point use the Shutdown() API to shut down the server. Because this
will cause the server to exit, the caller cannot expect any valid
answer when calling this. That's why we cannot afford stopping and
deleting the sandbox from this function.

Instead, we move sandbox.Stop() and sandbox.Delete() to a more
appropriate API, the Delete() one.

Fixes #1150

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2019-01-17 22:15:29 -08:00
Eric Ernst
d7b02c502e
Merge pull request #1109 from jodh-intel/create-fc-config
Add build support for the firecracker hypervisor
2019-01-17 21:46:47 -08:00
Eric Ernst
50650e9342
Merge pull request #1146 from sameo/topic/typo
virtcontainers: Fix unit test typo
2019-01-17 21:41:42 -08:00
Peng Tao
ea2086b45f
Merge pull request #1133 from lifupan/multiwait
shimv2: multi wait support for wait service
2019-01-18 12:12:39 +08:00
Frank Cao
6c3277e013
Merge pull request #1126 from jcvenegas/allow-update-on-ready
update: allow do update on ready.
2019-01-18 11:03:12 +08:00
Samuel Ortiz
a07b4cd57f virtcontainers: Fix unit test typo
s/Emtpy/Empty/g

Fixes: #1145

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2019-01-17 15:55:56 +01:00
Alice Frosi
02261f9b40 s390x: change pci bridge type
Change type name for PCIBridge

Fixes: #1141

Signed-off-by: Alice Frosi <afrosi@de.ibm.com>
2019-01-17 15:52:20 +01:00
Alice Frosi
f542233cbd s390x: root parameter is missing
Fixes: #1140

Signed-off-by: Alice Frosi <afrosi@de.ibm.com>
2019-01-17 15:41:12 +01:00
nitkon
18c7aa44a8
virtcontainers: ppc64le qemu does not have nvdimm capabilities yet
Remove `nvdimm` from qemu command line
as the upstream qemu on ppc64le does not have
nvdimm capabilities yet.

Fixes: #1136

Signed-off-by: Nitesh Konkar niteshkonkar@in.ibm.com
2019-01-17 14:29:28 +05:30
fupan
5ee838d412 shimv2: use the UnmarshalAny() to unmarshal Protobuf.Any
It'll be much clear to unmarshal Protobuf.Any using
UnmarshalAny().

Fixes: #1130

Signed-off-by: fupan <lifupan@gmail.com>
2019-01-17 10:14:37 +08:00
Jose Carlos Venegas Munoz
7228bab79b container: update: Allow updates once container is created
Before, we would only allow for a container-update command
to proceed if the container was in the running state. So
long as the container is created, this should be allowed.

This was found using the `static` policy for Kubernetes CPU
manager[1]. Where the `update` command is called after the
`create` runtime command (when the container state is `ready`).

[1] https://github.com/kubernetes/community/blob/95a4a1/contributors/design-proposals/node/cpu-manager.md#example-scenarios-and-interactions

Fixes: #1083

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2019-01-16 17:15:00 -05:00
Archana Shinde
9b9ff2b7e6
Merge pull request #1019 from shaojiaxue/master
cli: fix parameter order error in cli/ps.go
2019-01-16 11:21:51 -08:00
Sebastien Boeuf
e03caf6234
Merge pull request #1122 from sameo/topic/asset-types
virtcontainers: Add Asset, Capabilities and Bridge to the types package
2019-01-16 09:03:45 -08:00
Samuel Ortiz
2e1ddbc725 virtcontainers: Add Bridge to the types package
Bridge is representing a PCI/E bridge, so we're moving the bridge*.go
to types/pci*.go.

Fixes: #1119

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2019-01-16 15:45:08 +01:00
fupan
5ba30fd628 shimv2: multi wait support for wait service
Support multi wait on one container/exec process.

Fixes: #1131

Signed-off-by: fupan <lifupan@gmail.com>
2019-01-16 12:41:59 +08:00
Samuel Ortiz
b25f43e865 virtcontainers: Add Capabilities to the types package
In order to move the hypervisor implementations into their own package,
we need to put the capabilities type into the types package.

Fixes: #1119

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2019-01-14 20:30:06 +01:00
Samuel Ortiz
67e696bf62 virtcontainers: Add Asset to the types package
In order to move the hypervisor implementations into their own package,
we need to put the asset type into the types package and break the
hypervisor->asset->virtcontainers->hypervisor cyclic dependency.

Fixes: #1119

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2019-01-14 20:30:06 +01:00
James O. D. Hunt
6c3e0a9c06 build: Add support for building firecracker hypervisor
Support building with `make HYPERVISOR=firecracker`.

Notes:

- Firecracker is currently only supported on x86_64, hence the
  architecture check.

- The template file `cli/config/configuration-fc.toml.in` is based
  on `cli/config/configuration.toml.in`.

Fixes #1105.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2019-01-14 16:55:01 +00:00
James O. D. Hunt
6fcb76cb37 build: Handle qemu explicitly
Improve the build to:

- Encapsulate the qemu configuration.
- Validate the chosen hypervisor.
- Display hypervisor details for `make help`.

This lays the groundwork to build configurations for multiple
hypervisors.

Notes:

- Variables that are hypervisor specific have now been suffixed with `_QEMU`.

- `make install` now installs `configuration-qemu.toml`.

  To maintain compatibility with existing installations, a symbolic link
  to this file called `configuration.toml` is created.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2019-01-14 16:54:57 +00:00
James O. D. Hunt
933b16fc61 build: Improve quiet install
Move the quiet prefix from the `INSTALL_EXEC` recipe and use it at the
call sites. This makes the code robust when calling the recipe in a
`$(foreach ...)` loop.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2019-01-14 10:48:38 +00:00
fli
4fda493384
Merge pull request #1107 from teawater/move_SetKernelParams
katautils: Move SetKernelParams from CreateSandbox to updateRuntimeCo…
2019-01-14 10:18:43 +08:00
Jose Carlos Venegas Munoz
a5a74f6d20 vc: qemu: fix error message on hotplug.
The error message does not provide the max memory that is exceeded.

Fix it for better error information.

Fixes: #1120

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2019-01-11 13:34:32 -06:00
Jose Carlos Venegas Munoz
d4dd5f1508 qemu: fix gofmt import order.
use gofmt changes the import order.

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2019-01-11 13:33:01 -06:00
Hui Zhu
42a89d0dcd katautils: Move SetKernelParams from CreateSandbox to updateRuntimeConfig
Function SetKernelParams is just to update the runtimeConfig according to itself.
It just around the configuration.
So this patch moves it to updateRuntimeConfig.

Fixes: #1106

Signed-off-by: Hui Zhu <teawater@hyper.sh>
2019-01-11 08:25:42 +08:00
Eric Ernst
3a2c0a6506
Merge pull request #1104 from mcastelino/topic/packaging
Versions: Add firecracker version
2019-01-09 15:44:45 -08:00
Manohar Castelino
abcc2d5867 Versions: Add firecracker version
Add firecracker version to versions.yaml. This allows kata
packaging to build and package firecracker.

Fixes: #1103

Signed-off-by: Manohar Castelino <manohar.r.castelino@intel.com>
2019-01-09 13:23:29 -08:00
Sebastien Boeuf
5be3458f84
Merge pull request #1010 from sameo/topic/hypervisor-interface
Hypervisor interface simplification
2019-01-09 13:04:55 -08:00
Frank Cao
b7ebc276aa
Merge pull request #1090 from nitkon/kataenv
kata-runtime: Return correct kata-env on ppc64le
2019-01-09 20:34:05 +08:00
Nitesh Konkar
db33d71102 Kata-runtime: Use correct model name for TestGetCPUDetails
Use the correct model name for ppc64le TestGetCPUDetails
model name.

Fixes: #1089

Signed-off-by: Nitesh Konkar niteshkonkar@in.ibm.com
2019-01-09 15:19:22 +05:30
Nitesh Konkar
11e24aa42d kata-runtime: Return correct kata-env on ppc64le
The contents of /proc/cpuinfo were
trimmed and hence the "model" field could
not be parsed despite being a field in
/proc/cpuinfo. Fix this issue.

Fixes: #1089

Signed-off-by: Nitesh Konkar niteshkonkar@in.ibm.com
2019-01-09 15:18:09 +05:30
Xu Wang
8a0793234b
Merge pull request #1098 from teawater/remove_containerID
katautils: Remove unused argument containerID of function SetKernelPa…
2019-01-09 10:45:16 +08:00
Jose Carlos Venegas Munoz
8f6c7c4c7f
Merge pull request #1101 from chavafg/topic/revert-kernel
kernel: Revert "versions: Bump to kernel 4.19.10"
2019-01-08 19:17:54 -06:00