Commit Graph

54 Commits

Author SHA1 Message Date
Bruce Ashfield
9f23867e63 layer: drop styhead, add whinlatter
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2025-06-20 08:33:11 -04:00
Bruce Ashfield
0e03113c3a conf/layer.conf: add walnascar compatibility
Start the transition from styhead to walnascar by adding the
new core layer name as compatible. Once the transition is done,
styhead will be removed.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2025-04-02 02:10:47 +00:00
Bruce Ashfield
79d9c4f999 conf: add CONTAINER and VIRTUALIZATION PROFILE defaults
These are used to set configuration for container and virtualization
stacks. We set a default to ensure that sane values are always
present.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2024-11-15 19:50:00 +00:00
Bruce Ashfield
e97f724ccc layer: set compatibility to styhead
With the recent UNPACKDIR and golang changes, master is only
compatible with styhead.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2024-05-29 13:16:56 +00:00
Bruce Ashfield
e7a13cbbc3 containerd: consolidate to "containerd"
We no longer need the split between container-docker and
containerd-opencontainers and dependent layers have been
given over a year to adapt.

We do keep the provides and rprovides around for a bit
longer, but those will also be removed in the future.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2024-05-13 22:32:38 -04:00
Bruce Ashfield
7a3b0b7ae1 conf/layer: add scarthgap compatibility
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2024-03-15 17:16:33 +00:00
Bruce Ashfield
bbc93424c9 conf: drop mickledore, only specify nanbield
- mickledore was incorrectly spelled
 - we aren't actively going to test both branches with master, so
   go to only nanbield

If there's demaand, and test results to support it, we can
reconsider later.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2023-09-15 16:10:00 +00:00
Bruce Ashfield
76208ca880 conf: update compatibility to match oe-core
OE Core has bumped to the next version, we update to match.

For now, we keep both mickledore and nanbield as compatible while
progressing towards release.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2023-09-11 14:38:08 +00:00
Chen Qi
c983ed0076 layer.conf: use docker-moby as preferred provider
docker-ce has been deprecated, so switch to docker-moby as
the preferred provider.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2023-06-07 16:39:24 -04:00
Bruce Ashfield
534e8b6ed7 conf: introduce container configuration values
From the configuration file itself:

 These variables represent groupings of functionality in the CNCF
 landscape. In particular, they are areas where there is a choice
 between more than one implementation or an area where abstraction
 is beneficial.

 The contents of the variables are are runtime components that
 recipes may use for RDEPENDS.

 Build dependencies are not typically flexible, so do not currently
 have DEPENDS equivalents for the components (i.e. DEPENDS on runc
 versus crun).

 Distro features such as kubernetes or other container stacks
 can be used to set different defaults for these variables.

 Note: these are "global" values, since they represent choices.
 If more than of a grouping is required on target, then the variable
 can be appended or set to multiple values. That being said, Recipes
 should generally agree on the values, hence the global namespace.
 Recipe specific choices  can still be done, but they risk
 conflicting on target or causing runtime issues / errors.

 ## CNCF "components"

 # engines: docker-ce/docker-moby, virtual-containerd, cri-o, podman
 VIRTUAL-RUNTIME_container_engine ??= "podman"
 # runtime: runc, crun, runv, runx
 VIRTUAL-RUNTIME_container_runtime ??= "virtual-runc"
 # networking: cni, netavark
 VIRTUAL-RUNTIME_container_networking ??= "cni"
 # dns: cni, aardvark-dns
 VIRTUAL-RUNTIME_container_dns ??= "cni"
 # orchestration: k8s, k3s
 VIRTUAL-RUNTIME_container_orchestration ??= "k3s"

 ## Kubernetes terminology "components"

 VIRTUAL-RUNTIME_cri ??= "containerd"
 VIRTUAL-RUNTIME_cni ??= "cni"

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2023-03-08 17:08:02 -05:00
Bruce Ashfield
66b5850735 conf: mark layer compatible with mickledore
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2023-01-03 20:24:47 -05:00
Bruce Ashfield
3fe3e0971d layer.conf: set langdale compatibility
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2022-09-29 23:08:52 -04:00
Bruce Ashfield
ef08aac3dd conf: drop honister from compatibility
The variable renames in OE core are parse errors, not warnings, so
maintaining compatibility for both honister and kirkstone in the
same branch isn't feasible. So we drop honister in preparation for
release.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2022-02-21 19:31:32 -05:00
Bruce Ashfield
c113c0936a conf: add kirkstone to layer compatibility
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2022-02-18 08:59:50 -05:00
Bruce Ashfield
491a385ca6 config: introduce hostname generation hooks
Overriding hostname in a .conf file, via base-files:

  HOST_NAME="k3s-host"
  hostname_pn-base-files = "${HOST_NAME}"

Is always a valid option, but if it is not configured, we can easily
have two hosts with the same name on the network, confusing adddress
assignement, etc.

This commit introduces a way to generate a unique hostname based
on the uuid of the build host, and the machine being built.

If virt-unique-hostname is added to IMAGE_FEATURES, like the following:

  IMAGE_FEATURES += "virt-unique-hostname"
  IMAGE_FEATURES[validitems] += "virt-unique-hostname"

Then a rootfs postprocessing hook will override hostnae to something
unique.

Note: this means your image will be reproducible on a single builder,
but not between them.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-12-13 15:59:35 -05:00
Bruce Ashfield
9d848a29e4 conf: set compatibility to honister
With the overrides conversion changes, we mark master compatible
with honistor only.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-08-02 17:18:38 -04:00
Bruce Ashfield
d876cfc5bf global: overrides syntax conversion
OEcore/bitbake are moving to use the clearer ":" as an overrides
separator.

This is pass one of updating the meta-virt recipes to use that
syntax.

This has only been minimally build/runtime tested, more changes
will be required for missed overrides, or incorrect conversions

Note: A recent bitbake is required:

    commit 75fad23fc06c008a03414a1fc288a8614c6af9ca
    Author: Richard Purdie <richard.purdie@linuxfoundation.org>
    Date:   Sun Jul 18 12:59:15 2021 +0100

        bitbake: data_smart/parse: Allow ':' characters in variable/function names

        It is becomming increasingly clear we need to find a way to show what
        is/is not an override in our syntax. We need to do this in a way which
        is clear to users, readable and in a way we can transition to.

        The most effective way I've found to this is to use the ":" charater
        to directly replace "_" where an override is being specified. This
        includes "append", "prepend" and "remove" which are effectively special
        override directives.

        This patch simply adds the character to the parser so bitbake accepts
        the value but maps it back to "_" internally so there is no behaviour
        change.

        This change is simple enough it could potentially be backported to older
        version of bitbake meaning layers using the new syntax/markup could
        work with older releases. Even if other no other changes are accepted
        at this time and we don't backport, it does set us on a path where at
        some point in future we could
        require a more explict syntax.

        I've tested this patch by converting oe-core/meta-yocto to the new
        syntax for overrides (9000+ changes) and then seeing that builds
        continue to work with this patch.

        (Bitbake rev: 0dbbb4547cb2570d2ce607e9a53459df3c0ac284)

        Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-08-02 17:17:53 -04:00
Bruce Ashfield
efaa68ded7 conf: drop gatesgarth from compatibility
There have been reports of warnings being generated by the
layer index when the compatibility of a layer exceeds 25 characters.

gatesgarth is supported in its own branch, and isn't being tested
against master, so we drop it from the compat.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-06-04 08:38:34 -04:00
Richard Neill
339b69f29e xen, rpi4: fix typo in raspberrypi dynamic-layers inclusion
Signed-off-by: Richard Neill <richard.neill@arm.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-05-13 23:07:55 -04:00
Bruce Ashfield
f4a608b4d2 conf: drop old-style BBFILES dynamic
BBFILES_DYNAMIC has existed for several years, we don't need the
precursor BBFILES for dynamic layers.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-05-04 10:08:17 -04:00
Yanfei Xu
9f359865c4 libvirt: uprev v6.3 -> v7.2
This upgrade spans 9 small release. The detailed realese logs could
refer to: https://gitlab.com/libvirt/libvirt/-/blob/master/NEWS.rst

Libvirt's buildsystem has changed to meson, So this upgrade drop some
obsolete patches applied to makefile.

I ran libvirt testcase and ovs testcase for this upgrade, the summary
as follow:

libvirt_test (keyword: ) test results:
*1 Run libvirt_test testing(do_test1)                          PASS
*2 Check result (virsh_local_capabilities)                     PASS
*3 Check result (virsh_local_domcapabilities)                  PASS
*4 Check result (virsh_local_freecell)                         PASS
*5 Check result (virsh_local_help)                             PASS
*6 Check result (virsh_local_hostname)                         PASS
*7 Check result (virsh_local_iface-begin)                      PASS
*8 Check result (virsh_local_iface-commit)                     PASS
*9 Check result (virsh_local_iface-list)                       PASS
*10 Check result (virsh_local_list)                            PASS
*11 Check result (virsh_local_maxvcpus)                        PASS
*12 Check result (virsh_local_net-list)                        PASS
*13 Check result (virsh_local_nodecpumap)                      PASS
*14 Check result (virsh_local_nodecpustats)                    PASS
*15 Check result (virsh_local_nodedev-list)                    PASS
*16 Check result (virsh_local_nodeinfo)                        PASS
*17 Check result (virsh_local_node-memory-tune)                PASS
*18 Check result (virsh_local_nodememstats)                    PASS
*19 Check result (virsh_local_nwfilter-binding-list)           PASS
*20 Check result (virsh_local_nwfilter-list)                   PASS
*21 Check result (virsh_local_pool-capabilities)               PASS
*22 Check result (virsh_local_pool-list)                       PASS
*23 Check result (virsh_local_pwd)                             PASS
*24 Check result (virsh_local_secret-list)                     PASS
*25 Check result (virsh_local_sysinfo)                         PASS
*26 Check result (virsh_local_uri)                             PASS
*27 Check result (virsh_local_version)                         PASS

openvswitch_vm2vm (keyword: qemux86) test results:
*1 openvswitch_vm2vm testing(do_test1)                         PASS
*2 Check result (ovs_vm2vm_boot_guest1)                        PASS
*3 Check result (ovs_vm2vm_boot_guest2)                        PASS
*4 Check result (ovs_vm2vm_netperf_test)                       PASS
*5 Check result (ovs_vm2vm_destroy_guest1)                     PASS
*6 Check result (ovs_vm2vm_destroy_guest2)                     PASS
*7 check testcase call trace(do_check_call_trace)              PASS

Signed-off-by: Yanfei Xu <yanfei.xu@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-04-22 10:18:06 -04:00
Bruce Ashfield
f3e19029b0 conf/layer.conf: add honister to compatibility list
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-04-15 10:06:38 -04:00
Bruce Ashfield
428e1f1200 config: prefer opencontainers runc
The docker split/requirement on their forked version of runc is
not relevant any more. While we keep the docker-runc around, we
should prefer the opencontainers variant, since that is where
development happens.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-03-15 23:15:42 -04:00
Bruce Ashfield
7daf37f06d conf: add hardknott compatibility
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-03-15 11:10:08 -04:00
Bruce Ashfield
f59d55ec57 conf: add gatesgarth to compat, drop zeus
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-10-15 08:20:03 -04:00
Bruce Ashfield
b40be07bf0 conf: enable xilinx dynamic layer
Signed-off-by: Bruce Ashfield <bruce.ashfield@xilinx.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-09-22 15:51:24 -04:00
Christopher Clark
90a01fcbd9 xen, raspberry pi: add dynamic-layer for Xen configuration for Rpi4
A Xen-specific u-boot script is needed for launching Xen, and the GIC
(interrupt controller) needs to be enabled.

Since this is both Xen-specific and Raspberry Pi-specific, use a
dynamic layer to conditionally enable the recipes when both
meta-virtualization and meta-raspberrypi are in use together.

Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-07-06 16:25:56 -04:00
Christopher Clark
7f6f115d7d xen: apply layer settings when xen DISTRO_FEATURE is enabled
These settings are necessary for Xen and enabling them here, using the
same mechanism that is used by k8s in this layer, simplifies building
images for Xen.

- Ensure that Xen mode is enabled in QEMU.
- On ARM platforms: enable Flattened Device Tree (FDT) support.

Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-07-06 16:25:55 -04:00
Bruce Ashfield
540afb9d9d conf/layer: update compatibility
Add dunfell, drop warrior/thud.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-03-24 15:28:01 -04:00
Bruce Ashfield
3a7d446fa9 conf: defer DISTRO_FEATURE check to bbclass processing
We were using USER_CLASS loading to allow conditional checking
on DISTRO_FEATURES, which triggered distro feature specific version
pinning.

It was found that DISTRO_FEATURES set in local.conf is not
consistently available at layer.conf parse time, hence our checks
were not always working as expected (i.e. the version files are
not included).

If we move the DISTRO_FEATURE check to the bbclasses, and use it
to trigger the include, we should have a consistent set of variable
resolution and consistent behaviour.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-02-10 10:28:38 -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
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
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
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
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
Mingli Yu
822bedbaf6 meta-virtualization: add layer depends on selinux
Since cri-o of meta-virtualization depends on
libselinux which comes from selinux, add missing
layer depends back.

Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-07-25 22:37:30 -04:00
Bruce Ashfield
24218342dc conf: add warrior to layer compat
In preparation for the spring release, we drop sumo and add
warrior to the layer compat variable.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-04-02 02:45:25 -04:00
Bruce Ashfield
e58badbd37 layer: add thud to compatible releases
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-09-30 21:27:54 -04:00
Chen Qi
34355aa5ac layer.conf: recommend meta-webserver as nagios-core depends on apache2
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-09-06 12:45:17 -04:00
Mark Asselstine
a633967872 layer.conf: match layer dependencies as documented in the layer README
Several required layer dependencies have been added to the layer
README but didn't have corresponding entries added to
LAYERDEPENDS. Ensure these match.

The 'selinux' layer dependency, is conditional on the 'xen'
DISTRO_FEATURE but I see no way to make a conditional LAYERDEPENDS so
this is left off for now.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-05-24 16:08:02 -04:00
Armin Kuster
032ef53104 refactor for YP Compat for PV changes
Only include our versions of recipes if virtualiztions is in
DISTRO_FEATURE

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-04-23 12:38:50 -04:00
Bruce Ashfield
b51b71e577 LAYERSERIES_COMPAT: move to sumo
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-04-06 09:02:14 -04:00
Bruce Ashfield
3c3a4cd388 layer: add LAYERSERIES_COMPAT
It will become a visible warning if LAYERSERIES_COMPAT is not set, so
we add it to our layers, and set it to rocko. Once sumo releases and
branched, we'll change the value.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-04-06 08:30:39 -04:00
Bruce Ashfield
d7d310ae41 meta-virt: prefer containerd-opencontainers
docker has moved to a non-forked version of containerd, so we set
our preference to opencontainers. The containerd-docker is too old
to properly work with modern docker builds, but we keep it around
for reference and compatibility.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-04-02 00:46:54 -04:00
Paul Barker
1e4530c283 sanity-meta-virt: Make skip variable name layer specific
The variable used to skip the sanity check should be named in a layer specific
way. This will ensure there is no confusion if other layers use a similar sanity
check.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-10-12 21:59:51 -04:00
Chen Qi
bfba140b83 sanity-meta-virt.bbclass: add class for bbappend files checking
Add a new class, sanity-meta-virt.bbclass, to check for whether necessary
settings are available for bbappend files in this layer to be effective,
and warn users if not.

In addition, a variable SKIP_SANITY_BBAPPEND_CHECK is added to enable users
to explicitly skip the checking to avoid unwanted warnings.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-10-02 09:39:26 -04:00
Bruce Ashfield
7d6284a079 runc/containerd: create virtual/runc and virtual/containerd
Since there are two implementations of runc and containerd that may
not always be in sync, the docker variant, and the opencontainers
variable, we create a virtual/* namespace for these components.

Anything requiring runc or containerd should set a preferred provider
to get the desired/tested variant.

We set the default provider to the docker variants, since they are
the primary use case for these components.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-02-20 02:06:22 -05:00
Dmitry Eremin-Solenikov
f23b699283 conf: override SECURITY_CFLAGS for a set of recipes
Some of recipes produce errors if the distro has enabled usage of
security_flags.inc file. Fix those errors (and QA warnings) by providing
an additional include file that is require'd from conf/layer.conf.

Signed-off-by: Dmitry Eremin-Solenikov <dmitry_eremin@mentor.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2015-04-21 21:08:06 -04:00
Bruce Ashfield
df21652a7f layer: bump priority to 8
To ensure that meta-virt versions are chosen over meta-oe equivalents we
bump the priority to 8.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2015-03-30 23:40:02 -04:00
Robert Yang
d21c403a03 conf/layer.conf: add LAYERVERSION and LAYERDEPENDS
Add LAYERVERSION and LAYERDEPENDS, it needs depend on oe-core and
meta-networking layer.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2013-10-18 10:36:59 -04:00