Hello community, here is the log from the commit of package rook for openSUSE:Factory checked in at 2020-01-13 22:15:39 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rook (Old) and /work/SRC/openSUSE:Factory/.rook.new.6675 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rook" Mon Jan 13 22:15:39 2020 rev:11 rq:761907 version:1.2.1+git0.gccc10604 Changes: -------- --- /work/SRC/openSUSE:Factory/rook/rook.changes 2019-12-07 15:16:40.223784948 +0100 +++ /work/SRC/openSUSE:Factory/.rook.new.6675/rook.changes 2020-01-13 22:16:15.930371874 +0100 @@ -1,0 +2,49 @@ +Wed Jan 8 14:33:13 UTC 2020 - Kristoffer Gronlund <[email protected]> + +- Update to v1.2.1: + *Add missing env var `ROOK_CEPH_MON_HOST` for OSDs (#4589) + *Avoid logging sensitive info when debug logging is enabled (#4568) + *Add missing vol mount for encrypted osds (#4583) + *Bumping ceph-operator memory limit to 256Mi (#4561) + *Fix object bucket provisioner when rgw not on port 80 (#4508) + +------------------------------------------------------------------- +Fri Dec 20 18:22:58 UTC 2019 - Kristoffer Gronlund <[email protected]> + +- Update to v1.2.0: + * Security audit completed by Trail of Bits found no major concerns + * Ceph: Added a new "crash collector" daemon to send crash telemetry + to the Ceph dashboard, support for priority classes, and a new + CephClient resource to create user credentials + * The minimum version of Kubernetes supported by Rook changed from + 1.11 to 1.12. + * Device filtering is now configurable for the user by adding an + environment variable + + A new environment variable DISCOVER_DAEMON_UDEV_BLACKLIST is + added through which the user can blacklist the devices + + If no device is specified, the default values will be used to + blacklist the devices + * The topology setting has been removed from the CephCluster CR. To + configure the OSD topology, node labels must be applied. + * See the OSD topology topic. This setting only affects OSDs when + they are first created, thus OSDs will not be impacted during + upgrade. + * The topology settings only apply to bluestore OSDs on raw devices. + The topology labels are not applied to directory-based OSDs. + * Creation of new Filestore OSDs on disks is now deprecated. + Filestore is in sustaining mode in Ceph. + + The storeType storage config setting is now ignored + + New OSDs created in directories are always Filestore type + + New OSDs created on disks are always Bluestore type + + Preexisting disks provisioned as Filestore OSDs will remain as + Filestore OSDs + * Rook will no longer automatically remove OSDs if nodes are removed + from the cluster CR to avoid the risk of destroying OSDs + unintentionally. To remove OSDs manually, see the new doc on OSD + Management + +- Update csi-dummy-images.patch +- Update flexvolume-dir.patch +- Drop outdated patch 0001-bsc-1152690-ceph-csi-Driver-will-fail-with-error.patch + +------------------------------------------------------------------- Old: ---- 0001-bsc-1152690-ceph-csi-Driver-will-fail-with-error.patch rook-1.1.7+git0.g50c6ca1f-vendor.tar.xz rook-1.1.7+git0.g50c6ca1f.tar.xz New: ---- rook-1.2.1+git0.gccc10604-vendor.tar.xz rook-1.2.1+git0.gccc10604.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rook.spec ++++++ --- /var/tmp/diff_new_pack.Cxtibf/_old 2020-01-13 22:16:19.158373371 +0100 +++ /var/tmp/diff_new_pack.Cxtibf/_new 2020-01-13 22:16:19.186373384 +0100 @@ -1,7 +1,7 @@ # # spec file for package rook # -# Copyright (c) 2019 SUSE LLC +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: rook -Version: 1.1.7+git0.g50c6ca1f +Version: 1.2.1+git0.gccc10604 Release: 0 Summary: Orchestrator for distributed storage systems in cloud-native environments License: Apache-2.0 @@ -40,8 +40,6 @@ Patch1: csi-template-paths.patch # Change the default FlexVolume dir path to support Kubic. Patch2: flexvolume-dir.patch -# Set option to force kernel driver usage in ceph-csi (bsc#1152690) -Patch3: 0001-bsc-1152690-ceph-csi-Driver-will-fail-with-error.patch %if 0%{?suse_version} # _insert_obs_source_lines_here @@ -139,11 +137,10 @@ %patch0 -p1 %patch1 -p1 %patch2 -p1 -%patch3 -p1 # determine image names to use in manifests depending on the base os type # %CEPH_VERSION% is replaced at build time by the _service -%global rook_container_version 1.1.7.0 # this is updated by update-tarball.sh +%global rook_container_version 1.2.1.0 # this is updated by update-tarball.sh %if 0%{?is_opensuse} %global rook_image registry.opensuse.org/opensuse/rook/ceph:%{rook_container_version}.%{release} %global ceph_image registry.opensuse.org/opensuse/ceph/ceph:%CEPH_VERSION% ++++++ csi-dummy-images.patch ++++++ --- /var/tmp/diff_new_pack.Cxtibf/_old 2020-01-13 22:16:19.518373538 +0100 +++ /var/tmp/diff_new_pack.Cxtibf/_new 2020-01-13 22:16:19.526373542 +0100 @@ -15,10 +15,10 @@ // manually challenging. var ( // image names -- DefaultCSIPluginImage = "quay.io/cephcsi/cephcsi:v1.2.1" +- DefaultCSIPluginImage = "quay.io/cephcsi/cephcsi:v1.2.2" + DefaultCSIPluginImage = "dummy-value-that-should-be-replaced-at-link-time" DefaultRegistrarImage = "quay.io/k8scsi/csi-node-driver-registrar:v1.1.0" - DefaultProvisionerImage = "quay.io/k8scsi/csi-provisioner:v1.3.0" + DefaultProvisionerImage = "quay.io/k8scsi/csi-provisioner:v1.4.0" DefaultAttacherImage = "quay.io/k8scsi/csi-attacher:v1.2.0" -- 2.16.4 ++++++ flexvolume-dir.patch ++++++ --- /var/tmp/diff_new_pack.Cxtibf/_old 2020-01-13 22:16:19.570373562 +0100 +++ /var/tmp/diff_new_pack.Cxtibf/_new 2020-01-13 22:16:19.578373566 +0100 @@ -1,13 +1,13 @@ diff --git a/pkg/operator/ceph/agent/agent.go b/pkg/operator/ceph/agent/agent.go -index 7f7c9e14..4278b951 100644 +index 7a8a468a..cfd94c98 100644 --- a/pkg/operator/ceph/agent/agent.go +++ b/pkg/operator/ceph/agent/agent.go @@ -38,7 +38,7 @@ const ( - flexvolumePathDirEnv = "FLEXVOLUME_DIR_PATH" - libModulesPathDirEnv = "LIB_MODULES_DIR_PATH" - agentMountsEnv = "AGENT_MOUNTS" -- flexvolumeDefaultDirPath = "/usr/libexec/kubernetes/kubelet-plugins/volume/exec/" -+ flexvolumeDefaultDirPath = "/var/lib/kubelet/volumeplugins" - agentDaemonsetTolerationEnv = "AGENT_TOLERATION" - agentDaemonsetTolerationKeyEnv = "AGENT_TOLERATION_KEY" - agentDaemonsetTolerationsEnv = "AGENT_TOLERATIONS" + flexvolumePathDirEnv = "FLEXVOLUME_DIR_PATH" + libModulesPathDirEnv = "LIB_MODULES_DIR_PATH" + agentMountsEnv = "AGENT_MOUNTS" +- flexvolumeDefaultDirPath = "/usr/libexec/kubernetes/kubelet-plugins/volume/exec/" ++ flexvolumeDefaultDirPath = "/var/lib/kubelet/volumeplugins" + agentDaemonsetPriorityClassNameEnv = "AGENT_PRIORITY_CLASS_NAME" + agentDaemonsetTolerationEnv = "AGENT_TOLERATION" + agentDaemonsetTolerationKeyEnv = "AGENT_TOLERATION_KEY" ++++++ rook-1.1.7+git0.g50c6ca1f-vendor.tar.xz -> rook-1.2.1+git0.gccc10604-vendor.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rook/vendor/sigs.k8s.io/controller-runtime/pkg/client/config/config.go new/rook/vendor/sigs.k8s.io/controller-runtime/pkg/client/config/config.go --- old/rook/vendor/sigs.k8s.io/controller-runtime/pkg/client/config/config.go 1970-01-01 01:00:00.000000000 +0100 +++ new/rook/vendor/sigs.k8s.io/controller-runtime/pkg/client/config/config.go 2020-01-08 15:34:27.102717528 +0100 @@ -0,0 +1,147 @@ +/* +Copyright 2017 The Kubernetes Authors. + +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. +*/ + +package config + +import ( + "flag" + "fmt" + "os" + "os/user" + "path/filepath" + + "k8s.io/client-go/rest" + "k8s.io/client-go/tools/clientcmd" + clientcmdapi "k8s.io/client-go/tools/clientcmd/api" + logf "sigs.k8s.io/controller-runtime/pkg/internal/log" +) + +var ( + kubeconfig, apiServerURL string + log = logf.RuntimeLog.WithName("client").WithName("config") +) + +func init() { + // TODO: Fix this to allow double vendoring this library but still register flags on behalf of users + flag.StringVar(&kubeconfig, "kubeconfig", "", + "Paths to a kubeconfig. Only required if out-of-cluster.") + + // This flag is deprecated, it'll be removed in a future iteration, please switch to --kubeconfig. + flag.StringVar(&apiServerURL, "master", "", + "(Deprecated: switch to `--kubeconfig`) The address of the Kubernetes API server. Overrides any value in kubeconfig. "+ + "Only required if out-of-cluster.") +} + +// GetConfig creates a *rest.Config for talking to a Kubernetes API server. +// If --kubeconfig is set, will use the kubeconfig file at that location. Otherwise will assume running +// in cluster and use the cluster provided kubeconfig. +// +// It also applies saner defaults for QPS and burst based on the Kubernetes +// controller manager defaults (20 QPS, 30 burst) +// +// Config precedence +// +// * --kubeconfig flag pointing at a file +// +// * KUBECONFIG environment variable pointing at a file +// +// * In-cluster config if running in cluster +// +// * $HOME/.kube/config if exists +func GetConfig() (*rest.Config, error) { + return GetConfigWithContext("") +} + +// GetConfigWithContext creates a *rest.Config for talking to a Kubernetes API server with a specific context. +// If --kubeconfig is set, will use the kubeconfig file at that location. Otherwise will assume running +// in cluster and use the cluster provided kubeconfig. +// +// It also applies saner defaults for QPS and burst based on the Kubernetes +// controller manager defaults (20 QPS, 30 burst) +// +// Config precedence +// +// * --kubeconfig flag pointing at a file +// +// * KUBECONFIG environment variable pointing at a file +// +// * In-cluster config if running in cluster +// +// * $HOME/.kube/config if exists +func GetConfigWithContext(context string) (*rest.Config, error) { + cfg, err := loadConfig(context) + if err != nil { + return nil, err + } + + if cfg.QPS == 0.0 { + cfg.QPS = 20.0 + cfg.Burst = 30.0 + } + + return cfg, nil +} + +// loadConfig loads a REST Config as per the rules specified in GetConfig +func loadConfig(context string) (*rest.Config, error) { + + // If a flag is specified with the config location, use that + if len(kubeconfig) > 0 { + return loadConfigWithContext(apiServerURL, kubeconfig, context) + } + // If an env variable is specified with the config location, use that + if len(os.Getenv("KUBECONFIG")) > 0 { + return loadConfigWithContext(apiServerURL, os.Getenv("KUBECONFIG"), context) + } + // If no explicit location, try the in-cluster config + if c, err := rest.InClusterConfig(); err == nil { + return c, nil + } + // If no in-cluster config, try the default location in the user's home directory + if usr, err := user.Current(); err == nil { + if c, err := loadConfigWithContext(apiServerURL, filepath.Join(usr.HomeDir, ".kube", "config"), + context); err == nil { + return c, nil + } + } + + return nil, fmt.Errorf("could not locate a kubeconfig") +} + +func loadConfigWithContext(apiServerURL, kubeconfig, context string) (*rest.Config, error) { + return clientcmd.NewNonInteractiveDeferredLoadingClientConfig( + &clientcmd.ClientConfigLoadingRules{ExplicitPath: kubeconfig}, + &clientcmd.ConfigOverrides{ + ClusterInfo: clientcmdapi.Cluster{ + Server: apiServerURL, + }, + CurrentContext: context, + }).ClientConfig() +} + +// GetConfigOrDie creates a *rest.Config for talking to a Kubernetes apiserver. +// If --kubeconfig is set, will use the kubeconfig file at that location. Otherwise will assume running +// in cluster and use the cluster provided kubeconfig. +// +// Will log an error and exit if there is an error creating the rest.Config. +func GetConfigOrDie() *rest.Config { + config, err := GetConfig() + if err != nil { + log.Error(err, "unable to get kubeconfig") + os.Exit(1) + } + return config +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rook/vendor/sigs.k8s.io/controller-runtime/pkg/client/config/doc.go new/rook/vendor/sigs.k8s.io/controller-runtime/pkg/client/config/doc.go --- old/rook/vendor/sigs.k8s.io/controller-runtime/pkg/client/config/doc.go 1970-01-01 01:00:00.000000000 +0100 +++ new/rook/vendor/sigs.k8s.io/controller-runtime/pkg/client/config/doc.go 2020-01-08 15:34:27.102717528 +0100 @@ -0,0 +1,18 @@ +/* +Copyright 2017 The Kubernetes Authors. + +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. +*/ + +// Package config contains libraries for initializing REST configs for talking to the Kubernetes API +package config ++++++ rook-1.1.7+git0.g50c6ca1f-vendor.tar.xz -> rook-1.2.1+git0.gccc10604.tar.xz ++++++ /work/SRC/openSUSE:Factory/rook/rook-1.1.7+git0.g50c6ca1f-vendor.tar.xz /work/SRC/openSUSE:Factory/.rook.new.6675/rook-1.2.1+git0.gccc10604.tar.xz differ: char 25, line 1 ++++++ update-tarball.sh ++++++ --- /var/tmp/diff_new_pack.Cxtibf/_old 2020-01-13 22:16:26.742376889 +0100 +++ /var/tmp/diff_new_pack.Cxtibf/_new 2020-01-13 22:16:26.742376889 +0100 @@ -3,7 +3,7 @@ set -xEeuo pipefail ROOK_REPO="github.com/rook/rook" -ROOK_REV="v1.1.7" +ROOK_REV="v1.2.1" if ! command -V go; then
