Commit Graph

4802 Commits

Author SHA1 Message Date
Eric Ernst
f28de59210 release: Kata Containers 1.9.0-alpha0
- qemu: use x-ignore-shared to implement vm template
- virtiofs: Allow memory hotplug with virtiofs
- Firecracker Add jailer support for firecracker
- runtime: update govmm and move to virtio 1.0 for hotplugs
- HV: kata-runtime support for ACRN hypervisor
- versions: add crictl version which is compatible with OpenShift
- versions: update CRI-O to v1.14.6
- Fix fork exec test errors
- ci: Verify and block merge if other projects are not updated
- shimv2: Add missing page size to Hugetlb Stat

d14968b qemu: use x-ignore-shared to implement vm template
d392b22 virtiofs: Allow memory hotplug with virtiofs
050f8e9 runtime: Disable disable-modern for virtio QMP add
3e4989d vendor: update govmm and match code
4fed346 Firecracker: Enable jailer by default
78ea50c virtcontainers: Jailer: Add jailer support for firecracker
98a6973 virtcontainers: Add ACRN unit test cases
f246a79 virtcontainers: Add support for updating virtio-blk based container rootfs
d9a4157 virtcontainers: Add support for launching/managing ACRN based VMs
828e0a2 pkg/katautils: Add support for ACRN hypervisor config
adcac93 kata-check: Check and validate type-1 hypervisor for kata
4d26cee Make: Add ACRN hypervisor and generate configuration file
bdd8947 versions: add crictl version which is compatible with OpenShift
098501a versions: update CRI-O to v1.14.6
4968438 tests: Fix fork/exec test error
fcf9f9f test: Fix fd leak causing test error
5182a25 ci: Verify and block merge if other projects are not updated
da7f5f3 shimv2: Add missing page size to Hugetlb Stat

Signed-off-by: Eric Ernst <eric.ernst@intel.com>
2019-07-18 12:49:54 -07:00
Eric Ernst
bdbc806770 release: Kata Containers 1.9.0-alpha0
- rootfs: upgrade docker images for fedora
- rootfs: Make sure etc exists.

edb770e rootfs: upgrade docker images for fedora
27dddf0 rootfs: Make sure etc exists.

Signed-off-by: Eric Ernst <eric.ernst@intel.com>
2019-07-18 12:49:36 -07:00
Graham Whaley
8e29464b46 install: README: add Minikube entry
Add Minikube to the list of 'cloud' providers installation instructions.
Whilst there, order the list alphabetically.

Signed-off-by: Graham Whaley <graham.whaley@intel.com>
2019-07-18 13:28:55 +00:00
Graham Whaley
f97fe323a1 install: add Minikube installation instructions
Add instructions of how to setup and install Kata under
Minikue.

Fixes: #444

Signed-off-by: Graham Whaley <graham.whaley@intel.com>
2019-07-18 13:28:55 +00:00
Chengguang Xu
097156d837 docs: Fix workaround solution for ConfigPath
In the workaround solution of ConfigPath, there is a '$@'
missing in the script, so add it.

Fixes: #515

Signed-off-by: Chengguang Xu <cgxu519@zoho.com.cn>
2019-07-18 20:20:12 +08:00
James O. D. Hunt
dfda61c681
Merge pull request #510 from eadamsintel/qat-with-kata
QAT: Add initial Intel QAT Kata instructions
2019-07-18 09:14:44 +01:00
James O. D. Hunt
fb454f87f7
Merge pull request #332 from jcvenegas/fedora-update
rootfs: upgrade docker images for fedora
2019-07-18 08:40:22 +01:00
Peng Tao
d987a30367
Merge pull request #1799 from bergwolf/template
qemu: use x-ignore-shared to implement vm template
2019-07-18 10:38:59 +08:00
Eric Adams
0402d41ca3 QAT: Add initial Intel QAT Kata instructions
These instructions cover how to install the out of tree
QAT drivers to the host, build a custom kata kernel and
rootfs, and build a QAT accelerated OpenSSL container
image.

Fixes: #509

Signed-off-by: <eric.adams@intel.com>
2019-07-17 15:25:32 -07:00
Jose Carlos Venegas Munoz
b25f6caf85
Merge pull request #644 from jcvenegas/release-pipeline
release: add pipeline
2019-07-17 17:16:36 -05:00
Jose Carlos Venegas Munoz
920965eb79 release: add pipeline
add pipeline to integrate all  release jobs.

Signed-off-by: Jose Carlos Venegas Munoz <jcvenega@jcvenega-nuc.zpn.intel.com>
2019-07-17 17:01:21 -05:00
Jose Carlos Venegas Munoz
edb770ee63 rootfs: upgrade docker images for fedora
Use fedora 30 in docker images.

Fixes: #331

Signed-off-by: Jose Carlos Venegas Munoz <jcvenega@jcvenega-nuc.zpn.intel.com>
2019-07-17 13:54:53 -05:00
Marco Vedovati
39370c2aea rootfs-builder: support provisioning existing rootfs
Add the use case of provisioning an existing rootfs directory with the
components / configurations needed to generate a Kata compatible images.
This supports use cases such as using a rootfs built outside of
osbuilder, and providing a overlay for dracut built initrds.

Signed-off-by: Marco Vedovati <mvedovati@suse.com>
2019-07-17 19:47:14 +02:00
Salvador Fuentes
e89195e70e
Merge pull request #1810 from ganeshmaharaj/virtiofs-hotplug
virtiofs: Allow memory hotplug with virtiofs
2019-07-17 09:21:26 -05:00
Eric Ernst
16d2142f93
Merge pull request #641 from bergwolf/qemu-migration
qemu: replace private migration patch with the upstream one
2019-07-17 09:12:46 -05:00
Peng Tao
d14968b66a qemu: use x-ignore-shared to implement vm template
qemu upstream has x-ignore-shared that works similar
to our private bypass-shared-memory. We can use it to
implement the vm template feature.

Fixes: #1798
Depends-on: github.com/kata-containers/packaging#641
Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2019-07-17 05:37:22 -07:00
Peng Tao
04407ac2ce qemu: replace private migration patch with the upstream one
Then we can use x-ignore-shared to do migration and drop the
extra patch once we move to qemu 4.1.0 or later.

Fixes: #640
Depends-on: github.com/kata-containers/runtime#1799
Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2019-07-17 00:47:57 -07:00
GabyCT
7d38b84203
Merge pull request #329 from amshinde/make-sure-etc-exists-for-chrony
rootfs: Make sure etc exists.
2019-07-16 16:38:56 -05:00
GabyCT
bc15e44245
Merge pull request #1649 from mcastelino/topic/jail
Firecracker Add jailer support for firecracker
2019-07-12 12:05:16 -05:00
Ganesh Maharaj Mahalingam
d392b22ee4 virtiofs: Allow memory hotplug with virtiofs
Kata with virtio-fs fails to do memory hotplugging. This is caused by
the fact that hot plugged memory is always backed by
'memory-backend-ram' while virtio-fs expects it to be backed by file and
shared for it to be able to use the system the way it is intended. This
chnage allows using file based memory backend for virtio-fs, hugepages
or when the user prefers to use a file backed memory

Fixes: #1745
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
2019-07-12 09:25:30 -07:00
Manohar Castelino
3bd4bb66fb
Merge pull request #1868 from ganeshmaharaj/revert-virtio-disable-modern
runtime: update govmm and move to virtio 1.0 for hotplugs
2019-07-12 09:07:37 -07:00
Ganesh Maharaj Mahalingam
050f8e9715 runtime: Disable disable-modern for virtio QMP add
History: the previous version of kvm (unknown) and qemu-lite had an
issue using virtio 1.0 version when it came to device hotplug, which led
to the team to disable 1.0 version of virtio for hotplug (set
disable-modern=on). Please check
e99f6b2931
for further info.

We have since moved to QEMU4.0 and probably a later version of kvm as
default across all distros. This change is to move to virtio 1.0 for
hotplugging devices.

Fixes: #1870
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
2019-07-11 20:16:15 -07:00
Ganesh Maharaj Mahalingam
3e4989db42 vendor: update govmm and match code
update govmm to support virtiofs memory hotplug
Commits:
    0c900f5 Allow sharing of memory backend file
    f695ddf qemu: add migration incoming defer support
    f0f18dd qmp: add virtio-blk multiqueue
    7d3deea qemu: Add a virtio-blk-pci device driver support

Fixes: #1745
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
2019-07-11 20:16:15 -07:00
Manohar Castelino
4fed346d53 Firecracker: Enable jailer by default
Add jailer support to configuration files.
Also enable jailer by default in Kata containers.

Signed-off-by: Manohar Castelino <manohar.r.castelino@intel.com>
2019-07-11 21:32:45 +00:00
Manohar Castelino
78ea50c36c virtcontainers: Jailer: Add jailer support for firecracker
Firecracker provides a jailer to constrain the VMM. Use this
jailer to launch the firecracker VMM instead of launching it
directly from the kata-runtime.

The jailer will ensure that the firecracker VMM will run
in its own network and mount namespace. All assets required
by the VMM have to be present within these namespaces.
The assets need to be copied or bind mounted into the chroot
location setup by jailer in order for firecracker to access
these resouces. This includes files, device nodes and all
other assets.

Jailer automatically sets up the jail to have access to
kvm and vhost-vsock.

If a jailer is not available (i.e. not setup in the toml)
for a given hypervisor the runtime will act as the jailer.

Also enhance the hypervisor interface and unit tests to
include the network namespace. This allows the hypervisor
to choose how and where to lauch the VMM process, vs
virtcontainers directly launching the VMM process.

Fixes: #1129

Signed-off-by: Manohar Castelino <manohar.r.castelino@intel.com>
2019-07-11 21:32:36 +00:00
GabyCT
d3fd4efad0
Merge pull request #636 from devimc/topic/snap/fixSnap
snap: add bc to build-packages
2019-07-11 11:48:38 -05:00
Archana Shinde
5e67e04666
Merge pull request #1779 from vijaydhanraj/ACRN-Runtime
HV: kata-runtime support for ACRN hypervisor
2019-07-11 09:42:19 -07:00
Julio Montes
e393422ad4 snap: add bc to build-packages
bc is required to build the snap in launchpad

fixes #635

Signed-off-by: Julio Montes <julio.montes@intel.com>
2019-07-11 15:03:42 +00:00
Salvador Fuentes
0089d300e4
Merge pull request #626 from devimc/topic/snap/fixSnap
snap: fix and release new snap
2019-07-10 13:46:14 -05:00
Vijay Dhanraj
98a69736c5 virtcontainers: Add ACRN unit test cases
This patch adds unit test cases for acrn specific changes.

Fixes: #1778
Signed-off-by: Vijay Dhanraj <vijay.dhanraj@intel.com>
2019-07-10 10:49:24 -07:00
Vijay Dhanraj
f246a799aa virtcontainers: Add support for updating virtio-blk based container rootfs
Thist patch adds the following,
1. ACRN only supports virtio-blk and so the rootfs for the VM
   sits at /dev/vda. So to get the container rootfs increment the
   globalIndex by 1.
2. ACRN doesn't hot-plug container rootfs (but uses blkrescan) to
   update the container rootfs. So the agent can be provided the virtpath
   rather than the PCIaddr avoiding unneccessary rescaning to find the
   virthpath.

v1->v2:
Removed the workaround of incrementing index for
virtio-blk device and addressed it acrn.

Fixes: #1778

Signed-off-by: Vijay Dhanraj <vijay.dhanraj@intel.com>
2019-07-10 10:49:24 -07:00
Vijay Dhanraj
d9a4157841 virtcontainers: Add support for launching/managing ACRN based VMs
This patch adds the following,
1. Implement Sandbox management APIs for ACRN.
2. Implement Sandbox operation APIs for ACRN.
3. Add support for hot-plugging virtio-blk based
(using blk rescan feature) container rootfs to ACRN.
4. Prime devices, image and kernel parameters for
launching VM using ACRN.

v2->v3:
Incrementing index to keep track of virtio-blk devices
created. This change removes the workaround introduced
in block.go.

v1->v2:
1. Created issue #1785 to address the UUID TODO item.
2. Removed dead code.
3. Fixed formatting of log messages.
4. Fixed year in copyright message.
5. Removed acrn_amd64.go file as there are no amd64 specific
   changes. Moved the code to acrn_arch_base.go.

Fixes: #1778

Signed-off-by: Vijay Dhanraj <vijay.dhanraj@intel.com>
2019-07-10 10:49:24 -07:00
Vijay Dhanraj
828e0a2205 pkg/katautils: Add support for ACRN hypervisor config
This patch adds support for,
1. Extracting and configuring ACRN hypervisor from toml.
2. Add ACRN hypervisor ctl for controlling ACRN hypervisor.
This will be used for updating virtio-blk based
container rootfs using blk rescan feature.

v2->v3:
Fixed acrnctl path.

v1->v2:
Trimmed hypervisor config options as needed by ACRN.

Fixes: #1778

Signed-off-by: Vijay Dhanraj <vijay.dhanraj@intel.com>
2019-07-10 10:49:24 -07:00
Vijay Dhanraj
adcac9368f kata-check: Check and validate type-1 hypervisor for kata
ACRN hypervisor is a type-1 hypervisor and this patch
adds support to check and validate if the system is
capable of running kata containers with ACRN hypervisor.

Depends-on: github.com/kata-containers/tests#1793

v3->v4:
Implemented a generic way to identify hypervisor and
test VM creation.

v2->v3:
1. Removed cgo structs and defined go structs.
2. Suppressed lint warnings due to unused createVM struct.

v1->v2:
1. Created an issue #1784 to address TODO item.
2. Fixed formatting of the log message.
3. Currently ACRN is only supported on amd64. So
   moved ACRN specific code to kata-check_amd64.go.

Fixes: #1778

Signed-off-by: Vijay Dhanraj <vijay.dhanraj@intel.com>
2019-07-10 10:47:31 -07:00
Vijay Dhanraj
4d26ceee79 Make: Add ACRN hypervisor and generate configuration file
This patch covers the following aspects,
1. Add ACRN as a supported hypervisor for amd64 architecture.
2. Build and install configuration file for ACRN hypervisor.

v1->v2:
1. Deleted autogenerated configuration-acrn.toml.
2. Trimmed configuration options not used by ACRN.

Fixes: #1778

Signed-off-by: Vijay Dhanraj <vijay.dhanraj@intel.com>
2019-07-10 10:46:47 -07:00
Julio Montes
4e5e018e59 snap/ci: Do not run shimv2 tests
shimv2 with vm templating are failing, disable them and fix later
see https://github.com/kata-containers/packaging/issues/633

Signed-off-by: Julio Montes <julio.montes@intel.com>
2019-07-10 15:48:04 +00:00
Salvador Fuentes
a4e6af0316
Merge pull request #1873 from openSUSE/crictl-openshift
versions: add crictl version which is compatible with OpenShift
2019-07-10 10:10:26 -05:00
Sascha Grunert
bdd89473fd
versions: add crictl version which is compatible with OpenShift
Fixes #1872

Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2019-07-10 11:02:34 +02:00
Julio Montes
10959e6faf
Merge pull request #624 from devimc/topic/kernel/fixConfig
kernel/x86_64: fix make oldconfig
2019-07-09 15:54:07 -05:00
Julio Montes
e647b50bd8
Merge pull request #628 from devimc/topic/scripts/qemu41Libssh
scripts: update configure-hypervisor script to support QEMU 4.1
2019-07-09 15:53:36 -05:00
Julio Montes
588bcedd02 snap: release 1.8.0-rc0
Update snap version to 1.8.0-rc0

fixes #625

Signed-off-by: Julio Montes <julio.montes@intel.com>
2019-07-09 20:31:05 +00:00
Julio Montes
cc4e59f19d snap: update QEMU to 4.0.0
Update QEMU to 4.0.0 since it's now officially supported in Kata Containers

Signed-off-by: Julio Montes <julio.montes@intel.com>
2019-07-09 20:31:05 +00:00
Julio Montes
0bbce8e652 snap: use tagged version of osbuilder to generate the images
To avoid conflics between kata companents and their versions, all
components should be built using their tagged version.

Signed-off-by: Julio Montes <julio.montes@intel.com>
2019-07-09 20:31:05 +00:00
Julio Montes
a0d0a20c98 snap: setup kernel using build-kernel.sh
Setup the kernel by hand is prone to errors.
Use `build-kernel.sh setup` to pull and setup the kata kernel.

fixes #438

Signed-off-by: Julio Montes <julio.montes@intel.com>
2019-07-09 20:31:05 +00:00
Julio Montes
335b8846ed snap: pull and install yq from github
osbuilder shares the yq binary with the container that generates the image,
unfortunately the snap version of yq is not a static binary hence it's not
compatible with the alpine container.

Signed-off-by: Julio Montes <julio.montes@intel.com>
2019-07-09 18:01:59 +00:00
GabyCT
e9bbe0b343
Merge pull request #1867 from openSUSE/crio-version
versions: update CRI-O to v1.14.6
2019-07-09 10:11:34 -05:00
Sascha Grunert
098501ac14
versions: update CRI-O to v1.14.6
- Changes:
  - version: v1.14.6
  - Add username and homedir to generated password
  - Close temporary image in PullImage
  - Version 1.14.6-dev
  - Version 1.14.5
  - version: if git commit is empty, silently ignore
  - enable inline exec and attach test
  - Bump up minMemoryLimit to 12Mb
  - Backport CircleCI config
  - Fix up machine os content version and cri-o version in spec
  - Add state of infracontainer to disk when stopped
  - Use GlobalAuthFile when pulling the pause image if
    PauseImageAuthFile is not set
  - Don't discard copy.Options.SourceCtx when credentials are provided
  - Don't set non-default copy.Options in imageService.PullImage if it is nil
  - Add global_auth_file option to crio.image config
  - Create network and plugins directory if they do not exist
  - Disable file locking by default
  - Update containers/image to v2.0.0, buildah to 1.8.4, libpod to 1.4.1, ...
  - Bump github.com/containers/libpod from 1.2.0 to 1.3.1
  - Vendor containers/storage v1.12.4
  - update github.com/containers/* dependencies
  - Changes to rpm build and Dockerfile for ci
  - When plugin_dir is set, only use that value
  - Update Makefile to be usable without git
  - bump to version 1.14.5-dev
  - bump to version 1.14.4
  - Default to runc is default_runtime is not set
  - Fix missing images names on list
  - Add crio-wipe
  - Add logic for running OpenShift CI on cri-o PRs
  - Update device cgroup permissions for configured devices.
  - version: v1.14.4-dev
  - version: v1.14.3
  - Fix runtime panic when having concurrent writes to runtime impl map
  - server: do not add default /sys if bind mounted
  - Change plugin_dir to plugin_dirs
  - Added unit tests
  - Add version file functionality
  - fix build issues on 32-bit arches
  - conmon: use sd_journal_sendv
  - make vendor generated
  - Move to v1.14.3-dev
  - Tag v1.14.2
  - Vendor in c/storage release-1.13
  - Revert "update github.com/containers/* dependencies"
  - Update test suites
  - Fix logic of server.restore()
  - version: v1.14.2-dev

Fixes #1866

Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2019-07-09 10:57:25 +02:00
Julio Montes
d0c267191c kernel/x86_64: fix make oldconfig
Add missing kernel configs to avoid `make oldconfig` asks or
takes the default value for the missing configs.

fixes #623

Signed-off-by: Julio Montes <julio.montes@intel.com>
2019-07-08 19:26:26 +00:00
Julio Montes
c0f8cf66e2 scripts: update configure-hypervisor script to support QEMU 4.1
QEMU >= 4.1 uses libssh not libssh2

fixes #627

Signed-off-by: Julio Montes <julio.montes@intel.com>
2019-07-08 17:14:29 +00:00
Nitesh Konkar
edbd23728c README: Fix a typo in Kernel Readme
Fix a typo

Fixes:  #583

Signed-off-by: Nitesh Konkar niteshkonkar@in.ibm.com
2019-07-08 13:57:19 +05:30