Commit Graph

3049 Commits

Author SHA1 Message Date
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
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
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
GabyCT
220ae83820
Merge pull request #1859 from jodh-intel/fix-fork-exec-test-error
Fix fork exec test errors
2019-07-05 15:40:50 -05:00
GabyCT
8b89a868e9
Merge pull request #1858 from GabyCT/topic/checkversion
ci: Verify and block merge if other projects are not updated
2019-07-05 14:05:53 -05:00
James O. D. Hunt
4968438992 tests: Fix fork/exec test error
Fixed `TestSandboxCreationFromConfigRollbackFromCreateSandbox` which
requires that the hypervisor does not exist. Unfortunately, it does
exist (as a fake test binary), but isn't executable meaning although the
test failed (since an error is expected), rather than the expected
`ENOENT` error, the test was logging a message similar to the following
since the fake hypervisor exists with non-executable permissions:

```
Unable to launch /tmp/vc-tmp-526112270/hypervisor: fork/exec /tmp/vc-tmp-526112270/hypervisor: permission denied
```

Fixes: #1835.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2019-07-05 11:11:56 +01:00
James O. D. Hunt
fcf9f9f6dd test: Fix fd leak causing test error
Update the `TestQemuAddDeviceKataVSOCK` test so that it:

- Doesn't hard-code the file descriptor number.
- Cleans up after itself.

The latter issue was causing an odd error similar to the following in
the test output:

```
Unable to launch /tmp/vc-tmp-526112270/hypervisor: fork/exec /tmp/vc-tmp-526112270/hypervisor: permission denied
```

Partially fixes: #1835.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2019-07-05 11:11:52 +01:00
Gabriela Cervantes
5182a2551d ci: Verify and block merge if other projects are not updated
This will take the VERSION of all the components in order to
verify that they match among them before merging the runtime.

Fixes #1581

Depends-on: github.com/kata-containers/packaging#614

Signed-off-by: Gabriela Cervantes <gabriela.cervantes.tellez@intel.com>
2019-07-05 01:06:37 -05:00
Fupan Li
cd4cc02568
Merge pull request #1857 from odinuge/fix-hugetlb-pagesize
shimv2: Add missing page size to Hugetlb Stat
2019-07-04 15:57:45 +08:00
Odin Ugedal
da7f5f3796
shimv2: Add missing page size to Hugetlb Stat
Fixes: #1856

Signed-off-by: Odin Ugedal <odin@ugedal.com>
2019-07-03 21:07:04 +02:00
Jose Carlos Venegas Munoz
33434894ba
Merge pull request #325 from katabuilder/1.8.0-rc0-branch-bump
# Kata Containers 1.8.0-rc0
2019-07-03 08:46:10 -05:00
James O. D. Hunt
c74f9a2bfb
Merge pull request #327 from jcvenegas/fix-go-version-detect
rootfs: fix golang version detection
2019-07-03 08:41:01 +01:00
GabyCT
43f2680e4c
Merge pull request #1841 from katabuilder/1.8.0-rc0-branch-bump
# Kata Containers 1.8.0-rc0
2019-07-02 18:15:16 -05:00
Jose Carlos Venegas Munoz
4ade7e5853 rootfs: fix golang version detection
When the rootfs creation is used for PRs there is
not a match with a kata runtime version, in this
case lets clone the runtime repository and checkout
to the kata branch target. If is already cloned
this mean this was set by depens-on script or the user.

Fixes: #326

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2019-07-02 18:05:10 -05:00
Archana Shinde
27dddf0a25 rootfs: Make sure etc exists.
We are seeing sporadic failures in the rootfs creation as listed here:
https://github.com/kata-containers/tests/issues/1744

While this cannot be reproduced locally, there is no reason
for the failure to write to $ROOTFS_DIR/etc/chrony.conf unless the upper
directories are missing as this file should be created if it did not
exist earier.
So just create the etc directory to test out if we see these sporadic
failures in the CI.

Fixes #328

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
2019-07-02 12:02:54 -07:00
Jose Carlos Venegas Munoz
b94dafa980
Merge pull request #1849 from jodh-intel/fix-borken-url
docs: Fix broken URL
2019-07-02 08:04:26 -05:00
James O. D. Hunt
f1a43ac4c6 docs: Fix broken URL
Update broken Clear Linux stateless URL.

Fixes: #1846.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2019-07-02 08:41:33 +01:00
James O. D. Hunt
09e316a376
Merge pull request #1848 from bergwolf/url
vc/readme: fix cri url
2019-07-02 08:37:51 +01:00
Peng Tao
db3363fbdf vc/readme: fix cri url
The old one was invalidated since 2019-07-01.

Fixes: #1847
Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2019-07-01 20:14:13 -07:00
Jose Carlos Venegas Munoz
c92d77bf99
Merge pull request #1838 from egernst/fix-1837
vc: update CRI link
2019-07-01 18:06:32 -05:00
Eric Ernst
8f33d736e8 vc: update CRI link
Kubernetes moved CRI document within the sig-node directory. Updating
README.md accordingly.

Fixes: #1837

Signed-off-by: Eric Ernst <eric.ernst@intel.com>
2019-07-01 15:54:59 -07:00
Jose Carlos Venegas Munoz
024a87419e
Merge pull request #1845 from chavafg/topic/travis_run_setup
CI: Run .ci/setup.sh from tests repo
2019-07-01 17:46:55 -05:00
Salvador Fuentes
963db61cb3 CI: Run .ci/setup.sh from tests repo
This will install correct dependencies for running
static checks.

Fixes: #1844.

Signed-off-by: Salvador Fuentes <salvador.fuentes@intel.com>
2019-07-01 16:24:51 -05:00
Eric Ernst
3a454814e3
Merge pull request #1826 from amshinde/empty-dir-fix-overlay
empty-dir: Fix bug in the way empty-dirs are handled for overlay
2019-07-01 14:09:01 -07:00
katacontainersbot
71ce7577fb release: Kata Containers 1.8.0-rc0
- shimv2: Make shimv2 in case any source files change
- Firecracker: Upgrade to 0.17.0
- kata-check: add kvm extension check on aarch64
- versions update kernel to 4.19.52
- trace: Add missing log message
- docs: Fix doc link

749dd04 versions: update kernel to 4.19.52
4d526db firecracker: Update virtcontainer to use latest swagger definition
1e9e00a firecracker: generated code
48fef40 kata-check: add kvm extension check on aarch64
b3ab9ca trace: Add missing log message
289df4d firecracker: Fix yaml definition
62a715a Firecracker: Add upstream swagger file
da2a52a Unvendor: Unvendor firecracker-go-sdk
dca1f52 Firecracker: Upgrade to 0.17.0
b489bbd shimv2: Make shimv2 in case any source files change
af6bba1 docs: Fix doc link

Signed-off-by: katacontainersbot <katacontainersbot@gmail.com>
2019-07-01 19:38:14 +00:00
katacontainersbot
b199ae01b4 release: Kata Containers 1.8.0-rc0
- rootfs: configure chronyc service with makestep
- agent: detect required Go version from versions.yaml
- rootfs-builder: exclude unsupported archs from euleros and clearlinux
- tests: reduce the amount of log displayed
- chrony: Configure chrony to start only when /dev/ptp0 exists.
- rootfs: install systemd tmp.mount if needed

5a5ffa4 rootfs-builder: exclude unsupported archs from euleros
7dc15c2 rootfs-builder: exclude unsupported archs from clearlinux
d2e80f5 chrony: Configure chrony to start only when /dev/ptp0 exists.
6969c7f rootfs: install systemd tmp.mount if needed
add0d44 rootfs: configure chronyc service with makestep
cc5df05 travis: do not set -x when running test
25d75e5 tests: reduce the amount of log displayed
acc9c7f tests: identify the distros with build failures
68f2090 make: add ability to silent recipe commands with chronic
cbb8c01 make: add print-% target printing variable value
e770e2a rootfs: enforce minimum Go version when building locally
92b42c7 agent: detect required Go version from versions.yaml

Signed-off-by: katacontainersbot <katacontainersbot@gmail.com>
2019-07-01 19:37:39 +00:00
Archana Shinde
57136faa38 empty-dir: Fix bug in the way empty-dirs are handled for overlay
With #1485, we moved the default medium empty-dir creation to the
sandbox rootfs. This worked for devicemapper, but in case of overlay
the "local" directory was being created outside the sandbox rootfs.
As a result we were seeing the behaviour seen in #1818.

Fixes #1818

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
2019-06-27 09:39:53 -07:00
James O. D. Hunt
0c48630395
Merge pull request #318 from xs3c/chronyc-with-makestep
rootfs: configure chronyc service with makestep
2019-06-25 07:49:37 +01:00
James O. D. Hunt
a84fcf296d
Merge pull request #292 from marcov/versions.yaml
agent: detect required Go version from versions.yaml
2019-06-24 17:12:24 +01:00
Marco Vedovati
5318edb8f2
Merge pull request #321 from Pennyzct/exclude_aarch64_from_clearlinux_and_euleros
rootfs-builder: exclude unsupported archs from euleros and clearlinux
2019-06-24 14:58:19 +02:00
James O. D. Hunt
829ac720cd
Merge pull request #1806 from amshinde/make-shimv2
shimv2: Make shimv2 in case any source files change
2019-06-24 11:16:53 +01:00
Penny Zheng
5a5ffa4493 rootfs-builder: exclude unsupported archs from euleros
For euleros, it has supported aarch64 starting from v2.3,
but here is the sad part, there existed bugs in their 2.3.x image,
this bug existed in both x86_64 and aarch64 image.
related issue euleros/euleros-docker-images/#13
(https://github.com/euleros/euleros-docker-images/issues/13) has been raised.

Fixes: #320

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
2019-06-24 17:01:18 +08:00
Penny Zheng
7dc15c28f8 rootfs-builder: exclude unsupported archs from clearlinux
For clearlinux, for now, it is only designed for amd64.

Fixes: #320

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
2019-06-24 17:01:07 +08:00
James O. D. Hunt
a118a60efc
Merge pull request #314 from marcov/silent-logs
tests: reduce the amount of log displayed
2019-06-24 08:27:39 +01:00
Eric Ernst
ed693fe3df
Merge pull request #1813 from mcastelino/topic/fc_0_17_0
Firecracker: Upgrade to 0.17.0
2019-06-21 16:03:03 -07:00
Jose Carlos Venegas Munoz
0e0e74b8bb
Merge pull request #265 from amshinde/configure-chrony-systemd
chrony: Configure chrony to start only when /dev/ptp0 exists.
2019-06-21 11:20:31 -05:00
Xu Wang
21c8cf4f9f
Merge pull request #1797 from Pennyzct/IPA
kata-check: add kvm extension check on aarch64
2019-06-21 19:10:35 +08:00
Xu Wang
4d071fd406
Merge pull request #1817 from egernst/kernel-bump
versions update kernel to 4.19.52
2019-06-21 19:03:11 +08:00
Eric Ernst
749dd0491f versions: update kernel to 4.19.52
Update to newer stable kernel

Fixes: #1816
Depends-on: github.com/kata-containers/packaging#592

Signed-off-by: Eric Ernst <eric.ernst@intel.com>
2019-06-20 17:26:52 -07:00
Archana Shinde
d2e80f54b1 chrony: Configure chrony to start only when /dev/ptp0 exists.
Hypercall to implement virtual PTP was introduced in kernel 4.10
Have chrony run only if the device created by kvm-ptp exists.
Add this as a ConditionExists in the systemd service file.

This service if named as chrony.service in deb based distributions
rather than chronyd.service, although a systemd alias exists.
However it is not possible to come up with a generic `PATH` systemd
unit relying on the alias.

Fixes #308

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
2019-06-20 15:29:07 -07:00
Jose Carlos Venegas Munoz
434418c27b
Merge pull request #319 from marcov/debian-tmp.mount
rootfs: install systemd tmp.mount if needed
2019-06-20 14:57:57 -05:00
Manohar Castelino
4d526dbb6e firecracker: Update virtcontainer to use latest swagger definition
Update virtcontainer to use latest swagger definition.
Most changes are around mandatory parameters which need to be
passed in via pointers so that the absence of the same can be
detected (vs using default values).

Signed-off-by: Manohar Castelino <manohar.r.castelino@intel.com>
2019-06-20 09:36:44 -07:00
Manohar Castelino
1e9e00a529 firecracker: generated code
```
swagger generate model -f ./firecracker-experimental.yaml --model-package=client/models --client-package=client
swagger generate client -f ./firecracker-experimental.yaml --model-package=client/models --client-package=client
```

Signed-off-by: Manohar Castelino <manohar.r.castelino@intel.com>
2019-06-20 09:36:21 -07:00
Jose Carlos Venegas Munoz
a5b8ff42f7
Merge pull request #1815 from jodh-intel/log-trace-msg
trace: Add missing log message
2019-06-20 11:35:43 -05:00