Update the kernel package to allow building for multiple architectures with
a single set of sources.
Changes:
- Add kernel configs for all architectures
- Detect at runtime the correct target architecture and kernel
compressed image location. This is done with the script kata-multiarch.sh
Note that debian control files still need to be updated to handle Multi-Arch,
so that they are not tied to the architecture on which
`linux-container/update.sh` is run.
Fixes: #262
Signed-off-by: Marco Vedovati <mvedovati@suse.com>
The PR changes the parameter args from uint32 to uint64 for ioctl function.
That leads to an endianess bug.
Fixes: #947
Signed-off-by: Alice Frosi <afrosi@de.ibm.com>
If VM factory templating is enabled (`enable_template=true`), error if
the configured image is not an `initrd=` one.
Also add a note to the config file explaining that a normal image cannot
be used - only initrd images are supported.
Fixes#948.
Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
Moved the checking routines in `LoadConfiguration()` to a new
`checkConfig()` function for clarity.
Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
Move the VSOCK handling code higher up so that all the checking code is
gathered together at the end of `LoadConfiguration()`.
Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
When our runtime is asked for the container status, we also handle
the scenario where the container is stopped if the shim process for
that container on the host has terminated.
In the current implementation, we retrieve the container status
before stopping the container, causing a wrong status to be returned.
The wait for the original go-routine's completion was done in a defer
within the caller of statusContainers(), resulting in the
statusContainer()'s values to return the pre-stopped value.
This bug is first observed when updating to docker v18.09/containerd
v1.2.0. With the current implementation, containerd-shim receives the
TaskExit when it detects kata-shim is terminating. When checking the
container state, however, it does not get the expected "stopped" value.
The following commit resolves the described issue by simplifying the
locking used around the status container calls. Originally
StatusContainer would request a read lock. If we needed to update the
container status in statusContainer, we'd start a go-routine which
would request a read-write lock, waiting for the original read lock to
be released. Can't imagine a bug could linger in this logic. We now
just request a read-write lock in the caller (StatusContainer),
skipping the need for a separate go-routine and defer. This greatly
simplifies the logic, and removes the original bug.
Fixes#926
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
Add the Kill api support to send signal to a given
container process.
Signed-off-by: ZeroMagic <anthonyliu@zju.edu.cn>
Signed-off-by: fupan.li <lifupan@gmail.com>
Add the Cleanup api support to cleanup the pod and
containers running in it when the pod's corresponding
shim died.
Signed-off-by: fupan <lifupan@gmail.com>
Detect misalignments of versions between the content of versions.txt
file and the version found in the VERSION file in the git branch being
released on OBS.
Signed-off-by: Marco Vedovati <mvedovati@suse.com>
Introduce the --compare option to compare the content of the local
versions.txt file with the one found at the specified git branch.
Signed-off-by: Marco Vedovati <mvedovati@suse.com>
Bump the golang version to 1.11.1, that is the "newest-version"
currently specified in the runtime version file.
Fixes: #208
Signed-off-by: Marco Vedovati <mvedovati@suse.com>
There is no vendor field in /proc/cpuinfo contents
on ppc64le. Make sure to return "" for vendor field
for ppc64le and fix all the corresponding testcases
as well.
Fixes: #864
Signed-off-by: Nitesh Konkar niteshkonkar@in.ibm.com