Commit Graph

111 Commits

Author SHA1 Message Date
Bruce Ashfield
df313693f3 cni: add ca-certifcates dependency
Many of the CNI plugins require authenticated connections, as such
they are looking for elements of ca-certificates.

CNI isn't small, so we add this as a general rdepends. If we need to
slim things down in the future, we can split the CNI into specific
implementations and add the dependency to those packages.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-03-15 23:15:42 -04:00
Bruce Ashfield
913b8e51d7 ipset: warning fix, use BPN instead of PN in SRC_URI
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-03-15 23:15:42 -04:00
Bruce Ashfield
486cdac90e k3s: import version locked ipset dependency
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-03-15 23:15:42 -04:00
Zqiang
415fd5eb2c openvswitch: uprev from 2.13 to 2.15
- OVSDB:
     * Changed format in which ovsdb transactions are stored in database files.
       Now each transaction contains diff of data instead of the whole new
       value of a column.
       New ovsdb-server process will be able to read old database format, but
       old processes will *fail* to read database created by the new one.
       For cluster and active-backup service models follow upgrade instructions
       in 'Upgrading from version 2.14 and earlier to 2.15 and later' section
       of ovsdb(7).
     * New unixctl command 'ovsdb-server/get-db-storage-status' to show the
       status of the storage that's backing a database.
     * New unixctl command 'ovsdb-server/memory-trim-on-compaction on|off'.
       If turned on, ovsdb-server will try to reclaim all the unused memory
       after every DB compaction back to OS.  Disabled by default.
     * Maximum backlog on RAFT connections limited to 500 messages or 4GB.
       Once threshold reached, connection is dropped (and re-established).
       Use the 'cluster/set-backlog-threshold' command to change limits.
- DPDK:
     * Removed support for vhost-user dequeue zero-copy.
     * Add support for DPDK 20.11.
- Userspace datapath:
     * Add the 'pmd' option to "ovs-appctl dpctl/dump-flows", which
       restricts a flow dump to a single PMD thread if set.
     * New 'options:dpdk-vf-mac' field for DPDK interface of VF ports,
       that allows configuring the MAC address of a VF representor.
     * Add generic IP protocol support to conntrack. With this change, all
       none UDP, TCP, and ICMP traffic will be treated as general L3
       traffic, i.e. using 3 tupples.
     * Add parameters 'pmd-auto-lb-load-threshold' and
       'pmd-auto-lb-improvement-threshold' to configure PMD auto load balance
        behaviour.
- The environment variable OVS_UNBOUND_CONF, if set, is now used
     as the DNS resolver's (unbound) configuration file.
- Linux datapath:
     * Support for kernel versions up to 5.8.x.
- Terminology:
     * The terms "master" and "slave" have been replaced by "primary" and
       "secondary", respectively, for OpenFlow connection roles.
     * The term "slave" has been replaced by "member", for bonds, LACP, and
       OpenFlow bundle actions.
- Support for GitHub Actions based continuous integration builds has been
     added.
- Bareudp Tunnel
     * Bareudp device support is present in linux kernel from version 5.7
     * Kernel bareudp device is not backported to ovs tree.
     * Userspace datapath support is not added
- ovs-dpctl and 'ovs-appctl dpctl/':
     * New commands '{add,mod,del}-flows' where added, which allow adding,
       deleting, or modifying flows based on information read from a file.
- IPsec:
     * Add option '--no-cleanup' to allow ovs-monitor-ipsec to stop without
       tearing down IPsec tunnels.
     * Add option '--no-restart-ike-daemon' to allow ovs-monitor-ipsec to start
       without restarting ipsec daemon.
- Building the Linux kernel module from the OVS source tree is deprecated
     * Support for the Linux kernel is capped at version 5.8
     * Only bug fixes for the Linux OOT kernel module will be accepted.
     * The Linux kernel module will be fully removed from the OVS source tree
       in OVS branch 2.18

fix some do_patch error about local patch.

Signed-off-by: Zqiang <qiang.zhang@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-03-11 22:33:29 -05:00
Chen Qi
c9e13cce13 openvswitch: set CVE_VERSION
CVE entries are using version 2.xx.xx, our PV is 2.13+xxx, this causes
problem for CVE detection. So we need to set a CVE_VERSION for better
CVE scanning.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-03-04 22:45:17 -05:00
Bruce Ashfield
da32b79488 cni: update to 0.8.0
The following CNI commits are part of this update:

   e32b586 remove build badges from homepage
   296290a Switch from Travis to GH Actions
   a199e6a go fmt
   ada6726 tighten up plugin-finding logic
   eec3755 Add "alias" to conventions
   867451c Fix typo in pkg/types/internal/convert.go
   679ed9d Fix typo in CONVENTIONS.md
   6d8228e maintainers: fix typo
   e781c94 types: remove SupportedVersions
   7555ca3 spec: bump to 1.0.0-pre-release and remove 'version' from Result addresses
   6823eba tests: small cleanup and removal of one useless testcase
   3805b13 types: add 1.0.0
   0050bfa types: implement convert module and make types use it
   90311ea Bump release build Go version to 1.14
   f9b5c9b Add security reporting info
   e5c65a5 Revert formatting of error codes
   65bf688 Travis: bump go versions
   a7cceb9 add go.mod
   93a7425 testhelpers: clean up how we build against old libcni targets
   c78d465 Replace 2019 conference announcement with links to the recordings
   fc1de42 Sync contact methods in README and CONTRIBUTING
   c815aca Update the SPEC, CODE-OF-CONDUCT, CONTRIBUTING, RELEASING with minor formatting changes and linting updates.
   17a6379 Update README.md
   956c943 adding OVN4NFV-K8s-Plugin as 3rd party plugin
   e2a7366 Retry exec commands on text file busy
   76b18ea Typo fixes for infiniband GUID
   44dabed invoke: capture and return stderr if plugin exits unexpectedly
   279bc6c Add DeviceID attribute to RuntimeConfig
   fdcc7b1 test: allow specific package testing with PKGS=<x> ./test.sh
   ca0082f Add Infiniband GUID to well known Capabilities
   38353fa Remove extra ',' chars which makes conflist examples invalid.
   134f603 maintainers: remove Stefan per personal request
   1435c6b Add Michael Cambria as a CNI maintainer
   6b46a03 Update link freenode.org to freenode.net
   075e303 Update roadmap for 1.0 plans
   0b1c649 Change language identifier to jsonc for json with comments
   704c56d Update tests
   f208f19 Remove Result.String
   cc6e8af pkg/utils: utility package should use black-box testing
   025e32f pkg/utils: add utils_test
   6f29b01 intercept netplugin std error
   777584f Add Kube-OVN to CNI list
   e00fa53 appending antrea to the cni list
   7815be7 Add Project Antrea in CNI list
   f2fa4a3 Add table of contents
   b36de6e DOCUMENTATION: Address incomplete instructions in CONTRIBUTING.md
   c35ac21 Adding Cisco ACI to CNI plugin list
   3eb88ac Add Bruce Ma and Piotr Skarmuk as maintainers
   6c6a315 Update README to sunset slack and call out kubecon presentations
   b89eff5 Add a note to README about where to find the binaries
   4eec648 When the CNI version isn't supplied in config, use default.
   eefc069 SPEC: update validation rules for interface name in docs and address some comments
   b5188cf spec: fix some typo in docs
   c94fcd7 Perfect annotation: Correct word spelling mistakes
   7be1ac9 add interface name validation to libcni and skel
   9f4a623 utils: add validation function for interface name
   2a82881 Bump golang
   c0f784d Update cnitool docs
   94399d5 add err handling in plugins/test/noop/
   d8dfb56 validate containerID and networkName ensure they contain only letters and numbers
   e4a11ba libcni: cache file operations require full uniqueness tuple in RuntimeConf
   a83f3cb libcni: also cache IfName, network name, and container ID
   894863c libcni: fix cache file 'result' key name
   f3654f3 skel: remove needless functions and types
   3e79703 modify some well-known errors
   1318d7c libcni: find plugin in exec
   9af40ed     libcni: add config caching
   722a488 docs: add ips and mac to well-known capabilities and fix some typo
   227c438 SPEC: add some well-known error codes
   ba034ef testcases: make testcase use suitable error code
   4b29940 skel: clean up typed Errors in skel
   50192c0 types : add NewError method
   0af0477 readme: add Alibaba Cloud CNI plugin 'Terway' to the list
   b92d83c bump linux to Bionic 18.04 in Travis and Vagrant
   a48337a add missing commas, fix syntax error
   5077b14 Add stringifyArgs and parseArgs functions to utils.go
   80ad241 libcni: add InitCNIConfigWithCacheDir() and deprecate RuntimeConfig.CacheDir
   5dbeae8 clean up : remove useless variable
   a03dc28 clean up : fix staticcheck warnings
   cbca752 Docs: Small typo fixes in main README.md

As well as the following plugin commits:

    fa48f75 ipam/dhcp: Add broadcast flag
    74a6b28 vendor: bump libcni
    8feef71 add flannel to support dual stack ip
    343d233 bandwidth: fix panic in tests
    d41acb8 host-device: Add support for DPDK device (#490)
    075c5a0 [main/vlan] Fix error handling for delegate IPAM plugin
    a8d1f5c dhcp: default dhcp clien timeout is 10s
    354def7 vlan: fix error message text by removing ptp references
    25fc741 dhcp: daemon dhcp client timeout is configurable
    3161bb5 dhcp: timeout value is set in DHCP daemon
    ebce6d0 remove unused function
    691238c deps: go mod tidy coreos/go-iptables
    23a1d90 deps: bump coreos/go-iptables
    e13bab9 tuning: revert values on delete (#540)
    680c6dd go mod tidy
    be19d78 bump to go 1.15
    8d52c42 Add ability to trigger retests via comments
    3ae85c1 pkg/ns: fix test case to tolerate pids going away.
    25704f9 Add github build & test actions
    eb31403 bridge: fix testcase to check addresses we care about
    336ba52 Remove travis.
    b47d178 vendor: bump ginkgo, gover
    108c2ae portmap plugin should flush previous udp connections
    cccf539 Updating plugin README.md files (#549)
    c41c78b update netlink dependencies
    50a3aa6 Xdhcp: fix example configuration
    98c621a VRF: extend supported version to 0.3.1 too.
    b34402a VRF CNI: Add an optional table parameter.
    5fc309a Add more tests for the vrf cni plugin.
    362f5d6 Update github.com/vishvananda/netlink to v1.1.0
    8d0d8a9 Introduce a new VRF CNI meta plugin.
    1a7f1bd Travis: run tests on arm64
    8a6e96b Replace nc with the local echo client.
    3227902 Add an echo client to be used instead of nc.
    59baaa1 Bump up the ubuntu version used in CI to bionic.
    9ce99d3 flannel: allow input ipam parameters as basis for delegate
    08ff3b6 ipvlan: make master config as optional
    1ea19f9 Remove extraneous test file in Windows plugin
    799d3cb Fix race condition in GetCurrentNS
    839d918 lo: CNI_IFNAME is no longer ignored
    c50490e cni: bump to 0.8.0
    01a8de9 Bump Go version to 1.13 and 1.14
    2b6cd54 Add contact info
    0214625 Update firewall README.md CNI-ADMIN
    813f541 firewall: fix some typos in docs
    051452c Update firewall README.md
    877602d portmap DEL noop if no portMappings present
    2bd04cb firewall: fix generate of admin chain comment
    d4775ec Fix handling of delay in acquiring lease with stp turned on
    68a80bc Update README.md
    5cb3a5e portmap: don't use unspecified address as destination
    b9560fd macvlan: set mac address from CNI_ARGS
    79192cb host-device: Bring interfaces down before moving.
    219eb9e ptp, bridge: disable accept_ra on the host-side interface
    02bfece plugins/meta/sbr: Adjusted ipv6 address mask to /128
    5e0fbd8 portmap: Apply the DNAT hairpin to the whole subnet
    a78853f Support device id in host device plugin (#471)
    2d2583e win-bridge: add support for portMappings capability
    30776ff check bridge's port state
    2a48d68 Reset the route flag before moving the rule
    486ef96 [DO NOT REVIEW] vendor upate to remove useless dependencies
    8a0e3fe build error utility package to replace juju/errors
    112288e Unlock OS thread after netns is restored
    c7e2cf7 owners: updates for maintainer changes
    53854dd flannel: remove net conf file after DEL succeed
    a9b4e04 Make host-device to work with virtio net device
    45fd949 ptp: remove some redundant lines
    2ff84a4 pkg/ip: use type cast instead of untrusty error message
    37207f0 pkg/utils: sysctl package should use black-box testing
    d1360b8 loopback: Fix ipv6 address checks

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-02-06 07:56:51 -05:00
Chen Qi
28cca9a78e openvswitch: use /run instead of /var/run in systemd service file
/var/run has been deprecated by systemd, so use /run instead,
as suggested by systemd.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-10-27 23:24:47 -04:00
Mark Asselstine
de94eb1572 cni: prevent go from downloading stuff in the background
While testing the cni uprev by building in a container with
network=none the following error was found:

  go: github.com/Microsoft/go-winio@v0.4.11: Get
   https://proxy.golang.org/github.com/%21microsoft/go-winio/@v/v0.4.11.mod:
   dial tcp: lookup proxy.golang.org on 128.224.144.130:53:
   dial udp 128.224.144.130:53: connect: network is unreachable

After some digging through the go documentation it was found that the
'-mod=vendor' is required for 'go build' to use shipped vendor modules
when building modules. This can be confirmed by look at the
'build_linux.sh' script which is found in the plugins repo.

By using '-mod=vendor' and also ensuring things are properly placed in
the GOPATH (ie $B) we can avoid having to create many of the links we
had been previously.

We also put all the build artifacts into $B to avoid mixing source and
build.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-03-13 21:53:26 -04:00
Mark Asselstine
e65c3761e0 cni: 1.7.0 to 1.7.1 (and plugins 0.8.2 to 0.8.5)
Both uprev's are listed as 'minor' in the upstream release
notes. Neither introduces an uprev in spec. This fixes issues we
observed while testing the forthcoming cri-o uprev.

NOTE: this commit should only be used with the follow-on commit [cni:
prevent go from downloading stuff in the background] otherwise you
will end up with files not owned by you which will prevent the recipe
being properly cleaned.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-03-13 21:53:26 -04:00
Changqing Li
51033bce01 openvswitch-git: refresh patch to fix patch-fuzz warning
Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-03-02 15:05:18 -05:00
Mark Asselstine
b1b4fca4f0 openvswitch: uprev from v2.12 to v2.13
Another straightforward uprev with one fairly large change in the
changelog. The Open Virtual Network component has now been moved to
its own repo (https://github.com/ovn-org/ovn.git). If you were using
this functionality a new recipe will need to be created.

The ptest results are similar to after the v2.12 uprev

    ERROR: 2206 tests were run,
    28 failed unexpectedly.
    62 tests were skipped.

The failed tests were in the following areas:
    checkpatch.at (5)
    ovs-ofctl.at (1)
    tunnel.at(1)
    tunnel-push-pop.at(3)
    tunnel-push-pop-ipv6.at(3)
    dpif-netdev.at (1)
    pmd.at(1)
    ofproto-dpif.at (7)
    bridge.at (2)
    ovsdb-idl.at(1)
    mcast-snooping.at(1)
    packet-type-aware.at(2)

None of these affect core functionality or usecases and are similar to
the results we see with v1.12. If specific usecases are affected by
these failures we should address them on a need to fix basis.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-02-20 12:43:14 -05:00
Mark Asselstine
0ab14d82b1 openvswitch: uprev from v2.11 to v2.12
A mostly straightforward uprev. Unfortunately a required patch for
python3 is only available on a non-release branch so we must carry it
in order to build (the discussion on the mailing list was that an
uprev might have avoided this, but this is not the case).

The ptest results are similar to after the v2.11 uprev

    ERROR: 2413 tests were run,
    23 failed unexpectedly.
    383 tests were skipped.

NOTE, however, that they have now marked many tests as 'skipped', such
as the python2 results, so the failed and skipped numbers have
essentially swapped with each other. The failed tests were in the
following areas:
    checkpatch.at (5)
    ovs-ofctl.at (1)
    dpif-netdev.at (1)
    ofproto-dpif.at (6)
    bridge.at (2)
    ovn.at (2)
    ovn-controller-vtep.at (6)

Most were issues with the test or expectations that source code would
be available. There might be an issue around packaging of
"/vswitchd/vswitch.ovsschema" but we should be able to overlook this
for now, as we have with previous versions.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-02-13 17:21:44 -05: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
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
Mark Asselstine
ab382e2453 openvswitch: drop LSB bits
openembedded-core commit fb064356af61 [Remove LSB support] dropped the
'lsb' recipe which caused openvswitch to throw a dependency fail for
both sysvinit and systemd builds. LSB init functions for
log_begin_msg, log_end_msg and others were being used. We now use the
functions from ovs-lib which are part of OVS and supply the remaining
ones directly. This allows us to regain the functionality and drop the
dependency on 'lsb'.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-09-14 23:51:16 -04:00
Chen Qi
dd68c2e44c openvswitch: install ovs-systemd-reload
Install ovs-systemd-reload as openvswitch.service uses it.

  openvswitch.service:ExecReload=/usr/share/openvswitch/scripts/ovs-systemd-reload

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-08-30 00:29:15 -04:00
Chen Qi
b538e06ba9 cni: build more plugins
Also build plugins under ipam. Other distros default to contain
these plugins.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-08-12 11:02:31 -04:00
Chen Qi
9267ddff1a cni: fix problem about cross compilation
When setting up k8s, the following error appeared, failing
to setup coredns pod.

  NetworkPlugin cni failed to set up pod "coredns-5f7fc64c95-4nnfq_kube-system" network: fork/exec /opt/cni/bin/loopback: no such file or directory

This is because the binary, /opt/cni/bin/loopback, has wrong interpreter.

So fix do_compile to use ${GO} instead of go to fix this problem.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-08-12 11:02:31 -04:00
Chen Qi
4eca42bc3b cni: remove unnecessary GO settings
These settings are either in go.bbclass or duplicate, thus
removing them.

Keep only CGO_ENABLED and GOPATH to easier manipulation while
upgrading cni.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-08-12 11:02:31 -04:00
Bruce Ashfield
95b848f219 containers/go/build: don't override global package strip flags
When the go-lang container recipes were first created there were issues
with strip and the resulting binaries. As such, strip was inhibited for
the various packages.

This variable is now set in the default classes, and tests show that
strip works on the binaries (saving up to 2M on disk for some binaries)
with no runtime issues found.

So we drop our explicit set of the inhibit and let the build proceed
by the defaults.

If issues are found, we can re-enable the setting or bbappends can
turn it back on for builds showing issues.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-07-22 14:48:07 +00:00
Bruce Ashfield
e6eb8e839b k8s: update CNI to 0.7.x
Updating the CNI and plugins to 0.7.x series.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-07-12 14:50:34 +00:00
Paul Barker
0fc82d3d0b netns: Upgrade to v0.5.3
Drop obsolete patches and forward-port the remaining required patch. We
also need to fix up permissions after the build so that we can clean the
build directory without errors if needed.

Signed-off-by: Paul Barker <paul@betafive.co.uk>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-05-01 15:39:29 -04:00
Mark Asselstine
fb524ca5a2 netns: change build target to 'build' instead of 'static'
Attempting to build for x86-64 will result in an error:
   cannot find package runtime/cgo (using -importcfg)
   ...go/pkg/tool/linux_amd64/link: cannot open file : open : no such file or directory

As a workaround we switch the build target to 'build' which results in
a slightly smaller executable but does mean that several dynamic
libraries are required to run the generated executable. This shouldn't
be a problem as the build system will ensure the libraries are present
on images where the executable will be included. This change only
means the executable can't be copied as a single entity to a different
machine and run.

We do also patch the Makefile to allow the 'static' target to build
successfully and in the patch commit log we describe the issue in full
(at least in as much detail as we currently have on the issue). But
since the issue isn't fully understood we don't recommend the 'static'
build to be used at this time, thus default to the 'build' target.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-03-20 14:42:42 -04:00
Hongzhi.Song
f9acf9a266 openvswitch: uprev from v2.10.1 to v2.11
The v2.11 version fixed a bug as follow.

Error info:
ovs|00002|db_ctl_base|ERR|external-ids:hostname=: argument does not
end in "=" followed by a value.

The result of ptest between v2.11 and v2.10.1 is similar.
    v2.11:
    ERROR: 2765 tests were run,
    317 failed (1 expected failure).
    85 tests were skipped.

    v2.10.1:
    ERROR: 2662 tests were run,
    311 failed (1 expected failure).
    85 tests were skipped.

I checked the detailed result. The failed tests were mostly related
to python2 as the image only use python3.

Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-02-03 03:49:55 +00:00
Paul Barker
488b5aba28 Use SRCPV instead of SRCREV where possible
This change reduces the length of ${PV} for several recipes and gives us
auto-incrementing version numbers.

Signed-off-by: Paul Barker <paul@betafive.co.uk>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2019-01-16 10:28:26 -05:00
Paul Barker
ea4ea5fbc3 netns: Use correct go toolchain
If we don't explicitly set the GO variable as an argument to make then
the native go toolchain is invoked instead of the cross-toolchain we
actually want. This can result in a netns binary which is built for the
wrong architecture.

Signed-off-by: Paul Barker <paul@betafive.co.uk>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2019-01-10 13:08:44 -05:00
Mark Asselstine
338707dfc7 openvswitch: uprev from 2.10.0 to 2.10.1
Pickup the latest security and bug fixes for openvswitch.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
2018-11-29 12:05:18 -05:00
Bruce Ashfield
3724664413 cni: update to latest plugins, and skip windows bridge build
Updating the cni plugins to match k8s and cri-o. We also filter out
the windows plugins, since they use a different build infrastructure
than the other variants .. and are not currently needed. This can
be revisted in the future as needed.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-11-02 21:21:27 -04:00
Mark Hatle
2672520983 openvswitch: Make openvswitch a machine_arch package
Openvswitch recipe depends on the kernel source, which is machine specific.
It can then use this machine specific resource to configure and build the
recipe.  This mix causes the hash values of this package to change based on
the machine, so this package must also be a machine_arch package.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-10-18 11:43:20 -04:00
Jason Wessel
09b67e49bf openvswitch: Turn off ssl integration by default
The openssl library is an optional component for the openvswitch.  The
problem with it enabled by default is that it will consume system
entropy to try to initialize the openssl library even though we are not
using it by default.  With the 4.16 kernel and up there is not always
enough entropy available at the early boot time which can cause a
lengthy stall, while waiting to initialize the openvswitch.

If ssl is needed, it can of course be turned on with the package
config option "ssl".

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-09-06 12:45:14 -04:00
Hongxu Jia
a352f4081b openvswitch: do not use 'exit 1' to postpone to first boot
Since `229f4e9 package.bbclass: add support for
pkg_postinst_ontarget()' applied in oe-core, use
pkg_postinst_ontarget to run postinst at first boot.

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-09-05 16:25:03 -04:00
Mark Asselstine
cdb64ac0d1 openvswitch: fixup the ovsdb-server.service
The service currently fails to run since the runtime directories
aren't being created. Create the runtime directories and fixup the
path to echo to get things working again.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-09-04 16:14:18 -04:00
Mark Asselstine
e47cd6f12e openvswitch: uprev to v2.10.0
The current version (v2.9.3) started to fail to build due to changes
in openssl. Upstream must have run into similar issues as this was
identified and addressed in v2.10.0 by including a copy of
'dhparams.c' instead of relying on it being generated. (see commit
"dhparams: Add pregenerated .c file to the repository.")

Additionally v2.10.0 is better aligned for our kernel and dpdk
versions:

kernel
===
 2.10.x       3.10 to 4.17

dpdk
===
 2.10.x       17.11.3

The changes in this commit allow for the building of v2.10.0. A second
commit will be necessary to deal with a few runtime changes which
prevent ovsdb-server from starting correctly.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-09-04 16:14:18 -04:00
Bruce Ashfield
1bcc2431a5 cni: update to the latest plugins
Updating the latest plugins.

We have to make some minor build adjustments, but otherwise, this is
a simple update.

We also drop the ptest build, since it is not used and is causing
build errors.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-07-04 12:07:09 -04:00
Mark Asselstine
d4c5cd1d93 openvswitch: remove unused patches
commit 1fd1ff3720 [openvswitch: uprev to v2.9.2] left a bunch of
unused patches in place. Remove unreferenced patches as they are no
longer needed.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-06-05 12:01:05 -04:00
Mark Asselstine
1fd1ff3720 openvswitch: uprev to v2.9.2
This brings us up to date with the latest upstream release. I suspect
there will be an upcoming release to add compatibility with DPDK
v18.05 (the DPDK release is due out any day now) but getting this
fairly large release bump out of the way first will facilitate any
upcoming uprev.

We are able to drop they python3 patches as they have been merged
upstream. Some scripts which needed to be updated to use python3
disappeared, new ones appeared so the 'use python3' patches are
updated accordingly. Beyond this the biggest change is related to the
systemd unit files, the ovsdb-server has been updated upstream to be
generated on the fly via the spec file, we mimic this in the
install_prepend. We also add the various configuration files which the
unit files source before launching the services.

As usual this was tested against out typical usecases including usage
in meta-overc. As well the ptests have been run and the results are no
better or worse.

   Previous version:
    ERROR: 2332 tests were run,
    21 failed unexpectedly.
    3 tests were skipped.

   New version:
    ERROR: 2527 tests were run,
    29 failed unexpectedly.
    3 tests were skipped.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-06-03 23:26:54 -04:00
Paul Barker
0aa5985622 netns: Update to v0.4.0
The netns project has been moved into the 'genuinetools' organisation and so
URLs have been updated. The copyright line in the license file has been updated
to reference "The Genuinetools Authors".

The patch name has been updated to make it more suitable for submission
upstream.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-05-09 10:49:25 -04:00
Yi Zhao
500e5d2ad5 openvswitch: refresh patches to fix QA warning
Refresh patches with devtool command to fix do_patch warning.
Drop CVE-2017-9263.patch since it had been fixed upstream.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-04-16 07:25:10 -04:00
Mark Asselstine
576a017721 openvswitch: drop no longer existing python3 dependencies
Several python3 packages have been removed as the functionality has
been moved into python3 core. As such we can no longer RDEPENDS on
these packages, nor is there a need to.

See similar commits in meta-openembedded:
df997e0747de - Remove deprecated python3-subprocess from the RDEPENDS
90b1f996af78 - Remove deprecated python3-argparse from the RDEPENDS
ef52e9980433 - Remove deprecated python3-lang from the RDEPENDS

This is fallout from openembedded core commit:
54ac820b8a63 - python3: Restructure python3 packaging and replace it
               with autopackaging

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
2018-01-30 17:11:32 -05:00
Mark Asselstine
b6614e8f58 openvswitch: uprev to 2.7.3 (latest 2.7.x stable)
Eventually we will have to move to OVS 2.8.x or 2.9.x to support the
version of DPDK in meta-dpdk but before we make a version jump(s)
let's uprev to the latest 2.7.x stable release.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-01-29 10:15:41 -05:00
Paul Barker
123cb0a008 netns: Use correct go cross-compiler
The makefile for netns needs to be patched to ensure that we use the binaries
from go-cross and not go-native.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-10-16 11:54:24 -04:00
Bruce Ashfield
4c0363bc9b cni: rprovide kubernetes-cni
Many distros make a 'kubernetes-cni' package available. This is no
more than a binary extracted set of 'cni' plugins. We already have
'cni' available in the build system, so we make sure it rprovides
kubernetes-cni to keep conflicts and confusion at a minimum.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-10-05 15:50:41 -04:00
Paul Barker
81944693a0 netns: Update to v0.2.1
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-10-05 10:44:04 -04:00
Bruce Ashfield
176715435e containers: CNI: introduce container networking interface
Introducing the CNI framework to allow platforms such as
kubernetes + cri-o to use thm for networking configuration.

The networking plugins are installed, but are not configured
by default to create any specific networking interfaces, which
are the responsibility of the image and distribution.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-10-02 09:15:58 -04:00
Jason Wessel
01a8d45370 nets, docker, runc, oci-*tools: go.bbclass compile fixes
Recently in the oe-core the go.bbclass changed and requires the
defition of the GO_IMPORT variable.  This was intended to simplify how
the compilation works with go packages and it is still a work in
progress.

This patch set makes the recipes compatible to generate the same end
result as before using the new go.bbclass from oe-core.

Any patches that were included in the recipes had to have the paths
adjusted because the new go.bbclass manipulates the notion of S to be
S + "src" + "$GO_IMPORT" internally for the purpose of unpack, patch
and compile.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-09-14 09:49:00 -04:00
Jason Wessel
62dbe8c300 openvswitch: Fix compile problems with i586-nlp
If you have in your $CC from the compiler template any kind of
directive which contains a comma character it is going to cause ovs to
not build due to the macro expansion in the Makefile:

CC = $(if $(C),env REAL_CC="'"$CC"'" CHECK="$(SPARSE) -I $(top_srcdir)/include/sparse $(SPARSEFLAGS) $(SPARSE_EXTRA_INCLUDES) " cgcc $(CGCCFLAGS),'"$CC"

Put more simply:

CC = $(if $(C), CONFIGURE_CC_DEFINITION, cgcc args CONFIGURE_CC_DEFINITION)

The CONFIGURE_CC_DEFINITION for the i585-nlp definition had
"-Wa,-momit-lock-prefix=yes".  The comma there caused a strings to
"break" in the wrong place in the $(if) macro and the build of recipe
will fail with the error shown below:

/bin/sh: -c: line 1: unexpected EOF while looking for matching `"'
/bin/sh: -c: line 3: syntax error: unexpected end of file

The solution is to transform the "-Wa," -> "-Xassembler ".

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-08-29 08:43:11 -04:00
Mark Asselstine
65fef58b02 openvswitch: force PYTHON to python3
Openvswitch has been created to search for and use both py2 and py3,
with a preference for py2. There is no configure option to force the
use of py3 only, and many of the scripts only use the value of PYTHON
and not PYTHON3 (again there is a general preference for py2). In
order to force this issue we set PYTHON to 'python3'. This isn't ideal
but allows for the desired outcome without us having to carry changes
against upstream OVS.

During our py3 work with OVS this change was identified but for some
reason was not included as part of the already merged changes.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-08-22 11:25:28 -04:00
Chen Qi
f06b48c2c8 openvswitch: add libcap-ng PACKAGECONFIG
Add PACKAGECONFIG for libcap-ng, and default to enable it.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-08-17 11:51:59 -04:00
Chen Qi
bca5037e5d openvswitch: fix dpdk PACKAGECONFIG
Add dpdk as a runtime dependency when 'dpdk' PACKAGECONFIG is enabled.

Also, introduce a variable DPDK_INSTALL_DIR, and default it to /opt/dpdk.
This is because users might install DPDK into different locations,
e.g. /usr. And it would easy for users to override this variable
to make openvswitch build with dpdk correctly.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-08-03 23:47:49 -04:00