Skip to content

Commit

Permalink
Merge pull request #1375 from justaugustus/fix-kubernetes-cni
Browse files Browse the repository at this point in the history
packages: Reintroduce kubernetes-cni package at v0.8.6
  • Loading branch information
k8s-ci-robot committed Jun 23, 2020
2 parents 3188cd6 + 2388a88 commit 5b86e68
Show file tree
Hide file tree
Showing 13 changed files with 125 additions and 12 deletions.
5 changes: 1 addition & 4 deletions packages/deb/bionic/kubelet/debian/control
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,6 @@ Vcs-Browser: https://github.com/kubernetes/kubernetes

Package: kubelet
Architecture: {{ .DebArch }}
Depends: iptables (>= 1.4.21), iproute2, socat, util-linux, mount, ebtables, ethtool, conntrack, ${misc:Depends}
Provides: kubernetes-cni
Conflicts: kubernetes-cni
Replaces: kubernetes-cni
Depends: iptables (>= 1.4.21), kubernetes-cni (>= {{ .CNIVersion }}), iproute2, socat, util-linux, mount, ebtables, ethtool, conntrack, ${misc:Depends}
Description: Kubernetes Node Agent
The node agent of Kubernetes, the container cluster manager
1 change: 0 additions & 1 deletion packages/deb/bionic/kubelet/debian/kubelet.install
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
usr/bin/kubelet usr/bin/
lib/systemd/system/kubelet.service lib/systemd/system/
bin/ opt/cni
4 changes: 0 additions & 4 deletions packages/deb/bionic/kubelet/debian/rules
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,6 @@ binary:
-o usr/bin/kubelet \
"{{ .DownloadLinkBase }}/bin/linux/{{ .Arch }}/kubelet"
chmod +x usr/bin/kubelet
mkdir -p ./bin
curl -sSL --fail --retry 5 \
"https://storage.googleapis.com/k8s-artifacts-cni/release/v{{ .CNIVersion }}/cni-plugins-linux-{{ .Arch }}-v{{ .CNIVersion }}.tgz" \
| tar -C ./bin -xz
dh_testroot
dh_auto_install
dh_shlibdeps
Expand Down
1 change: 1 addition & 0 deletions packages/deb/bionic/kubernetes-cni/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
bin/
6 changes: 6 additions & 0 deletions packages/deb/bionic/kubernetes-cni/debian/changelog
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
kubernetes-cni ({{ .Version }}-{{ .Revision }}) {{ .DistroName }} {{ .Arch }}; urgency=optional

* https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG.md

-- Kubernetes Authors <[email protected]> {{ date }}

1 change: 1 addition & 0 deletions packages/deb/bionic/kubernetes-cni/debian/compat
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
9
15 changes: 15 additions & 0 deletions packages/deb/bionic/kubernetes-cni/debian/control
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
Source: kubernetes-cni
Section: misc
Priority: optional
Maintainer: Kubernetes Authors <[email protected]>
Build-Depends: curl, ca-certificates, debhelper (>= 8.0.0)
Standards-Version: 3.9.4
Homepage: https://kubernetes.io
Vcs-Git: https://github.com/kubernetes/kubernetes.git
Vcs-Browser: https://github.com/kubernetes/kubernetes

Package: kubernetes-cni
Architecture: {{ .DebArch }}
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Kubernetes CNI
The binaries required to provision container networking
18 changes: 18 additions & 0 deletions packages/deb/bionic/kubernetes-cni/debian/copyright
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: kubernetes-cni
Source: https://github.com/kubernetes/kubernetes

Files: *
Copyright: 2016 The Linux Foundation and its contributors
License: Apache-2.0
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.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
bin/ opt/cni
24 changes: 24 additions & 0 deletions packages/deb/bionic/kubernetes-cni/debian/rules
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/usr/bin/make -f
# -*- makefile -*-

#export DH_VERBOSE=1

build:
echo noop

binary:
mkdir -p ./bin
curl -sSL --fail --retry 5 \
"https://storage.googleapis.com/k8s-artifacts-cni/release/v{{ .CNIVersion }}/cni-plugins-linux-{{ .Arch }}-v{{ .CNIVersion }}.tgz" \
| tar -C ./bin -xz
dh_testroot
dh_auto_install
dh_shlibdeps
dh_install
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb

%:
dh $@
38 changes: 38 additions & 0 deletions packages/deb/build.go
Original file line number Diff line number Diff line change
Expand Up @@ -306,9 +306,15 @@ func getReleaseDownloadLinkBase(v version) (string, error) {
}

func getKubeadmDependencies(v version) (string, error) {
cniVersion, err := getCNIVersion(v)
if err != nil {
return "", err
}

deps := []string{
"kubelet (>= 1.13.0)",
"kubectl (>= 1.13.0)",
fmt.Sprintf("kubernetes-cni (>= %s)", cniVersion),
"${misc:Depends}",
}
sv, err := semver.Make(v.Version)
Expand Down Expand Up @@ -446,6 +452,27 @@ func main() {
},
},
},
{
Package: "kubernetes-cni",
Distros: distros,
Versions: []version{
{
Version: currentCNIVersion,
Revision: revision,
Channel: ChannelStable,
},
{
Version: currentCNIVersion,
Revision: revision,
Channel: ChannelUnstable,
},
{
Version: currentCNIVersion,
Revision: revision,
Channel: ChannelNightly,
},
},
},
{
Package: "kubeadm",
Distros: distros,
Expand Down Expand Up @@ -522,6 +549,17 @@ func main() {
},
},
},
{
Package: "kubernetes-cni",
Distros: distros,
Versions: []version{
{
Version: currentCNIVersion,
Revision: revision,
Channel: ChannelStable,
},
},
},
{
Package: "kubeadm",
Distros: distros,
Expand Down
2 changes: 2 additions & 0 deletions packages/deb/build_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ func TestGetKubeadmDependencies(t *testing.T) {
deps: []string{
"kubelet (>= 1.13.0)",
"kubectl (>= 1.13.0)",
"kubernetes-cni (>= 0.8.6)",
"${misc:Depends}",
"cri-tools (>= 1.13.0)",
},
Expand All @@ -92,6 +93,7 @@ func TestGetKubeadmDependencies(t *testing.T) {
deps: []string{
"kubelet (>= 1.13.0)",
"kubectl (>= 1.13.0)",
"kubernetes-cni (>= 0.8.6)",
"${misc:Depends}",
"cri-tools (>= 1.13.0)",
},
Expand Down
21 changes: 18 additions & 3 deletions packages/rpm/kubelet.spec
Original file line number Diff line number Diff line change
Expand Up @@ -33,19 +33,28 @@ Source7: https://storage.googleapis.com/k8s-artifacts-cri-tools/release/v%{CRI_T
BuildRequires: systemd
BuildRequires: curl
Requires: iptables >= 1.4.21
Requires: kubernetes-cni >= %{CNI_VERSION}
Requires: socat
Requires: util-linux
Requires: ethtool
Requires: iproute
Requires: ebtables
Requires: conntrack
Obsoletes: kubernetes-cni
Conflicts: kubernetes-cni


%description
The node agent of Kubernetes, the container cluster manager.

%package -n kubernetes-cni

Version: %{CNI_VERSION}
Release: %{RPM_RELEASE}
Summary: Binaries required to provision kubernetes container networking
Requires: kubelet

%description -n kubernetes-cni
Binaries required to provision container networking.

%package -n kubectl

Version: %{KUBE_VERSION}
Expand All @@ -62,6 +71,7 @@ Release: %{RPM_RELEASE}
Summary: Command-line utility for administering a Kubernetes cluster.
Requires: kubelet >= 1.13.0
Requires: kubectl >= 1.13.0
Requires: kubernetes-cni >= 0.8.6
Requires: cri-tools >= 1.13.0

%description -n kubeadm
Expand Down Expand Up @@ -127,10 +137,12 @@ mv cni-plugins/* %{buildroot}/opt/cni/bin/
%{_bindir}/kubelet
%{_unitdir}/kubelet.service
%{_sysconfdir}/kubernetes/manifests/
/opt/cni

%config(noreplace) %{_sysconfdir}/sysconfig/kubelet

%files -n kubernetes-cni
/opt/cni

%files -n kubectl
%{_bindir}/kubectl

Expand All @@ -145,6 +157,9 @@ mv cni-plugins/* %{buildroot}/opt/cni/bin/


%changelog
* Mon Jun 22 2020 Stephen Augustus <[email protected]> - 1.18.4
- Unbundle CNI plugins (v0.8.6) from kubelet package and release as kubernetes-cni

* Fri May 29 2020 Stephen Augustus <[email protected]> - 1.18.4
- Source cri-tools from https://storage.googleapis.com/k8s-artifacts-cri-tools/release
instead of https://github.com/kubernetes-sigs/cri-tools
Expand Down

0 comments on commit 5b86e68

Please sign in to comment.