Commit Graph

4890 Commits

Author SHA1 Message Date
Jia He
d8d7f96b69 scripts: Disable capstone for reducing qemu binary size
Capstone is a disassembly framework which is not required for Kata.

Disabling it in configure can reduce ~6M bytes on arm64.

-rwxr-xr-x  71977368 May  8 09:32 qemu-system-aarch64.with.capstone*
-rwxr-xr-x  65676640 May  8 09:39 qemu-system-aarch64.without.capstone*

Fixes: #1044
Signed-off-by: Jia He <justin.he@arm.com>
2020-05-08 13:50:07 +08:00
Yang Bo
84e389d9d1
Merge pull request #210 from bergwolf/travis
travis: enable linux-ppc64le
2020-05-07 16:35:49 +08:00
Peng Tao
6d129546e3 travis: enable linux-ppc64le
Use build jobs to enable it.

Fixes: #209
Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-05-06 03:03:07 -07:00
Jose Carlos Venegas Munoz
47d34f5810
Merge pull request #1035 from jcvenegas/fix-1034
Release: Fix path to releasea pipeline
2020-05-05 23:17:44 -05:00
Peng Tao
cb6b0e1370
Merge pull request #204 from chavafg/topic/merge-osbuilder
Merge osbuilder/1.11.0-rc0 into kata-containers 2.0-dev branch
2020-05-06 11:02:06 +08:00
Salvador Fuentes
f75e1c2ce0
Merge pull request #1037 from GabyCT/topic/adddocu
release: Add documentation repository
2020-05-05 20:27:23 -05:00
Gabriela Cervantes
b257df53d6 release: Add documentation repository
This PR adds the documentation repository for the update-repository-version
verification.

Fixes #1027

Signed-off-by: Gabriela Cervantes <gabriela.cervantes.tellez@intel.com>
2020-05-05 15:57:04 -05:00
Jose Carlos Venegas Munoz
79fd667d40 Release: Fix path to releasea pipeline
Rename directory name from release_pieline to release_pipeline

Fixes: #1034

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2020-05-05 19:54:57 +00:00
Alice Frosi
f15557dde4 s390x: update kernel config
Update kernel configs for s390x for version 5.4.x

Fixes: #993

Signed-off-by: Alice Frosi <afrosi@de.ibm.com>
2020-05-05 13:08:54 +02:00
Archana Shinde
c14b7b5b33
Merge pull request #1030 from devimc/topic/kernel/qemu5vmlinux
qemu5-x86: boot uncompressed kernels to reduce memory footprint ~15%
2020-05-01 08:55:47 -07:00
Graham Whaley
997312e574 CI: enable Travis for static checks
Enable the Travis CI configuration to perform static CI checks
on PRs to this repo.

Fixes: #1031

Signed-off-by: Graham Whaley <graham.whaley@intel.com>
2020-04-30 14:45:59 +01:00
Salvador Fuentes
629cc0ae8d rootfs-builder: remove EulerOS
EulerOS does not work with rust agent.

further info:
https://github.com/kata-containers/osbuilder/issues/387

Signed-off-by: Salvador Fuentes <salvador.fuentes@intel.com>
2020-04-30 08:27:25 -05:00
Salvador Fuentes
586d26480c rootfs-builder: Add license header to rootfs_lib_template.sh
Add license header to `tools/osbuilder/rootfs-builder/template/rootfs_lib_template.sh`

Signed-off-by: Salvador Fuentes <salvador.fuentes@intel.com>
2020-04-30 08:20:46 -05:00
Graham Whaley
cdc8aaad6a kata-pkgsync: Fix spelling mistake
Whilst enabling the static CI checks for this repo, it picked up
a spelling mistake. We'll need to fix that before we can enable
the CI.

Signed-off-by: Graham Whaley <graham.whaley@intel.com>
2020-04-30 13:28:38 +01:00
Julio Montes
14a01d8eb5
Merge pull request #205 from bergwolf/travis
runtime: import new path
2020-04-30 07:23:10 -05:00
Peng Tao
e90c5d45b3 runtime: build with vendor
So that we don't have to download dependencies.

Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-04-29 19:25:40 -07:00
Peng Tao
cd9e309f63 travis: enable runtime root required UTs
We check both root and non-root cases.

Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-04-29 18:39:03 -07:00
Peng Tao
06b3f313a2 shimv2: do not reset service config
Only load runtime config when it is not set.
We do not expect a service's runtime config to change while
it is running.

Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-04-29 18:39:03 -07:00
Peng Tao
6de95bf36c gomod: update runtime import path
To use the kata-containers repo path.

Most of the change is generated by script:
find . -type f -name "*.go" |xargs sed -i -e \
's|github.com/kata-containers/runtime|github.com/kata-containers/kata-containers/src/runtime|g'

Fixes: #201
Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-04-29 18:39:03 -07:00
Salvador Fuentes
11c3d81f68 docs: fix markdown check issues
- Removes `CODE_OF_CONDUCT.md` and `CONTRIBUTING.md` from osbuilder
directory.
- Fixes a reference from `image-builder/README.md` to
`rootfs-builder/README.md`
- Updates the main `README.md` making a reference to the local
`tools/osbuilder/README.md`

Signed-off-by: Salvador Fuentes <salvador.fuentes@intel.com>
2020-04-29 17:51:44 -05:00
Salvador Fuentes
21c830c7da repo: Merge osbuilder/1.11.0-rc0 into kata-containers/2.0-dev
Merge osbuilder into kata-containers for 2.0 development cycle.

Signed-off-by: Salvador Fuentes <salvador.fuentes@intel.com>
2020-04-29 16:49:13 -05:00
Salvador Fuentes
715d342519 osbuilder: move code into tools directory
move all osbuilder files into `tools` directory to be able
to merge this into kata-containers repo.

Signed-off-by: Salvador Fuentes <salvador.fuentes@intel.com>
2020-04-29 16:45:00 -05:00
Julio Montes
fb6765973f kernel: boot directly into the uncompressed kernel
QEMU >= 4.0 is able to boot into the uncompressed kernel using the PVH
entry point, but to get this `CONFIG_PVH` must be enabled in the guest
kernel and `pvh.bin` installed in the host.

Booting uncompressed kernels in QEMU 5.0 can reduce the memory footprint,
~17% for KSM and ~15% nonKSM.

fixes #1029

Signed-off-by: Julio Montes <julio.montes@intel.com>
2020-04-29 16:24:19 +00:00
Jose Carlos Venegas Munoz
66fe1d2a69
Merge pull request #199 from bergwolf/runtime-1.11.0-rc0
merge Runtime 1.11.0 rc0
2020-04-29 08:24:20 -05:00
Peng Tao
241d52d4fa travis: enable runtime
Run make and test for both agent and runtime.

Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-04-29 02:44:12 -07:00
Peng Tao
359b78c1c9 runtime: fix cli non-root ci
It turns out kata check needs root privilege to
call modprobe otherwise it fails.

Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-04-29 02:40:33 -07:00
Peng Tao
a5589196ce runtime: fix TestMainBeforeSubCommands
It is simply wrong to test kata-check within before sub commands
as it is NOT before at all. Besides it causes errors if kata is
not installed.

Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-04-29 02:40:33 -07:00
Peng Tao
3b5768e6e0 runtime: remove unneeded test conf
We don't really use them anymore.

Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-04-27 20:52:12 -07:00
Peng Tao
4fceb03d96 markdown: fix markdown checke failures
Pass markdown checker.

Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-04-27 19:50:59 -07:00
Peng Tao
93b72558ad runtime: enable make file
go test needs explicit -mod=vendor argument.

Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-04-27 19:50:45 -07:00
Peng Tao
426a9cab6e runtime: fix agnet ut
We should not use a plain unix socket reader to act as grpc
server. Place a really mock grpc server instead.

Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-04-27 19:50:37 -07:00
Peng Tao
e540648950 vendor: move to go mod
Get rid of go dep finally ;)

Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-04-27 19:50:29 -07:00
Peng Tao
98e3e99843 Merge remote-tracking branch 'runtime/1.11.0-rc0' into runtime-1.11.0-rc0
Merge runtime 1.11.0-rc0 in.

Fixes: #192
Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-04-27 19:49:18 -07:00
Peng Tao
a02a8bda66 runtime: move all code to src/runtime
To prepare for merging into kata-containers repository.

Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-04-27 19:39:25 -07:00
Yang Bo
7468750442
Merge pull request #177 from lifupan/upstream_ttrpc
Upstream ttrpc
2020-04-27 20:14:17 +08:00
Salvador Fuentes
c5f0beeacd
Merge pull request #654 from amshinde/add-containerd-annotation-config
annotations: Add config documentation for containerd
2020-04-23 10:46:04 -05:00
James O. D. Hunt
56d7074180
Merge pull request #1006 from Pennyzct/kernel_fragment_on_aarch64
AArch64: Enable kernel fragment on aarch64
2020-04-23 08:42:17 +01:00
GabyCT
01ecb62a48
Merge pull request #652 from GabyCT/topic/updateslesdocum
doc: Fix SLES installation documentation
2020-04-22 09:21:30 -05:00
fupan.lfp
3ea23a9a5d add license headers to proto files
add license headers to proto files

Fixes: #148

Signed-off-by: fupan.lfp <fupan.lfp@antfin.com>
2020-04-22 22:12:38 +08:00
lifupan
a7041c27dc agent: switch from grpc to ttrpc as agent protocol
switch from grpc to ttrpc
Fixes: #148

Signed-off-by: lifupan <lifupan@gmail.com>
2020-04-22 22:12:18 +08:00
Archana Shinde
2baee26ee3 annotations: Add config documentation for containerd
Support for passing sandbox annotations to the OCI layer was added
in containerd 1.3.0. Add this to the docs along with configuration
changes needed.

Fixes #653

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
2020-04-21 11:41:56 -07:00
Gabriela Cervantes
9c332adc25 doc: Fix SLES installation documentation
This PR updates the current version of the SLES obs packages that are
being generated.

Fixes #651

Signed-off-by: Gabriela Cervantes <gabriela.cervantes.tellez@intel.com>
2020-04-21 10:43:55 -05:00
Penny Zheng
14a281d646 config: update arm64_kata_kvm_5.4.x
The config file created by kernel fragments scheme is quite different
with the old arm64_kata_kvm_5.4.x.
So I will update arm64_kata_kvm_5.4.x for consistency.

Fixes: #1004

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
2020-04-21 17:51:11 +08:00
Penny Zheng
a2dc502e48 configs: enable kvm-ptp on arm64
kvm-ptp is critical for mitigating time drift between host and guest.
This implementation in kernel side is still one experimental feature on
aarch64, and see https://github.com/kata-containers/packaging/pull/998
for detailed instructions.

Fixes: #1004

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Jianyong Wu <jianyong.wu@arm.com>
2020-04-21 17:50:37 +08:00
Penny Zheng
5a0e9cc2d3 config: disable pci shpc hotplug for arm64
Since we disable pci shpc hotplug for arm64, see
https://github.com/kata-containers/packaging/pull/498 for detailed
reason.
We need to move CONFIG_HOTPLUG_PCI_SHPC from common conf to
x86_64-specific.

Fixes: #1004

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Jianyong Wu <jianyong.wu@arm.com>
2020-04-21 14:48:02 +08:00
Penny Zheng
f188ef7f0e config: fix typo error
fix a few typo errors.

Fixes: #1004

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
2020-04-21 14:47:58 +08:00
Penny Zheng
247a84be9c arm64/mm: backport memory hot remove patch series on aarch64
Backport Anshuman Khandual's patch series of Enabling memory hot
remove on aarch64(https://patchwork.kernel.org/cover/11419305/)
to v5.4.x.
XONE_DEVICE is dependent on the implementation of memory hot remove.
This patch series has already been merged, and queued for 5.7.
After backporting this series, we could finally enable nvdimm/dax
on arm64.

Fixes: #1004

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
2020-04-21 14:47:53 +08:00
Penny Zheng
42e56a6309 config: add arm64-specific configs
Add a few arm64-specific configs and classify them into seven new categories
, that is,
1. base architecture-dependent options(base.conf)
It also includes varient-specific features, like CONFIG_ARM64_PMEM is
one ARMv8.2 arichitectural features.
2. crypto-related options(crypto.conf)
ARMv8 adds cryptographic instructions that could significantly improve
performance on tasks such as AES encryption and SHA1 and SHA256 hashing.
3. device tree related options(dt.conf)
The "Open Firmware Device Tree", or simply Device Tree (DT), is a data
structure and language for describing hardware, which is commonly
used in arm architecture.
4. ARM errata workarounds options(errata.conf)
There are many Kconfig entires under "Kernel Features" ->
"ARM errata workarounds via the alternatives framework", which provides
software workarounds to mitigate systems affected by those erratum.
Vendor-specific option will be left to users to decide.
5. pci related options(pci.conf)
a simplified pci host controller for mach-virt.
6. serial devices options(serial.conf)
CONFIG_SERIAL_OF_PLATFORM is used for all 8250 compatible serial ports
that are probed through device tree.
7. rtc related options(rtc.conf)
we don't have KVM’s paravirtualized clock and ptp implementation is
still under experimental mode, so we need rtc on aarch64.
QEMU provides an emulated ARM AMBA PrimeCell PL031 RTC.

Fixes: #1004

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
2020-04-21 14:47:42 +08:00
Penny Zheng
9784bb3e6f configs: add CONFIG_COMPACTION
Compaction is the only memory management component to form high order
(larger physically contiguous) memory blocks reliably.
The page allocator relies on compaction heavily and the lack of the feature
can lead to unexpected OOM killer invocations for high order memory requests.
We shouldn't disable this option unless there really is a strong reason.

Fixes: #1004

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
2020-04-21 14:47:35 +08:00
Penny Zheng
339d2e70e6 config: move mmio-related configs to common dir
mmio devices are required in firecracker, and for now, x86_64 and
aarch64 are all supporting kata containers with firecracker.
So, we need to move mmio-related configs to common dir.

Fixes: #1004

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
2020-04-21 14:47:31 +08:00