Hello community, here is the log from the commit of package kubernetes for openSUSE:Factory checked in at 2019-07-26 12:36:43 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kubernetes (Old) and /work/SRC/openSUSE:Factory/.kubernetes.new.4126 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kubernetes" Fri Jul 26 12:36:43 2019 rev:44 rq:716634 version:1.15.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kubernetes/kubernetes.changes 2019-07-15 22:43:35.059908439 +0200 +++ /work/SRC/openSUSE:Factory/.kubernetes.new.4126/kubernetes.changes 2019-07-26 12:36:45.630048413 +0200 @@ -1,0 +2,8 @@ +Wed Jul 17 08:03:12 CEST 2019 - [email protected] + +- Don't create rckubeadm symlink, we don't have a kubeadm service +- kubeadm does not need kubernetes-common +- Don't build hyperkube binary on openSUSE, we need single binaries + for the containerized control plane. + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kubernetes.spec ++++++ --- /var/tmp/diff_new_pack.t4PMNX/_old 2019-07-26 12:36:47.550047035 +0200 +++ /var/tmp/diff_new_pack.t4PMNX/_new 2019-07-26 12:36:47.554047032 +0200 @@ -67,6 +67,9 @@ It groups containers that make up an application into logical units for management and discovery. +%if !0%{?is_opensuse} +# package layout for CaaSP + %package common Summary: Kubernetes common files Group: System/Management @@ -77,10 +80,14 @@ This subpackage contains the Kubernetes common files. +%endif + %package master Summary: Kubernetes services for master host Group: System/Management +%if !0%{?is_opensuse} Requires: kubernetes-common = %{version}-%{release} +%endif Requires(pre): shadow # if the master is installed with node, version and release must be the same Conflicts: kubernetes-node < %{version}-%{release} @@ -96,11 +103,58 @@ This subpackage contains the Kubernetes services for master hosts. + +%if 0%{?is_opensuse} +# packages to build containerized control plane + +%package apiserver +Summary: Kubernetes apiserver for container image +Group: System/Management +Conflicts: kubernetes-common +Conflicts: kubernetes-master + +%description apiserver +This subpackage contains the kube-apiserver binary for Kubic images + +%package controller-manager +Summary: Kubernetes controller-manager for container image +Group: System/Management +Conflicts: kubernetes-common +Conflicts: kubernetes-master + +%description controller-manager +This subpackage contains the kube-controller-manager binary for Kubic images + +%package scheduler +Summary: Kubernetes scheduler for container image +Group: System/Management +Conflicts: kubernetes-common +Conflicts: kubernetes-master + +%description scheduler +This subpackage contains the kube-scheduler binary for Kubic images + +%package proxy +Summary: Kubernetes proxy for container image +Group: System/Management +Requires: conntrack-tools +Requires: ebtables +Requires: ipset +Requires: iptables +Conflicts: kubernetes-node + +%description proxy +This subpackage contains the kube-proxy binary for Kubic images + +%endif + %package kubelet Summary: Kubernetes kubelet daemon Group: System/Management Requires: cri-runtime +%if !0%{?is_opensuse} Requires: kubernetes-common = %{version}-%{release} +%endif Requires(pre): shadow # if master is installed with node, version and release must be the same Conflicts: kubernetes-master < %{version}-%{release} @@ -119,7 +173,6 @@ Requires: cri-tools >= 1.14.0 Requires: ebtables Requires: ethtool -Requires: kubernetes-common = %{version}-%{release} Requires: kubernetes-kubeadm-criconfig Requires: kubernetes-kubelet = %{version}-%{release} Requires: socat @@ -140,7 +193,9 @@ Requires: cri-runtime Requires: ethtool Requires: iptables +%if !0%{?is_opensuse} Requires: kubernetes-common = %{version}-%{release} +%endif Requires: kubernetes-kubelet = %{version}-%{release} Requires: socat Requires(pre): shadow @@ -158,8 +213,12 @@ %package client Summary: Kubernetes client tools Group: System/Management +%if 0%{?is_opensuse} +Recommends: bash-completion +%else Requires: bash-completion Requires: kubernetes-common = %{version}-%{release} +%endif %description client Kubernetes client tools like kubectl. @@ -193,7 +252,11 @@ %ifarch ppc64le export GOLDFLAGS='-linkmode=external' %endif +%if 0%{?is_opensuse} +make %{?_smp_mflags} WHAT="cmd/kube-apiserver cmd/kube-controller-manager cmd/kube-scheduler cmd/kube-proxy cmd/kubelet cmd/kubectl cmd/kubeadm test/e2e/e2e.test" +%else make %{?_smp_mflags} WHAT="cmd/hyperkube cmd/kubeadm test/e2e/e2e.test" +%endif make %{?_smp_mflags} ginkgo # The majority of the documentation has already been moved into @@ -220,17 +283,25 @@ install -m 755 -d %{buildroot}%{_bindir} -echo "+++ INSTALLING hyperkube" -install -p -m 755 -t %{buildroot}%{_bindir} ${output_path}/hyperkube - echo "+++ INSTALLING kubeadm" install -p -m 755 -t %{buildroot}%{_bindir} ${output_path}/kubeadm binaries=(kube-apiserver kube-controller-manager kube-scheduler kube-proxy kubelet kubectl) +%if 0%{?is_opensuse} +for bin in "${binaries[@]}"; do + echo "+++ INSTALLING ${bin}" + install -p -m 755 -t %{buildroot}%{_bindir} ${output_path}/${bin} +done + +%else +echo "+++ INSTALLING hyperkube" +install -p -m 755 -t %{buildroot}%{_bindir} ${output_path}/hyperkube + for bin in "${binaries[@]}"; do echo "+++ HARDLINKING ${bin} to hyperkube" ln %{buildroot}%{_bindir}/hyperkube %{buildroot}%{_bindir}/${bin} done +%endif # install the bash completion install -d -m 0755 %{buildroot}%{_datadir}/bash-completion/completions/ @@ -261,7 +332,7 @@ # make symlinks to rc files install -d -m 0755 %{buildroot}%{_sbindir} -for rc in kube-proxy kubelet kube-apiserver kube-controller-manager kube-scheduler kubeadm ; do +for rc in kube-proxy kubelet kube-apiserver kube-controller-manager kube-scheduler ; do ln -sf service "%{buildroot}%{_sbindir}/rc$rc" done @@ -356,8 +427,10 @@ %postun node %service_del_postun kube-proxy.service +%if !0%{?is_opensuse} %files common %{_bindir}/hyperkube +%endif %files master %doc README.md CONTRIBUTING.md @@ -376,10 +449,32 @@ %{_sbindir}/rckube-controller-manager %{_sbindir}/rckube-scheduler %attr(0750,root,root) %dir %ghost %{_rundir}/%{name} - %dir %{_sysconfdir}/%{name} %{_tmpfilesdir}/kubernetes.conf + +%if 0%{?is_opensuse} +# openSUSE is using kubeadm with containerizied control plane, we +# only need the binaries + +%files apiserver +%license LICENSE +%{_bindir}/kube-apiserver + +%files controller-manager +%license LICENSE +%{_bindir}/kube-controller-manager + +%files scheduler +%license LICENSE +%{_bindir}/kube-scheduler + +%files proxy +%license LICENSE +%{_bindir}/kube-proxy + +%endif + %files kubelet %doc README.md CONTRIBUTING.md CHANGELOG-%{baseversion}.md %license LICENSE @@ -404,7 +499,6 @@ %{_sysctldir}/50-kubeadm.conf %license LICENSE %{_bindir}/kubeadm -%{_sbindir}/rckubeadm %{_mandir}/man1/kubeadm* %files node
