summaryrefslogtreecommitdiffstats
path: root/recipes-containers
Commit message (Collapse)AuthorAgeFilesLines
* lxc: add runtime depends for util-linux-getoptDengke Du2018-08-141-0/+1
| | | | | | | | | | | | | When runing: lxc-create -t download -n test The system reports that the getopt command can't find. This is because the lxc-download template depends on getopt command. So add the runtime depends on util-linux-getopt for lxc. Signed-off-by: Dengke Du <dengke.du@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* criu: uprev to version 3.10Mark Asselstine2018-08-023-13/+14
| | | | | | | | | | | | | | | | | | | | | | A fairly straightforward uprev requiring minimal patch refreshing since a few hunks were failing due to conflicts with upstream updates. Unfortunately upstream starting using the now overloaded "PYTHON" variable in their Makefiles, this is not the path to the python executable but rather the name 'python2' or 'python3' which is used to determine which local directories to include. Due to this we must explicitly assign values to 'PYTHON_FULL' and 'PYTHON'. We use 'python2' since we are using 'setuptools' and therefore are explicitly using python v2, at some point we might want to make this recipe work with either python v2 or v3 but for now we continue to explicitly use v2. Instead of using version specific filename we switch to using _git.bb which is inline with similar 'git' recipes found in oe-core and other repos. Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* docker: remove stale .service fileBruce Ashfield2018-08-021-15/+0
| | | | | | | | We use the systemd service file from within the docker git repo. Removing the unused recipe space version, since it is invalid and causes confusion. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* kubernetes: add hash/stripped exception for kubernetes-miscBruce Ashfield2018-07-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | Without this, our go build will throw the following QA error during the build: ERROR: kubernetes-1.11.0+git210c9cd7e1782e9fe46938fe0368556f2166a528-r0 do_package_qa: QA Issue: No GNU_HASH in the elf binary: 'tmp/work/core2-64-overc-linux/kubern etes/1.11.0+git210c9cd7e1782e9fe46938fe0368556f2166a528-r0/packages-split/kubernetes-misc/usr/bin/apiextensions-apiserver' No GNU_HASH in the elf binary: 'tmp/work/core2-64-overc-linux/kubernetes/1.11.0+git210c9cd7e1782e9fe46938fe0368556f2166a528-r0/packages-split/kubernetes-misc/usr/bin /deepcopy-gen' No GNU_HASH in the elf binary: 'tmp/work/core2-64-overc-linux/kubernetes/1.11.0+git210c9cd7e1782e9fe46938fe0368556f2166a528-r0/packages-split/kubernetes-misc/usr/bin /defaulter-gen' No GNU_HASH in the elf binary: 'tmp/work/core2-64-overc-linux/kubernetes/1.11.0+git210c9cd7e1782e9fe46938fe0368556f2166a528-r0/packages-split/kubernetes-misc/usr/bin /genswaggertypedocs' No GNU_HASH in the elf binary: 'tmp/work/core2-64-overc-linux/kubernetes/1.11.0+git210c9cd7e1782e9fe46938fe0368556f2166a528-r0/packages-split/kubernetes-misc/usr/bin /linkcheck' No GNU_HASH in the elf binary: 'tmp/work/core2-64-overc-linux/kubernetes/1.11.0+git210c9cd7e1782e9fe46938fe0368556f2166a528-r0/packages-split/kubernetes-misc/usr/bin/openapi-gen' No GNU_HASH in the elf binary: 'tmp/work/core2-64-overc-linux/kubernetes/1.11.0+git210c9cd7e1782e9fe46938fe0368556f2166a528-r0/packages-split/kubernetes-misc/usr/bin/genyaml' No GNU_HASH in the elf binary: 'tmp/work/core2-64-overc-linux/kubernetes/1.11.0+git210c9cd7e1782e9fe46938fe0368556f2166a528-r0/packages-split/kubernetes-misc/usr/bin/conversion-gen' No GNU_HASH in the elf binary: 'tmp/work/core2-64-overc-linux/kubernetes/1.11.0+git210c9cd7e1782e9fe46938fe0368556f2166a528-r0/packages-split/kubernetes-misc/usr/bin/gendocs' No GNU_HASH in the elf binary: 'tmp/work/core2-64-overc-linux/kubernetes/1.11.0+git210c9cd7e1782e9fe46938fe0368556f2166a528-r0/packages-split/kubernetes-misc/usr/bin/ginkgo' [ldflags] Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* kubernetes: OE styleguide fixesKoen Kooi2018-07-231-28/+23
| | | | | | | | * Keep variables close to the function they are used in, so R(untime)DEPENDS goes below do_install, PV next to SRCREV, etc. * Don't use =+ as multiline seperator, it's a *very* heavy bitbake operation. Signed-off-by: Koen Kooi <koen.kooi@linaro.org> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* kubernetes: package remaining files into PN-miscKoen Kooi2018-07-231-0/+3
| | | | | | | | A previous commit changed do_installed to install everything, not just kube*, adjust PACKAGES to keep ${PN} empty as it was before. Signed-off-by: Koen Kooi <koen.kooi@linaro.org> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* kubernetes: build host tools using host toolchainJagadeesh Krishnanjanappa2018-07-231-0/+6
| | | | | | | | | | | | | | | Compile host tools such as deepcopy-gen, defaulter-gen, openapi-gen for host architecture, to solve below error: -- snip -- | +++ [0117 05:31:35] Building go targets for linux/arm64: | ./vendor/k8s.io/code-generator/cmd/deepcopy-gen | touch: cannot touch '_output/bin/deepcopy-gen': No such file or directory | make[1]: *** [Makefile.generated_files:323: _output/bin/deepcopy-gen] Error 1 | make: *** [Makefile:478: generated_files] Error 2 Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com> Signed-off-by: Koen Kooi <koen.kooi@linaro.org> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* kubernetes: explicitly build for $TARGET_ARCHKoen Kooi2018-07-232-2/+44
| | | | | | | | | | | | | | | | 'make all' uses 'uname' to select the build target, leading to compile failures like this: | arm-angstrom-linux-gnueabi-gcc: error: unrecognized command line option '-m64' After providing the proper arch to the makefile it will try to use a hardcoded compiler: | # runtime/cgo | exec: "arm-linux-gnueabihf-gcc": executable file not found in $PATH Fix that up by removing all hardcoded 'CC' entries in golang.sh Signed-off-by: Koen Kooi <koen.kooi@linaro.org> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* criu: upgrade to 3.9Zheng Ruoqin2018-07-221-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | 1) Upgrade criu from 3.4 to 3.9. 2) Delete fix-building-on-newest-glibc-and-kernel.patch for it has been merged in upstream. 3) Add CFLAGS_arm += "-D__WORDSIZE" add this CFLAGS to solve the compile problem for arm. The log is as following: | ....../tmp/work/armv5e-poky-linux-gnueabi/criu/3.9+gitAUTOINC+202b7745bd-r0/recipe-sysroot/usr/include/bits/wordsize.h:36:2: error: #error "__WORDSIZE is not defined" | #error "__WORDSIZE is not defined" | ^ | ....../tmp/work/armv5e-poky-linux-gnueabi/criu/3.9+gitAUTOINC+202b7745bd-r0/recipe-sysroot/usr/include/bits/wordsize.h:59:2: error: # 4) Add export C_INCLUDE_PATH="${STAGING_INCDIR}/libnl3" add C_INCLUDE_PATH to solve the compile problem for arm. which is libnetlink.c can't find head file. | In file included from criu/libnetlink.c:5: | ....../tmp/work/armv5e-p | oky-linux-gnueabi/criu/3.9+gitAUTOINC+202b7745bd-r0/recipe-sysroot/usr/include/libnl3/netlink/attr.h:15:10: fatal error: netlink/netlink.h: No such file or directory #include <netlink/netlink.h> Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* k8s: update to 1.11+Bruce Ashfield2018-07-041-3/+6
| | | | | | | | | | Updating to the 1.11 kubernetes release. This includes the standard set of features, updates and bug fixes. One build element of note is 1.11+ requires go 1.10.2+, so the following must be set in your configuration: GOVERSION = "1.10%" Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* tini: fix licenseRicardo Salveti2018-06-141-1/+1
| | | | | | | tini is licensed under the MIT license instead of Apache-2.0. Signed-off-by: Ricardo Salveti <ricardo@opensourcefoundries.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* lxc: uprev 3.0.1Jeremy Puhlman2018-06-112-9/+7
| | | | | | | | | | - Bug fix release - Fixes gcc8 build failures - Update patch for fuzz issues. - remove --disable-python and --disable-lua as they have been removed Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* lxc: use compiled tests instead of copying source building on targetMark Asselstine2018-06-037-66/+239
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The tests are already built when we do_compile so we only need to copy them to the ptest path and create a wrapper script to run them. This has the added benefit of reducing the size of the lxc package. We have to manipulate the test sources some to remove gpg validation and a few other minor changes, none of which actually change what is being tested (notes are provided in the associated commit logs). The following are the ptest results currently acheived: ### Starting LXC ptest ### ./tests/lxc-test-api-reboot FAIL ./tests/lxc-test-apparmor SKIPPED ./tests/lxc-test-attach PASS ./tests/lxc-test-automount PASS ./tests/lxc-test-autostart PASS ./tests/lxc-test-cgpath PASS ./tests/lxc-test-cloneconfig PASS ./tests/lxc-test-clonetest PASS ./tests/lxc-test-concurrent PASS ./tests/lxc-test-config-jump-table PASS ./tests/lxc-test-console PASS ./tests/lxc-test-console-log PASS ./tests/lxc-test-containertests PASS ./tests/lxc-test-createconfig PASS ./tests/lxc-test-createtest PASS ./tests/lxc-test-criu-check-feature PASS ./tests/lxc-test-destroytest PASS ./tests/lxc-test-device-add-remove PASS ./tests/lxc-test-get_item PASS ./tests/lxc-test-getkeys PASS ./tests/lxc-test-list PASS ./tests/lxc-test-locktests PASS ./tests/lxc-test-lxcpath PASS ./tests/lxc-test-may-control PASS ./tests/lxc-test-no-new-privs PASS ./tests/lxc-test-parse-config-file PASS ./tests/lxc-test-raw-clone PASS ./tests/lxc-test-reboot PASS ./tests/lxc-test-rootfs PASS ./tests/lxc-test-saveconfig PASS ./tests/lxc-test-share-ns PASS ./tests/lxc-test-shortlived PASS ./tests/lxc-test-shutdowntest SKIPPED ./tests/lxc-test-snapshot PASS ./tests/lxc-test-startone PASS ./tests/lxc-test-state-server SKIPPED ./tests/lxc-test-utils PASS Results: PASSED = 33 FAILED = 1 SKIPPED = 3 (for details check individual test log in ./logs directory) ### LXC ptest complete ### Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* lxc: fixup 'download' template useMark Asselstine2018-06-032-0/+41
| | | | | | | | | | We have a new dependency on 'mountpoint' which is now called in the download template script. We also hit an upstream bug due to improper use of 'mktemp', so we apply a patch to fix this and sent the fix upstream as well. Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* lxc: uprev to v3.0.0Mark Asselstine2018-06-034-44/+9
| | | | | | | | | | | | | | | Update to the latest lxc release. This requires some minor patch updates (fuzz and offset, not content) along with dropping a no longer needed fix for gcc7 (gcc 7.3 is everywhere and is patched). The ptests were already busted before the uprev so I was not able to run them but I will follow up with a fix for this. I did run against our usual usecases 'lxc-create', 'lxc-console', 'lxc-ls', 'lxc-destroy', 'lxc-start', 'lxc-execute', 'lxc-attach'... and there were no issues (outcomes matched v2.0.8). Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* tini: add version 0.18.0 as docker-init providerPascal Bach2018-05-303-1/+61
| | | | | | | | | | This removes the warning that docker can't find docker-init in PATH. This recipe is based on the recipe from meta-resin. Signed-off-by: Pascal Bach <pascal.bach@siemens.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* lxc: cleanup the lxc-networking packageMark Asselstine2018-05-292-9/+24
| | | | | | | | | | | | | | | | | | Adding missing RDEPENDS on iptables, the lxc-net service will fail without this. Use the new 'pkg_postinst_ontarget_' instead of failing out to signal runtime postinst scripts, this conforms with the latest expectation for bitbake. The interfaces file is specific to sysvinit and unneeded for systemd so block the creation of these files only when building for sysvinit. Lastly add a default 'lxc-net' file. Since we have a separate lxc-networking package we can complete it with this configuration which is sourced by '/etc/default/lxc' (which is part of the core lxc package). In doing this we are like Debian when the lxc-networking package is not installed in the image, and like Ubuntu when it is. Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* lxc: add wget as an RDEPENDS needed for the download templateMark Asselstine2018-05-291-0/+1
| | | | | | | | | | | Without this we get: ERROR: Missing required tool: wget When attempting to do something like: lxc-create -n ubu -t download -- --no-validate -d ubuntu -r xenial Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* lxc: rename the lxc 'autostart' sysvinit script matching upstreamMark Asselstine2018-05-291-1/+1
| | | | | | | | | This was renamed back in v1.1.0 but I suppose most folks have been buiding for systemd or were not using this functionality and it went unnoticed. Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* lxc: drop the -setup packageMark Asselstine2018-05-291-18/+15
| | | | | | | | | | | | | | | | | | | | | | For some packages we include a -setup package which can be installed as part of an image to complete a more comprehensive setup of the main package. This is common for example in meta-cloud-services since many OpenStack packages have extensive setup. The -setup package for lxc did at one point do comprehensive setup but over time this has been moved to the -networking package. Now the -setup package is only being used as a container for the systemd service files or sysvinit scripts. This can better be accomplished by setting appropriate runlevels for the initscripts or disabling or masking the systemd services (via SYSTEMD_AUTO_ENABLE). This also fixes some confusion or what might be considered a bug around -setup and -networking packages as the -setup package was mopping up the lxc-net.service file, instead of it being included in the -networking package. Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* docker: allow enabling seccompPascal Bach2018-05-291-1/+4
| | | | | | | This requires libseccomp from meta-security so it is not enabled by default. Signed-off-by: Pascal Bach <pascal.bach@siemens.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* runc: allow enabling seccompPascal Bach2018-05-291-1/+5
| | | | | | | This requires libseccomp from meta-security so it is not enabled by default. Signed-off-by: Pascal Bach <pascal.bach@siemens.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* cgroup-lite: uprev to v1.15Mark Asselstine2018-05-241-7/+18
| | | | | | | | | | Upgrade and make the recipe more systemd "friendly". For the most part nobody is going to use this with systemd but in case they do they will get a masked and empty services file, as they do with Debian or Ubuntu. Otherwise this is a minor update from v1.11. Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* LXC LICENSE is LGPLv2.1 not GPLv2.David Smith2018-05-211-1/+1
| | | | | | | | LXC is licensed under LGPLv2.1 not GPLv2. The COPYING file referenced in the LXC recipe on all branches have the same content, checksum and all define LICENSE="GPLv2" rather than "LGPLv2.1". Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* lxc: enable fix apparmor feature name. A typo called it "apparmour", back in ↵Gianfranco Costamagna2018-05-091-1/+1
| | | | | | | commit 7a62620ea09f01c1f2a730cbb1264202276f2b87 Changing the default to the right value Signed-off-by: Gianfranco Costamagna <gianfranco.costamagna@abinsula.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* runc-opencontainers: Drop obsolete patchPaul Barker2018-05-092-86/+0
| | | | | | | | The upstream Makefile now calls `$(GO)` instead of just `go` so this patch isn't needed anymore. Signed-off-by: Paul Barker <pbarker@toganlabs.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* runc/containerd: fix build with go 1.9.xBruce Ashfield2018-04-207-31/+37
| | | | | | | | | | | | | | | go 1.9.x was triggering linkage errors on some build hosts due to missing symbols. | tmp/work/core2-64-poky-linux/runc-docker/1.0.0-rc5+gitAUTOINC+4fc53a81fb-r0/recipe-sysroot/usr/lib/../lib/libc.a(dl-reloc-static-pie.o): In function `elf_mac: | /usr/src/debug/glibc/2.27-r0/git/sysdeps/x86_64/dl-machine.h:59: undefined reference to `_DYNAMIC' | tmp/work/core2-64-poky-linux/runc-docker/1.0.0-rc5+gitAUTOINC+4fc53a81fb-r0/recipe-sysroot/usr/lib/../lib/libc.a(dl-reloc-static-pie.o): In function `elf_get: | /usr/src/debug/glibc/2.27-r0/git/elf/get-dynamic-info.h:48: undefined reference to `_DYNAMIC' By ensuring that our sysroot provided go binary and build flags make it into the build enviroment we can build properly with 1.9 and 1.10 Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* criu: refresh patches to fix QA warningYi Zhao2018-04-135-26/+16
| | | | | | | Refresh patches with devtool command to fix do_patch warning. Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* criu: fix build failure with newer glibc and kernelYi Zhao2018-04-132-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | | With newer glibc(>= 2.26) and kernel(>=4.14), criu would fail to build: In file included from /buildarea/build/tmp/work/core2-64-poky-linux/criu/3.4+gitAUTOINC+a31c1854e1-r0/recipe-sysroot/usr/include/linux/aio_abi.h:31:0, from criu/cr-check.c:24: /buildarea/build/tmp/work/core2-64-poky-linux/criu/3.4+gitAUTOINC+a31c1854e1-r0/recipe-sysroot/usr/include/sys/mount.h:35:3: error: expected identifier before numeric constant MS_RDONLY = 1, /* Mount read-only. */ ^ CC criu/parasite-syscall.o CC criu/pipes.o CC criu/pie-util.o CC criu/pie-util-vdso.o CC criu/plugin.o /buildarea/build/tmp/work/core2-64-poky-linux/criu/3.4+gitAUTOINC+a31c1854e1-r0/git/scripts/nmk/scripts/build.mk:110: recipe for target 'criu/cr-check.o' failed make[2]: *** [criu/cr-check.o] Error 1 Backport a patch to fix it. Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* docker: restructure to build docker-proxy using provided MakefileBruce Ashfield2018-04-092-9/+73
| | | | | | | | | | | Rather than invoking go directly to build docker-proxy, we can use the libnetwork Make infrastructure. This picks up our exported go enviroment variables, and other sysroot flags. We also apply one patch to ensure that the cross-go toolchain is used, and that the proper build flags are used. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* runc: ensure that ${GO} is exported build/makeBruce Ashfield2018-04-051-1/+5
| | | | | | | | | | | | | | The runc makefile now uses $(GO) universally, but sets the variable as GO := go by default. This means that the host go will be used instead of our recipe sysroot variant. A simple export of the variable is not enough in all cases (due to Make assignments), so both export it AND pass it directly to the oe_make call. This fixes docker-runc builds on ARM64. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* containerd: uprev to v1.0.2Bruce Ashfield2018-04-023-32/+68
| | | | | | | | | | | | | | Uprev containerd to v1.0.2 for compatibility with recent docker (18.04+) builds. With this uprev we also significantly restructure the build to use more of the latest oe-core go build infrastructure, but non-standard parts of the build remain. We also allow containerd to be build with CGO enabled to avoid linkage errors with the oe provided go build infrastructure. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* docker-ce: introduce reference recipe/buildBruce Ashfield2018-04-021-0/+172
| | | | | | | | | | | | | | | | | | | This commit introduces a docker-ce reference recipe that is nearly identical to the docker_git recipe. The main difference between these two recipes is that one builds from moby and this one from the docker-ce repository itself. The different repositories mean that a different selection of commits are used and that the build locations change slightly. Although both docker_git and this recipe share nearly all their code, they will vary more in the future, and prematurely factoring them into a .inc file is not practical (until this proves useful). Future work: remove the individual libnetwork and cli repository fetches and build the components directly from the docker-ce repo. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* docker: uprev to 18.03.0Bruce Ashfield2018-04-022-84/+17
| | | | | | | | | | | | | | | | | Uprev the docker daemon, proxy and cli to 18.03.0. The SRCREVs for these updates come from the versions logged in the docker-ce 18.03.0 release. The docker-ce recipe has a pure docker-ce single repository build, but here, we continue to assemble the individual parts for maximum flexibility. Along with the uprev, we add new dependencies required to build the new version; libtool and pkcconfig (although unused by the recipe itself). Finally we switch to a Makefile based build of the cli to allow the commit and docker version to be properly captured in the docker executable. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* runc: uprev to 1.0.0-rc5Bruce Ashfield2018-04-028-482/+30
| | | | | | | | | | | | | | | | | | Uprev both variants of runc to v1.0.0-rc5. We drop patches that have made it into the upstream runc, and we also refresh the context of of two others. The docker and opencontainers variants are virtually identical, but we keep the two variants for now to protect against any future forks in the support. The runc-docker SRCREV comes from the docker-ce 18.04 logged commit, while runc-opencontainers is updated to the tip of the master branch. Runtime tested with docker on x86-64. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* k8s: uprev to v1.10 releaseBruce Ashfield2018-03-261-2/+2
| | | | | | | We pickup the new release features .. plus the ability to actually build with go1.10 Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* docker: make aufs dependency depend on distro featurePascal Bach2018-03-221-2/+3
| | | | | | | | Only include aufs-utils if the corresponding distro feature is enabled. Without that the aufs kernel driver is not included too. Signed-off-by: Pascal Bach <pascal.bach@siemens.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* python3-docker-compose: remove deprecated python3-enum from RDEPENDSRicardo Salveti2018-03-141-1/+0
| | | | | | | The python3-enum package was removed and it is now part of core. Signed-off-by: Ricardo Salveti <ricardo@opensourcefoundries.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* lxc: set systemdsystemunitdir with systemdRicardo Salveti2018-02-051-0/+2
| | | | | | | | systemd unit dir can be customized by the distro (e.g. usrmerge), so make sure the correct unit dir path is set on configure. Signed-off-by: Ricardo Salveti <ricardo@opensourcefoundries.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* add python3-terminal RDEPENDS to docker-compose recipeValerio De Benedetto2018-01-181-0/+1
| | | | Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* kubernetes: package kube-proxy separatelyBruce Ashfield2018-01-161-0/+2
| | | | | | | kube-proxy is required on all kubernetes nodes. Rather than it being in the catch-all package, we put it in an explicit package. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* criu: set CLEANBROKEN to 1Chen Qi2017-12-281-0/+2
| | | | | | | | | | | | Rebuilding criu would cause the following error. | make: .gitid: Command not found | make: *** [Makefile:260: clean-top] Error 127 Fix this problem by setting CLEANBROKEN to "1". Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* lxc: add missing RDEPENDSMark Asselstine2017-12-281-0/+2
| | | | | | | | | | | | | | When attempting to create a container using lxc-create -t download -n test -- no-validate --dist ubuntu --release \ xenial --arch amd64 the container creation will fail due to missing 'xz' and in the case of 'tar' due to invalid options if the busybox version of 'tar' is used. Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* dnsmasq: add dnsmasq.d entries for lxc and libvirtMark Asselstine2017-12-282-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A while ago changes were merged to meta-openembedded to make /etc/dnsmasq.d (and specifically the files it contains) referenced when the main instance of dnsmasq is run (see dnsmasq.service and commit ba665493a0dd [dnsmasq: allow for dnsmasq instances to reuse default dnsmasq.conf]). We, however, continued to modify the global configuration (/etc/dnsmasq.conf) to keep the main instance of dnsmasq from attaching to virbr0 and lxcbr0, by using 'bind-dynamic'. This approach is problematic, since it is common that other instances of dnsmasq will make use of the global configuration file and may have incompatible options. We see this for example when attempting to start lxc-net which will attempt to use 'bind-interface' which is incompatible with 'bind-dynamic' that we were adding to the global configuration. Here we remove our change to the global configuration (leaving it mostly empty as it should be) and instead have lxc and libvirt packages instruct the global instance not to bind to virbr0 and lxcbr0 by adding configuration files to /etc/dnsmasq.d (setting except-interface). The added benefit to this approach is that if lxc or libvirt are not part of an image the global configuration will not be modified in such a way as to expect that they are present. Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* runc-docker: Allow "run start ..." to daemonize with $SIGUSR1_PARENT_PIDJason Wessel2017-12-112-0/+132
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The runc-docker has all the code in it to properly run a stop hook if you use it in the foreground. It doesn't work in the back ground because there is no way for a golang application to fork a child exit out of the parent process because all the golang threads stay with the parent. This patch has three parts that happen ONLY when $SIGUSR1_PARENT_PID is set. 1) At the point where runc start would normally exit, it closes stdin/stdout/stderr so it would be possible to daemonize "runc start ...". 2) The code to send a SIGUSR1 to the parent process was added. The idea being that a parent process would simply exit at that point because it was blocking until runc performed everything it was required to perform. 3) The code was copied which performs the normal the signal handling block which is used for the foreground operation of runc. -- More information -- When you use "runc run " it is running in the "foreground", in the sense it takes over your existing terminal. The runc-docker doesn't have a way to start it with "runc run&" where you can send it to the background and have everything work. With this commit, it does allow you to do that and have all the stop hooks fire at the time what ever runc started exits. Lets take a quick look at what "runc run" does today: * Starts a whole pile of threads * Sets up all name spaces * Starts child process for container and leaves it paused at image activation * runs start hooks * executes "continue" for container process * waits for container app to exit * executes stop hooks Now lets look at "runc create/start" does today: runc create * Starts a whole pile of threads * Sets up all name spaces * Starts child process for container and leaves it paused at image activation * exits -- [ NOTE: this is our problem! ] runc start * runs start hooks * executes "continue" for continue process At this point when the container app exits nothing is waiting for it to run any kind of hooks. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* lxc: add back the rdepends on glibc-utilsJackie Huang2017-12-011-0/+3
| | | | | | | | | | | | | | | | | The rdepends on glibc-utils was removed without reason in the following commit: """ e73608d56e498a7075e7a3e5550aafd76987d7aa lxc: 2.0.0 -> 2.0.8 """ And it causes failure: /usr/libexec/lxc/lxc-net: line 125: getent: command not found So add the dependency back. Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* kubernetes: add iproute2 tc to kubelet RDEPENDSBruce Ashfield2017-11-281-1/+1
| | | | | | | kubelet needs 'tc' at runtime, so we add iproute2-tc to the rdepends list. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* oci-image-tools: make Config.User mapping errors a warningBruce Ashfield2017-11-172-1/+32
| | | | | | | | | | | | | | | | | | Rather than throwing an error if we can't map a user to a uid, output a warning. We aren't actually running the code, but are just extracting it .. so the user not existing isn't an issue. With this, we avoid the not-so-useful traces like this: config.User: unsupported format github.com/opencontainers/image-tools/image.(*config).runtimeSpec oci-image-tools/0.2.0-dev+gitAUTOINC+4abe1a166f-r0/oci-image-tools-0.2.0-dev+gitAUTOINC+4abe1a16 6f/src/import/vendor/src/github.com/opencontainers/image-tools/image/config.go:109 <...> src/import/cmd/oci-image-tool/main.go:57 runtime.main /usr/lib64/go/src/runtime/proc.go:185 runtime.goexit /usr/lib64/go/src/runtime/asm_amd64.s:2337 Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* oci-systemd-hook: Always pass through all the cgroup mountsJason Wessel2017-11-142-0/+77
| | | | | | | | If the root name space has additional cgroup mounts, pass them to the container. Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* kubernetes: correct install pathDariusz Pelowski2017-10-171-1/+1
| | | | | | | install needs to go to ${D}, not the host path, so we fix up the offending install lines. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>