Commit Graph

64 Commits

Author SHA1 Message Date
Julio Montes
fb42e38978 scripts: update configuration script to support QEMU 5.0
Update configure-hypervisor.sh to support QEMU 5.0.

fixes #989

Signed-off-by: Julio Montes <julio.montes@intel.com>
2020-03-26 21:43:27 +00:00
Jia He
3670074392 scripts: Disable a few options to reduce qemu binary size on generic architectures
This disables a few configure options on generic arches to reduce qemu
binary size.

Fixes #926
Signed-off-by: Jia He <justin.he@arm.com>
2020-03-10 09:23:24 +08:00
Jia He
711eae642c scripts: Set --enable-pie on aarch64 arch
PIE (position-independent executables) does good to security.

For some historical reason(compliation failure), it was disabled. But it
can be supported now on aarch64.

Fixes #926
Signed-off-by: Jia He <justin.he@arm.com>
2020-03-10 09:23:24 +08:00
Jia He
7cdf113cf0 scripts: Relax the version limitation for qemu
Currently arm64 kata uses 3.0 qemu version. Hence aarch64 can't use some
--disable configure options between [3.1, 4.0].

Besides, due to upstream qemu bug about --disable-replication, still
enable the replication on aarch64 for qemu 3.0. Please refer to the
commit 3ebb9c4f52 ("migration/colo.c: Fix compilation issue when disable
replication")

Fixes #926
Signed-off-by: Jia He <justin.he@arm.com>
2020-03-10 09:23:24 +08:00
Jia He
0871391efa scripts: Remove obsoleted --disable-uuid
Qemu commit 315d318 uses built-in UUID implementation, hence we can't
disable uuid. This option is for generic arch, not only for aarch64.

Otherwise there is a warning during configure:
configure: --disable-uuid is obsolete, UUID support is always built

Fixes #926
Signed-off-by: Jia He <justin.he@arm.com>
2020-03-10 09:23:24 +08:00
Jia He
878a223827 scripts: Disable xen when builing qemu on generic architectures
Previously, it misses to add the --disable-xen for reducing qemu size
on aarch64. This patch add disable-xen on all arches, hence the case
switch is removed.

Fixes #926
Signed-off-by: Jia He <justin.he@arm.com>
2020-03-10 09:23:24 +08:00
Julio Montes
83a69de4a2 scripts: enable libpmem only for x86_64
Not all architectures have support for libpmem.
Enable libpmem only for x86_64

fixes #965

Signed-off-by: Julio Montes <julio.montes@intel.com>
2020-03-03 21:24:59 +00:00
Julio Montes
c0d45d8ace scripts/qemu: enable libpmem
Enable libpmem to support PMEM when running under Kubernetes.

see https://github.com/kata-containers/runtime/issues/2262

According to QEMU's nvdimm documentation: When 'pmem' is 'on' and QEMU is
built with libpmem support, QEMU will take necessary operations to guarantee
the persistence of its own writes to the vNVDIMM backend.

fixes #958

Signed-off-by: Julio Montes <julio.montes@intel.com>
2020-03-02 21:52:39 +00:00
Salvador Fuentes
43ab57ffc5 yq: Use install_yq.sh script from tests repository
Removes two (similar) functions that install `yq`. Instead of
having different functions, use the one that we have in the
tests repository.
In addition, removes the `.ci/lib.sh` which only had an additional
`clone_tests_repo` function which was not being used.

Fixes: #939.

Signed-off-by: Salvador Fuentes <salvador.fuentes@intel.com>
2020-02-20 12:40:45 -06:00
Jose Carlos Venegas Munoz
ea8b7754ba lib: yq: explode anchors to get real value of image values
yq is not exploding anchors anymore and requiere an extra flag.

Add flag to fix CI.

Fixes: #934

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2020-02-13 20:53:32 +00:00
Archana Shinde
c6f43134b8 release: Remove all traces of qemu-lite from packaging
qemu-lite has long been deprecated.

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
2019-11-15 15:06:27 -08:00
Jose Carlos Venegas Munoz
2d162a5f4c ci: azure: honor depends-on
- Run depends-on for packaging CI.
- Change were yq is installed

Depends-on: github.com/kata-containers/runtime#1996

Fixes: #683

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2019-08-21 14:03:53 -05:00
Julio Montes
ee952ee479 Merge pull request #578 from jongwu/build_nemu
nemu: enable compile nemu for arm64 on x86 host
2019-08-08 09:34:32 -05:00
Julio Montes
93e9997850 scripts: fix detection of qemu 4.1
quote `>= 4.1` to avoid bash redirects `echo`'s output to a
new file named `=`

fixes #652

Signed-off-by: Julio Montes <julio.montes@intel.com>
2019-07-24 20:31:40 +00:00
Jianyong Wu
17512dc3cb nemu: enable compile nemu for arm64 on x86 host
This patch enable compile nemu for arm64 in container
on x86 host.

fixed: #577
Signed-off-by: Jianyong Wu  <jianyong.wu@arm.com>
2019-07-22 17:46:41 +08: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
Jose Carlos Venegas Munoz
7f94b70905 ci: Add steps to build obs packages.
- OBS packages are build based on kata head
- The OBS kata branch is created on demand
- TODO: Delete branch when is not needed anymore

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2019-06-28 23:47:32 -05:00
Julio Montes
d832e65c26 obs-packaging/gen_versions: add --head option
Add `--head` option to use the head of the branch instead of the kata
version to generated the hashes for the packages. With this new option
kata packages can be generated using the latest commit on master.

fixes #566

Signed-off-by: Julio Montes <julio.montes@intel.com>
2019-06-11 14:28:15 -05:00
Ganesh Maharaj Mahalingam
d72d5daa32 release: initialize CI variable in lib.sh
Recent change to always build tools from the local repository if the
script is run in a CI environment fails during a release build as the
variable ${CI} is not initialized. This fix addresses that issue.

Fixes: #537
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
2019-06-05 13:54:11 -07:00
Marco Vedovati
2162b9a472 QEMU: only enable AVX2 for x86_64
AVX2 are x86 specific extensions that should only be enabled for x86_64
targets.

Fixes: #558

Signed-off-by: Marco Vedovati <mvedovati@suse.com>
2019-05-31 17:48:15 +02:00
Marco Vedovati
08a68a333c QEMU: disable PAM authentication (used for VNC access)
Disable PAM authentication for QEMU 4+: it's a feature used together with VNC
access that's not used in Kata.

See QEMU commit 8953caf for more details on PAM auth.

Fixes: #550

Signed-off-by: Marco Vedovati <mvedovati@suse.com>
2019-05-30 14:39:08 +02:00
nitkon
3d0b60fefd lib.sh: Pass right parameters to build image
Creating Kata packages fails
due to "Makefile:58: *** target pattern
contains no '%'.  Stop" error. Fix it.

Fixes: #539 

Signed-off-by: Nitesh Konkar niteshkonkar@in.ibm.com
2019-05-24 17:02:23 +05:30
Ganesh Maharaj Mahalingam
ceab0f0f1a ci: always use the versions from the local repository for CI
the versions.yaml file in runtime carries the information on all the
components we use and ship with kata. It would be nice to have the CI
test the newer versions when the file is changed and CI is triggered.
The current code always fetches from the master tree from github and
that does not help to validate version changes before it lands in the
tree.

Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
2019-05-22 10:21:46 -07:00
Jose Carlos Venegas Munoz
3a1bb3fb7a lib.sh: dont do readonly on sourced files.
Files could be sourced more than one time lets not use readonly.

Fixes: #487

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2019-05-08 13:27:05 -05:00
Jose Carlos Venegas Munoz
5b1ddd0b37 lib: versions: use branch variable
If branch is provided not use master.

When buiding packages the master repository is used
this is bad for stable releases. Use the BRANCH variable
exported in releases.

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2019-05-03 10:09:02 -05:00
Jose Carlos Venegas Munoz
c7225fe0c8 obs: Remove golang from osc dockerfile
Reduce pipeline time by not installing golang.

golang is not needed to use osc, it makes slower the image creation.

- remove go dependency from pacakge lib

Remove calls to golang, this will be not not installed in
the docker image.

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2019-05-03 10:01:16 -05:00
Julio Montes
c0f0fc9f9b scripts: improve configure-hypervisor.sh
Change weird condition to check qemu >=3.1
Add comment explaining the malloc-trim option.

fixes #462

Signed-off-by: Julio Montes <julio.montes@intel.com>
2019-04-26 07:34:48 -05:00
Julio Montes
fd76d64f2e scripts: support Qemu 4
modify configure-hypervisor.sh to support Qemu 4 and enable `malloc-trim`
for memory optimization.

fixes #459

Signed-off-by: Julio Montes <julio.montes@intel.com>
2019-04-25 13:46:25 -05:00
Rasmus Moorats
3f6b64d805 packaging: replace arch with uname -m
All instances of the deprecated `arch` command are now replaced with `uname -m`.

Bumps kernel/kata_config_version to 34.

Fixes: #423

Signed-off-by: Rasmus Moorats <me@neonsea.uk>
2019-04-21 06:34:44 +01:00
Ganesh Maharaj Mahalingam
3771b04d6f kernel: Make sure local versions.yaml file from runtime get precedence
Fixes: #431

Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
2019-04-09 11:44:09 -07:00
Julio Montes
df2dc3521f scripts: update configure-hypervisor.sh
Update configure hypervisor to support QEMU 3 and 4

fixes #419

Signed-off-by: Julio Montes <julio.montes@intel.com>
2019-04-04 11:35:40 -06:00
Jose Carlos Venegas Munoz
54c4a017f0 lib: pkgs: Dont query host version file.
We do releases based on kata branches lets get a fresh
versions file as the one in the host may be not updated.

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2019-03-04 08:41:27 -06:00
jschintag
5a6b92b711 s390x: add support to build qemu
This commit adds the s390x specific build flags to the configure-hypervisor.sh

Fixes: #324

Signed-off-by: Jan Schintag <jan.schintag@de.ibm.com>
2019-02-07 16:49:57 +01:00
Jose Carlos Venegas Munoz
2e93dbd737 kernel: build: Use local kernel version.
If the runtime repository is already cloned get version from it,
else keep getting from github.

Fixes: #299

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2019-01-08 15:23:12 -06:00
Jose Carlos Venegas Munoz
33214c90d6 image: Make sure agent sha is correct
Fix image generation.

Instead of use agent code from the host checkout to the
agent source code in a clean GOPATH env.

Make sure that the agent `commit id` is the correct before
push to github or OBS.

Fixes: #166

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2018-08-30 20:56:50 -05:00
Jose Carlos Venegas Munoz
2590f2b91e format: use shfmt to format sh files.
Use shfmt to format all the sh file.

https://github.com/mvdan/sh

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2018-08-16 16:45:35 -05:00
Jose Carlos Venegas Munoz
28925a085c scripts: qemu config: add prefix ENV variable.
We were using an static prefix let allow the user choose where will be installed.

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2018-08-15 16:53:48 -05:00
Jose Carlos Venegas Munoz
8c223e811c lib: get deps based in a branch.
We want to create pacakges based in different branches modify
function to get the yaml version needed to to that.

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2018-08-14 14:00:36 -05:00
Jose Carlos Venegas Munoz
b4a6303b14 ci: Fix ci when tmp_dir is not set.
When tmp_dir is not set and lib.sh is sourced
could lead to fail.

Fix: #116

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2018-07-31 15:21:20 -05:00
Jose Carlos Venegas Munoz
6e69deba7f Merge pull request #108 from jcvenegas/github-release
release: Create github release after create tag.
2018-07-31 12:30:59 -05:00
Jose Carlos Venegas Munoz
dfddde813d lib: move build_hub to lib
hub will be used by other script move it.

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2018-07-31 10:22:52 -05:00
Nitesh Konkar
dae14ddefd packaging: Add packaging support for ppc64le
Fixes:  #74

Signed-off-by: Nitesh Konkar niteshkonkar@in.ibm.com
2018-07-31 19:58:21 +05:30
Eric Ernst
8ed7e397e1 Merge pull request #90 from jcvenegas/build-image-fixes.sh
image build: Improve image generation
2018-07-26 11:36:44 -07:00
Jose Carlos Venegas Munoz
6fa5b7945e pkgs: image: Get image version from version.yaml
Build image with agent and osbuilder with master by default.

If want to build a release tag just use -v <version> and
will use that osbuilder and agent tag.

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2018-07-26 13:04:23 -05:00
Penny Zheng
f275127791 ci: refine qemu-options for arm64
a few qemu options generated by configure-hypervisor.sh were only
suitable for amd64, leading compilation err in aarch64.

Fixes: #92

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Wei Chen <Wei.Chen@arm.com>
2018-07-25 08:47:11 +00:00
Jose Carlos Venegas Munoz
2d0c9cc4f7 scripts: Fix qemu build.
Fix build when we are not building as static qemu.

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2018-07-04 14:30:41 -05:00
Jose Carlos Venegas Munoz
f1bfbe62a3 qemu: add scripts to build static qemu.
Use a dockerfile to build an static qemu.

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2018-06-20 09:35:24 -05:00
Jose Carlos Venegas Munoz
d5438ea131 lib: common functions.
Add functions to be used across the repository.

- get kata version deps
- die
- info

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2018-06-19 10:17:45 -05:00
Jose Carlos Venegas Munoz
eebe067a50 configure-hypervisor: Add option to build static qemu.
Add option to get configuration for an static qemu.

Fixes: #66

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2018-06-19 10:17:45 -05:00
Jose Carlos Venegas Munoz
3dab5aabfc hypervisor-config: Allow show help.
Do checks after run options check, allows to show help.

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2018-06-19 10:17:45 -05:00