Commit Graph

1069 Commits

Author SHA1 Message Date
Chen Qi
06dad20a32 go: add back 1.12 version to avoid compilation failure
go 1.12 was removed from oe-core, but currently k8s cannot
be built successfully with go 1.13. See link below.

  https://github.com/kubernetes/kubernetes/issues/82531

We need to wait for k8s to support go 1.13 and update it
to latest release, as well as its depedencies. Before this
is done, add back go 1.12 and use it.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-12-10 02:26:15 -05:00
Bruce Ashfield
c31e46fce7 conf: add k8s distro feature
Add support for a new distro feature to control kubernetes versions
and related configuration.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-12-10 02:25:21 -05:00
Ming Liu
06ec74ad35 python3-nacl: add 1.3.0 recipe
A regression was introduced by commit ab12e48a:
[ python3-docker-compose: uprev to 1.25.0 ]

python3-docker-compose depends on python3-paramiko hence also depends
on python3-nacl but that recipe does not exist.

Port it from meta-lmp layer.

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-12-10 02:09:40 -05:00
Ming Liu
6dd323eb4a python3-paramiko: add 2.7.0 recipe
A regression was introduced by commit ab12e48a:
[ python3-docker-compose: uprev to 1.25.0 ]

python3-docker-compose depends on python3-paramiko but that recipe does
not exist.

Port it from meta-lmp layer and uprev to the latest release 2.7.0.

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-12-10 02:09:40 -05:00
Ming Liu
ab12e48ad0 python3-docker-compose: uprev to 1.25.0
Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-12-06 14:08:07 -05:00
Ming Liu
cf3ad09036 python-docker: uprev to 4.1.0
Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-12-06 14:08:07 -05:00
Ming Liu
3e53cdfeae python-docker-pycreds: uprev to 0.4.0
Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-12-06 14:08:07 -05:00
Bruce Ashfield
b4dfe90a5e conf: fix meta-virt version / config include
As was reported:

https://lists.yoctoproject.org/g/meta-virtualization/message/4173?p=,,,20,0,0,0::Created,,conf%2Flayer.conf+is+broken,20,2,0,61269733

The conditional include of the meta-virt versions and config was not
working properly due to parse time constraints.

This commit fixes that by following the example of the meta-cube layer
and instead using a user bbclass to load the .inc file after
distro/distro features have been resolved by bitbake.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-12-06 13:51:57 -05:00
Norbert Kaminski
8860257250 docker.inc: Add xt-addrtype kernel module
Trying to use docker info and hello world container without this module
causes a daemon error.

docker info error log:

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the
docker daemon running?

dockerd error log:

PREROUTING chain: iptables failed: iptables --wait -t nat -A PREROUTING -m
addrtype --dst-type LOCAL -j DOCKER: iptables v1.8.3 (legacy): Couldn't
load match `addrtype':No such file or directory

Signed-off-by: Norbert Kaminski <norbert.kaminski@3mdeb.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-12-01 23:11:39 -05:00
Hongxu Jia
00cc8afd1e cri-o: workaround failure since go upgraded to 1.13
Since go was upgraded to 1.13, there is a failure:
...
| src/vendor/golang.org/x/net/http2/frame.go:17:2: use of vendored package not allowed
| ../../../recipe-sysroot/usr/lib64/go/src/net/http/h2_bundle.go:49:2: use of vendored package not allowed
...

Refer upstream suggestion [1]:
`or copying your vendor contents into GOPATH/src rather than
mapping them in to GOPATH/src/vendor.'

[1] https://github.com/golang/go/issues/34068

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-12-01 23:07:03 -05:00
Chen Qi
7d13954a89 python3-docker-compose: remove maximum version requirements
Remove maximum version requirements for docker-compose so that it
does not require old version recipes.

The old version recipes required are as below.
* PyYAML
* requests
* urllib3
* idna
* jsonschema

The current one has been tested against https://docs.docker.com/compose/gettingstarted/.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-11-27 17:57:10 -05:00
Ming Liu
1fe16a1e5e python-sqlalchemy: drop 1.0.16 recipe
Seems no one is referring this recipe, there is already a
python-sqlalchemy_1.1.5 recipe in this layer.

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-11-25 16:07:17 -05:00
Hongxu Jia
de255d6afa cri-o: Disable for all mips machines
Since commit [a092153 containerd: Disable for all mips machines] applied,
and the cri-o runtime depends `virtual/containerd', it should do the same
thing to disable for all mips machines

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-11-25 16:05:09 -05:00
Ming Liu
e32dad4ff9 xen-guest-image-minimal: do not inherit distro_features_check
Change to inherit features_check, since distro_features_check has been
deprecated in OE.

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-11-25 16:04:23 -05:00
Ming Liu
0b4fe1c911 meta-virt-default-versions.inc: fix invalid python-pyyaml version
The python-pyyaml recipe in this layer is 5.1.2, fix the wrong
PREFERRED_VERSION_python-pyyaml.

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-11-25 16:03:31 -05:00
Bruce Ashfield
cf1d44e377 README: update mailing list address
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-11-22 07:58:34 -05:00
Chen Qi
79fb488a70 runc: fix CVE-2019-16884
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-11-17 22:28:37 -05:00
Bruce Ashfield
062d9f1f4f docs: roadmap: add missing workflow items
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-28 11:56:10 -04:00
Bruce Ashfield
fd706b1c3f docs: add meta-virt planning / roadmap file
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-28 11:52:20 -04:00
Joakim Roubert
a348c03a1d kubernetes: Set correct PV release number
Commit c97fe5036ef3df2967d086711e6c0c405941e14b is Kubernetes v1.16.2
(see https://github.com/kubernetes/kubernetes/releases for verification)
and building with the current recipe generates v1.16.2 binaies although
the package names state v1.16.1.

Change-Id: I5701c18cc3ce205ad906eda2595d9ad7f5748b17
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-24 13:29:27 -04:00
Li Zhou
04e0d9de8c python3-docker-compose: upgrade to version 1.21.2
The python3-docker-compose_1.16.1 requires 'docker<3.0, >=2.5.1', while
python3-docker 3.4.0 is provided. Error occurs when running
'docker-compose --version'.
Upgrade to python3-docker-compose_1.21.2 to make it work.

Signed-off-by: Li Zhou <li.zhou@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-19 00:32:30 -04:00
Bruce Ashfield
241405f616 k8s: bump to 1.16-relase branch
Updating kubernetes to use the 1.16 relese (instead of the 1.16) alpha.
No issues were found in build and runtime testing of this versus the
alpha release.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-15 11:40:50 -04:00
Bruce Ashfield
986d873e7f oci-image-tools: use GO flags/compiler from recipe
The image tools were not building with the oe/cross GO compiler
and flags. As such, you could end up with a binary on target with
the wong elf interpreter (the host one).

With this, we properly use the settings from our build.

We also bump the SRCREV to pickup a few minor fixes to the package.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-15 11:38:53 -04:00
Stefan Agner
4d6edd4fc5 podman-compose: move into subdirectory
The layer does not expect recipes in the first subdir. Move the
podman-compose recipe into a podman-compose subdirectory.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-14 21:56:17 -04:00
Ruslan Piasetskyi
533f9aa5aa Fix criu build for aarch64
Makefile:
#
# Supported Architectures
ifneq ($(filter-out x86 arm aarch64 ppc64 s390,$(ARCH)),)
        $(error "The architecture $(ARCH) isn't supported")
endif

Signed-off-by: Ruslan Piasetskyi <ruslan.piasetskyi@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-13 19:44:49 -04:00
Stefan Agner
f58133be1f fuse-overlayfs: add FUSE implementation of overlayfs
Add recipe for the FUSE implementation of overlayfs. This is useful
to improve startup time for podman rootless containers.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-13 11:16:40 -04:00
Stefan Agner
c65276ef5e podman-compose: initial version
Add podman-compose, a docker-compose implementation for podman. The
current version is not feature complete, hence not all docker-compose
file work.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-13 11:16:40 -04:00
Stefan Agner
753ca26b41 skopeo: add default set of configuration files
Add a default registries.conf and storage.conf. Those config files
are used by several projects of the containers group like buildah or
podman. Provide it as part of skopeo like the other distributions do.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-13 11:16:40 -04:00
Stefan Agner
cff94d5df6 podman: bump to latest release 1.6.1
Bump to latest podman release 1.6.1.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-13 11:16:40 -04:00
Stefan Agner
d549242592 podman: remove comment about runc
It seems that docker uses nowadays a rather vanilla version of runc,
at the time of writing 1.0.0-rc8. This version has successfully
tested with podman, hence remove the obsolete comment.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-13 11:16:40 -04:00
Bruce Ashfield
a6ae07c0d3 crun: introduce crun (OCI runtime provider)
Create the initial recipe to provide crun as an alternative OCI runtime
provider.

This currently has a depdenency on seccomp, but it would be nice if we
can make that optional in the future to avoid pulling in all of
meta-security as a dependency.

Example:

  % skopeo copy docker://busybox oci:busybox-oci:latest
  % mkdir busybox-bundle
  % oci-image-tool create --ref platform.os=linux busybox-oci busybox-bundle
  % cd busybox-bundle/
  % rm config.json
  % runc spec
  % runc run foo
^D
  % crun run foo
^D

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-13 11:11:35 -04:00
Bruce Ashfield
018b001b76 layer: add zeus as compatible
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-08 19:06:45 -04:00
Bruce Ashfield
4e35b5d861 podman: fix layer check cut & paste errors
The layer check for podman was copied from cri-o .. and some non
podman elements came over as part of that copy. We drop selinux
as a check, and fix some comments.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-07 08:10:06 -04:00
Bruce Ashfield
9e7345d8ec podman: make docker wrapper configurable via packageconfig
podman can behave as transparent drop in replacement for docker
via a wrapper 'docker' script that simply calls podman when any
docker command is issues.

While this is an interesting feature, we want it to be optional
.. since it is possible that podman and docker might want to be
installed at the same time.

So we introduce a 'podman' PACKAGECONFIG, that controls whether
or not this wrapper is installed, and if it is installed it marks
the podman package as conflicting with docker (which gets us a
better message than a failed image assembly provides).

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-03 00:25:15 -04:00
Bruce Ashfield
14f14957c9 podman: add build flexibility to dependencies
In a similar manner to cri-o, we don't want to make meta-selinux
or meta-security a hard dependency to meta-virtualization. So we
implement a similar anonymous python check that allows the recipe
to be skipped if the dependent layers are not present (and hence
we are yocto compatible). If we get more than two recipes doing
layer checks (this is the 2nd), we can move the functionality to
a class.

We also make the runc dependency be virtual/runc versus picking
a specific provider (even if only runc-opencontainers has been
tested).

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-02 22:27:17 -04:00
Bruce Ashfield
805c77a518 cri-o: drop ostree from anonymous python warning
ostree is now provided by meta-oe, which is a required layer so
we can drop it from the anonymous python checks for layers.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-02 22:21:01 -04:00
Stefan Agner
c9316391df go-metalinter: add recipe for gometalinter
A tool that concurrently runs a whole bunch of go linters and
normalises their output to a standard format. Useful to build
podman.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-02 14:13:35 -04:00
Stefan Agner
467ce521e7 conmon: initial add
Add conmon, a OCI container runtime monitor.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-02 14:13:35 -04:00
Stefan Agner
6f55c61b5b go-md2man: add md2man
This tool converts markdown into roff (man pages). Useful to build
podman.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-02 14:13:35 -04:00
Stefan Agner
aa509c629e cni: move cni tools to /usr/libexec/cni
Use a standard location to store the cni tools and plugins. This
is more in line how other distributions package cni. Keep a symlink
to /opt/cni/bin for backward compatibility.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-02 14:13:35 -04:00
Stefan Agner
05db2367cc slirp4netns: add slirp4netns user-mode networking
slirp4netns allows connecting a network namespace to the Internet
in a completely unprivileged way, by connecting a TAP device in a
network namespace to the usermode TCP/IP stack ("slirp")."

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-02 14:13:35 -04:00
Stefan Agner
9b234f5245 skopeo: add skopeo
skopeo is a command line utility that performs various operations on
container images and image repositories.

skopeo can work with OCI images as well as the original Docker v2
images.

The recipe originates from from meta-overc commit a497792. It has
been updated with the new project URL and v0.1.39.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-02 14:13:35 -04:00
Stefan Agner
e5de94ab78 podman: add the Pod Manager tool
Podman is a daemonless container engine for developing, managing, and
running OCI Containers on your Linux System. Containers can either be
run as root or in rootless mode.

This patch adds the initial recipe for podman. Currently the build tags
systemd (if in DISTRO_FEATURES), seccomp, varlink and remoteclient are
enabled which allows to run podman with overlayfs as root and vfs in
rootless mode. The storage drivers btrfs and device-mapper have not
been tested and are disabled at the moment.

It seems that seccomp is mandatory, which makes meta-security which
provides libseccomp a mandatory dependency for this recipe.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-02 14:13:35 -04:00
Mark Asselstine
8a43b4f1b7 libvirt: fixup multiple shlib providers
Build libvirt results in the follow warning:
ERROR: libvirt-5.5.0-r0 do_package: libvirt-ptest: Multiple shlib providers for libvirt-admin.so.0: libvirt, libvirt-ptest
(used by files: ./tmp/work/aarch64-overc-linux/libvirt/5.5.0-r0/packages-split/libvirt-ptest/usr/lib/libvirt/ptest/tools/virt-admin)
ERROR: libvirt-5.5.0-r0 do_package: libvirt: Multiple shlib providers for libvirt-admin.so.0: libvirt, libvirt-ptest
(used by files: ./tmp/work/aarch64-overc-linux/libvirt/5.5.0-r0/packages-split/libvirt/usr/bin/virt-admin)

This is caused by the introduction of a shlib provider check added to
openembedded-core (commit 61c413690034 [package: Multiple
shlib_providers for the same file should error]). You can see the
issue and solution discussed more here
https://bugzilla.yoctoproject.org/show_bug.cgi?id=4628

Since the ptest version of the shared library will only be used by the
ptest package so we can use PRIVATE_LIBS to have the shlib providers
list.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-02 14:12:39 -04:00
Paul Barker
98cad7ae36 netns: Fix build on qemux86-64
The build has broken again on master, even for non-static builds of
netns. The simplest fix is to extend our existing patch to cover this
case as well.

Signed-off-by: Paul Barker <paul@betafive.co.uk>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-09-26 10:35:25 -04:00
Paul Barker
4663fee526 layer.conf: Change dependency on meta-selinux to recommendation
The recipe for cri-o already has an anonymous Python function in place
to skip the recipe if dependencies are not found so there's no need to
force inclusion of the meta-selinux layer.

Signed-off-by: Paul Barker <paul@betafive.co.uk>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-09-26 10:35:25 -04:00
Bruce Ashfield
6c48fddd30 docker/moby: 19.03.x update
Updating the moby recipes to the match the 19.03.x updates pulled
into docker/docker-ce

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-09-26 01:30:59 -04:00
Matt Spencer
150f1857bb docker: add transient configuration packageconfig
Since commit:

[
  Author: Tom Rini <trini@konsulko.com>
  Date:   Fri Feb 8 13:22:35 2019 -0500

      docker: Move /etc/docker to a symlink to volatiles

      The only thing which docker uses /etc/docker for is a TLS key for
      connecting with other TLS-enabled services.  Make /etc/docker a symlink
      to the existing docker volatiles directory so that we can use docker on
      a read-only rootfs.

      Signed-off-by: Tom Rini <trini@konsulko.com>
      Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
]

We've had a transient / volatile docker configuration since we point
our /etc configuration to /run. This is not always a good thing if
a static configuration for keys, etc, is desired.

We maintain this functionality under the 'transient-config'
PACKAGECONFIG, and also allow the existing static/permanent config
to be used.

Signed-off-by: Matt Spencer <matthew@thespencers.me.uk>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-09-24 20:36:00 -04:00
Bruce Ashfield
7e2c4151c5 conf: set docker-ce as preferred provider for docker
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-09-24 20:25:14 -04:00
Bruce Ashfield
164408a170 docker: rename docker -> docker-moby and introduce virtual/docker
The recipe which was providing the default "docker" package was aligned
with the moby repositories. In order to make that alignment clear, we
rename that recipe docker-moby.

To allow easier switching between the docker providing recipes, we
introduce a virtual/docker PROVIDES to the common .inc file (and
hence each recipe). This allows users to chose what they want via
the standard PREFERRED_PROVIDER mechanism.

Also to allow existing package lists and image installs to
continue to work without changes, we make sure that the implementation
specific docker-<foo> packages RPROVIDE docker. If any packages are
missed, we'll add them to this list in future updates.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-09-24 17:46:57 -04:00