Hello community, here is the log from the commit of package kubernetes for openSUSE:Leap:15.2 checked in at 2020-03-19 11:07:53 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Leap:15.2/kubernetes (Old) and /work/SRC/openSUSE:Leap:15.2/.kubernetes.new.3160 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kubernetes" Thu Mar 19 11:07:53 2020 rev:2 rq:785507 version:1.17.4 Changes: -------- --- /work/SRC/openSUSE:Leap:15.2/kubernetes/kubectl.changes 2020-02-21 10:48:48.950856038 +0100 +++ /work/SRC/openSUSE:Leap:15.2/.kubernetes.new.3160/kubectl.changes 2020-03-19 11:07:54.292035753 +0100 @@ -1,0 +2,60 @@ +Fri Mar 13 10:27:10 UTC 2020 - [email protected] + +- Update to version 1.17.4: + * Removing kubectl get output e2e test + * Adding a temporary fix for kubectl get output e2e test + * /readyz should start returning failure on shutdown initiation + * test: don't use hardcoded pod count for memory limit test + * Fixed in the GCE/PD in-tree volume logic to expose the max number of persistent-disks for each instance type correctly. + * Honor status.podIP over status.podIPs, node.spec.podCIDR over node.spec.podCIDRs + * fix: corrupted mount point in csi driver + * fix: azure file mount timeout issue + * fix behaviour of aws-load-balancer-security-groups annotation + * fix: add remediation in azure disk attach/detach + * Update to [email protected] + * build: Enable kube-cross push/pull from K8s Infra GCR + * build: Add justaugustus as reviewer + * build: Add OWNERS on build-image/ + * fix get-kube authorization headers + * update golang.org/x/crypto + * kube-proxy filter Load Balancer Status ingress + * kube-proxy unit test FilterIncorrectIPVersion + * add delays between goroutines for vm instance update + * Updated test cos image to include runc-1.0.0-rc10 + * Fix gce-cos-master-reboot test + * Fix route conflicted operations when updating multiple routes together + * fix: get azure disk lun timeout issue + * Set up connection onClose prior to adding to connection map + * fix: add azure disk migration support for CSINode + * Add annotation annealing for migration for PVs and PVCs during syncVolume and syncClaim. This allows external-provisioners to pick up and delete volumes when they have been rolled up from previous kubernetes versions. + * Update CHANGELOG/CHANGELOG-1.17.md for v1.17.3 + * Limit number of instances in single update to GCE target pool + * Enable selinux tags in make targets + +------------------------------------------------------------------- +Thu Mar 12 17:26:28 UTC 2020 - [email protected] + +- Update to version 1.17.3: + * Add code to fix kubelet/metrics memory issue. + * Remove Error log for nil StartTime + * CHANGELOG: Move changelogs into a subdir to delegate releng approvals + * Fix pending_pods, schedule_attempts_total was not recorded + * Fixing Potential Race Condition in EndpointSlice Controller. + * Restore statefulset conversion that populates apiVersion/kind in volume templates + * Use standard default storage media type in local-up-cluster + * changelog: clarify 1.17 upgrade requirements + * Fix back off when scheduling cycle is delayed + * blank out value for unbounded client label + * update gopkg.in/yaml.v2 to v2.2.8 + * set nil cache entry based on old cache + * Revert "It fixes a bug where AAD token obtained by kubectl is incompatible with on-behalf-of flow and oidc." + * Fix issue with GCE scripts assuming Python2. + * Add/Update CHANGELOG-1.17.md for v1.17.2. + * Update to [email protected] + * Fix the bug PIP's DNS is deleted if no DNS label service annotation is set. + * kubenet: replace gateway with cni result + * Fixes unnecessary creation of default SG and trying to delete non-provisioned SG by k8s system when annotation [service.beta.kubernetes.io/aws-load-balancer-security-groups] is present + * Ensure a provider ID is set on a node if expected + * Bind metrics-server containers to linux nodes to avoid Windows scheduling on kubernetes cluster includes linux nodes and windows nodes + +------------------------------------------------------------------- --- /work/SRC/openSUSE:Leap:15.2/kubernetes/kubernetes.changes 2020-02-21 10:48:49.710857590 +0100 +++ /work/SRC/openSUSE:Leap:15.2/.kubernetes.new.3160/kubernetes.changes 2020-03-19 11:07:54.716035997 +0100 @@ -1,0 +2,63 @@ +Fri Mar 13 10:27:10 UTC 2020 - [email protected] + +- Update to version 1.17.4: + * Removing kubectl get output e2e test + * Adding a temporary fix for kubectl get output e2e test + * /readyz should start returning failure on shutdown initiation + * test: don't use hardcoded pod count for memory limit test + * Fixed in the GCE/PD in-tree volume logic to expose the max number of persistent-disks for each instance type correctly. + * Honor status.podIP over status.podIPs, node.spec.podCIDR over node.spec.podCIDRs + * fix: corrupted mount point in csi driver + * fix: azure file mount timeout issue + * fix behaviour of aws-load-balancer-security-groups annotation + * fix: add remediation in azure disk attach/detach + * Update to [email protected] + * build: Enable kube-cross push/pull from K8s Infra GCR + * build: Add justaugustus as reviewer + * build: Add OWNERS on build-image/ + * fix get-kube authorization headers + * update golang.org/x/crypto + * kube-proxy filter Load Balancer Status ingress + * kube-proxy unit test FilterIncorrectIPVersion + * add delays between goroutines for vm instance update + * Updated test cos image to include runc-1.0.0-rc10 + * Fix gce-cos-master-reboot test + * Fix route conflicted operations when updating multiple routes together + * fix: get azure disk lun timeout issue + * Set up connection onClose prior to adding to connection map + * fix: add azure disk migration support for CSINode + * Add annotation annealing for migration for PVs and PVCs during syncVolume and syncClaim. This allows external-provisioners to pick up and delete volumes when they have been rolled up from previous kubernetes versions. + * Update CHANGELOG/CHANGELOG-1.17.md for v1.17.3 + * Limit number of instances in single update to GCE target pool + * Enable selinux tags in make targets + +------------------------------------------------------------------- +Thu Mar 12 17:26:28 UTC 2020 - [email protected] + +- Introduce new packaging structure for smoother rolling upgrades [boo#1161289] +- kubelet.sh replaces /usr/bin/kubelet for selecting correct version of kubelet +- sysconfig.kubelet-kubernetes adds new KUBELET_VER sysconfig variable for defining new version of kubelet +- Update to version 1.17.3: + * Add code to fix kubelet/metrics memory issue. + * Remove Error log for nil StartTime + * CHANGELOG: Move changelogs into a subdir to delegate releng approvals + * Fix pending_pods, schedule_attempts_total was not recorded + * Fixing Potential Race Condition in EndpointSlice Controller. + * Restore statefulset conversion that populates apiVersion/kind in volume templates + * Use standard default storage media type in local-up-cluster + * changelog: clarify 1.17 upgrade requirements + * Fix back off when scheduling cycle is delayed + * blank out value for unbounded client label + * update gopkg.in/yaml.v2 to v2.2.8 + * set nil cache entry based on old cache + * Revert "It fixes a bug where AAD token obtained by kubectl is incompatible with on-behalf-of flow and oidc." + * Fix issue with GCE scripts assuming Python2. + * Add/Update CHANGELOG-1.17.md for v1.17.2. + * Update to [email protected] + * Fix the bug PIP's DNS is deleted if no DNS label service annotation is set. + * kubenet: replace gateway with cni result + * Fixes unnecessary creation of default SG and trying to delete non-provisioned SG by k8s system when annotation [service.beta.kubernetes.io/aws-load-balancer-security-groups] is present + * Ensure a provider ID is set on a node if expected + * Bind metrics-server containers to linux nodes to avoid Windows scheduling on kubernetes cluster includes linux nodes and windows nodes + +------------------------------------------------------------------- Old: ---- kubernetes-1.17.2.tar.xz New: ---- kubelet.sh kubernetes-1.17.4.tar.xz sysconfig.kubelet-kubernetes ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kubectl.spec ++++++ --- /var/tmp/diff_new_pack.g96SbY/_old 2020-03-19 11:07:57.040037333 +0100 +++ /var/tmp/diff_new_pack.g96SbY/_new 2020-03-19 11:07:57.080037355 +0100 @@ -20,7 +20,7 @@ # baseversion - version of kubernetes for this package %define baseversion 1.17 Name: kubectl -Version: %{baseversion}.2 +Version: 1.17.4 Release: 0 Summary: Kubectl (Kubernetes client tools) License: Apache-2.0 ++++++ kubernetes.spec ++++++ --- /var/tmp/diff_new_pack.g96SbY/_old 2020-03-19 11:07:57.104037369 +0100 +++ /var/tmp/diff_new_pack.g96SbY/_new 2020-03-19 11:07:57.112037374 +0100 @@ -17,19 +17,36 @@ %{!?tmpfiles_create:%global tmpfiles_create systemd-tmpfiles --create} -# baseversion - version of kubernetes for this package -%define baseversion 1.17 +# CaaSP uses a package named kubelet, openSUSE has a kubelet-common for multi-version support +%if !0%{?is_opensuse} +%define kubeletpkgname kubelet +%else +%define kubeletpkgname kubelet-common +%endif + # maxcriversion - version of cri-tools which is notsupported by this version of kubeadm. %define maxcriversion 1.18 +# baseversion - version of kubernetes for this package +%define baseversion 1.17 +# prebaseversion - release of kubernetes for the previous supported kubelet version +## DISABLED - To be re-enabled for 1.18 expected in April 2020 +##%define prebaseversion 1.16 +# preversion - version of kubernetes for the previous supported kubelet version +## DISABLED - To be re-enabled for 1.18 expected in April 2020 +##%define preversion %{prebaseversion}.3 + Name: kubernetes -Version: %{baseversion}.2 +Version: 1.17.4 Release: 0 Summary: Container Scheduling and Management License: Apache-2.0 Group: System/Management URL: http://kubernetes.io Source: %{name}-%{version}.tar.xz +## DISABLED - To be re-enabled for 1.18 expected in April 2020 +##Source1: %{name}-%{preversion}.tar.xz Source2: genmanpages.sh +Source3: kubelet.sh #systemd services Source10: kube-apiserver.service Source11: kube-controller-manager.service @@ -37,6 +54,7 @@ Source13: kube-proxy.service Source14: kube-scheduler.service #config files +Source22: sysconfig.kubelet-kubernetes Source23: kubeadm.conf Source24: 50-kubeadm.conf Source25: 10-kubeadm.conf @@ -62,8 +80,11 @@ BuildRequires: rsync BuildRequires: systemd-rpm-macros ExcludeArch: %{ix86} s390 ppc64 +# openSUSE uses a few golang-packaging macros as possible +%if !0%{?is_opensuse} %{go_nostrip} %{go_provides} +%endif %description Kubernetes is a system for automating deployment, scaling, and @@ -151,21 +172,52 @@ %description proxy This subpackage contains the kube-proxy binary for Kubic images +%package kubelet%{baseversion} +Summary: Kubernetes kubelet daemon +Group: System/Management +Requires: cri-runtime +Requires: kubernetes-kubelet-common +Provides: kubernetes-kubelet = %{version}-%{release} +# if master is installed with node, version and release must be the same +Conflicts: kubernetes-master < %{version}-%{release} +Conflicts: kubernetes-master > %{version}-%{release} +%{?systemd_requires} + +%description kubelet%{baseversion} +Manage a cluster of Linux containers as a single system to accelerate Dev and simplify Ops. +kubelet daemon (current version) + +## DISABLED - To be re-enabled for 1.18 expected in April 2020 +##%package kubelet%{prebaseversion} +##Summary: Kubernetes kubelet daemon +##Group: System/Management +##Requires: cri-runtime +##Requires: kubernetes-kubelet-common +##Provides: kubernetes-kubelet = %{preversion} +##%{?systemd_requires} +## +##%description kubelet%{prebaseversion} +##Manage a cluster of Linux containers as a single system to accelerate Dev and simplify Ops. +##kubelet daemon (previous version for upgrades) + %endif -%package kubelet +%package %{kubeletpkgname} Summary: Kubernetes kubelet daemon Group: System/Management Requires: cri-runtime +%if 0%{?is_opensuse} +Requires: kubernetes-kubelet +%endif %if !0%{?is_opensuse} Requires: kubernetes-common = %{version}-%{release} -%endif # if master is installed with node, version and release must be the same Conflicts: kubernetes-master < %{version}-%{release} Conflicts: kubernetes-master > %{version}-%{release} %{?systemd_requires} +%endif -%description kubelet +%description %{kubeletpkgname} Manage a cluster of Linux containers as a single system to accelerate Dev and simplify Ops. kubelet daemon @@ -178,13 +230,22 @@ Requires: ebtables Requires: ethtool Requires: kubernetes-kubeadm-criconfig +Requires: socat +Requires(pre): shadow +%if !0%{?is_opensuse} +# CaaSP style of upgrade handling # Kubeadm 1.15.2 requires kubernetes-kubelet from 1.14.0 to 1.15.2 # kubeadm accepts the previous version. This is important for performing upgrades # because we can update kubeadm first, and then kubelet. Requires: kubernetes-kubelet >= 1.14.0 -Requires: socat -Requires(pre): shadow Conflicts: kubernetes-kubelet > %{version}-%{release} +%else +# openSUSE style of upgrade handling +# Kubeadm requires current kubelet version and previous +Requires: kubernetes-kubelet = %{version}-%release +## DISABLED - To be re-enabled for 1.18 expected in April 2020 +##Requires: kubernetes-kubelet = %{preversion} +%endif Conflicts: cri-tools >= %{maxcriversion} # if master is installed with node, version and release must be the same Conflicts: kubernetes-master < %{version}-%{release} @@ -244,13 +305,19 @@ providers, demos, testsuite... %prep +## DISABLED - To be re-enabled for 1.18 expected in April 2020 +##%if 0%{?is_opensuse} +##%setup -q -T -D -b 1 -n %{name}-%{preversion} +##%endif %setup -q %if 0%{?is_opensuse} %patch2 -p0 %patch3 -p1 %patch4 -p0 %endif +%if !0%{?is_opensuse} %{goprep} github.com/kubernetes/kubernetes +%endif %build # This is fixing bug bsc#1065972 @@ -285,6 +352,16 @@ bash genmanpages.sh popd +# Make previous version of kubelet for migration aiding +## DISABLED - To be re-enabled for 1.18 expected in April 2020 +##%if 0%{?is_opensuse} +##echo "+++ BUILDING Previous kubelet version" +##export KUBE_GIT_VERSION=v%{preversion} +##pushd %{_builddir}/%{name}-%{preversion} +##make %{?_smp_mflags} WHAT="cmd/kubelet" +##popd +##%endif + %install %ifarch ppc64le aarch64 @@ -305,6 +382,22 @@ install -p -m 755 -t %{buildroot}%{_bindir} ${output_path}/${bin} done +echo "+++ RENAMING kubelet to kubelet%{baseversion}" +mv %{buildroot}%{_bindir}/kubelet %{buildroot}%{_bindir}/kubelet%{baseversion} + +echo "+++ INSTALLING kubelet multi-version loader" +install -p -m 755 %{SOURCE3} %{buildroot}%{_bindir}/kubelet + +## DISABLED - To be re-enabled for 1.18 expected in April 2020 +##echo "+++ INSTALLING kubelet%{prebaseversion}" +##mv %{_builddir}/%{name}-%{preversion}/${output_path}/kubelet %{_builddir}/%{name}-%{preversion}/${output_path}/kubelet%{prebaseversion} +##install -p -m 755 -t %{buildroot}%{_bindir} %{_builddir}/%{name}-%{preversion}/${output_path}/kubelet%{prebaseversion} + +# create sysconfig.kubelet-kubernetes in fullupdir +sed -i -e 's|BASE_VERSION|%{baseversion}|g' %{SOURCE22} +install -D -m 0644 %{SOURCE22} %{buildroot}%{_fillupdir}/sysconfig.kubelet-kubernetes + + %else echo "+++ INSTALLING hyperkube" install -p -m 755 -t %{buildroot}%{_bindir} ${output_path}/hyperkube @@ -319,6 +412,9 @@ install -d -m 0755 %{buildroot}%{_datadir}/bash-completion/completions/ %{buildroot}%{_bindir}/kubectl completion bash > %{buildroot}%{_datadir}/bash-completion/completions/kubectl +# move CHANGELOG-%{baseversion}.md to old location +mv CHANGELOG/CHANGELOG-%{baseversion}.md . + # cleanup before copying dirs... rm -f hack/.linted_packages find . -name '.gitignore' -type f -delete @@ -406,10 +502,13 @@ %postun master %service_del_postun kube-apiserver.service kube-controller-manager.service kube-scheduler.service -%pre kubelet +%pre %{kubeletpkgname} %service_add_pre kubelet.service -%post kubelet +%post %{kubeletpkgname} +%if 0%{?is_opensuse} +%fillup_only -an kubelet +%endif %service_add_post kubelet.service %if 0%{?suse_version} < 1500 # create some subvolumes needed by CNI @@ -421,10 +520,10 @@ %endif %tmpfiles_create %{_tmpfilesdir}/kubelet.conf -%preun kubelet +%preun %{kubeletpkgname} %service_del_preun kubelet.service -%postun kubelet +%postun %{kubeletpkgname} %service_del_postun kubelet.service %pre node @@ -463,8 +562,24 @@ %dir %{_sysconfdir}/%{name} %{_tmpfilesdir}/kubernetes.conf - +%files %{kubeletpkgname} +%doc README.md CONTRIBUTING.md CHANGELOG-%{baseversion}.md +%license LICENSE +%{_mandir}/man1/kubelet.1%{?ext_man} +%{_bindir}/kubelet +%{_unitdir}/kubelet.service +%dir %{_unitdir}/kubelet.service.d +%{_sbindir}/rckubelet +%dir %{_localstatedir}/lib/kubelet +%dir %{_sysconfdir}/%{name} +%dir %{_sysconfdir}/%{name}/manifests +%{_tmpfilesdir}/kubelet.conf +%attr(0750,root,root) %dir %ghost %{_rundir}/%{name} +%dir %{volume_plugin_dir} %if 0%{?is_opensuse} +# only openSUSE uses sysconfig.kubelet-kubernetes +%{_fillupdir}/sysconfig.kubelet-kubernetes + # openSUSE is using kubeadm with containerizied control plane, we # only need the binaries @@ -484,22 +599,16 @@ %license LICENSE %{_bindir}/kube-proxy -%endif - -%files kubelet -%doc README.md CONTRIBUTING.md CHANGELOG-%{baseversion}.md +%files kubelet%{baseversion} %license LICENSE -%{_mandir}/man1/kubelet.1%{?ext_man} -%{_bindir}/kubelet -%{_unitdir}/kubelet.service -%dir %{_unitdir}/kubelet.service.d -%{_sbindir}/rckubelet -%dir %{_localstatedir}/lib/kubelet -%dir %{_sysconfdir}/%{name} -%dir %{_sysconfdir}/%{name}/manifests -%{_tmpfilesdir}/kubelet.conf -%attr(0750,root,root) %dir %ghost %{_rundir}/%{name} -%dir %{volume_plugin_dir} +%{_bindir}/kubelet%{baseversion} + +## DISABLED - To be re-enabled for 1.18 expected in April 2020 +##%files kubelet%{prebaseversion} +##%license LICENSE +##%{_bindir}/kubelet%{baseversion} + +%endif %files kubeadm %doc README.md CONTRIBUTING.md CHANGELOG-%{baseversion}.md ++++++ _service ++++++ --- /var/tmp/diff_new_pack.g96SbY/_old 2020-03-19 11:07:57.172037408 +0100 +++ /var/tmp/diff_new_pack.g96SbY/_new 2020-03-19 11:07:57.172037408 +0100 @@ -3,8 +3,8 @@ <param name="url">https://github.com/kubernetes/kubernetes.git</param> <param name="scm">git</param> <param name="exclude">.git</param> - <param name="versionformat">1.17.2</param> - <param name="revision">v1.17.2</param> + <param name="versionformat">1.17.4</param> + <param name="revision">v1.17.4</param> <param name="changesgenerate">enable</param> </service> <service name="tar" mode="disabled"/> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.g96SbY/_old 2020-03-19 11:07:57.188037417 +0100 +++ /var/tmp/diff_new_pack.g96SbY/_new 2020-03-19 11:07:57.188037417 +0100 @@ -1,4 +1,4 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/kubernetes/kubernetes.git</param> - <param name="changesrevision">5adec7609c9622c9cb0c54cec8d041e8c7a47c6f</param></service></servicedata> \ No newline at end of file + <param name="changesrevision">589a6e12b58314615c045ad70821f500e8d43486</param></service></servicedata> \ No newline at end of file ++++++ kubelet.sh ++++++ #!/bin/sh # Loader Script for Multi-Version Kubelet arrangement introduced to openSUSE in March 2020 source /etc/sysconfig/kubelet if [ -z "$KUBELET_VER" ] then echo "ERROR: KUBELET_VER= not defined in /etc/sysconfig/kubelet" exit 1 else /usr/bin/kubelet$KUBELET_VER "$@" fi ++++++ kubernetes-1.17.2.tar.xz -> kubernetes-1.17.4.tar.xz ++++++ /work/SRC/openSUSE:Leap:15.2/kubernetes/kubernetes-1.17.2.tar.xz /work/SRC/openSUSE:Leap:15.2/.kubernetes.new.3160/kubernetes-1.17.4.tar.xz differ: char 25, line 1 ++++++ kubernetes.obsinfo ++++++ --- /var/tmp/diff_new_pack.g96SbY/_old 2020-03-19 11:07:57.328037498 +0100 +++ /var/tmp/diff_new_pack.g96SbY/_new 2020-03-19 11:07:57.328037498 +0100 @@ -1,5 +1,5 @@ name: kubernetes -version: 1.17.2 -mtime: 1579306689 -commit: 59603c6e503c87169aea6106f57b9f242f64df89 +version: 1.17.4 +mtime: 1584046471 +commit: 8d8aa39598534325ad77120c120a22b3a990b5ea ++++++ sysconfig.kubelet-kubernetes ++++++ KUBELET_VER=BASE_VERSION
