From d9ca4b8bcb86d78ea4180545784b3cd4e3fc6e9b Mon Sep 17 00:00:00 2001 From: Mohammad Issa Date: Mon, 27 Mar 2023 22:09:48 +0000 Subject: [PATCH] debian-pkg: Uprev cni plugins This commit uprevs the containernetworking-plugins to v1.2.0 and bond-cni v1.0 (with the latest commit changes) There was no upstream Debian package for the target version of containernetworking-plugins yet. Therefore, to create the package we build it from the source (tar.gz). Test Plan: - PASS: downloader - PASS: build pkgs - PASS: build image - PASS: the plugins are present at /var/opt/cni/bin/ - PASS: ensure installed packages are the correct version - PASS: plugins functionality test includes: - bandwidth, bonding, bridge, DHCP, hd, ipvlan, macvlan, portmap, ptp, sbr, tuning, vlan, and vrf. Story: 2010639 Task: 47614 Signed-off-by: Mohammad Issa Change-Id: Ida715a62fee0dc10d8097e7b5f994655b3268007 --- .../cni/bond-cni/debian/deb_folder/changelog | 9 +- kubernetes/cni/bond-cni/debian/meta_data.yaml | 10 +- .../cni/plugins/debian/deb_folder/changelog | 5 + .../cni/plugins/debian/deb_folder/control | 100 ++++++++++++++++++ .../cni/plugins/debian/deb_folder/copyright | 31 ++++++ ...ub-containernetworking-plugins-dev.install | 1 + .../cni/plugins/debian/deb_folder/rules | 12 +++ kubernetes/cni/plugins/debian/meta_data.yaml | 10 +- 8 files changed, 167 insertions(+), 11 deletions(-) create mode 100644 kubernetes/cni/plugins/debian/deb_folder/changelog create mode 100644 kubernetes/cni/plugins/debian/deb_folder/control create mode 100644 kubernetes/cni/plugins/debian/deb_folder/copyright create mode 100644 kubernetes/cni/plugins/debian/deb_folder/golang-github-containernetworking-plugins-dev.install create mode 100644 kubernetes/cni/plugins/debian/deb_folder/rules diff --git a/kubernetes/cni/bond-cni/debian/deb_folder/changelog b/kubernetes/cni/bond-cni/debian/deb_folder/changelog index 714a1d95f..845d8a3ac 100644 --- a/kubernetes/cni/bond-cni/debian/deb_folder/changelog +++ b/kubernetes/cni/bond-cni/debian/deb_folder/changelog @@ -1,8 +1,15 @@ +bond-cni (1.0-98008131ca7c6bfb3cdf0021846b58891375686f) unstable; urgency=medium + + * Updated using latest commit + + -- Mohammad Issa Wed, 15 Mar 2023 15:42:40 -0400 + + bond-cni (1.0-33bcd8f15d67c0923fe1fb03c09ee998f52103c9) unstable; urgency=medium * Updated using latest commit - -- Mohammad Issa Thu, 06 Oct 2022 14:39:45 -0400 + -- Mohammad Issa Thu, 06 Oct 2022 14:39:45 -0400 bond-cni (1.0-bff6422d7089d988dc1548e6abe0543601f6e1c7) unstable; urgency=medium diff --git a/kubernetes/cni/bond-cni/debian/meta_data.yaml b/kubernetes/cni/bond-cni/debian/meta_data.yaml index 2148b63cc..52f8a93fa 100644 --- a/kubernetes/cni/bond-cni/debian/meta_data.yaml +++ b/kubernetes/cni/bond-cni/debian/meta_data.yaml @@ -1,11 +1,11 @@ --- debname: bond-cni -debver: 1.0-33bcd8f15d67c0923fe1fb03c09ee998f52103c9 +debver: 1.0-98008131ca7c6bfb3cdf0021846b58891375686f dl_path: - name: bond-cni-1.0-33bcd8f15d67c0923fe1fb03c09ee998f52103c9.tar.gz - url: https://api.github.com/repos/k8snetworkplumbingwg/bond-cni/tarball/33bcd8f15d67c0923fe1fb03c09ee998f52103c9 - md5sum: 3aafaedebe9e06c40b7b8d5ba9f1bca2 - sha256sum: 551457ffca2df8a4faa3454207bd059546a111e8ad54fdb6dc7f07abca9a4d63 + name: bond-cni-1.0-98008131ca7c6bfb3cdf0021846b58891375686f.tar.gz + url: https://api.github.com/repos/k8snetworkplumbingwg/bond-cni/tarball/98008131ca7c6bfb3cdf0021846b58891375686f + md5sum: e7871b191403c14c13c3214a7869cf8b + sha256sum: 52fe58b936f23da63c678bc6ec6994f2971089834318905d84ddf4f28bd4f816 revision: dist: $STX_DIST PKG_GITREVCOUNT: true diff --git a/kubernetes/cni/plugins/debian/deb_folder/changelog b/kubernetes/cni/plugins/debian/deb_folder/changelog new file mode 100644 index 000000000..c185bf664 --- /dev/null +++ b/kubernetes/cni/plugins/debian/deb_folder/changelog @@ -0,0 +1,5 @@ +golang-github-containernetworking-plugins (1.2.0) unstable; urgency=medium + + * Updated for stx debian packaging + + -- Mohammad Issa Fri, 17 Mar 2023 14:44:40 -0400 diff --git a/kubernetes/cni/plugins/debian/deb_folder/control b/kubernetes/cni/plugins/debian/deb_folder/control new file mode 100644 index 000000000..7d134a7e2 --- /dev/null +++ b/kubernetes/cni/plugins/debian/deb_folder/control @@ -0,0 +1,100 @@ +Source: golang-github-containernetworking-plugins +Section: golang +Priority: optional +Standards-Version: 4.6.1 +Maintainer: StarlingX Developers +Build-Depends: debhelper-compat (= 13), + dh-golang, + golang-1.17, + golang-dbus-dev (>= 5.0.2~), + golang-github-alexflint-go-filemutex-dev, + golang-github-appc-cni-dev (>= 1.0.1~), + golang-github-coreos-go-iptables-dev (>= 0.4.5~), + golang-github-coreos-go-systemd-dev (>= 20~), + golang-github-d2g-dhcp4-dev, + golang-github-d2g-dhcp4client-dev (>= 1.0.0~), + golang-github-mattn-go-shellwords-dev, + golang-github-networkplumbing-go-nft-dev, + golang-github-onsi-ginkgo-dev, + golang-github-safchain-ethtool-dev, + golang-github-vishvananda-netlink-dev (>= 1.1.0.125~), + golang-golang-x-sys-dev, + golang-gomega-dev, +Homepage: https://www.starlingx.io +XS-Go-Import-Path: github.com/containernetworking/plugins +Rules-Requires-Root: no +Testsuite: autopkgtest-pkg-go + +Package: golang-github-containernetworking-plugins-dev +Architecture: all +Multi-Arch: foreign +Depends: golang-github-alexflint-go-filemutex-dev, + golang-github-appc-cni-dev (>= 1.0.1~), + golang-github-coreos-go-iptables-dev (>= 0.4.5~), + golang-github-safchain-ethtool-dev, + golang-github-vishvananda-netlink-dev (>= 1.1.0.125~), + golang-golang-x-sys-dev, + ${misc:Depends}, +Description: standard networking plugins - sources + This package contains sources of the Container Networking Initiative's + official plugins: + . + Interfaces + - bridge: Creates a bridge, adds the host and the container to it. + - ipvlan: Adds an [ipvlan] interface in the container. + - loopback: Set the state of loopback interface to up. + - macvlan: Creates a new MAC address, forwards all traffic + to that to the container. + - ptp: Creates a veth pair. + - vlan: Allocates a vlan device. + - host-device: Move an already-existing device into a container. + . + IPAM: IP Address Management + - dhcp: Runs a daemon to make DHCP requests on behalf of the container. + - host-local: Maintains a local database of allocated IPs + - static: Allocates a static IPv4/IPv6 address. + . + Other + - flannel: Generates an interface corresponding to a flannel config file + - tuning: Tweaks sysctl parameters of an existing interface + - portmap: An iptables-based portmapping plugin. + Maps ports from the host's address space to the container. + - bandwidth: Allows bandwidth-limiting through use of traffic control tbf. + - sbr: Configures source based routing for an interface. + - firewall: Uses iptables or firewalld to add rules to allow traffic + to/from the container. + +Package: containernetworking-plugins +Architecture: any +Provides: container-network-stack (= 1), +Built-Using: ${misc:Built-Using}, +Depends: iptables, + ${misc:Depends}, + ${shlibs:Depends}, +Description: standard networking plugins - binaries + This package contains binaries of the Container Networking Initiative's + official plugins: + . + Interfaces + - bridge: Creates a bridge, adds the host and the container to it. + - ipvlan: Adds an ipvlan interface in the container. + - loopback: Set the state of loopback interface to up. + - macvlan: Creates a new MAC address, forwards all traffic + to that to the container. + - ptp: Creates a veth pair. + - vlan: Allocates a vlan device. + - host-device: Move an already-existing device into a container. + . + IPAM: IP Address Management + - dhcp: Runs a daemon to make DHCP requests on behalf of the container. + - host-local: Maintains a local database of allocated IPs + - static: Allocates a static IPv4/IPv6 address. + . + Other + - tuning: Tweaks sysctl parameters of an existing interface + - portmap: An iptables-based portmapping plugin. + Maps ports from the host's address space to the container. + - bandwidth: Allows bandwidth-limiting through use of traffic control tbf. + - sbr: Configures source based routing for an interface. + - firewall: Uses iptables or firewalld to add rules to allow traffic + to/from the container. diff --git a/kubernetes/cni/plugins/debian/deb_folder/copyright b/kubernetes/cni/plugins/debian/deb_folder/copyright new file mode 100644 index 000000000..ec6890aa2 --- /dev/null +++ b/kubernetes/cni/plugins/debian/deb_folder/copyright @@ -0,0 +1,31 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ + +Upstream-Name: plugins +Upstream-Contact: https://github.com/containernetworking/ +Source: https://github.com/containernetworking/plugins +Files: * +Copyright: (C) 2017-2023 https://github.com/containernetworking/plugins +License: Apache-2 + +Upstream-Name: plugins +Upstream-Contact: StarlingX Developers +Source: https://opendev.org/starlingx/integ/src/branch/master/kubernetes/cni/plugins +Files: debian/* +Copyright: (c) 2023 Wind River Systems, Inc. +License: Apache-2 + +License: Apache-2 + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + . + http://www.apache.org/licenses/LICENSE-2.0 + . + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + . + On Debian-based systems the full text of the Apache version 2.0 license + can be found in `/usr/share/common-licenses/Apache-2.0'. diff --git a/kubernetes/cni/plugins/debian/deb_folder/golang-github-containernetworking-plugins-dev.install b/kubernetes/cni/plugins/debian/deb_folder/golang-github-containernetworking-plugins-dev.install new file mode 100644 index 000000000..a3da66ddd --- /dev/null +++ b/kubernetes/cni/plugins/debian/deb_folder/golang-github-containernetworking-plugins-dev.install @@ -0,0 +1 @@ +usr/share/gocode diff --git a/kubernetes/cni/plugins/debian/deb_folder/rules b/kubernetes/cni/plugins/debian/deb_folder/rules new file mode 100644 index 000000000..3cb7f2c57 --- /dev/null +++ b/kubernetes/cni/plugins/debian/deb_folder/rules @@ -0,0 +1,12 @@ +#!/usr/bin/make -f + +export PATH := /usr/lib/go-1.17/bin:$(PATH) +export DH_VERBOSE := 1 +export DH_GOLANG_GO_GENERATE := 1 +export INSTALL_DIR := $(CURDIR)/debian/plugins + +%: + dh $@ --buildsystem=golang --with=golang --builddirectory=_build + +override_dh_install: + dh_install --sourcedir=$(INSTALL_DIR) diff --git a/kubernetes/cni/plugins/debian/meta_data.yaml b/kubernetes/cni/plugins/debian/meta_data.yaml index 5e27e562d..39e06ee3b 100644 --- a/kubernetes/cni/plugins/debian/meta_data.yaml +++ b/kubernetes/cni/plugins/debian/meta_data.yaml @@ -1,11 +1,11 @@ --- debname: golang-github-containernetworking-plugins -debver: 1.1.1+ds1-1 +debver: 1.2.0 dl_path: - name: golang-github-containernetworking-plugins-debian-1.1.1+ds1-1.tar.gz - url: https://salsa.debian.org/go-team/packages/golang-github-containernetworking-plugins/-/archive/debian/1.1.1+ds1-1/golang-github-containernetworking-plugins-debian-1.1.1+ds1-1.tar.gz # yamllint disable-line rule:line-length - md5sum: 64cae07a4337f3eae6cc1e1a13ce1af7 - sha256sum: cb08260f6b1136de00d62724911d427870ab2473d030e0909f963a36891fd98d + name: v1.2.0.tar.gz + url: https://github.com/containernetworking/plugins/archive/refs/tags/v1.2.0.tar.gz + md5sum: 4f12d3da5933f5a4aa92c3f474016fbe + sha256sum: f3496ddda9c7770a0b695b67ae7ee80a4ee331ac2745af4830054b81627f79b7 revision: dist: $STX_DIST PKG_GITREVCOUNT: true